Skip to content

Commit c3e056b

Browse files
committed
docs: init secrets
1 parent 1f66297 commit c3e056b

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

docs/secrets.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
navi's secret handling setup
2+
3+
navi's security model around secrets is composed of two distinct secret handling
4+
mechanisms. As they can be layered, we will call them layer01 and layer02.
5+
6+
layer01 is git-crypt. It allows for public viewing of the infrastructure and
7+
uploading of secrets, including nix files, without them being compromised, all
8+
the while storing its versioning history. It also allows per machine, or groups of
9+
machines for that matter, setup of keys: this way only approved machines will be
10+
able to learn about the secret infrastructure of others, while still being able
11+
to decrypt its own.
12+
13+
14+
layer02 is agenix. Its purpose is different than git-crypt: NixOS, by design,
15+
needs to allow world readability on its store files, which can contain built
16+
assets of secrets by layer01. This is obviously unwanted in a case where, eg, a
17+
private ssh key is stored and can be used as an LPE mechanism by simply reading
18+
the /nix/store. This uses ssh keys.

0 commit comments

Comments
 (0)