diff options
| author | makefu <github@syntax-fehler.de> | 2015-07-29 14:56:06 +0200 |
|---|---|---|
| committer | makefu <github@syntax-fehler.de> | 2015-07-29 14:56:06 +0200 |
| commit | 39eacce0f8c053fbdf5189c50c7704db4a295c32 (patch) | |
| tree | 6c25ed67af9d9a2cd222f8f582917d1b20e0ee71 /4lib/krebs/types.nix | |
| parent | a2be52f6fa5cbd486da38be1e3b4dcdcde3b17fd (diff) | |
| parent | 1cbf3f264ad073bee5766627bcb8364c52c22f9c (diff) | |
merge cloudkrebs, fix path to krebs/4lib
Diffstat (limited to '4lib/krebs/types.nix')
| -rw-r--r-- | 4lib/krebs/types.nix | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/4lib/krebs/types.nix b/4lib/krebs/types.nix deleted file mode 100644 index 92410dd..0000000 --- a/4lib/krebs/types.nix +++ /dev/null @@ -1,109 +0,0 @@ -{ lib, ... }: - -with lib; -with types; - -types // rec { - - host = submodule { - options = { - name = mkOption { - type = label; - }; - dc = mkOption { - type = label; - }; - cores = mkOption { - type = positive; - }; - nets = mkOption { - type = attrsOf net; - apply = x: assert hasAttr "retiolum" x; x; - }; - secure = mkOption { - type = bool; - default = false; - description = '' - If true, then the host is capable of keeping secret information. - - TODO define minimum requirements for secure hosts - ''; - }; - }; - }; - - net = submodule ({ config, ... }: { - options = { - via = mkOption { - type = nullOr net; - default = null; - }; - addrs = mkOption { - type = listOf addr; - apply = _: config.addrs4 ++ config.addrs6; - }; - addrs4 = mkOption { - type = listOf addr4; - default = []; - }; - addrs6 = mkOption { - type = listOf addr6; - default = []; - }; - aliases = mkOption { - # TODO nonEmptyListOf hostname - type = listOf hostname; - }; - tinc = mkOption { - type = let net-config = config; in nullOr (submodule ({ config, ... }: { - options = { - config = mkOption { - type = str; - apply = _: '' - ${optionalString (net-config.via != null) - (concatMapStringsSep "\n" (a: "Address = ${a}") net-config.via.addrs)} - ${concatMapStringsSep "\n" (a: "Subnet = ${a}") net-config.addrs} - ${config.pubkey} - ''; - }; - pubkey = mkOption { - type = str; - }; - }; - })); - default = null; - }; - }; - }); - - positive = mkOptionType { - name = "positive integer"; - check = x: isInt x && x > 0; - merge = mergeOneOption; - }; - - user = submodule { - options = { - mail = mkOption { - type = str; # TODO retiolum mail address - }; - name = mkOption { - type = str; # TODO - }; - pubkey = mkOption { - type = str; - }; - pubkeys = mkOption { - type = attrsOf str; - default = {}; - }; - }; - }; - - # TODO - addr = str; - addr4 = str; - addr6 = str; - hostname = str; - label = str; -} |
