-
Notifications
You must be signed in to change notification settings - Fork 3
chore: implement init containers for dynamic configuration generation… #113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
… across multiple components
…ployment templates
…used RabbitMQ configmap
linuxluigi
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
env vars for DB & MQ still in use for hostanme
linuxluigi
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Self-manage JQ image need to be implement
…r secrets and refactor config generator references
10ba614 to
8adcca2
Compare
6f2702b to
7df761f
Compare
59781ec to
ec08569
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR implements an init container pattern for dynamic configuration generation in Kubernetes deployments. Instead of embedding sensitive credentials (database and RabbitMQ passwords) directly in ConfigMaps, the system now uses placeholders that are replaced at runtime by an init container using secrets.
Key changes:
- Introduced a new init container (
inject-secrets) that replaces credential placeholders in configuration templates with values from Kubernetes secrets - Updated all deployment manifests to use the new config injection pattern with template and generated volumes
- Changed default values for
postgresql.sslmodeandrabbitmq.vhostto non-empty defaults
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| charts/exivity/values.yaml | Added configGenerator image settings and updated default values for postgresql.sslmode and rabbitmq.vhost |
| charts/exivity/values.schema.json | Added schema definition for configGenerator and updated default examples |
| charts/exivity/templates/_init_config_injector.tpl | New template defining the init container, volumes, and mounts for config injection |
| charts/exivity/templates/_config.tpl | Replaced hardcoded credentials with placeholder tokens |
| charts/exivity/templates/secret.yaml | Added new RabbitMQ secret resource |
| charts/exivity/templates/postgres-secret.yaml | Added POSTGRES_USER to secret data |
| charts/exivity/templates/pigeon/configmap.yaml | Replaced hardcoded credentials with placeholder tokens |
| charts/exivity/templates/use/deployment.yaml | Updated to use new config injection pattern and added secret checksums |
| charts/exivity/templates/transcript/deployment.yaml | Updated to use new config injection pattern and added secret checksums |
| charts/exivity/templates/proximity/migrate.yaml | Updated to use new config injection pattern and added secret checksums |
| charts/exivity/templates/proximity/cli.deployment.yaml | Updated to use new config injection pattern and added secret checksums |
| charts/exivity/templates/proximity/api.deployment.yaml | Updated to use new config injection pattern, split projected volume into separate volumes |
| charts/exivity/templates/pigeon/deployment.yaml | Updated to use new config injection pattern and added secret checksums |
| charts/exivity/templates/horizon/deployment.yaml | Updated to use new config injection pattern and added secret checksums |
| charts/exivity/templates/griffon/deployment.yaml | Updated to use new config injection pattern and added secret checksums |
| charts/exivity/templates/executor/deployment.yaml | Updated to use new config injection pattern and added secret checksums |
| charts/exivity/templates/edify/deployment.yaml | Updated to use new config injection pattern, split projected volume into separate volumes |
| charts/exivity/templates/dummy-data/job.yaml | Updated to use new config injection pattern and reorganized volume definitions |
| charts/exivity/templates/chronos/deployment.yaml | Updated to use new config injection pattern and added secret checksums |
| .github/workflows/image-release.yml | Added jq image to release workflow |
| .github/workflows/daily-release.yml | Added jq image to daily release workflow |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…djust volume mounts in deployment templates
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 21 out of 21 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
linuxluigi
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good
…add rabbitmq secret manifest
linuxluigi
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great. Let's run test on it and merge it 🚀
|
Tests are done. The credentials working perfectly fine and there is no difference between the main branch on each container. |

Added a new template for generating configuration files in init containers.
Updated deployment configurations to utilize the new init container for configuration generation.
Removed obsolete configmap templates for various components.
Adjusted volume mounts to accommodate the new configuration structure.
EXVT-6034