Add registry secrets

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-03-27 08:44:53 +00:00
parent 586f478d7c
commit d39fcd50ab
3 changed files with 56 additions and 2 deletions

View File

@@ -0,0 +1,32 @@
{
user ? throw "user argument is required",
home ? throw "home argument is required",
}:
{ config, pkgs, ... }:
let
hmConfig = config.home-manager.users.${user};
in
{
home-manager.users.${user}.sops = {
secrets = {
"registry/docker.io".sopsFile = ../../../../../../../secrets/personal/secrets.yaml;
"registry/registry.karaolidis.com".sopsFile = ../../../../../../../secrets/personal/secrets.yaml;
};
templates."containers-auth.json" = {
content = builtins.readFile (
(pkgs.formats.json { }).generate "auth.json" {
auths = {
"docker.io" = {
auth = hmConfig.sops.placeholder."registry/docker.io";
};
"registry.karaolidis.com" = {
auth = hmConfig.sops.placeholder."registry/registry.karaolidis.com";
};
};
}
);
path = "${home}/.config/containers/auth.json";
};
};
}

View File

@@ -82,6 +82,7 @@ in
(import ./configs/console/git { inherit user home; }) (import ./configs/console/git { inherit user home; })
(import ./configs/console/gpg { inherit user home; }) (import ./configs/console/gpg { inherit user home; })
(import ./configs/console/podman { inherit user home; })
(import ./configs/console/ssh { inherit user home; }) (import ./configs/console/ssh { inherit user home; })
(import ./configs/console/syncthing { inherit user home; }) (import ./configs/console/syncthing { inherit user home; })

View File

@@ -13,14 +13,35 @@ let
in in
{ {
home-manager.users.${user}.sops = { home-manager.users.${user}.sops = {
secrets."registry/cr.sas.com".sopsFile = ../../../../../../../secrets/sas/secrets.yaml; secrets = {
"registry/personal/docker.io" = {
sopsFile = ../../../../../../../secrets/personal/secrets.yaml;
key = "registry/docker.io";
};
"registry/personal/registry.karaolidis.com" = {
sopsFile = ../../../../../../../secrets/personal/secrets.yaml;
key = "registry/registry.karaolidis.com";
};
"registry/sas/cr.sas.com" = {
sopsFile = ../../../../../../../secrets/sas/secrets.yaml;
key = "registry/cr.sas.com";
};
};
templates."containers-auth.json" = { templates."containers-auth.json" = {
content = builtins.readFile ( content = builtins.readFile (
(pkgs.formats.json { }).generate "auth.json" { (pkgs.formats.json { }).generate "auth.json" {
auths = { auths = {
"docker.io" = {
auth = hmConfig.sops.placeholder."registry/personal/docker.io";
};
"registry.karaolidis.com" = {
auth = hmConfig.sops.placeholder."registry/personal/registry.karaolidis.com";
};
"cr.sas.com" = { "cr.sas.com" = {
auth = hmConfig.sops.placeholder."registry/cr.sas.com"; auth = hmConfig.sops.placeholder."registry/sas/cr.sas.com";
}; };
}; };
} }