move zerotier secret generation into nixos module
This commit is contained in:
@@ -10,19 +10,13 @@
|
||||
clan = clan-core.lib.buildClan {
|
||||
directory = self;
|
||||
machines = {
|
||||
vm1 = { modulesPath, ... }: {
|
||||
vm1 = { modulesPath, lib, ... }: {
|
||||
imports = [ "${toString modulesPath}/virtualisation/qemu-vm.nix" ];
|
||||
clan.networking.deploymentAddress = "__CLAN_DEPLOYMENT_ADDRESS__";
|
||||
sops.age.keyFile = "__CLAN_SOPS_KEY_PATH__";
|
||||
system.stateVersion = lib.version;
|
||||
|
||||
clanCore.secrets.testpassword = {
|
||||
generator = ''
|
||||
echo "secret1" > "$secrets/secret1"
|
||||
echo "fact1" > "$facts/fact1"
|
||||
'';
|
||||
secrets.secret1 = { };
|
||||
facts.fact1 = { };
|
||||
};
|
||||
clan.networking.zerotier.controller.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -24,15 +24,19 @@ def test_upload_secret(
|
||||
cli.run(["secrets", "users", "add", "user1", age_keys[0].pubkey])
|
||||
cli.run(["secrets", "generate", "vm1"])
|
||||
has_secret("vm1-age.key")
|
||||
has_secret("vm1-secret1")
|
||||
fact1 = machine_get_fact("vm1", "fact1")
|
||||
assert fact1 == "fact1\n"
|
||||
has_secret("vm1-zerotier-identity-secret")
|
||||
network_id = machine_get_fact("vm1", "zerotier-network-id")
|
||||
assert len(network_id) == 16
|
||||
age_key = sops_secrets_folder().joinpath("vm1-age.key").joinpath("secret")
|
||||
secret1 = sops_secrets_folder().joinpath("vm1-secret1").joinpath("secret")
|
||||
identity_secret = (
|
||||
sops_secrets_folder()
|
||||
.joinpath("vm1-zerotier-identity-secret")
|
||||
.joinpath("secret")
|
||||
)
|
||||
age_key_mtime = age_key.lstat().st_mtime_ns
|
||||
secret1_mtime = secret1.lstat().st_mtime_ns
|
||||
secret1_mtime = identity_secret.lstat().st_mtime_ns
|
||||
|
||||
# test idempotency
|
||||
cli.run(["secrets", "generate", "vm1"])
|
||||
assert age_key.lstat().st_mtime_ns == age_key_mtime
|
||||
assert secret1.lstat().st_mtime_ns == secret1_mtime
|
||||
assert identity_secret.lstat().st_mtime_ns == secret1_mtime
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
from clan_cli.zerotier import create_network
|
||||
|
||||
|
||||
def test_create_network() -> None:
|
||||
network = create_network()
|
||||
assert network["networkid"]
|
||||
Reference in New Issue
Block a user