bug: stop committing MySQL root password in Helm chart values - #288
Open
devin-ai-integration[bot] wants to merge 1 commit into
Open
bug: stop committing MySQL root password in Helm chart values#288devin-ai-integration[bot] wants to merge 1 commit into
devin-ai-integration[bot] wants to merge 1 commit into
Conversation
The chart's values.yaml stored the MySQL root/app password in cleartext, which Helm rendered into the deployed mysql-secret. The chart now expects an externally-managed Secret by default (secret.create=false) and only renders one when credentials are supplied at install time. Signed-off-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
helm/bankapp/values.yamlstored the MySQL root/app password in cleartext (Test@123) andtemplates/secrets.ymlrendered it unconditionally into the deployedmysql-secret— the banking DB root credential was readable to anyone with repo or git-history access, no base64 decoding needed.The chart no longer carries a credential. It now consumes an externally-managed Secret by default and only creates one when the operator explicitly supplies the values at install time:
requiredmeanssecret.create=truewith an empty value fails the render rather than silently deploying an empty root password. The workload templates now reference{{ .Values.secret.name }}instead of the hardcodedmysql-secret, so the chart can point at an ESO/Sealed-Secrets/Vault-managed Secret under any name.helm/README.mddocuments both paths.Not verified locally: no
helmbinary on the box and the release tarball host is off the network allowlist, sohelm template/lintcould not be run.Follow-ups outside this change: the exposed
Test@123credential must be rotated and purged from git history, the app should stop using the DBrootaccount, andkubernetes/secrets.yamlstill commits the same password base64-encoded (separate manifest, separate finding).Devin Review