Skip to content

[BREAKINGCHANGE] Store Perses config in Secret instead of ConfigMap#325

Draft
slashpai wants to merge 1 commit into
perses:mainfrom
slashpai:perses-config-as-secret
Draft

[BREAKINGCHANGE] Store Perses config in Secret instead of ConfigMap#325
slashpai wants to merge 1 commit into
perses:mainfrom
slashpai:perses-config-as-secret

Conversation

@slashpai
Copy link
Copy Markdown
Member

@slashpai slashpai commented Mar 2, 2026

Closes #322

This will have more values once we have secretRef pattern implemented for sensitive fields #322 (comment), we can wait till thats implemented to proceed with this so we can have breaking change that time probably after current release

Description

Closes: #ISSUE-NUMBER

Type of change

  • FEATURE (non-breaking change which adds functionality)
  • ENHANCEMENT (non-breaking change which improves existing functionality)
  • BUGFIX (non-breaking change which fixes an issue)
  • BREAKINGCHANGE (fix or feature that would cause existing functionality to not work as expected)
  • DOC (documentation only)
  • IGNORE (tooling, build system, CI, etc.)

Verification

  • Unit tests added/updated
  • Integration tests added/updated
  • E2E tests added/updated
  • Manual testing performed

Checklist

  • Pull request has a descriptive title and context useful to a reviewer
  • Code follows project conventions and passes linting
  • All commits have DCO signoffs

…erses#322)

Migrate Perses server configuration from ConfigMap to Secret to
preserve sensitive fields (database credentials, OAuth secrets) that
were being masked by the secret.Hidden Go type as `<secret>`.

- Add custom MarshalConfigYAML using reflection to bypass secret.Hidden
  masking and serialize actual values into the Secret
- Add cleanupOldConfigMap to delete legacy ConfigMaps during migration
- Update volume mounts from ConfigMapVolumeSource to SecretVolumeSource
- Update RBAC: add configmaps get/list/delete for migration cleanup,
  add secrets full CRUD
- Add integration test reproducing issue perses#206 scenario

Fixes perses#206
Closes perses#322

Assisted-By: Cursor
Signed-off-by: Jayapriya Pai <[email protected]>
@slashpai slashpai force-pushed the perses-config-as-secret branch from 79a22ac to 9e9ec1d Compare March 2, 2026 13:42
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.

Store Perses server config in a Kubernetes Secret instead of ConfigMap

1 participant