Skip to content

Commit 4da6641

Browse files
committed
Use actual GitHub secrets for PostgreSQL and JWT instead of random generation
- Updated GitHub workflow to use secrets.POSTGRES_PASSWORD and secrets.JWT_SECRET - Updated local deployment script to require same environment variables - Fixed PostgreSQL database name configuration - Set proper placeholders in values.yaml since they're overridden by --set-string
1 parent 61c1954 commit 4da6641

File tree

3 files changed

+30
-12
lines changed

3 files changed

+30
-12
lines changed

.github/workflows/deploy-kubernetes.yml

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,17 @@ jobs:
8484
echo "❌ OPEN_WEBUI_API_KEY_GEN secret is not set"
8585
exit 1
8686
fi
87+
if [ -z "${{ secrets.POSTGRES_PASSWORD }}" ]; then
88+
echo "❌ POSTGRES_PASSWORD secret is not set"
89+
exit 1
90+
fi
91+
if [ -z "${{ secrets.JWT_SECRET }}" ]; then
92+
echo "❌ JWT_SECRET secret is not set"
93+
exit 1
94+
fi
8795
echo "✅ All required secrets are present"
8896
89-
- name: Generate JWT Secret
90-
id: jwt-secret
91-
run: |
92-
JWT_SECRET=$(openssl rand -base64 64)
93-
echo "jwt_secret=${JWT_SECRET}" >> $GITHUB_OUTPUT
97+
# JWT Secret is now provided via GitHub secrets
9498

9599
- name: Deploy with Helm
96100
env:
@@ -107,8 +111,8 @@ jobs:
107111
helm upgrade studymate ./infra/helm -n studymate \
108112
--set ingress.host="${DOMAIN}" \
109113
--set client.image.tag="k8s-latest" \
110-
--set-string secrets.postgres.data.password="$(openssl rand -base64 32)" \
111-
--set-string secrets.auth.data.jwtSecret="${{ steps.jwt-secret.outputs.jwt_secret }}" \
114+
--set-string secrets.postgres.data.password="${{ secrets.POSTGRES_PASSWORD }}" \
115+
--set-string secrets.auth.data.jwtSecret="${{ secrets.JWT_SECRET }}" \
112116
--set-string secrets.genai.data.openWebUiApiKeyChat="${OPEN_WEBUI_API_KEY_CHAT}" \
113117
--set-string secrets.genai.data.openWebUiApiKeyGen="${OPEN_WEBUI_API_KEY_GEN}" \
114118
--set-string secrets.genai.data.langsmithApiKey="${LANGSMITH_API_KEY}" \
@@ -119,8 +123,8 @@ jobs:
119123
helm install studymate ./infra/helm -n studymate \
120124
--set ingress.host="${DOMAIN}" \
121125
--set client.image.tag="k8s-latest" \
122-
--set-string secrets.postgres.data.password="$(openssl rand -base64 32)" \
123-
--set-string secrets.auth.data.jwtSecret="${{ steps.jwt-secret.outputs.jwt_secret }}" \
126+
--set-string secrets.postgres.data.password="${{ secrets.POSTGRES_PASSWORD }}" \
127+
--set-string secrets.auth.data.jwtSecret="${{ secrets.JWT_SECRET }}" \
124128
--set-string secrets.genai.data.openWebUiApiKeyChat="${OPEN_WEBUI_API_KEY_CHAT}" \
125129
--set-string secrets.genai.data.openWebUiApiKeyGen="${OPEN_WEBUI_API_KEY_GEN}" \
126130
--set-string secrets.genai.data.langsmithApiKey="${LANGSMITH_API_KEY}" \

deploy-local.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,18 @@ if [ -z "$OPEN_WEBUI_API_KEY_GEN" ]; then
5757
exit 1
5858
fi
5959

60+
if [ -z "$POSTGRES_PASSWORD" ]; then
61+
print_error "POSTGRES_PASSWORD is not set"
62+
echo "Set it with: export POSTGRES_PASSWORD='your-postgres-password'"
63+
exit 1
64+
fi
65+
66+
if [ -z "$JWT_SECRET" ]; then
67+
print_error "JWT_SECRET is not set"
68+
echo "Set it with: export JWT_SECRET='your-jwt-secret'"
69+
exit 1
70+
fi
71+
6072
print_success "All required secrets are present"
6173

6274
# Check prerequisites
@@ -121,6 +133,8 @@ print_status "Domain: $DOMAIN"
121133
helm upgrade --install "$RELEASE_NAME" "$CHART_PATH" \
122134
--namespace "$NAMESPACE" \
123135
--create-namespace \
136+
--set-string secrets.postgres.data.password="$POSTGRES_PASSWORD" \
137+
--set-string secrets.auth.data.jwtSecret="$JWT_SECRET" \
124138
--set-string secrets.genai.data.openWebUiApiKeyChat="$OPEN_WEBUI_API_KEY_CHAT" \
125139
--set-string secrets.genai.data.openWebUiApiKeyGen="$OPEN_WEBUI_API_KEY_GEN" \
126140
--set-string secrets.genai.data.langsmithApiKey="$LANGSMITH_API_KEY" \

infra/helm/values.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ postgres:
186186
name: postgres-secret
187187
key: password
188188
- name: POSTGRES_DB
189-
value: mydb
189+
value: studymate
190190

191191
weaviate:
192192
image:
@@ -250,15 +250,15 @@ secrets:
250250
existingSecret: "" # Name of existing secret to use instead of creating new one
251251
data:
252252
username: postgres
253-
password: "securePostgresPassword123!" # HARDCODED for development
253+
password: "placeholder-postgres-password" # Overridden by GitHub secret via --set-string
254254

255255
# Auth service secrets (shared JWT secret)
256256
auth:
257257
create: true
258258
name: auth-secret
259259
existingSecret: "" # Name of existing secret to use instead of creating new one
260260
data:
261-
jwtSecret: "mySecretKey1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" # HARDCODED for development
261+
jwtSecret: "placeholder-jwt-secret" # Overridden by GitHub secret via --set-string
262262

263263
genai:
264264
create: true

0 commit comments

Comments
 (0)