Fix postgres-mcp: mount config as file, not DB_CONFIG env var

The freepeak/db-mcp-server image ships a baked-in CONFIG_PATH pointing
at its own bundled sample config; a same-named env var does not take
priority over an existing file at that path, so DB_CONFIG was
silently ignored and the server came up serving the sample databases
instead of ours. Mount the real config as a file at /app/config.json
instead.
This commit is contained in:
sha
2026-08-30 00:27:46 +03:00
parent 58671bda88
commit 06b179a9fa
2 changed files with 25 additions and 15 deletions
+10 -4
View File
@@ -5,16 +5,22 @@ image:
port: 9092
# Name of a Secret holding the whole multi-database config as one JSON blob
# (see FreePeak/db-mcp-server's DB_CONFIG env var) -- keeps connection
# strings/passwords for every database out of a plain ConfigMap.
# Name of a Secret holding the whole multi-database config as one JSON blob,
# mounted as a file at /app/config.json (the image's own CONFIG_PATH
# default) -- overriding it by file, not the DB_CONFIG env var, because the
# image ships a baked-in CONFIG_PATH pointing at its own sample config,
# which a same-named env var does NOT take priority over (file always wins;
# confirmed empirically -- DB_CONFIG alone silently loaded the sample DBs
# instead of ours). Keeps connection strings/passwords for every database
# out of a plain ConfigMap.
existingSecret: ""
secretConfigKey: "DB_CONFIG"
secretConfigKey: "config.json"
env:
TRANSPORT_MODE: "sse"
SERVER_PORT: "9092"
LOG_LEVEL: "info"
CONFIG_PATH: "/app/config.json"
# Persistent audit log (DB_MCP_AUDIT_LOG) -- one JSONL record per executed
# statement, including rejected writes against read-only databases. Kept on