fix: align secret key references — backend was looking for DB_USER which doesn't exist
All checks were successful
scrum-manager/pipeline/head This commit looks good

Root cause: backend deployment.yaml referenced secretKeyRef key: DB_USER and
key: DB_PASSWORD, but the live secret only has MYSQL_USER and MYSQL_PASSWORD.
kubectl apply reported secret/mysql-secret as "unchanged" (last-applied matched
desired) so the drift was never caught — new pods got CreateContainerConfigError.

Changes:
- backend/deployment.yaml: DB_USER → key: MYSQL_USER, DB_PASSWORD → key: MYSQL_PASSWORD
- mysql/deployment.yaml: add MYSQL_USER/MYSQL_PASSWORD env vars so the app user
  (scrumapp) is created if MySQL ever reinitializes from a fresh PVC
- mysql/secret.yaml: remove stale commented-out block with old key names

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
tusuii
2026-02-27 23:38:59 +05:30
parent bd9a952399
commit 7e58d758f2
3 changed files with 19 additions and 19 deletions

View File

@@ -49,12 +49,12 @@ spec:
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: mysql-secret name: mysql-secret
key: DB_USER key: MYSQL_USER
- name: DB_PASSWORD - name: DB_PASSWORD
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: mysql-secret name: mysql-secret
key: DB_PASSWORD key: MYSQL_PASSWORD
- name: DB_NAME - name: DB_NAME
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:

View File

@@ -44,6 +44,18 @@ spec:
# Allow root to connect from backend pods (any host), not just localhost. # Allow root to connect from backend pods (any host), not just localhost.
- name: MYSQL_ROOT_HOST - name: MYSQL_ROOT_HOST
value: "%" value: "%"
# Create the app user on first init. Required if PVC is ever wiped and
# MySQL reinitializes — otherwise scrumapp user won't exist and backend fails.
- name: MYSQL_USER
valueFrom:
secretKeyRef:
name: mysql-secret
key: MYSQL_USER
- name: MYSQL_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secret
key: MYSQL_PASSWORD
volumeMounts: volumeMounts:
- name: mysql-data - name: mysql-data
mountPath: /var/lib/mysql mountPath: /var/lib/mysql

View File

@@ -12,20 +12,8 @@ data:
MYSQL_PASSWORD: c2NydW1wYXNz MYSQL_PASSWORD: c2NydW1wYXNz
DB_NAME: c2NydW1fbWFuYWdlcg== DB_NAME: c2NydW1fbWFuYWdlcg==
# apiVersion: v1 # Decode reference:
# kind: Secret # MYSQL_ROOT_PASSWORD: scrumpass
# metadata: # MYSQL_USER: scrumapp
# name: mysql-secret # MYSQL_PASSWORD: scrumpass
# labels: # DB_NAME: scrum_manager
# app.kubernetes.io/name: mysql
# app.kubernetes.io/component: database
# type: Opaque
# data:
# # Base64 encoded values — change these for production!
# # echo -n 'scrumpass' | base64 => c2NydW1wYXNz
# # echo -n 'root' | base64 => cm9vdA==
# # echo -n 'scrum_manager' | base64 => c2NydW1fbWFuYWdlcg==
# MYSQL_ROOT_PASSWORD: c2NydW1wYXNz
# DB_USER: cm9vdA==
# DB_PASSWORD: c2NydW1wYXNz
# DB_NAME: c2NydW1fbWFuYWdlcg==