Replace agenix with sops-nix
This commit is contained in:
parent
bb1f091fbb
commit
726beabb9c
33 changed files with 296 additions and 332 deletions
|
@ -1,4 +1,4 @@
|
|||
{ self, pkgs, lib, config, ... }:
|
||||
{ pkgs, lib, config, ... }:
|
||||
let
|
||||
cfg = config.lab.backups;
|
||||
|
||||
|
@ -19,12 +19,12 @@ let
|
|||
}
|
||||
];
|
||||
|
||||
ssh_command = "${pkgs.openssh}/bin/ssh -i ${config.age.secrets."borgbase.pem".path} -o StrictHostKeychecking=no";
|
||||
ssh_command = "${pkgs.openssh}/bin/ssh -i ${config.sops.secrets."borg/borgbasePrivateKey".path} -o StrictHostKeychecking=no";
|
||||
keep_daily = 7;
|
||||
keep_weekly = 4;
|
||||
keep_monthly = 12;
|
||||
keep_yearly = -1;
|
||||
encryption_passcommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets."borg_passphrase".path}";
|
||||
encryption_passcommand = "${pkgs.coreutils}/bin/cat ${config.sops.secrets."borg/borgPassphrase".path}";
|
||||
};
|
||||
};
|
||||
in
|
||||
|
@ -67,7 +67,7 @@ in
|
|||
IOWeight = 100;
|
||||
Restart = "no";
|
||||
LogRateLimitIntervalSec = 0;
|
||||
Environment = "BORG_PASSPHRASE_FILE=${config.age.secrets."borg_passphrase".path}";
|
||||
Environment = "BORG_PASSPHRASE_FILE=${config.sops.secrets."borg/borgPassphrase".path}";
|
||||
};
|
||||
|
||||
script = "${pkgs.systemd}/bin/systemd-inhibit --who=\"borgmatic\" --what=\"sleep:shutdown\" --why=\"Prevent interrupting scheduled backup\" ${pkgs.borgmatic}/bin/borgmatic --verbosity -2 --syslog-verbosity 1 -c ${borgmaticConfig}";
|
||||
|
@ -83,9 +83,9 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
age.secrets = {
|
||||
"borg_passphrase".file = "${self}/secrets/borg_passphrase.age";
|
||||
"borgbase.pem".file = "${self}/secrets/borgbase.pem.age";
|
||||
sops.secrets = {
|
||||
"borg/borgPassphrase" = { };
|
||||
"borg/borgbasePrivateKey" = { };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ self, inputs, pkgs, lib, config, ... }:
|
||||
{ inputs, pkgs, lib, config, ... }:
|
||||
let cfg = config.lab.k3s;
|
||||
in {
|
||||
options.lab.k3s = {
|
||||
|
@ -56,7 +56,7 @@ in {
|
|||
{
|
||||
enable = true;
|
||||
role = cfg.role;
|
||||
tokenFile = config.age.secrets.k3s-server-token.path;
|
||||
tokenFile = config.sops.secrets."k3s/serverToken".path;
|
||||
extraFlags = lib.mkIf (cfg.role == "server") serverFlags;
|
||||
clusterInit = cfg.clusterInit;
|
||||
serverAddr = lib.mkIf (! (cfg.serverAddr == null)) cfg.serverAddr;
|
||||
|
@ -101,38 +101,18 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
age.secrets = {
|
||||
k3s-server-token.file = "${self}/secrets/k3s-server-token.age";
|
||||
|
||||
k3s-server-ca-key = lib.mkIf (cfg.role == "server") {
|
||||
file = "${self}/secrets/k3s-ca/server-ca.key.age";
|
||||
path = "/var/lib/rancher/k3s/server/tls/server-ca.key";
|
||||
sops.secrets =
|
||||
let
|
||||
keyPathBase = "/var/lib/rancher/k3s/server/tls";
|
||||
in
|
||||
{
|
||||
"k3s/serverToken" = { };
|
||||
"k3s/keys/clientCAKey".path = "${keyPathBase}/client-ca.key";
|
||||
"k3s/keys/requestHeaderCAKey".path = "${keyPathBase}/request-header-ca.key";
|
||||
"k3s/keys/serverCAKey".path = "${keyPathBase}/server-ca.key";
|
||||
"k3s/keys/serviceKey".path = "${keyPathBase}/service.key";
|
||||
"k3s/keys/etcd/peerCAKey".path = "${keyPathBase}/etcd/peer-ca.key";
|
||||
"k3s/keys/etcd/serverCAKey".path = "${keyPathBase}/etcd/server-ca.key";
|
||||
};
|
||||
|
||||
k3s-client-ca-key = lib.mkIf (cfg.role == "server") {
|
||||
file = "${self}/secrets/k3s-ca/client-ca.key.age";
|
||||
path = "/var/lib/rancher/k3s/server/tls/client-ca.key";
|
||||
};
|
||||
|
||||
k3s-request-header-ca-key = lib.mkIf (cfg.role == "server") {
|
||||
file = "${self}/secrets/k3s-ca/request-header-ca.key.age";
|
||||
path = "/var/lib/rancher/k3s/server/tls/request-header-ca.key";
|
||||
};
|
||||
|
||||
k3s-etcd-peer-ca-key = lib.mkIf (cfg.role == "server") {
|
||||
file = "${self}/secrets/k3s-ca/etcd/peer-ca.key.age";
|
||||
path = "/var/lib/rancher/k3s/server/tls/etcd/peer-ca.key";
|
||||
};
|
||||
|
||||
k3s-etcd-server-ca-key = lib.mkIf (cfg.role == "server") {
|
||||
file = "${self}/secrets/k3s-ca/etcd/server-ca.key.age";
|
||||
path = "/var/lib/rancher/k3s/server/tls/etcd/server-ca.key";
|
||||
};
|
||||
|
||||
k3s-service-key = lib.mkIf (cfg.role == "server") {
|
||||
file = "${self}/secrets/k3s-ca/service.key.age";
|
||||
path = "/var/lib/rancher/k3s/server/tls/service.key";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
Reference in a new issue