Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion charts/mcp-stack/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ type: application
# * appVersion - upstream application version; shown in UIs but not
# used for upgrade logic.
# --------------------------------------------------------------------
version: 0.5.0
version: 0.5.1
appVersion: "0.5.0"

# Icon shown by registries / dashboards (must be an http(s) URL).
Expand Down
5 changes: 4 additions & 1 deletion charts/mcp-stack/templates/NOTES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
{{- $pgadminSvc := printf "%s-pgadmin" $fullName }}

{{- $gwSecret := printf "%s-gateway-secret" $fullName }}
{{- $adminSecret := printf "%s-admin-secret" $fullName }}
{{- $pgSecret := include "mcp-stack.postgresSecretName" . }}

{{- /* ─── Secret look-ups (only used when $showSecrets=true) */}}
Expand All @@ -28,9 +29,11 @@
{{- $pgPass := "" }}
{{- if $showSecrets }}
{{- with (lookup "v1" "Secret" $ns $gwSecret) }}
{{- $basicAuthPass = index .data "BASIC_AUTH_PASSWORD" | b64dec }}
{{- $jwtKey = index .data "JWT_SECRET_KEY" | b64dec }}
{{- end }}
{{- with (lookup "v1" "Secret" $ns $gwSecret) }}
{{- $basicAuthPass = index .data "BASIC_AUTH_PASSWORD" | b64dec }}
{{- end }}
{{- with (lookup "v1" "Secret" $ns $pgSecret) }}
{{- $pgPass = index .data "POSTGRES_PASSWORD" | b64dec }}
{{- end }}
Expand Down
23 changes: 22 additions & 1 deletion charts/mcp-stack/templates/configmap-postgres.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,27 @@
{{/* -------------------------------------------------------------------
CONFIGMAP - Gateway Plain-Text Configuration
-------------------------------------------------------------------
- Renders a ConfigMap named postgres-config
- Each key/value becomes an environment variable.
- Use ONLY for non-secret data ( db host, port and related)
------------------------------------------------------------------- */}}

{{- if .Values.postgres.enabled }}
apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-config
data:
POSTGRES_DB: {{ .Values.postgres.credentials.database }}
POSTGRES_DB: {{ .Values.postgres.database | quote }}
POSTGRES_PORT: {{ .Values.postgres.service.port | quote }}
POSTGRES_HOST: {{ printf "%s-postgres" (include "mcp-stack.fullname" .) }}
{{- else if eq .Values.postgres.enabled false }}
apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-config
data:
POSTGRES_DB: {{ default "mcpgateway" .Values.postgres.db | quote }}
POSTGRES_PORT: {{ .Values.postgres.port | quote}}
POSTGRES_HOST: {{ .Values.postgres.host | quote }}
{{- end }}
44 changes: 33 additions & 11 deletions charts/mcp-stack/templates/deployment-mcpgateway.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,17 @@ spec:
labels:
app: {{ include "mcp-stack.fullname" . }}-mcpgateway

spec:
spec:
{{- if .Values.global.imagePullSecrets }}
imagePullSecrets:
{{- range .Values.global.imagePullSecrets }}
- name: {{ . }}
{{- end }}
{{- end }}
containers:
- name: mcp-context-forge
image: "{{ .Values.mcpContextForge.image.repository }}:{{ .Values.mcpContextForge.image.tag }}"
imagePullPolicy: {{ .Values.mcpContextForge.image.pullPolicy }}
imagePullPolicy: {{ .Values.mcpContextForge.image.pullPolicy | quote }}

# Gateway's internal port
ports:
Expand All @@ -45,27 +51,38 @@ spec:
env:
# ---------- POSTGRES ----------
- name: POSTGRES_HOST
value: {{ printf "%s-postgres" (include "mcp-stack.fullname" .) }}
valueFrom:
configMapKeyRef:
key: POSTGRES_HOST
name: postgres-config
- name: POSTGRES_PORT
value: "{{ .Values.mcpContextForge.env.postgres.port }}"
valueFrom:
configMapKeyRef:
key: POSTGRES_PORT
name: postgres-config
- name: POSTGRES_DB
value: "{{ .Values.mcpContextForge.env.postgres.db }}"
valueFrom:
configMapKeyRef:
key: POSTGRES_DB
name: postgres-config
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: {{ include "mcp-stack.postgresSecretName" . | trim }}
key: POSTGRES_USER
name: {{ if .Values.pgSecretMounts }}{{ .Values.pgSecretMounts.name }}{{ else }}{{ include "mcp-stack.postgresSecretName" . | trim }}{{ end }}
key: {{ if .Values.pgSecretMounts }}{{ .Values.pgSecretMounts.userNameKey }}{{ else }}POSTGRES_USER{{ end }}
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "mcp-stack.postgresSecretName" . | trim }}
key: POSTGRES_PASSWORD
name: {{ if .Values.pgSecretMounts }}{{ .Values.pgSecretMounts.name }}{{ else }}{{ include "mcp-stack.postgresSecretName" . | trim }}{{ end }}
key: {{ if .Values.pgSecretMounts }}{{ .Values.pgSecretMounts.passwordKeyKey }}{{ else }}POSTGRES_PASSWORD{{ end }}

# ---------- REDIS ----------
- name: REDIS_HOST
value: {{ printf "%s-redis" (include "mcp-stack.fullname" .) }}
value: {{ if .Values.redis.host }}{{ .Values.redis.host }}{{ else }}{{ printf "%s-redis" (include "mcp-stack.fullname" .) }}{{ end }}
- name: REDIS_PORT
value: "{{ .Values.mcpContextForge.env.redis.port }}"
value: "{{ .Values.redis.port }}"



# ---------- DERIVED URLS ----------
# These MUST be placed *after* the concrete vars above so the
Expand All @@ -80,8 +97,13 @@ spec:
# BULK ENV-VARS - pulled from ConfigMap + Secret
################################################################
envFrom:
{{- if .Values.mcpContextForge.secret.create }}
- secretRef:
name: {{ include "mcp-stack.fullname" . }}-gateway-secret
{{- else }}
- secretRef:
name: {{ if .Values.mcpContextForge.mcpGatewaySecret }}{{ .Values.mcpContextForge.mcpGatewaySecret.name }}{{ end }}
{{- end }}
- configMapRef:
name: {{ include "mcp-stack.fullname" . }}-gateway-config

Expand Down
28 changes: 19 additions & 9 deletions charts/mcp-stack/templates/job-migration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,22 +40,30 @@ spec:
env:
# ---------- POSTGRES ----------
- name: POSTGRES_HOST
value: {{ printf "%s-postgres" (include "mcp-stack.fullname" .) }}
valueFrom:
configMapKeyRef:
key: POSTGRES_HOST
name: postgres-config
- name: POSTGRES_PORT
value: "{{ .Values.mcpContextForge.env.postgres.port }}"
valueFrom:
configMapKeyRef:
key: POSTGRES_PORT
name: postgres-config
- name: POSTGRES_DB
value: "{{ .Values.mcpContextForge.env.postgres.db }}"
valueFrom:
configMapKeyRef:
key: POSTGRES_DB
name: postgres-config
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: {{ include "mcp-stack.postgresSecretName" . | trim }}
key: POSTGRES_USER
name: {{ if .Values.pgSecretMounts }}{{ .Values.pgSecretMounts.name }}{{ else }}{{ include "mcp-stack.postgresSecretName" . | trim }}{{ end }}
key: {{ if .Values.pgSecretMounts }}{{ .Values.pgSecretMounts.userNameKey }}{{ else }}POSTGRES_USER{{ end }}
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: {{ include "mcp-stack.postgresSecretName" . | trim }}
key: POSTGRES_PASSWORD

name: {{ if .Values.pgSecretMounts }}{{ .Values.pgSecretMounts.name }}{{ else }}{{ include "mcp-stack.postgresSecretName" . | trim }}{{ end }}
key: {{ if .Values.pgSecretMounts }}{{ .Values.pgSecretMounts.passwordKeyKey }}{{ else }}POSTGRES_PASSWORD{{ end }}
# ---------- DERIVED URLS ----------
- name: DATABASE_URL
value: >-
Expand All @@ -71,6 +79,8 @@ spec:

{{- if .Values.global.imagePullSecrets }}
imagePullSecrets:
{{- toYaml .Values.global.imagePullSecrets | nindent 8 }}
{{- range .Values.global.imagePullSecrets }}
- name: {{ . }}
{{- end }}
{{- end }}
{{- end }}
17 changes: 10 additions & 7 deletions charts/mcp-stack/templates/secret-gateway.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@
Kubernetes will base64-encode them on creation.
- Put ONLY sensitive credentials or tokens here.
------------------------------------------------------------------- */}}

{{- if .Values.mcpContextForge.secret }}
{{- if .Values.mcpContextForge.secret.create }}
apiVersion: v1
kind: Secret
metadata:
Expand All @@ -17,9 +16,13 @@ metadata:
{{- include "mcp-stack.labels" . | nindent 4 }}
app.kubernetes.io/component: gateway
type: Opaque
stringData:
{{- /* Iterate over every key in mcpContextForge.secret */}}
{{- range $key, $val := .Values.mcpContextForge.secret }}
{{ $key }}: {{ $val | quote }}
{{- end }}
data:
BASIC_AUTH_USER: {{ default "admin" .Values.mcpContextForge.secret.data.BASIC_AUTH_USER | b64enc }}
BASIC_AUTH_PASSWORD: {{- if or .Values.mcpContextForge.secret.regeneratePassword (not .Values.mcpContextForge.secret.data.BASIC_AUTH_PASSWORD) }}
{{ randAlphaNum 32 | b64enc }}
{{- else }}
{{ .Values.mcpContextForge.secret.data.BASIC_AUTH_PASSWORD | b64enc }}
{{- end }}
JWT_SECRET_KEY: {{ .Values.mcpContextForge.secret.data.JWT_SECRET_KEY | b64enc }}
AUTH_ENCRYPTION_SECRET: {{ .Values.mcpContextForge.secret.data.AUTH_ENCRYPTION_SECRET | b64enc }}
{{- end }}
15 changes: 12 additions & 3 deletions charts/mcp-stack/templates/secret-postgres.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,22 @@
# templates/secret-postgres.yaml
{{- if and .Values.postgres.enabled (not .Values.postgres.existingSecret) }}
{{- if and .Values.postgres.enabled (not .Values.postgres.pgSecretMounts) }}
apiVersion: v1
kind: Secret
metadata:
name: "{{ include "mcp-stack.postgresSecretName" . | trim }}"
type: Opaque
stringData:
# add the keys the Postgres image needs
POSTGRES_USER: {{ .Values.postgres.credentials.user | quote }}
POSTGRES_USER: {{ .Values.postgres.credentials.user | quote }}
POSTGRES_PASSWORD: {{ .Values.postgres.credentials.password | quote }}
POSTGRES_DB: {{ .Values.postgres.credentials.database | quote }}
{{- else if and .Values.postgres.generatePostgresqlPasswordSecret.enabled (not .Values.postgres.enabled ) }}
apiVersion: v1
kind: Secret
metadata:
name: "{{ include "mcp-stack.postgresSecretName" . | trim }}"
type: Opaque
stringData:
# add the keys the Postgres image needs
POSTGRES_USER: {{ .Values.postgres.generatePostgresqlPasswordSecret.postgresqlUsername | quote }}
POSTGRES_PASSWORD: {{ .Values.postgres.generatePostgresqlPasswordSecret.postgresqlPassword | quote }}
{{- end }}
Loading