Machines
manage machines and their configuration
Usage: clan machines
Commands
- create:
- delete:
- hw-generate: Generates hardware specifics for a machine. Such as the host platform, available kernel modules, etc. The target must be a Linux based system reachable via SSH.
- install: Install a configured machine over the network.The target must be a Linux based system reachable via SSH. Installing a machine means overwriting the target's disk.
- list:
- show:
- update:
This subcommand provides an interface to machines managed by clan.
Examples
$ clan machines list
List all the machines managed by clan.
$ clan machines update [MACHINES]
Will update the specified machine [MACHINE], if [MACHINE] is omitted, the command will attempt to update every configured machine.
$ clan machines install [MACHINES] [TARGET_HOST]
Will install the specified machine [MACHINE], to the specified [TARGET_HOST].
For more detailed information, visit: deploy
Machines create
Usage: clan machines create
Positional arguments
- machine:
Options
- --system:
<PLATFORM>
Host platform to use. i.e. 'x86_64-linux' or 'aarch64-darwin' etc. - --description: A description of the machine.
- --icon:
<PATH>
Path to an icon to use for the machine. - Must be a path to icon file relative to the flake directory, or a public url. - --tags: Tags to associate with the machine. Can be used to assign multiple machines to services.
- --debug: Enable debug logging
- --option:
<('name', 'value')>
Nix option to set - --flake:
<PATH>
path to the flake where the clan resides in, can be a remote flake or local, can be set through the [CLAN_DIR] environment variable
Machines delete
Usage: clan machines delete
Positional arguments
- name:
Options
- --debug: Enable debug logging
- --option:
<('name', 'value')>
Nix option to set - --flake:
<PATH>
path to the flake where the clan resides in, can be a remote flake or local, can be set through the [CLAN_DIR] environment variable
Machines hw-generate
Generates hardware specifics for a machine. Such as the host platform, available kernel modules, etc.
The target must be a Linux based system reachable via SSH.
Usage: clan machines hw-generate
Positional arguments
- machine: the name of the machine
- hostname: hostname of the machine
Options
- --password: Pre-provided password the cli will prompt otherwise if needed.
- --force: Will overwrite the hardware-configuration.nix file.
- --debug: Enable debug logging
- --option:
<('name', 'value')>
Nix option to set - --flake:
<PATH>
path to the flake where the clan resides in, can be a remote flake or local, can be set through the [CLAN_DIR] environment variable
Machines install
Install a configured machine over the network. The target must be a Linux based system reachable via SSH. Installing a machine means overwriting the target's disk.
Usage: clan machines install
Positional arguments
- machine: machine to install
- target_host: ssh address to install to in the form of user@host:2222
Options
- --kexec: use another kexec tarball to bootstrap NixOS
- --no-reboot: do not reboot after installation
- --yes: do not ask for confirmation
- -j, --json: specify the json file for ssh data (generated by starting the clan installer)
- -P, --png: specify the json file for ssh data as the qrcode image (generated by starting the clan installer)
- --debug: Enable debug logging
- --option:
<('name', 'value')>
Nix option to set - --flake:
<PATH>
path to the flake where the clan resides in, can be a remote flake or local, can be set through the [CLAN_DIR] environment variable
Machines list
Usage: clan machines list
Options
- --debug: Enable debug logging
- --option:
<('name', 'value')>
Nix option to set - --flake:
<PATH>
path to the flake where the clan resides in, can be a remote flake or local, can be set through the [CLAN_DIR] environment variable
Machines show
Usage: clan machines show
Positional arguments
- machine: the name of the machine
Options
- --debug: Enable debug logging
- --option:
<('name', 'value')>
Nix option to set - --flake:
<PATH>
path to the flake where the clan resides in, can be a remote flake or local, can be set through the [CLAN_DIR] environment variable
Machines update
Usage: clan machines update
Positional arguments
- machines:
<MACHINE>
machine to update. If no machine is specified, all machines will be updated.
Options
- --target-host: address of the machine to update, in the format of user@host:1234
- --darwin: Hack to deploy darwin machines. This will be removed in the future when we have full darwin integration.
- --debug: Enable debug logging
- --option:
<('name', 'value')>
Nix option to set - --flake:
<PATH>
path to the flake where the clan resides in, can be a remote flake or local, can be set through the [CLAN_DIR] environment variable