README.md:152-158 quick start:
make secrets-init
make secrets-edit
make validate
make up
make certs is not in that list, and certificates/ is gitignored
(.gitignore:25), so a clean clone has no CA and no leaf. compose.yaml
bind-mounts three files out of it:
../../certificates/ca.pem → Prometheus, for verifying Grafana's TLS
../../certificates/grafana.matrix.elysium.pem → Grafana's cert
../../certificates/grafana.matrix.elysium-key.pem → Grafana's key
Docker does not fail on a missing bind-mount source — it creates a
directory. So Prometheus gets a directory where ca_file should be, Grafana
gets directories for its cert and key, and the failure surfaces as a TLS error
inside a container rather than as "you skipped a step".
Nothing checks. make up, render-config.sh and validate.sh all proceed —
which is notable given compose.yaml:65-69 and :135-138 make RENDER_UID and
RENDER_GID required rather than defaulted, precisely because a silent
fallback there once left snmp-exporter crash-looping for two weeks.
Fix
Two parts, and the second matters more:
- Add
make certs to the quick start, and to docs/runbooks/deploy-stack.md.
- Have
render-config.sh refuse to render when the three files are absent, with
a message naming make certs. That is the same guard pattern the UID/GID
variables already use, and it is the one that survives someone not reading the
README.
Found while verifying #12.
README.md:152-158quick start:make certsis not in that list, andcertificates/is gitignored(
.gitignore:25), so a clean clone has no CA and no leaf.compose.yamlbind-mounts three files out of it:
../../certificates/ca.pem→ Prometheus, for verifying Grafana's TLS../../certificates/grafana.matrix.elysium.pem→ Grafana's cert../../certificates/grafana.matrix.elysium-key.pem→ Grafana's keyDocker does not fail on a missing bind-mount source — it creates a
directory. So Prometheus gets a directory where
ca_fileshould be, Grafanagets directories for its cert and key, and the failure surfaces as a TLS error
inside a container rather than as "you skipped a step".
Nothing checks.
make up,render-config.shandvalidate.shall proceed —which is notable given
compose.yaml:65-69and:135-138makeRENDER_UIDandRENDER_GIDrequired rather than defaulted, precisely because a silentfallback there once left snmp-exporter crash-looping for two weeks.
Fix
Two parts, and the second matters more:
make certsto the quick start, and todocs/runbooks/deploy-stack.md.render-config.shrefuse to render when the three files are absent, witha message naming
make certs. That is the same guard pattern the UID/GIDvariables already use, and it is the one that survives someone not reading the
README.
Found while verifying #12.