Compare commits
No commits in common. "717c5b98808b6c08b24cfd7642d440c0d5126a2c" and "125465767960e25e6f73ef293be18eec1028d70d" have entirely different histories.
717c5b9880
...
1254657679
6 changed files with 28 additions and 43 deletions
|
|
@ -4,10 +4,8 @@
|
||||||
# for a more complex example.
|
# for a more complex example.
|
||||||
keys:
|
keys:
|
||||||
- &A_sky age1g4j0hun2ttt7h8870zf5pm7nqgw9p23r6mjj9vpm4guqetvth34s8v3t3w
|
- &A_sky age1g4j0hun2ttt7h8870zf5pm7nqgw9p23r6mjj9vpm4guqetvth34s8v3t3w
|
||||||
- &S_tofu age1mfsjys8gzazkzurcpz2grcdljmzq0zvsllk8j7ssse6wt52jrglq5t59u8
|
|
||||||
creation_rules:
|
creation_rules:
|
||||||
- path_regex: secrets\.yaml
|
- path_regex: secrets\.yaml
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *A_sky
|
- *A_sky
|
||||||
- *S_tofu
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,6 @@
|
||||||
# See /modules/nixos/* for actual settings
|
# See /modules/nixos/* for actual settings
|
||||||
# This file is just *top-level* configuration.
|
# This file is just *top-level* configuration.
|
||||||
{
|
{ flake, modulesPath, ... }:
|
||||||
flake,
|
|
||||||
modulesPath,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (flake) inputs;
|
inherit (flake) inputs;
|
||||||
|
|
@ -20,7 +15,6 @@ in
|
||||||
tty-ips.enable = true;
|
tty-ips.enable = true;
|
||||||
otf = {
|
otf = {
|
||||||
enable = true;
|
enable = true;
|
||||||
environmentFile = config.sops.secrets.otfenv.path;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
networking = {
|
networking = {
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@
|
||||||
name = "nixos-unified-template-shell";
|
name = "nixos-unified-template-shell";
|
||||||
meta.description = "Shell environment for modifying this Nix configuration";
|
meta.description = "Shell environment for modifying this Nix configuration";
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
ssh-to-age
|
|
||||||
sops
|
sops
|
||||||
just
|
just
|
||||||
nixd
|
nixd
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ in
|
||||||
};
|
};
|
||||||
package = lib.mkPackageOption pkgs "otf" { };
|
package = lib.mkPackageOption pkgs "otf" { };
|
||||||
pgPackage = lib.mkPackageOption pkgs "postgresql_16" { };
|
pgPackage = lib.mkPackageOption pkgs "postgresql_16" { };
|
||||||
environmentFile = lib.mkOption {
|
environmentFile = lib.mkEnableOption {
|
||||||
type = with lib.types; nullOr path;
|
type = with lib.types; nullOr path;
|
||||||
default = lib.types.null;
|
default = lib.types.null;
|
||||||
};
|
};
|
||||||
|
|
@ -36,11 +36,14 @@ in
|
||||||
);
|
);
|
||||||
default = {
|
default = {
|
||||||
OTF_ADDRESS = "localhost:9000";
|
OTF_ADDRESS = "localhost:9000";
|
||||||
# OTF_SITE_TOKEN = "my-token";
|
OTF_SITE_TOKEN = "my-token";
|
||||||
# OTF_SSL = "false";
|
OTF_SSL = "false";
|
||||||
# OTF_SECRET = "";
|
# the application needs a secret for encryption and other things
|
||||||
# OTF_CERT_FILE = "";
|
# TODO: make mechanism to load via file
|
||||||
# OTF_KEY_FILE = "";
|
OTF_SECRET = "f73e55eada59bd1c37d69ae3bbacd982";
|
||||||
|
# more options can be set but these are a reminder for myself
|
||||||
|
OTF_CERT_FILE = "";
|
||||||
|
OTF_KEY_FILE = "";
|
||||||
};
|
};
|
||||||
description = "Environment variables for the OTF service.";
|
description = "Environment variables for the OTF service.";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -9,14 +9,5 @@
|
||||||
imports = [
|
imports = [
|
||||||
flake.inputs.sops-nix.nixosModules.sops
|
flake.inputs.sops-nix.nixosModules.sops
|
||||||
];
|
];
|
||||||
sops = {
|
sops.defaultSopsFile = ../../../secrets.yaml;
|
||||||
defaultSopsFile = ../../../secrets.yaml;
|
|
||||||
secrets = {
|
|
||||||
otfenv = {
|
|
||||||
owner = "otf";
|
|
||||||
group = "otf";
|
|
||||||
mode = "0440";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
34
secrets.yaml
34
secrets.yaml
|
|
@ -1,25 +1,25 @@
|
||||||
otfenv: ENC[AES256_GCM,data:HwZC2IPM9w5FqFlpc/zLA+m9bSC6m19hnvuS103Iwct84QM/HHkez3pdLdCZM5tNZN+oItxMHcIizbcA7mQn1eezdt+Pb9RC4hk=,iv:rcvPhmVEg79XPpJ6o8/DBP4YgN+lgjvxLB1mJYARdCo=,tag:SSZiiKngO+vWjcEppnhARg==,type:str]
|
hello: ENC[AES256_GCM,data:Rq1GdoMwMFgQ7Bvy78aMmM6DferRk0Bn5J4VVI8a5x2PaaFbZBAfsADZewD8,iv:sgJJM2UO4KZ+qE8uzNmdhsBhJ3/arEZd4kNvqnK2bqo=,tag:FZHKmkX1VfQLYPP0mDTIiQ==,type:str]
|
||||||
|
example_key: ENC[AES256_GCM,data:h6UKojkibcw0wegDOQ==,iv:XVb8m9Ek4pNl6CCFU1MlxYusIOY6MBq9Z7lqoaG1/cM=,tag:FolHw4euj4PoqnTuuhlh4w==,type:str]
|
||||||
|
#ENC[AES256_GCM,data:2ivQ7NDtZHDNMiyK8hf/7Q==,iv:sFv9WyyHJb+tkbjRGnD4OfEYJWt8PQIGteIViVyihEU=,tag:chbHtXfFQb5OJsB3rrMQbg==,type:comment]
|
||||||
|
example_array:
|
||||||
|
- ENC[AES256_GCM,data:EQKOFW+qJ0Z/ooEr9Y0=,iv:732cR53nJfxctdVH0AZmfD/qBPoI7oPxemsYo4B92jQ=,tag:VMSYfVzTUAODwNtdz0xI6g==,type:str]
|
||||||
|
- ENC[AES256_GCM,data:3N1qsEA4L4YTw4qZjvs=,iv:mdCoLmqRA5OX3VpNM/f1AhmRIxOBvTswEvwPRadeYCQ=,tag:z9nueE2d4Kb/uWSCvK55jA==,type:str]
|
||||||
|
example_number: ENC[AES256_GCM,data:PSY/N8noNaQYug==,iv:189g+CnKC5lBdJBBTcA4HUC3i98ZXa5thARY8U42DyI=,tag:hdWoyngTGnBszqCW3I+wXQ==,type:float]
|
||||||
|
example_booleans:
|
||||||
|
- ENC[AES256_GCM,data:SFFumQ==,iv:G2iEbkil+oUuJCyxQAfaAMaXHPsOdAtdw8l8dnvqviY=,tag:WPfOOyjrWf/4p2UjoiILAQ==,type:bool]
|
||||||
|
- ENC[AES256_GCM,data:2GWLfxY=,iv:nSqxDcqvUeIDbvOoJlhW/lQs9j2iENsazpuZFUoOKc8=,tag:eh3HVtgzBrJjf0S9lGiqGQ==,type:bool]
|
||||||
sops:
|
sops:
|
||||||
age:
|
age:
|
||||||
- recipient: age1g4j0hun2ttt7h8870zf5pm7nqgw9p23r6mjj9vpm4guqetvth34s8v3t3w
|
- recipient: age1g4j0hun2ttt7h8870zf5pm7nqgw9p23r6mjj9vpm4guqetvth34s8v3t3w
|
||||||
enc: |
|
enc: |
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3MGZ5Z25rZjh1b2E5eWZk
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3aFBMUWVvV1UzRlgvaGd5
|
||||||
ZUpyZXhrZVdtRTlCTUovMFd5dWpmZERtc0NvCk01UUdxVHFFZVliTDU2bmpSeWpK
|
TWtUd1VEa0RyYmxRUy9MVzA0OXdLOFU2MkhrCmMxYlVSZjFlSW9lN3RvUm8rUUht
|
||||||
My84a1Q3SzcyR0xQSHlQQmROaFlkOEEKLS0tIFBMaCtEbVhRb2tRcDBkS2Nkc3hO
|
N05aSUZ5UU51ZSt0Vzg3ZjkwRXVKSzAKLS0tIFJIaUtqMXhLcDZ3cnYyWFJRZ20z
|
||||||
eGtzRVVLamtXOEJEbDUvRHVaNDlaOVUKGDG+gUXU7GcvpfkgIStYg8KIW0jY2NTh
|
cVpseXdzZHh6amduSFBUT1RMdkcxS2MKJhBQbcufwWc+kxFf/k/pHLClnPJkUucH
|
||||||
/eKWOfuH/8zz25Ye8zS1s7Yp5WiXi3rJSY2qS8PFq9PTmBzVEFoVpQ==
|
6kEbeF+T49PoyxWyR1oXWhxC6Xuwcx+w3vA59gvP54Bx2Mrj2ylYwQ==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
- recipient: age1mfsjys8gzazkzurcpz2grcdljmzq0zvsllk8j7ssse6wt52jrglq5t59u8
|
lastmodified: "2025-06-14T17:54:53Z"
|
||||||
enc: |
|
mac: ENC[AES256_GCM,data:wxaNv7XOLCWKkrvESr4R09sVTxbm9Otm6ImuaCbFMKuZlvAsp93wi54W5YK+aOugZtMfEBrz648A7GaR0ahb0ggvuhiHgCH667dMGBUZCp81vVBvF5RMhoPaR6IXnrdlQN4ypmbj3p07T+1BBMG6MJVieoI/liHMn//UDbWWOKQ=,iv:Y1ZS1gIGnwABpTNx3afjTHMGRxr3iu2t9uvwZ6RR0Wc=,tag:+uwoTYioDywkke9gMhEkkA==,type:str]
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4VjRvcjQyV25McEZYSEVV
|
|
||||||
d0pON0NnUDlFdGZzaE9KZitSY09ISCt3VlhRCkx6MitueW5PYUdMWU4wRmVhTTJU
|
|
||||||
RkpWakNlYVlzcHVOT3gxdHZKUjJla1UKLS0tIG9SYTlUOXcwNFNzT29FazE4Z0g0
|
|
||||||
MlJ1bjRvS0VQMkRFSG0yNDc5Y3lSM28KS50BUA6S61AJYZRefGbW76TotkDOv1FD
|
|
||||||
Q1CyfEDDkrhbUPtPeOagG3tStP9ZfkRRfmm7TzkB4PfHDTpfAg6V/g==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2025-06-14T18:56:57Z"
|
|
||||||
mac: ENC[AES256_GCM,data:oPKok5QCr8edihXzZUZl3+5Abss6OMas4rYqQZWeLkkIX+b3uzCi0p6KJsZK1SyxZC48Wa4ax8cGLb1BOIQVCjyR80OkXDzQACee9War2LVceXcoT1ARqgl21nthmckLxYzs+YOxWbB3gFQNOD09aeenLpSJUzMM7kDV901sCVg=,iv:ywJaJYj2xrNkgQsWZJF51ZUAwBwMk14eQDe9EC6EXaQ=,tag:GQlHIofanq/yETLbAqS2Nw==,type:str]
|
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.10.2
|
version: 3.10.2
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue