use zerotier with clan

This commit is contained in:
Ingolf Wagner 2024-05-29 20:16:04 +02:00
parent 59c0f5d4ed
commit 70f8da231e
No known key found for this signature in database
GPG key ID: 76BF5F1928B9618B
8 changed files with 59 additions and 47 deletions

View file

@ -148,17 +148,16 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1716901339,
"narHash": "sha256-LGlFJ0+bydJdbvLLkfUx95mYMNHewyN3daq+UfhhRLs=",
"ref": "refs/heads/main",
"rev": "52584662a8b8217e11b6e057bcca1846b4cb2934",
"revCount": 2887,
"dirtyRev": "594563087080cb7b7eeefa72d8950606bcd5a8d4-dirty",
"dirtyShortRev": "59456308-dirty",
"lastModified": 1716997734,
"narHash": "sha256-roe466ziVbGxr/UIRXMLpHCEC5Qj0Yyl9Dh+XOX6JmU=",
"type": "git",
"url": "https://git.clan.lol/clan/clan-core"
"url": "file:///home/palo/dev/nixos/clan-core"
},
"original": {
"type": "git",
"url": "https://git.clan.lol/clan/clan-core"
"url": "file:///home/palo/dev/nixos/clan-core"
}
},
"disko": {
@ -169,11 +168,11 @@
]
},
"locked": {
"lastModified": 1716394172,
"narHash": "sha256-B+pNhV8GFeCj9/MoH+qtGqKbgv6fU4hGaw2+NoYYtB0=",
"lastModified": 1716773194,
"narHash": "sha256-rskkGmWlvYFb+CXedBiL8eWEuED0Es0XR4CkJ11RQKY=",
"owner": "nix-community",
"repo": "disko",
"rev": "23c63fb09334c3e8958b57e2ddc3870b75b9111d",
"rev": "10986091e47fb1180620b78438512b294b7e8f67",
"type": "github"
},
"original": {
@ -542,11 +541,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1716847642,
"narHash": "sha256-rjEswRV0o23eBBils8lJXyIGha+l/VjV73IPg+ztxgk=",
"lastModified": 1716930911,
"narHash": "sha256-t4HT5j3Jy7skRB5PINnxcEBCkgE89rGBpwTI7YS4Ffo=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "10c7c219b7dae5795fb67f465a0d86cbe29f25fa",
"rev": "a9b36cbe9292a649222b89fdb9ae9907e9c74086",
"type": "github"
},
"original": {
@ -651,11 +650,11 @@
},
"nixos-2311": {
"locked": {
"lastModified": 1715818734,
"narHash": "sha256-WvAJWCwPj/6quKcsgsvQYyZRxV8ho/yUzj0HZQ34DVU=",
"lastModified": 1716767563,
"narHash": "sha256-xaSLDTqKIU55HsCkDnzFKmPiJO2z1xAAvrhUlwlmT2M=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "95742536dc6debb5a8b8b78b27001c38f369f1e7",
"rev": "0c007b36981bdbd69ccf0c7df30a174e63660667",
"type": "github"
},
"original": {
@ -697,11 +696,11 @@
]
},
"locked": {
"lastModified": 1716123454,
"narHash": "sha256-U2o4UPM/UsEyIX2p11+YEQgR9HY3PmjZ2mRl/x5e4xo=",
"lastModified": 1716210724,
"narHash": "sha256-iqQa3omRcHGpWb1ds75jS9ruA5R39FTmAkeR3J+ve1w=",
"owner": "nix-community",
"repo": "nixos-generators",
"rev": "a63e0c83dd83fe28cc571b97129e13373436bd82",
"rev": "d14b286322c7f4f897ca4b1726ce38cb68596c94",
"type": "github"
},
"original": {
@ -734,11 +733,11 @@
]
},
"locked": {
"lastModified": 1716132123,
"narHash": "sha256-rATSWbPaKQfZGaemu0tHL2xfCzVIVwpuTjk+KSBC+k4=",
"lastModified": 1716786664,
"narHash": "sha256-iszhOLhxnv+TX/XM2gAX4LhTCoMzLuG51ObZq/eyDx8=",
"owner": "nix-community",
"repo": "nixos-images",
"rev": "8c9cab8c44434c12dafc465fbf61a710c5bceb08",
"rev": "2478833ef8cc6de3d9e331f53b6f3682e425f207",
"type": "github"
},
"original": {
@ -1275,11 +1274,11 @@
]
},
"locked": {
"lastModified": 1716087663,
"narHash": "sha256-zuSAGlx8Qk0OILGCC2GUyZ58/SJ5R3GZdeUNQ6IS0fQ=",
"lastModified": 1716692524,
"narHash": "sha256-sALodaA7Zkp/JD6ehgwc0UCBrSBfB4cX66uFGTsqeFU=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "0bf1808e70ce80046b0cff821c019df2b19aabf5",
"rev": "962797a8d7f15ed7033031731d0bb77244839960",
"type": "github"
},
"original": {

View file

@ -10,7 +10,8 @@
flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs";
clan-core = {
url = "git+https://git.clan.lol/clan/clan-core";
#url = "git+https://git.clan.lol/clan/clan-core";
url = "git+file:///home/palo/dev/nixos/clan-core";
inputs.nixpkgs.follows = "nixpkgs"; # Needed if your configuration uses nixpkgs unstable.
inputs.flake-parts.follows = "flake-parts";
};
@ -183,21 +184,27 @@
{ name
, host
, modules
#, nixpackages ? meta.nixpkgs
}: {
clan.networking.targetHost = lib.mkDefault "root@${host}";
#nixpkgs.pkgs = nixpackages;
nixpkgs.pkgs = meta.pkgs;
nixpkgs.hostPlatform = meta.system;
clanCore.facts.secretStore = "password-store";
imports = modules ++ defaultModules ++ [
{
imports = [
./nixos/machines/${name}/configuration.nix
(sopsModule name)
{
imports = [
# this magically adds all my machines in the zero tier network
# and makes the controller accept them.
# will automatic look into `/machines/<name>/facts/zerotier-ip
inputs.clan-core.clanModules.zerotier-static-peers
# Statically configure the host names of machines based on their respective zerotier-ip.
inputs.clan-core.clanModules.static-hosts
];
clan.static-hosts.topLevelDomain = "bear";
}
];
};
@ -294,7 +301,7 @@
# Define your clan
clan = {
# Clan wide settings. (Required)
# Clan wide settings.
clanName = "gummybears"; # Ensure to choose a unique name.
specialArgs = meta.specialArgs;
@ -372,8 +379,8 @@
homeManagerModules
retiolum.nixosModules.retiolum
private_assets.nixosModules.chungus
srvos.nixosModules.server
srvos.nixosModules.mixins-terminfo
#srvos.nixosModules.server
#srvos.nixosModules.mixins-terminfo
{
home-manager.users.mainUser = import ./nixos/homes/palo;
home-manager.users.root = import ./nixos/homes/root;
@ -389,6 +396,12 @@
host = "orbi.private";
# host = "95.216.66.212";
modules = [
{
clan.networking.zerotier.controller = {
enable = true;
public = false;
};
}
homeManagerModules
srvos.nixosModules.hardware-hetzner-online-intel
srvos.nixosModules.server

View file

@ -1,6 +1,5 @@
{
networking.extraHosts = ''
144.76.13.147 robi
95.216.66.212 orbi
95.216.66.212 orbi.public
'';
}

View file

@ -82,7 +82,8 @@ in
users.users.root.openssh.authorizedKeys.keyFiles = cfg.rootKeyFiles ++ defaultRootKeyFiles;
services.openssh.banner = builtins.readFile sshBanner;
# todo enable again when I can it's possible to set the `-q` ssh option in clan
#services.openssh.banner = builtins.readFile sshBanner;
})

View file

@ -5,9 +5,9 @@
./hardware-configuration.nix
];
boot.tmp.useTmpfs = true;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.enable = true;
boot.tmp.useTmpfs = true;
# ZFS stuff
# ---------

View file

@ -35,7 +35,7 @@
./telemetry/telegraf.nix
#./telemetry/opentelemetry-hass.nix
./telemetry/prometheus.nix
./telemetry/loki.nix
#./telemetry/loki.nix # todo enable this one again
./sync-rbackup.nix
./sync-syncoid.nix

View file

@ -12,8 +12,8 @@
kernelModules = [ "e1000e" ];
};
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.enable = true;
boot.tmp.useTmpfs = true; # make /tmp a tmpfs (performance!)
boot.supportedFilesystems = [ "zfs" ];

View file

@ -61,7 +61,7 @@
max_chunk_age = "1h";
chunk_target_size = 999999;
chunk_retain_period = "30s";
max_transfer_retries = 0;
#max_transfer_retries = 0;
};
schema_config = {
@ -82,7 +82,7 @@
active_index_directory = "/var/lib/loki/boltdb-shipper-active";
cache_location = "/var/lib/loki/boltdb-shipper-cache";
cache_ttl = "24h";
shared_store = "filesystem";
#shared_store = "filesystem";
};
filesystem = {
@ -95,9 +95,9 @@
reject_old_samples_max_age = "168h";
};
chunk_store_config = {
max_look_back_period = "0s";
};
#chunk_store_config = {
# max_look_back_period = "0s";
#};
table_manager = {
retention_deletes_enabled = false;
@ -106,7 +106,7 @@
compactor = {
working_directory = "/var/lib/loki";
shared_store = "filesystem";
#shared_store = "filesystem";
compactor_ring = {
kvstore = {
store = "inmemory";