DEVELOPMENT ENVIRONMENT

~liljamo/nix-arta

ref: f97598a1adf5299fe19671a844dcc8668e6ef8ff nix-arta/lib/util.nix -rw-r--r-- 786 bytes
f97598a1Jonni Liljamo feat(systems/hosts/proxy): log response status on haproxy a month ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{lib, ...}: let
  hostnameIPv4 = {
    vm = {
      "sqbuilds" = "10.1.1.50";
    };

    lxc = {
      "dns" = "10.1.2.3";
      "metrics" = "10.1.2.5";
      "oci" = "10.1.2.9";
      "proxy" = "10.1.2.10";
      "auth" = "10.1.2.12";
      "cloud" = "10.1.2.15";
      "social" = "10.1.2.17";
    };
  };

  # getIPv4 "profile" "hostname"
  getIPv4 = profile: hostname: hostnameIPv4.${profile}.${hostname};

  # getHostnames "profile"
  getHostnames = profile: builtins.attrNames hostnameIPv4.${profile};

  # getDNSEntries "profile"
  getDNSEntries = profile:
    lib.attrsets.mapAttrs'
    (name: value: lib.attrsets.nameValuePair (name + ".home.arpa") value)
    hostnameIPv4.${profile};
in {
  getIPv4 = getIPv4;
  getHostnames = getHostnames;
  getDNSEntries = getDNSEntries;
}