Skip to content

Commit ae076fc

Browse files
committed
doc update: TL;DR + removing separators
1 parent f34caaf commit ae076fc

3 files changed

Lines changed: 21 additions & 17 deletions

File tree

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33
**Nash!Com Service Guard** — a universal service launcher and secret manager
44
for secure, automated secret delivery to any workload.
55

6+
> **TL;DR —** A statically compiled binary that authenticates to Vault (or reads a
7+
> systemd credential), fetches secrets, and delivers them to any process —
8+
> TLS certificates to NGINX, `server.id` passwords to Domino — without keys
9+
> ever touching disk. Supports VM, container, and Kubernetes deployments using
10+
> each platform's native identity mechanism.
11+
612
`srvguard` solves a fundamental bootstrap problem: a service needs its
713
secrets (TLS certificate, private key, password) before it can start, but
814
those secrets live in a protected store that requires authentication to access.
@@ -163,7 +169,6 @@ Environment=SRVGUARD_AUTH_METHOD=systemd
163169
See [systemd Credentials](docs/systemd-credentials.md) for background
164170
on how systemd credentials work and security properties.
165171

166-
---
167172

168173
## Output Backends
169174

docs/architecture.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Secret Distribution Across Platforms — VM, Container, and Kubernetes
22

3+
> **TL;DR —** srvguard adapts to the identity mechanism the platform provides.
4+
> On VMs it reads a systemd credential. In containers it reads credential files
5+
> the host placed on a mount. On Kubernetes it uses the Pod's service account JWT.
6+
> All three paths lead to the same result: Vault delivers the secret, the
7+
> application never handles authentication directly.
8+
9+
---
10+
311
## The Core Pattern
412

513
Every platform already provides a way to establish identity. srvguard uses
@@ -12,7 +20,6 @@ platform identity → authentication → short-lived credentials → application
1220
The result is a consistent operational model across three deployment modes.
1321
No custom trust infrastructure is required on any path.
1422

15-
---
1623

1724
## Mode 1 — VM (systemd)
1825

@@ -72,7 +79,6 @@ platform components.
7279
produce a `.cred` file. Deploy it to `/etc/srvguard/` on the target host.
7380
One-time operation per host.
7481

75-
---
7682

7783
## Mode 2 — Container (credential file)
7884

@@ -109,7 +115,6 @@ interface.
109115
container's FQDN/role to the bind-mount path before the container starts.
110116
A compromised container can only access its own secret path.
111117

112-
---
113118

114119
## Mode 3 — Kubernetes
115120

@@ -163,7 +168,6 @@ vault write auth/kubernetes/role/srvguard \
163168

164169
See the nsh-vault-deploy provisioner for the full setup.
165170

166-
---
167171

168172
## Combined — VM Host + Containers (Mode 1 + Mode 2)
169173

@@ -200,7 +204,6 @@ This separation also means the container image needs no secret baked in.
200204
The same image runs in dev, staging, and production — only the mount content
201205
differs.
202206

203-
---
204207

205208
## Auth Method Summary
206209

@@ -213,7 +216,6 @@ differs.
213216

214217
> `approle` is accepted as an alias for `file` for backward compatibility.
215218
216-
---
217219

218220
## Design Principles
219221

@@ -243,7 +245,6 @@ The same `srvguard` binary runs as a host-side credential delivery service
243245
(Mode 1) and as an in-container application wrapper (Mode 2). Configuration
244246
determines the role.
245247

246-
---
247248

248249
## Relationship to Other Components
249250

docs/certificate-lifetime-reduction.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22

33
*by Nash!Com*
44

5+
> **TL;DR —** Certificate maximum lifetimes dropped to 200 days in March 2026
6+
> and will reach 47 days by 2029. At that frequency manual renewal breaks.
7+
> HCL Domino CertMgr automates this end-to-end for Domino servers. For
8+
> everything outside Domino — NGINX, load balancers, other services — Vault
9+
> and srvguard close the distribution gap. Rotating the private key on every
10+
> renewal cycle is the part most deployments have not solved yet.
11+
512
---
613

714
## The Clock Is Already Ticking
@@ -30,7 +37,6 @@ certificates automatically every month, it will break.
3037
it is here. Certificates issued with more than 200-day validity are no longer
3138
trusted by major browsers.
3239

33-
---
3440

3541
## This Has Been Building for a Long Time
3642

@@ -50,7 +56,6 @@ The message from every major browser and CA is the same: manual certificate
5056
management is over. Automation is no longer a best practice, it is a
5157
requirement.
5258

53-
---
5459

5560
## Renewal Is Not Enough — Keys Must Rotate Too
5661

@@ -82,7 +87,6 @@ This is more demanding operationally. A new key means:
8287
With 47-day cycles, this happens roughly every six weeks — automatically,
8388
reliably, for every server in your infrastructure.
8489

85-
---
8690

8791
## What CertStore Already Does
8892

@@ -105,7 +109,6 @@ Closing that gap, so that every renewal automatically produces a new key pair
105109
without manual intervention, is the next step. At 47-day cycles that step
106110
becomes mandatory.
107111

108-
---
109112

110113
## The Gap: Externally Deployed Certificates
111114

@@ -128,7 +131,6 @@ What is needed is a distribution layer that:
128131
- Triggers automatic reload when new material arrives
129132
- Scales to frequent rotation without manual intervention
130133

131-
---
132134

133135
## HashiCorp Vault as the Distribution Layer
134136

@@ -149,7 +151,6 @@ The security properties align well with the shorter-lifetime model:
149151
- Vault's audit log provides a full record of every access
150152
- A server compromise exposes only what was in memory at that moment
151153

152-
---
153154

154155
## The Timeline for Action
155156

@@ -162,7 +163,6 @@ effect March 15, 2027. That is the window to build and validate the automation.
162163
By the time 47-day certificates arrive in 2029, the operational patterns need
163164
to be routine, not experimental.
164165

165-
---
166166

167167
## What I Am Building at Nash!Com
168168

@@ -256,7 +256,6 @@ Domino loads, the Extension Manager hook reads it exactly once, revokes the
256256
key immediately, and passes it to Domino in memory. No files, no environment
257257
variables, gone after first use.
258258

259-
---
260259

261260
## Open Source
262261

@@ -279,7 +278,6 @@ Commercial services around implementation, integration with specific
279278
environments, and ongoing support are available through
280279
[Nash!Com](https://www.nashcom.de).
281280

282-
---
283281

284282
## References
285283

0 commit comments

Comments
 (0)