docs(keycloak): add custom themes documentation#463
Conversation
Document the theme injection feature: theme image contract, configuration via Package resource, imagePullSecrets for private registries, and theme activation in Keycloak admin console. Companion to cozystack/cozystack#2142. Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Aleksei Sviridkin <f@lex.la>
✅ Deploy Preview for cozystack ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
📝 WalkthroughWalkthroughDocumentation enhanced with comprehensive guidance on implementing custom Keycloak themes, including container image directory structure requirements, configuration setup through the Keycloak Package, and step-by-step activation procedures in the Keycloak admin console. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request updates the white-labeling documentation to include a comprehensive guide on implementing custom Keycloak themes via container images. It details the required directory structure, configuration within the cozystack.keycloak Package, and the steps for activation in the admin console. Feedback was provided to improve the clarity of the private registry configuration by providing a complete YAML manifest instead of a partial snippet.
| keycloak: | ||
| values: | ||
| themes: | ||
| - name: my-brand | ||
| image: private-registry.example.com/my-keycloak-theme:v1.0 | ||
| imagePullSecrets: | ||
| - name: my-registry-secret |
There was a problem hiding this comment.
This YAML snippet is incomplete and could be misleading as it shows keycloak as a top-level key. To improve clarity and maintain consistency with the previous example, consider providing the full Package manifest.
| keycloak: | |
| values: | |
| themes: | |
| - name: my-brand | |
| image: private-registry.example.com/my-keycloak-theme:v1.0 | |
| imagePullSecrets: | |
| - name: my-registry-secret | |
| apiVersion: cozystack.io/v1alpha1 | |
| kind: Package | |
| metadata: | |
| name: cozystack.keycloak | |
| namespace: cozy-system | |
| spec: | |
| variant: default | |
| components: | |
| keycloak: | |
| values: | |
| themes: | |
| - name: my-brand | |
| image: private-registry.example.com/my-keycloak-theme:v1.0 | |
| imagePullSecrets: | |
| - name: my-registry-secret |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
content/en/docs/v1/operations/configuration/white-labeling.md (1)
178-178: Clarify why the namespaces differ to prevent operator confusion.The example sets the
Packageincozy-system(Line 178), but the note requires the pull secret incozy-keycloak(Line 216). Add one short sentence explaining this is expected because Keycloak pods run incozy-keycloak.✏️ Suggested doc tweak
-The referenced Secret must exist in the `cozy-keycloak` namespace. +The referenced Secret must exist in the `cozy-keycloak` namespace. +This differs from the `Package` resource namespace (`cozy-system`) because the Keycloak workload pulls images from the `cozy-keycloak` namespace.Also applies to: 216-216
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@content/en/docs/v1/operations/configuration/white-labeling.md` at line 178, The docs show the Package resource in the cozy-system namespace but require the pull secret in cozy-keycloak; add one short clarifying sentence after the Package example stating that this is intentional because Keycloak pods run in the cozy-keycloak namespace so the pull secret must be created there (referencing the Package example and the cozy-keycloak namespace by name).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@content/en/docs/v1/operations/configuration/white-labeling.md`:
- Line 178: The docs show the Package resource in the cozy-system namespace but
require the pull secret in cozy-keycloak; add one short clarifying sentence
after the Package example stating that this is intentional because Keycloak pods
run in the cozy-keycloak namespace so the pull secret must be created there
(referencing the Package example and the cozy-keycloak namespace by name).
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 444f680a-ca97-4baf-9b1b-7eb214ac224d
📒 Files selected for processing (1)
content/en/docs/v1/operations/configuration/white-labeling.md
What this PR does
Adds documentation for custom Keycloak theme injection to the White Labeling guide.
New sections cover:
/themes/directory structure)cozystack.keycloakPackage resourceimagePullSecretsfor private registriesCompanion PR
Implementation: cozystack/cozystack#2142
Release note
Summary by CodeRabbit