@@ -85,16 +85,18 @@ LoadCredential=actalis-eab-kid:/etc/fluxheim/secrets/actalis-eab-kid.cred
8585LoadCredential =actalis-eab-hmac-key:/etc/fluxheim/secrets/actalis-eab-hmac-key.cred
8686```
8787
88- Matching Fluxheim config:
88+ Matching Fluxheim config. Credential names resolve below
89+ ` $CREDENTIALS_DIRECTORY ` when Fluxheim is launched by systemd, and below
90+ ` /run/secrets ` for normal container-style secret mounts:
8991
9092``` toml
9193[[tls .acme .issuers ]]
9294name = " actalis"
9395directory_url = " https://acme-api.actalis.com/acme/directory"
9496
9597[tls .acme .issuers .eab ]
96- key_id_file = " /run/credentials/fluxheim.service/ actalis-eab-kid"
97- hmac_key_file = " /run/credentials/fluxheim.service/ actalis-eab-hmac-key"
98+ key_id_credential = " actalis-eab-kid"
99+ hmac_key_credential = " actalis-eab-hmac-key"
98100```
99101
100102Built-in issuer names:
@@ -117,8 +119,8 @@ mounted files:
117119
118120``` toml
119121[tls .acme .issuers .eab ]
120- key_id_file = " /run/secrets/ actalis-eab-kid"
121- hmac_key_file = " /run/secrets/ actalis-eab-hmac-key"
122+ key_id_credential = " actalis-eab-kid"
123+ hmac_key_credential = " actalis-eab-hmac-key"
122124```
123125
124126Environment variables remain useful for local testing, but they should not be
@@ -244,16 +246,17 @@ sudo systemctl daemon-reload
244246sudo systemctl restart fluxheim
245247```
246248
247- Then point the issuer EAB paths at systemd's mounted credential directory:
249+ Then point the issuer EAB sources at credential names. The same TOML works for
250+ ` fluxheim.service ` , ` fluxheim-acme.service ` , and container secrets:
248251
249252``` toml
250253[[tls .acme .issuers ]]
251254name = " actalis"
252255directory_url = " https://acme-api.actalis.com/acme/directory"
253256
254257[tls .acme .issuers .eab ]
255- key_id_file = " /run/credentials/fluxheim.service/ actalis-eab-kid"
256- hmac_key_file = " /run/credentials/fluxheim.service/ actalis-eab-hmac-key"
258+ key_id_credential = " actalis-eab-kid"
259+ hmac_key_credential = " actalis-eab-hmac-key"
257260```
258261
259262## Renewal Queue Planning
@@ -288,16 +291,28 @@ resolver or callback so new handshakes can use the freshly installed files
288291without restarting. If a TLS backend or listener shape cannot provide a reload
289292handle, Fluxheim logs that a restart or process reload is required.
290293
291- Future production packaging should add a companion ACME operating mode while
292- keeping the integrated background worker for simple installs. In that model,
293- ` fluxheim.service ` stays focused on serving traffic and challenge files, while a
294- one-shot ` fluxheim-acme.service ` and scheduled ` fluxheim-acme.timer ` run
295- renewals as the Fluxheim runtime user. The companion command should reuse the
296- same ACME engine and storage layout as ` fluxheim acme-renew ` , use systemd
297- credentials or container secrets for EAB material, and write certificates below
298- the configured ` tls.acme.storage ` so the running webserver can reload them
299- without a restart. Do not make the webserver spawn a long-lived helper process;
300- let the service manager or container orchestrator supervise the companion.
294+ Production packages include a companion ACME operating mode while keeping the
295+ integrated background worker for simple installs. In this model,
296+ ` fluxheim.service ` stays focused on serving traffic and challenge files, while
297+ the one-shot ` fluxheim-acme.service ` and scheduled ` fluxheim-acme.timer ` run
298+ renewals as the Fluxheim runtime user. The companion command reuses the same
299+ ACME engine and storage layout as ` fluxheim acme-renew ` , uses systemd
300+ credentials or container secrets for EAB material, and writes certificates below
301+ the configured ` tls.acme.storage ` .
302+
303+ Enable the packaged timer after ACME config and credentials are installed:
304+
305+ ``` bash
306+ sudo install -d /etc/systemd/system/fluxheim-acme.service.d
307+ sudo cp /usr/share/doc/fluxheim/systemd/actalis-eab-acme.conf \
308+ /etc/systemd/system/fluxheim-acme.service.d/actalis-eab.conf
309+ sudo systemctl daemon-reload
310+ sudo systemctl enable --now fluxheim-acme.timer
311+ sudo systemctl start fluxheim-acme.service
312+ ```
313+
314+ Do not make the webserver spawn a long-lived helper process; let the service
315+ manager or container orchestrator supervise the companion.
301316
302317## Runtime Crate Candidates
303318
0 commit comments