Skip to content

Module Options ​

deployment.allowLocalDeployment ​

Whether to allow or deny this node being applied to localhost when the host’s hostname matches the node’s name.

Type: boolean

Default:

nix
true

deployment.buildOnTarget ​

Whether to build the system on the target host or not.

Type: boolean

Default:

nix
false

deployment.keys ​

Secrets to be deployed to the node.

Type: attribute set of (submodule)

Default:

nix
{ }

Example:

nix
{
  "arberfile.txt" = {
    destDir = "/etc/arbs/";
    source = ''
      Hello World
    '';
  };
  "arbfile.txt" = {
    destDir = "/etc/arbs/";
    source = /nix/store/8362275xh1l5gpgvydpdj14s5vwr9q5i-source/runtime/module/arbfile.txt;
  };
  "wireless.env" = {
    destDir = "/etc/keys/";
    source = [
      "gpg"
      "--decrypt"
      "secrets/wireless.env.gpg"
    ];
  };
}

deployment.keys.<name>.destDir ​

Destination directory for the secret. Change this to something other than /run/keys/ for keys to persist past reboots.

Type: absolute path

Default:

nix
"/run/keys/"

deployment.keys.<name>.environment ​

Key-Value environment variables to use when creating the key if the key source is a command.

Type: attribute set of string

Default:

nix
{ }

deployment.keys.<name>.group ​

Group to own the key. If this group does not exist this will silently fail and the key will be owned by gid 0.

Type: string

Default:

nix
"root"

deployment.keys.<name>.keyCommand ​

Alias of source.

Type: string or absolute path or list of string

deployment.keys.<name>.keyFile ​

Alias of source.

Type: string or absolute path or list of string

deployment.keys.<name>.name ​

Filename of the secret.

Type: string

Default:

nix
"‹name›"

deployment.keys.<name>.permissions ​

Unix Octal permissions, in string format, for the key.

Type: string

Default:

nix
"0600"

deployment.keys.<name>.source ​

Source of the key. Either a path to a file, a literal string, or a command to generate the key.

Type: string or absolute path or list of string

deployment.keys.<name>.text ​

Alias of source.

Type: string or absolute path or list of string

deployment.keys.<name>.uploadAt ​

When to upload the key. Either pre-activation or post-activation.

Type: one of “pre-activation”, “post-activation”

Default:

nix
"pre-activation"

deployment.keys.<name>.user ​

User to own the key. If this user does not exist this will silently fail and the key will be owned by uid 0.

Type: string

Default:

nix
"root"

deployment.privilegeEscalationCommand ​

Command to elevate.

Type: list of string

Default:

nix
[
  "sudo"
  "--"
]

deployment.replaceUnknownProfiles ​

No-op, colmena compatibility

Type: boolean

Default:

nix
true

deployment.sshOptions ​

No-op, colmena compatibility

Type: list of string

Default:

nix
[ ]

deployment.tags ​

Tags for node.

Type: list of string

Default:

nix
[ ]

Example:

nix
[
  "arm"
  "cloud"
]

deployment.target ​

Describes the target for this node

Type: submodule

Default:

nix
{ }

deployment.target.host ​

Alias of hosts.

Type: (list of string) or string convertible to it

Default:

nix
[ ]

deployment.target.hosts ​

IPs or hostnames to attempt to connect to. They are tried in order.

Type: (list of string) or string convertible to it

Default:

nix
[
  "‹node name›"
]

deployment.target.port ​

SSH port to use.

Type: signed integer

Default:

nix
22

deployment.target.user ​

User to use for SSH. The user must be atleast wheel and must use an SSH key or similar non-interactive login method. More information can be found at https://wire.forall.systems/guides/non-root-user

Type: string

Default:

nix
"root"

deployment.targetHost ​

Alias of deployment.target.hosts.

Type: submodule

deployment.targetPort ​

Alias of deployment.target.port.

Type: submodule

deployment.targetUser ​

Alias of deployment.target.user.

Type: submodule