{ # Ensure this is unique among all clans you want to use. meta = { name = "amarth-infra"; description = "Amarth cloud"; }; inventory.machines = { m1 = { name = "management-1"; description = "Management node 1"; machineClass = "nixos"; tags = [ "cloud:amarth" "region:oss" "nodeType:management" "criticallity:critical" "" ]; deploy.targetHost = "root@192.168.1.223"; }; c1 = { name = "compute-1"; description = "Compute node 1"; machineClass = "nixos"; tags = [ "cloud:amarth" "region:oss" "nodeType:compute" "criticallity:medium" "" ]; }; c2 = { name = "compute-2"; description = "Compute node 2"; machineClass = "nixos"; tags = [ "cloud:amarth" "region:oss" "nodeType:compute" "criticallity:medium" "" ]; }; c3 = { name = "compute-3"; description = "Compute node 3"; machineClass = "nixos"; tags = [ "cloud:amarth" "region:oss" "nodeType:compute" "criticallity:medium" "" ]; }; }; # Docs: See https://docs.clan.lol/reference/clanServices inventory.instances = { admin = { roles.default.tags.all = { }; roles.default.settings.allowedKeys = { "chris" = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICE+TFkjJ8p8fMOddvg/waKAjKJ6DRvvouj1MdXc1Taj"; }; }; zerotier = { roles.controller.machines."m1" = { }; roles.peer.tags.all = { }; }; zitadel = { module = { name = "zitadel"; input = "amarth-services"; }; roles.controller = { machines."m1" = {}; settings = { hostName = "auth.amarth.cloud"; displayName = "Amarth"; }; }; }; k3s = { module = { name = "k3s"; input = "amarth-services"; }; roles.server.machines."c1" = {}; roles.agent.machines."c2" = {}; roles.agent.machines."c3" = {}; }; }; # Additional NixOS configuration can be added here. # machines/jon/configuration.nix will be automatically imported. # See: https://docs.clan.lol/guides/more-machines/#automatic-registration machines = { # m1 = { config, pkgs, ... }: { # environment.systemPackages = [ pkgs.asciinema ]; # nixpkgs.hostPlatform = "x86_64-linux"; # }; m1 = { nixpkgs.hostPlatform = "x86_64-linux"; networking.domain = "amarth.local"; }; c1 = { nixpkgs.hostPlatform = "x86_64-linux"; networking.domain = "amarth.local"; }; c2 = { nixpkgs.hostPlatform = "x86_64-linux"; networking.domain = "amarth.local"; }; c3 = { nixpkgs.hostPlatform = "x86_64-linux"; networking.domain = "amarth.local"; }; }; }