Skip to content

feat: add sealed secrets as platform secrets documentation#143

Open
ferruhcihan wants to merge 2 commits into
mainfrom
APL-1811
Open

feat: add sealed secrets as platform secrets documentation#143
ferruhcihan wants to merge 2 commits into
mainfrom
APL-1811

Conversation

@ferruhcihan
Copy link
Copy Markdown
Contributor

No description provided.

- Fix overview.md link: Sealed Secrets now points to sealed-secrets.md, not sops.md
- Add auto-migration note to all v5.x deprecation caution banners
- Add UI-first intro to for-ops/console/secrets.md (write-only values, never plaintext)
- Fix ESO refresh: hardcoded one-hour interval with propagation lag note
- Deduplicate kubectl backup command: keep canonical in sealed-secrets-key.md, replace inline blocks in sealed-secrets.md, recovery.md, and console/secrets.md with links
- Remove deprecated sops, manage-age, change-admin-password pages from sidebar
- Fix update-admin-password.md Step 2: log in to Keycloak admin console using platform admin credentials
- Add mandatory Step 2 to post-install-steps.md: back up the sealed-secrets key pair immediately

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@j-zimnowoda j-zimnowoda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review findings applied in commit 6071259. Also added a mandatory key-backup step to post-install-steps.md (not in this diff) — missing that step means a new operator could lose the cluster with no recovery path.

Install with Azure Entra ID for OIDC.

### [Use SOPS for encryption](sops.md)
### [Sealed Secrets](sops.md)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Link points to sops.md, which opens with a "SOPS was removed" caution banner. Should point to sealed-secrets.md. Fixed.

sidebar_label: Secrets
---

Platform secrets are encrypted using [Bitnami Sealed Secrets](https://github.com/bitnami-labs/sealed-secrets) and distributed to applications via the [External Secrets Operator](https://external-secrets.io) (ESO). No secrets are stored in plaintext on disk or in Git.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Page is under the Console section but opens with architecture rather than what the operator sees in the UI. Added a UI-first intro: operators can create and modify secrets but values are write-only and never displayed in plaintext.

Comment thread docs/for-ops/console/secrets.md Outdated

1. Helmfile applies updated `ExternalSecret` resources.
2. ESO syncs the corresponding Kubernetes Secrets to each application's namespace.
3. ESO refreshes all secrets on a one-hour interval to keep them in sync.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

one-hour interval reads as configurable. It is hardcoded. Changed to: "ESO refreshes all secrets on a hardcoded one-hour interval. Secret updates take up to one hour to propagate to application namespaces."


### Step 2: Update the Password in Keycloak

1. Log in to Keycloak as the `otomi-admin` user.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Log in to Keycloak as the \otomi-admin` user` is ambiguous — could mean the account self-service page. The next step navigates to the admin console Users panel. Changed to: "Log in to the Keycloak admin console using the platform admin credentials."

Comment thread docs/get-started/installation/sops.md Outdated
---

:::caution
SOPS-based encryption was removed in v6.0.0. See [Sealed Secrets](sealed-secrets.md) for the current approach.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All five v5.x deprecation banners (sops.md, manage-age.md, change-admin-password.md, use-the-cli.md, key-management.md) are missing a reassurance that the upgrade migrates secrets automatically. A v5.x reader has no confidence the upgrade is safe. Added: "Upgrading from v5.x to v6.0.0 migrates your secrets automatically."

The sealed-secrets key pair is the root of trust for all platform secrets. Back it up immediately after installation.

```bash
kubectl get secrets -n sealed-secrets \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The kubectl get secrets export command is duplicated verbatim in four places (sealed-secrets.md, recovery.md, console/secrets.md, sealed-secrets-key.md). Kept the canonical copy in sealed-secrets-key.md and replaced the other three with links — one change point if the command ever changes.

To obtain the manifest from a running cluster before decommissioning it:

```bash
kubectl get secrets -n sealed-secrets \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same duplication issue as sealed-secrets.md — replaced inline command block with a link to sealed-secrets-key.md.

Comment thread sidebar-docs.js Outdated
"get-started/installation/dns",
"get-started/installation/oidc",
"get-started/installation/sealed-secrets",
"get-started/installation/sops",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sops, manage-age, and change-admin-password are deprecated v5.x pages now marked with caution banners. Listing them alongside current v6.x pages in the sidebar creates confusion for new users. Removed from the sidebar; pages remain reachable via search and the cross-links in the caution banners.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants