Skip to content

Commit c623385

Browse files
committed
test(shadowing): sops-install-secrets
1 parent 0068d61 commit c623385

File tree

3 files changed

+200
-0
lines changed

3 files changed

+200
-0
lines changed

pkgs/sops-install-secrets/nixos-test.nix

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,4 +377,75 @@
377377
inherit pkgs;
378378
inherit (pkgs) system;
379379
};
380+
381+
sops-files-shadowing = makeTest {
382+
name = "sops-files-shadowing";
383+
nodes.machine = {lib,...}:
384+
let
385+
inherit (lib.lists) reverseList;
386+
inherit (lib.modules) mkDefault;
387+
388+
sopsFile = ./test-assets/secrets.yaml;
389+
systemSopsFile = ./test-assets/secrets-system.yaml;
390+
userSopsFile = ./test-assets/secrets-user.yaml;
391+
392+
sopsFiles = [ sopsFile ];
393+
systemSopsFiles = sopsFiles ++ [ systemSopsFile ];
394+
userSopsFiles = systemSopsFiles ++ [ userSopsFile ];
395+
396+
mkSecretConfig = key: sopsFiles: { inherit key sopsFiles; };
397+
in {
398+
imports = [ ../../modules/sops ];
399+
sops = {
400+
age.keyFile = ./test-assets/age-keys.txt;
401+
defaultSopsFile = sopsFile;
402+
403+
secrets.test_key = {};
404+
secrets.test_key_system = mkSecretConfig "test_key" systemSopsFiles;
405+
secrets.test_key_user = mkSecretConfig "test_key" userSopsFiles;
406+
407+
secrets.test_key2_system = mkSecretConfig "test_key2" systemSopsFiles;
408+
secrets.test_key2_user = mkSecretConfig "test_key2" userSopsFiles;
409+
410+
secrets.test_key3_user = mkSecretConfig "test_key3" userSopsFiles;
411+
412+
secrets.test_key3_user_reverse = mkSecretConfig "test_key3" (reverseList userSopsFiles);
413+
secrets.test_key2_user_reverse = mkSecretConfig "test_key2" (reverseList userSopsFiles);
414+
secrets.test_key_user_reverse = mkSecretConfig "test_key" (reverseList userSopsFiles);
415+
416+
secrets.priority_file = {
417+
key = "test_key";
418+
sopsFile = systemSopsFile;
419+
sopsFiles = mkDefault userSopsFiles;
420+
};
421+
secrets.priority_same = {
422+
inherit sopsFile;
423+
key = "nested/test/file";
424+
sopsFiles = [ systemSopsFile userSopsFile ];
425+
};
426+
};
427+
};
428+
429+
testScript = ''
430+
start_all()
431+
machine.succeed("cat /run/secrets/test_key | grep -qw test_value")
432+
machine.succeed("cat /run/secrets/test_key_system | grep -qw test_value_system")
433+
machine.succeed("cat /run/secrets/test_key_user | grep -qw test_value_user")
434+
435+
machine.succeed("cat /run/secrets/test_key2_system | grep -qw test_value2_system")
436+
machine.succeed("cat /run/secrets/test_key2_user | grep -qw test_value2_user")
437+
438+
machine.succeed("cat /run/secrets/test_key3_user | grep -qw test_value3_user")
439+
440+
machine.succeed("cat /run/secrets/test_key3_user_reverse | grep -qw test_value3_user")
441+
machine.succeed("cat /run/secrets/test_key2_user_reverse | grep -qw test_value2_system")
442+
machine.succeed("cat /run/secrets/test_key_user_reverse | grep -qw test_value")
443+
444+
machine.succeed("cat /run/secrets/priority_file | grep -qw test_value_system")
445+
machine.succeed("cat /run/secrets/priority_same | grep -qw 'another value'")
446+
'';
447+
} {
448+
inherit pkgs;
449+
inherit (pkgs) system;
450+
};
380451
}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
test_key: ENC[AES256_GCM,data:nKT/4vbkpyYUS18rJ4na1pk=,iv:1VwaqxGdrUlquA6pr1yQV4wnq1FPlEhilK9FGPFs8SM=,tag:HUxe8+MUpyQUXuIwR3dxIQ==,type:str]
2+
test_key2: ENC[AES256_GCM,data:IZ3XrdhsMKSAeRBxm1kiHSd+,iv:XGEBYa++pwrp3zQNGFDp7mSpQzZDEYC1oLEJOCnT5Bs=,tag:VuEURKlDst5aKTqmnPksog==,type:str]
3+
sops:
4+
kms: []
5+
gcp_kms: []
6+
azure_kv: []
7+
hc_vault: []
8+
age:
9+
- recipient: age1yt3tfqlfrwdwx0z0ynwplcr6qxcxfaqycuprpmy89nr83ltx74tqdpszlw
10+
enc: |
11+
-----BEGIN AGE ENCRYPTED FILE-----
12+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQaGJ0ZlFUMXNNSkRYeitS
13+
TVkvU1RacHJIYzdMT1AxaldVRnNIMVVxb1hZCnFOclVlMEdJUDJWMDhaejRkU3hq
14+
Y0tObnZYYnhidTB2Z2p0amhUaTZGeHMKLS0tIERDU3pKb1FwZk44bXBualhnS0Z5
15+
eWlUdXhCZGM2dzcxNEY0MTBwN3prTDgK9Sgzw8IuSnBBLS9cNlh6UnzTraxgrQe6
16+
qo+34EQln2Kty7Ot+8TnYo1X+8xRn3VTsQw8+iVdcr28DI0ltMcFtQ==
17+
-----END AGE ENCRYPTED FILE-----
18+
- recipient: age1a8pk4akrdamj7nvqy3zywgtny8dxz7t5xzu7u8v9mhrayp9freqsqatyrs
19+
enc: |
20+
-----BEGIN AGE ENCRYPTED FILE-----
21+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWVkFidnFPQ0toY0RPeFZN
22+
eCsxSUxlU05LUXJYVWVBb3NTblhKVExsNzN3CjkyWlJFaXE3N1RiaEJ1RjdtZncv
23+
cERvdi9kQ3FYY2l3NmF4SUVzYlJxYUEKLS0tIFNSUzhkV0tDYWFjVUprczVCTS9Y
24+
c3poQXZhSzZvVTY2YmdEVVVaUHVxTVkK7Y/YTczA/T5EmLJNjGkL6bh0eI0xH7aH
25+
sjOdnuQG2vioHBYnsqWmmn0bUvY7y3q0h6y+gMDfmzYIgh6B2spUrA==
26+
-----END AGE ENCRYPTED FILE-----
27+
lastmodified: "2023-11-12T16:37:17Z"
28+
mac: ENC[AES256_GCM,data:igpv/Z/VWq53sh3A+LqUl8jPOZumm3/0yaj7Tco9nAqzwJ7v/QNgUiCZlFe2tUZXXE/0kH+C990aRU8QqKR0uJJ86Jz0jyRTdHYEqPtWUabAg9kofAsU1tr+qTRJ1dfuYJ+BukF0tLNwFce00th+RRJzCjBncSHnP4go7rELyr0=,iv:reqRxtuXt/wOhDVHoYcjOpmhpTqFzMpqh8C0ZVKTwUI=,tag:F2irgrIq61xXhs4v5Y4img==,type:str]
29+
pgp:
30+
- created_at: "2023-11-12T16:37:09Z"
31+
enc: |
32+
-----BEGIN PGP MESSAGE-----
33+
34+
hQEMA/m6nevQP1fAAQf9HVmJtTe34ameXLpIKgHvUmMLFzarqCTpFx1h4WZo+0Nk
35+
3eHw572Mm0npG5/uRqbff6fdb433dNlJXLF/O3ZFLk30+6cKsWbcDXAlrCC6fug7
36+
UJh3SJ+Vrp+fsPQXF+2JIkz7ktRZAJ1ktKOKh8P6UjJcrVVG0QH/2gx2wjx+0TBZ
37+
Jem+zF+2TSvj/VQPcdfi4eBisyDGUopiSgLlvENNK6h3pStVWqQTMmMVEZw6SGvW
38+
OwqgydTzzgsLsrZOr4RMNd0KOwhFtHZ758OMePoxdmhDMS/n06fia5TlajTidMOT
39+
H5vosuHh3EuEyl+dKX/N2HwYToADCV+MIdMBN3n8JNJeAVJUp1Kxyh0MlMgUm/vk
40+
g83FuYZ8u3F8MaCzk/+XlJUst0iraxPyO0DQpTuYRmtZ1seVAEidWsDmoDzqxq29
41+
S4GigtxlDcAFhzSMuteLjhWPXO5CHOc+h9tPFqAUCQ==
42+
=bj6u
43+
-----END PGP MESSAGE-----
44+
fp: 7FB89715AADA920D65D25E63F9BA9DEBD03F57C0
45+
- created_at: "2023-11-12T16:37:09Z"
46+
enc: |
47+
-----BEGIN PGP MESSAGE-----
48+
49+
hQGMA3ulPRkZxd/UAQwAqqwRqq/9n06pkZQ1TXS/4Y9s5QdoMOOYrlMwGXNIkieR
50+
6u6qAmJhwsEBWp03gfggFnsfAnKH7zXGdNhWumLkWMvX6DldHkv+4jG/mWOqaNUw
51+
wnkJXNpNoff79DIpZlYZkeTLyFU+02wvbSN56WJCXUCzu+07snT8mCFVRRu6+JJH
52+
v3AD+7K/AWsL3NeL8/eijKuse2nMyWfkSQO77lNS65rI+HAEPkPr+AcYmc0qsvk1
53+
nt+f/UwuLzdsx0wiJ/qoO23vpUGekA6f4Pl5sJX2vfIoroet6h/SlMEBFfgN+9uE
54+
kHJvd31p5OWhSxGe1s+gYNpJqkRJlevcZhMw7GRY5wrlxSz+KjUysudSklAdBiDA
55+
C2XvU9GrxKAvWLNZpmPLJgJSeEFdT3GaG0uZdkqXL3ERN+5i4xonLrmipJabLP2r
56+
X2y4lHwTPqnJAAtzkajNbkJECl9HjXimQKIue3Adxdks48b87yn9r4jEFl5Q3jzi
57+
7PJRGSXxXh7IYug9oK8j0lgBR73bXlKg6NoRb60Qf+fNr1C+2/u9/oZHtMVkL9DC
58+
GQgYMcNl/iaXwtMKrXRpXdybJiUaEVDUj1IniOKslkA+SXqYPT/GEgzsZg7N1iNj
59+
T8HB88mqIowz
60+
=+4j5
61+
-----END PGP MESSAGE-----
62+
fp: 2504791468B153B8A3963CC97BA53D1919C5DFD4
63+
unencrypted_suffix: _unencrypted
64+
version: 3.7.3
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
test_key: ENC[AES256_GCM,data:JZ2xgV5SWgDZavBCIcH+,iv:kl6h4EJbivo1wVHqzM8W0vHyf4U+qEYoqH6JXIgYdTw=,tag:z0roNXcgF+dGvv4MMAO2Rw==,type:str]
2+
test_key2: ENC[AES256_GCM,data:E43CtluUaO4EzvWrrbwIWA==,iv:AI3togB1kiYo3VEjEwNyWCWb7XC1nooN3vDj/K9wuNc=,tag:7OYaY/Htw95akdr1klYFWg==,type:str]
3+
test_key3: ENC[AES256_GCM,data:vWP0CpCR6Mh2mcTJBsQmBA==,iv:9iZHc5m89AmfWLKGqw6RHA+M51wclGqcZzVur7ZDk5k=,tag:yfdfW7VS3eptl/YRqn61mg==,type:str]
4+
sops:
5+
kms: []
6+
gcp_kms: []
7+
azure_kv: []
8+
hc_vault: []
9+
age:
10+
- recipient: age1yt3tfqlfrwdwx0z0ynwplcr6qxcxfaqycuprpmy89nr83ltx74tqdpszlw
11+
enc: |
12+
-----BEGIN AGE ENCRYPTED FILE-----
13+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBINGZkWG9TNkk3cTdvc2hh
14+
NFNpbG11TnZjZHRZdFczSTZSRElGcHhkeFZ3CldjMXpjMFdOd1JzemFONmkya2pv
15+
ZGlGN25DZVFpSG9waTkydjJXSUJFRjAKLS0tIFZWblk2cmtRWEdUYXo4REROTVpW
16+
V0M4MjBaYTBrTCtSVXRtNGh0bzNaREUKsbZ9EK24APYCCC63qbI4YsJmkNFH/j88
17+
ROwRAXFqm0SZcwqUU6TbK9ulyyfE9dsWZ8a6Zb3iDFlFVBuEd5Yb7w==
18+
-----END AGE ENCRYPTED FILE-----
19+
- recipient: age1a8pk4akrdamj7nvqy3zywgtny8dxz7t5xzu7u8v9mhrayp9freqsqatyrs
20+
enc: |
21+
-----BEGIN AGE ENCRYPTED FILE-----
22+
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaaXVQeVlFU0trMGROZEdp
23+
Y2xJNzJzWGNFcEtVS1R4ODBIWWk5dkFEeDBVCktrWkFlUkI3eksyVWRmNTcxRWpU
24+
YllzU1NwNHZHWk9oU2FabFFSRnJuY0UKLS0tIDBaUjVaak5qUGNlRHVpSi9HTEFW
25+
OFdHYSsyNGcvSG91dGxFdk1NYmVRSkkKEEqXuDN7gFKwUDY6O9EMbhEzGIY/BfGU
26+
SM435jTAcR76tq10HbgYgBQ2ef2vvUmvkVzHGQV9LsTxMT+11oFSHw==
27+
-----END AGE ENCRYPTED FILE-----
28+
lastmodified: "2023-11-12T16:44:49Z"
29+
mac: ENC[AES256_GCM,data:auu+8Cs8qRX5OEfCSO0m5U9rEdgKYBWninSVu0H1+VDtGOxjOPhVjAJgIa9wHGbrhp7LoDFymgiGGzbG3H4B/gZAFEhoyYn8VfJOHouT12M6kijtBUAhSqL5csbTMfiZmganvKPYN6PXg7hX2MyjJlFAGLc/Ixte61fKGoExqgA=,iv:P1uCpCO+nqS+dUXhxCcYd/2q0PHVUfbGvYm5PHVrP9s=,tag:yxlNfyTSnM0Wbj95Z/8Ffw==,type:str]
30+
pgp:
31+
- created_at: "2023-11-12T16:41:00Z"
32+
enc: |
33+
-----BEGIN PGP MESSAGE-----
34+
35+
hQEMA/m6nevQP1fAAQf/XVOr/ZOZo/b5lDJ7EIeRgwejwtJLGToF6xXM0jcZvlsB
36+
1Vk2tuzOpAGpO8JpaTzZj0n4Da8+XXpEqLqeGFBsjPni+W0ErlYR/exIVFBZyCVM
37+
gVFnjoAsiR7z+Y+ovYx1VBVpfav3GXXNkPOWNOQlXAhoS9Rxv04AU8XBBy5Hk5kH
38+
is+eM9U+iVxlZfEGW3nAylSieMQdEjWG3MM8KgWr4SLSSLY+sAhiM6QwSDF0wkkn
39+
mLcFJ4CwbWiZIa0995lbhIusTko+DJfdYB6b6e7yxftMySKskTKp0fRh6eagpLhC
40+
oXca0MSIhdWUbgcB4MnWdXl6fGYL7YnTgwOg50ETdNJeAf6p+u/uBElu0Ym94ZRf
41+
/DHrY/rRMx6xNtUCwxAI4ekmi/gXky9/lteZtkW87nXGaYweeQECfbDFWtNczbpn
42+
mfQzF/LrdlaIMEyMGpLow7AgakEuIPXyH5f9hgz9IA==
43+
=NPJP
44+
-----END PGP MESSAGE-----
45+
fp: 7FB89715AADA920D65D25E63F9BA9DEBD03F57C0
46+
- created_at: "2023-11-12T16:41:00Z"
47+
enc: |
48+
-----BEGIN PGP MESSAGE-----
49+
50+
hQGMA3ulPRkZxd/UAQv/UWnL12QFkO1EDguYrLyzq50qAc9wtWJvYP8SS4CP/k1t
51+
ii0cSteyxbiPnYAFFRsiW3KDfkVIOl24+qKihmOcsq+uL90VxweGHJbZwwdNLU5v
52+
YD+bbvfAN1iO2eY0ipTL1gNSu0zl4s8bZaTaYBIBhwTMXNWLfz7CHMU2yJ1g5sWK
53+
oZjGYkleq76zUmhDpzKONivYQiN+UayZ5XqEavdVc5omUlM26hO6jgDUxYua7Wjf
54+
m5cDyPHLzO04d91z0hLxYl5dfK93R2/1dicFmh0yin/nyxbqGBKUAoYdpYAhuI9M
55+
JnKgeEx1mNZnCJdXSJouAA9FakTIkkbOPr45ik087VQ8AdY/c7Ao8SGB2W2kOPqt
56+
+G2r5GBeO/0XH7FUIAcvekOHrjPV16aQpZCouJsFOUMtXi5lnViWhyVPPxERAzIL
57+
sCN2AHI/aFXycPEXSnwoCMvW+3KOihLDxBUPK45Pjc7HfiOPDeWCva6BhG5gFQkT
58+
sJ2B0yeaJoNlQO2bG+AJ0lgBW4s+Q0rtoSRj52cCnVj4zlgjrArPje/aU8pj0w5k
59+
aSl1OoqsD1a5A7vkldmVgec9rWhByRDEnHke00OhmOcPDm6hv0fROwa5qls9RhR0
60+
Gs6FXl5y3Cz7
61+
=yMyb
62+
-----END PGP MESSAGE-----
63+
fp: 2504791468B153B8A3963CC97BA53D1919C5DFD4
64+
unencrypted_suffix: _unencrypted
65+
version: 3.7.3

0 commit comments

Comments
 (0)