Replies: 1 comment
|
Treat the hostname and the widget token differently. The hostname is configuration; the widget key is a credential and should not be stored in an Kubernetes annotations are literal strings. They do not support For Homepage, a safer arrangement is:
For example, in the Homepage Deployment: env:
- name: HOMEPAGE_VAR_ARGOCD_KEY
valueFrom:
secretKeyRef:
name: homepage-widget-secrets
key: argocd-keyThen in the mounted - Automation:
- Argo CD:
icon: argocd.svg
href: https://argocd.example.com
widget:
type: argocd
url: https://argocd.example.com
key: "{{HOMEPAGE_VAR_ARGOCD_KEY}}"Homepage documents that only Create
Argo CD's own secret-management guide lists these patterns and also warns that secret-injection plugins may leave rendered secrets in repo-server/Redis: https://argo-cd.readthedocs.io/en/release-2.3/operator-manual/secret-management/ For the domain, remember that an externally reachable hostname is usually observable through DNS, certificates, and the live IngressRoute, so hiding it in public Git is not a security boundary. If it is still sensitive inventory, keep only the reusable chart/base public and put environment overlays/values containing the real domain in a private configuration repository. Do not put the widget token in either repository as plaintext. Finally, rotate the token shown in any committed history or already-applied annotation before switching approaches; removing it from the latest commit does not invalidate an exposed credential. If this answers the question, please mark it as the accepted answer so future readers can find the safer pattern. |
Uh oh!
There was an error while loading. Please reload this page.
Hi,
I'm trying to manage Traefik CRDs (ingressRoutes, certificates...) and some sensible annotations with argoCD.
I'd like to be able to manage domains and the hompage.key annotation in my git repo without exposing them.
What are the best practices?
Thank you.
Example: I'd like to sync this manifest, without exposing
https://argocd.domain.comorgethomepage.dev/widget.key: "<token>"All reactions