Generate pgp keys for sops.
This commit is contained in:
50
nix/kubernetes/keys/package/pgp-key/package.nix
Normal file
50
nix/kubernetes/keys/package/pgp-key/package.nix
Normal file
@@ -0,0 +1,50 @@
|
||||
# unpackPhase
|
||||
# patchPhase
|
||||
# configurePhase
|
||||
# buildPhase
|
||||
# checkPhase
|
||||
# installPhase
|
||||
# fixupPhase
|
||||
# installCheckPhase
|
||||
# distPhase
|
||||
{
|
||||
stdenv,
|
||||
gnupg,
|
||||
key_name,
|
||||
expire_date ? "0",
|
||||
pgp_comment ? "${key_name}",
|
||||
pgp_name ? "${key_name}",
|
||||
...
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
name = "pgp-key-${key_name}";
|
||||
nativeBuildInputs = [ gnupg ];
|
||||
buildInputs = [ ];
|
||||
|
||||
unpackPhase = "true";
|
||||
|
||||
buildPhase = ''
|
||||
mkdir keyring
|
||||
export GNUPGHOME=$(readlink -f keyring)
|
||||
|
||||
gpg --batch --full-generate-key <<EOF
|
||||
%no-protection
|
||||
Key-Type: 1
|
||||
Key-Length: 4096
|
||||
Subkey-Type: 1
|
||||
Subkey-Length: 4096
|
||||
Expire-Date: ${expire_date}
|
||||
Name-Comment: ${pgp_comment}
|
||||
Name-Real: ${pgp_name}
|
||||
EOF
|
||||
|
||||
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
export GNUPGHOME=$(readlink -f keyring)
|
||||
mkdir "$out"
|
||||
gpg --export-secret-keys --armor "${pgp_name}" > "$out/${key_name}_private_key.asc"
|
||||
gpg --export --armor "${pgp_name}" > "$out/${key_name}_public_key.asc"
|
||||
'';
|
||||
})
|
||||
Reference in New Issue
Block a user