Compare commits

..

1 Commits

Author SHA1 Message Date
platform-engineer-agent
59c2bfb090 fix(myorg-assistant): mirror Deployment env (GIT_*, WEB_SECRET_KEY) into all cronjobs
The myorg-assistant Deployment's Settings() requires WEB_SECRET_KEY (and the
GIT_* set for git-sync/deadline-checker). The cronjobs only carried a subset,
so every run crashed at import with:
  pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings
    web_secret_key [type=missing]

myorg-git-sync was crash-looping (4.19 restarts/15m, pod 29731995-wbdnx).
deadline-checker/evening-summary/morning-briefing/waiting-followup were also
missing the full env set (git-sync already had GIT_*, but lacked WEB_SECRET_KEY;
the others lacked both GIT_* and WEB_SECRET_KEY).

Mirror the Deployment's full required env (GIT_REPO_URL/USERNAME/TOKEN/BRANCH
from secret/configmap, WEB_SECRET_KEY from secret) into every cronjob so
import-time Settings() validation passes for all. Supersedes the incomplete
PRs #19/#20/#21 (which added only WEB_SECRET_KEY and left the GIT_* gap).

Roger: merge -> ArgoCD self-heals, loop stops.
2026-07-13 05:23:32 +00:00
6 changed files with 85 additions and 79 deletions

View File

@@ -11,30 +11,18 @@ metadata:
data: data:
config.yaml: | config.yaml: |
model_list: model_list:
- model_name: gpt-5.6-luna - model_name: gpt-5-mini
litellm_params: litellm_params:
model: openai/gpt-5.6-luna model: openai/gpt-5-mini-2025-08-07
api_key: "os.environ/OPENAI_API_KEY" api_key: "os.environ/OPENAI_API_KEY"
- model_name: claude-haiku-4.5 - model_name: claude-4.5-haiku
litellm_params: litellm_params:
model: "anthropic/claude-haiku-4-5-20251001" model: "anthropic/claude-haiku-4-5-20251001"
api_key: "os.environ/ANTHROPIC_API_KEY" api_key: "os.environ/ANTHROPIC_API_KEY"
- model_name: claude-sonnet-5
litellm_params:
model: "anthropic/claude-sonnet-5"
api_key: "os.environ/ANTHROPIC_API_KEY"
- model_name: gemini-3-flash - model_name: gemini-3-flash
litellm_params: litellm_params:
model: gemini/gemini-3-flash-preview model: gemini/gemini-3-flash-preview
api_key: "os.environ/GEMINI_API_KEY" api_key: "os.environ/GEMINI_API_KEY"
- model_name: tencent/hy3:free
litellm_params:
model: openrouter/tencent/hy3:free
api_key: "os.environ/OPENROUTER_API_KEY"
- model_name: z-ai/glm-5.2
litellm_params:
model: openrouter/z-ai/glm-5.2
api_key: "os.environ/OPENROUTER_API_KEY"
- model_name: glm-4.7-flash - model_name: glm-4.7-flash
litellm_params: litellm_params:
model: ollama/glm-4.7-flash model: ollama/glm-4.7-flash

View File

@@ -34,6 +34,26 @@ spec:
- "from src.scheduler.jobs import run_job; import sys; run_job(sys.argv[1])" - "from src.scheduler.jobs import run_job; import sys; run_job(sys.argv[1])"
- deadline-checker - deadline-checker
env: env:
- name: GIT_REPO_URL
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_REPO_URL
- name: GIT_USERNAME
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_USERNAME
- name: GIT_TOKEN
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_TOKEN
- name: GIT_BRANCH
valueFrom:
configMapKeyRef:
name: myorg-assistant-config
key: GIT_BRANCH
- name: MYORG_REPO_PATH - name: MYORG_REPO_PATH
valueFrom: valueFrom:
configMapKeyRef: configMapKeyRef:
@@ -59,21 +79,6 @@ spec:
secretKeyRef: secretKeyRef:
name: myorg-assistant-secret name: myorg-assistant-secret
key: WEB_SECRET_KEY key: WEB_SECRET_KEY
- name: GIT_REPO_URL
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_REPO_URL
- name: GIT_USERNAME
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_USERNAME
- name: GIT_TOKEN
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_TOKEN
volumeMounts: volumeMounts:
- name: myorg-data - name: myorg-data
mountPath: /data/myorg mountPath: /data/myorg

View File

@@ -34,6 +34,26 @@ spec:
- "from src.scheduler.jobs import run_job; import sys; run_job(sys.argv[1])" - "from src.scheduler.jobs import run_job; import sys; run_job(sys.argv[1])"
- evening-summary - evening-summary
env: env:
- name: GIT_REPO_URL
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_REPO_URL
- name: GIT_USERNAME
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_USERNAME
- name: GIT_TOKEN
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_TOKEN
- name: GIT_BRANCH
valueFrom:
configMapKeyRef:
name: myorg-assistant-config
key: GIT_BRANCH
- name: MYORG_REPO_PATH - name: MYORG_REPO_PATH
valueFrom: valueFrom:
configMapKeyRef: configMapKeyRef:
@@ -59,21 +79,6 @@ spec:
secretKeyRef: secretKeyRef:
name: myorg-assistant-secret name: myorg-assistant-secret
key: WEB_SECRET_KEY key: WEB_SECRET_KEY
- name: GIT_REPO_URL
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_REPO_URL
- name: GIT_USERNAME
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_USERNAME
- name: GIT_TOKEN
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_TOKEN
volumeMounts: volumeMounts:
- name: myorg-data - name: myorg-data
mountPath: /data/myorg mountPath: /data/myorg

View File

@@ -35,6 +35,26 @@ spec:
- morning-briefing - morning-briefing
env: env:
# From ConfigMap # From ConfigMap
- name: GIT_REPO_URL
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_REPO_URL
- name: GIT_USERNAME
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_USERNAME
- name: GIT_TOKEN
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_TOKEN
- name: GIT_BRANCH
valueFrom:
configMapKeyRef:
name: myorg-assistant-config
key: GIT_BRANCH
- name: MYORG_REPO_PATH - name: MYORG_REPO_PATH
valueFrom: valueFrom:
configMapKeyRef: configMapKeyRef:
@@ -66,21 +86,6 @@ spec:
secretKeyRef: secretKeyRef:
name: myorg-assistant-secret name: myorg-assistant-secret
key: WEB_SECRET_KEY key: WEB_SECRET_KEY
- name: GIT_REPO_URL
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_REPO_URL
- name: GIT_USERNAME
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_USERNAME
- name: GIT_TOKEN
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_TOKEN
volumeMounts: volumeMounts:
- name: myorg-data - name: myorg-data
mountPath: /data/myorg mountPath: /data/myorg

View File

@@ -34,6 +34,26 @@ spec:
- "from src.scheduler.jobs import run_job; import sys; run_job(sys.argv[1])" - "from src.scheduler.jobs import run_job; import sys; run_job(sys.argv[1])"
- waiting-followup - waiting-followup
env: env:
- name: GIT_REPO_URL
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_REPO_URL
- name: GIT_USERNAME
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_USERNAME
- name: GIT_TOKEN
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_TOKEN
- name: GIT_BRANCH
valueFrom:
configMapKeyRef:
name: myorg-assistant-config
key: GIT_BRANCH
- name: MYORG_REPO_PATH - name: MYORG_REPO_PATH
valueFrom: valueFrom:
configMapKeyRef: configMapKeyRef:
@@ -59,21 +79,6 @@ spec:
secretKeyRef: secretKeyRef:
name: myorg-assistant-secret name: myorg-assistant-secret
key: WEB_SECRET_KEY key: WEB_SECRET_KEY
- name: GIT_REPO_URL
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_REPO_URL
- name: GIT_USERNAME
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_USERNAME
- name: GIT_TOKEN
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: GIT_TOKEN
volumeMounts: volumeMounts:
- name: myorg-data - name: myorg-data
mountPath: /data/myorg mountPath: /data/myorg

View File

@@ -53,17 +53,15 @@ spec:
value: http value: http
- name: N8N_PORT - name: N8N_PORT
value: "5678" value: "5678"
- name: NODE_OPTIONS
value: "--max-old-space-size=768"
image: n8nio/n8n image: n8nio/n8n
name: n8n name: n8n
ports: ports:
- containerPort: 5678 - containerPort: 5678
resources: resources:
requests: requests:
memory: "512Mi" memory: "250Mi"
limits: limits:
memory: "1Gi" memory: "500Mi"
volumeMounts: volumeMounts:
- mountPath: /home/node/.n8n - mountPath: /home/node/.n8n
name: n8n-claim0 name: n8n-claim0