fix: remove PINECONE from prod deploy (not needed)#5827
Conversation
Only use GCP Secret Manager refs for truly sensitive keys: ENCRYPTION_SECRET, DESKTOP_DEEPGRAM_API_KEY, DESKTOP_ANTHROPIC_API_KEY, DESKTOP_GOOGLE_CALENDAR_API_KEY. Other vars (GEMINI_API_KEY, FIREBASE_API_KEY, REDIS_DB_*, PINECONE_*) are managed as plaintext env vars on prod Cloud Run directly. The deploy action uses --update-secrets so existing plaintext env vars are preserved across deploys. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Greptile SummaryThis PR modifies the production Cloud Run deploy step in Issues found:
Confidence Score: 1/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant GH as GitHub Actions
participant CR as Cloud Run (Prod)
participant SM as Secret Manager
Note over GH,SM: Before this PR (working state)
GH->>CR: deploy-cloudrun (--set-env-vars FIREBASE_PROJECT_ID, ...)<br/>+ --set-secrets GEMINI_API_KEY, REDIS_DB_PASSWORD, FIREBASE_API_KEY,<br/>PINECONE_API_KEY, REDIS_DB_HOST, REDIS_DB_PORT, PINECONE_HOST,<br/>ENCRYPTION_SECRET, DEEPGRAM_API_KEY, ...
CR->>SM: Resolve all 11 secret refs at container startup
SM-->>CR: All values injected as env vars
Note over GH,SM: This PR — intended behavior
GH->>CR: deploy-cloudrun (--set-env-vars FIREBASE_PROJECT_ID, ...)<br/>+ --set-secrets ENCRYPTION_SECRET, DEEPGRAM_API_KEY,<br/>ANTHROPIC_API_KEY, GOOGLE_CALENDAR_API_KEY
CR->>SM: Resolve 4 remaining secret refs
Note over CR: Expects GEMINI_API_KEY, REDIS_DB_HOST etc.<br/>to be present as pre-set plaintext env vars
Note over GH,CR: Actual behavior — env vars wiped each deploy
GH->>CR: --set-env-vars FIREBASE_PROJECT_ID=...,<br/>GOOGLE_APPLICATION_CREDENTIALS=..., AGENT_GCS_BUCKET=...
Note over CR: ⚠️ --set-env-vars REPLACES all env vars<br/>Manually-set GEMINI_API_KEY, REDIS_DB_HOST,<br/>REDIS_DB_PORT, REDIS_DB_PASSWORD, FIREBASE_API_KEY<br/>are WIPED on every deploy
CR-->>GH: Service starts missing required variables → runtime errors
|
| secrets: | | ||
| GEMINI_API_KEY=GEMINI_API_KEY:latest | ||
| ENCRYPTION_SECRET=ENCRYPTION_SECRET:latest | ||
| REDIS_DB_PASSWORD=REDIS_DB_PASSWORD:latest | ||
| FIREBASE_API_KEY=FIREBASE_API_KEY:latest | ||
| PINECONE_API_KEY=PINECONE_API_KEY:latest | ||
| REDIS_DB_HOST=REDIS_DB_HOST:latest | ||
| REDIS_DB_PORT=REDIS_DB_PORT:latest | ||
| PINECONE_HOST=PINECONE_HOST:latest | ||
| DEEPGRAM_API_KEY=DESKTOP_DEEPGRAM_API_KEY:latest | ||
| ANTHROPIC_API_KEY=DESKTOP_ANTHROPIC_API_KEY:latest | ||
| GOOGLE_CALENDAR_API_KEY=DESKTOP_GOOGLE_CALENDAR_API_KEY:latest |
There was a problem hiding this comment.
REDIS_DB_PASSWORD moved to plaintext
REDIS_DB_PASSWORD is a database credential being moved from GCP Secret Manager (encrypted at rest, access-controlled via IAM) to a plaintext Cloud Run environment variable visible in the console, deployment logs, and to any identity with roles/run.viewer or roles/run.admin. Passwords should not be downgraded to plaintext configuration, even within a managed cloud service.
REDIS_DB_PASSWORD should remain in Secret Manager and stay in the secrets: block. If the original Secret Manager entry no longer exists in the prod project, it should be re-created rather than replaced with a plaintext value.
Manager created GCP secrets for all needed vars. Keep everything as secret refs except PINECONE_API_KEY and PINECONE_HOST which were never on prod and are optional (only used for rewind screen search). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Match manager's exact prod secret configuration: - DESKTOP_ prefix for shared secret names (avoids conflicts with Python backend) - Add AGENT_ANTHROPIC_API_KEY and AGENT_GEMINI_API_KEY - Remove PINECONE (not used on prod) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
lgtm |
## Summary - Removes `PINECONE_API_KEY` and `PINECONE_HOST` from the prod deploy secrets block - Both are `Option<String>` in Rust config — only used for rewind screen search - Were never on prod Cloud Run before - All other secrets kept as GCP Secret Manager refs (manager created the missing ones) --- _by AI for @beastoin_
Summary
PINECONE_API_KEYandPINECONE_HOSTfrom the prod deploy secrets blockOption<String>in Rust config — only used for rewind screen searchby AI for @beastoin