Conversation
- Add an "Encryption keys" section to the dev Kubernetes page covering secrets-init, the Secret, the values.yaml mount, and the migration warning. - Point the configuration overview at it from the storage section.
Contributor
|
Surge PR preview deployment succeeded. View it at https://ricochet-rs-docs-pr-350.surge.sh |
JosiahParry
requested changes
Sep 2, 2026
Member
|
Addreessing |
Member
Author
|
Did some additional cleanup. @JosiahParry good to merge or do you need another round? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Documents sourcing the encryption keypair from a Kubernetes Secret instead of the home volume, which is what a second server replica needs.
AI Summary
Why
The
secretsconfiguration key landed in ricochet-rs/ricochet#1308 and had no operator-facing documentation.It was written up in ricochet-rs/ricochet#1309 as
docs/ha-deployment.md, a file in the application repository that no self-hoster would ever land on; that pull request is closed and the content is ported here instead.The draft there was also written against the design rather than the merged code, and described a
[secrets]section with adirfield.What shipped is a top-level
secretskey, so this page documentsRICOCHET_SECRETSand the real Helm values.dev/admin/installation/3-kubernetes.mdxA new
Encryption keyssection afterPersistence:.ricochet.jsonorphans every encrypted environment variable and git credential.ricochet secrets-init --dirinto a scratch directory,kubectl create secret generic, then remove the on-disk copy.extraVolumes/extraVolumeMounts/envvalues that mount it and setRICOCHET_SECRETS..ricochet.pubis derived and never read back, so the Secret does not need it.secrets-initfor an instance that already holds data, with copying the existing.ricochet.jsonas the migration path.dev/admin/configuration/0-overview.mdxThree lines in the storage section pointing at the new anchor, since that page is where
RICOCHET_HOMEis explained.Validation
The values block is rendered output, not a guess:
helm templateagainstricochet-rs/helmat326e151with exactly those values putsRICOCHET_SECRETS, the/etc/ricochet/secretsmount and thericochet-keysvolume on the server container.The behavior statements were read off
mainin the application repository:RicochetConfig::secrets_dir, theany_encrypted_valuesgate inRicochetProxy::from_configthat choosesloadoverload_or_generate, andSecretsWriteError::AlreadyExists.bun astro buildcompletes and the link validator reports all internal links valid, which covers the new anchor.prek runis clean on both files.