Compare commits

..

3 Commits

Author SHA1 Message Date
platform-engineer
b6d6ec7d88 fix(myorg-assistant): point cronjob images at registry instead of local myorg-assistant:latest
All 5 CronJob manifests referenced 'myorg-assistant:latest' with
imagePullPolicy: IfNotPresent, but that image was never pushed to any
registry. The Deployment already uses the correct registry image
(git.rogi.casa/roger/myorg-assistant/myorg-assistant:fcf79bf), so the
CronJob pods were stuck in ImagePullBackOff indefinitely.

Fix: use the same registry image + imagePullPolicy: Always.
2026-07-06 11:21:53 +00:00
Platform Engineer
ef17dc6c32 fix(myorg-assistant): fix CronJob image references to use Gitea registry image
CronJobs were referencing 'myorg-assistant:latest' (a local image that
doesn't exist in the cluster), causing ImagePullBackOff on all 4 active
CronJob pods. Updated all 5 CronJob manifests to use the same image as
the Deployment (git.rogi.casa/roger/myorg-assistant/myorg-assistant:fcf79bf)
and added imagePullSecrets: gitea-registry for authentication.
2026-07-06 03:41:25 +00:00
Platform Engineer
3542bcc8fb fix(argocd): add RBAC ConfigMap granting platform-engineer account read+sync access
The platform-engineer ArgoCD account was created (argocd-cm.yaml) with
apiKey capability, but no argocd-rbac-cm ConfigMap existed, so the account
had default (empty) RBAC and every API call returned 403.

This adds the RBAC policy granting the platform-engineer role:
- get applications (all projects/namespaces)
- sync applications (all projects/namespaces)
- get projects

Needed for the platform-engineer cron jobs to read app health and trigger
syncs via the ArgoCD API.
2026-07-06 00:40:28 +00:00
6 changed files with 20 additions and 187 deletions

View File

@@ -0,0 +1,15 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-rbac-cm
namespace: argocd
labels:
app.kubernetes.io/name: argocd-rbac-cm
app.kubernetes.io/part-of: argocd
data:
policy.default: ""
policy.csv: |
p, role:platform-engineer, applications, get, */*, allow
p, role:platform-engineer, applications, sync, */*, allow
p, role:platform-engineer, projects, get, *, allow
g, platform-engineer, role:platform-engineer

View File

@@ -27,36 +27,4 @@ spec:
containers: containers:
- name: deadline-checker - name: deadline-checker
image: git.rogi.casa/roger/myorg-assistant/myorg-assistant:fcf79bf image: git.rogi.casa/roger/myorg-assistant/myorg-assistant:fcf79bf
imagePullPolicy: IfNotPresent imagePullPolicy: Always
command:
- python
- run_job.py
- deadline-checker
env:
- name: MYORG_REPO_PATH
valueFrom:
configMapKeyRef:
name: myorg-assistant-config
key: MYORG_REPO_PATH
- name: DISCORD_BOT_TOKEN
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: DISCORD_BOT_TOKEN
- name: DISCORD_CHANNEL_ID
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: DISCORD_CHANNEL_ID
- name: LITELLM_API_KEY
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: LITELLM_API_KEY
volumeMounts:
- name: myorg-data
mountPath: /data/myorg
volumes:
- name: myorg-data
persistentVolumeClaim:
claimName: myorg-assistant-pvc

View File

@@ -27,36 +27,4 @@ spec:
containers: containers:
- name: evening-summary - name: evening-summary
image: git.rogi.casa/roger/myorg-assistant/myorg-assistant:fcf79bf image: git.rogi.casa/roger/myorg-assistant/myorg-assistant:fcf79bf
imagePullPolicy: IfNotPresent imagePullPolicy: Always
command:
- python
- run_job.py
- evening-summary
env:
- name: MYORG_REPO_PATH
valueFrom:
configMapKeyRef:
name: myorg-assistant-config
key: MYORG_REPO_PATH
- name: DISCORD_BOT_TOKEN
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: DISCORD_BOT_TOKEN
- name: DISCORD_CHANNEL_ID
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: DISCORD_CHANNEL_ID
- name: LITELLM_API_KEY
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: LITELLM_API_KEY
volumeMounts:
- name: myorg-data
mountPath: /data/myorg
volumes:
- name: myorg-data
persistentVolumeClaim:
claimName: myorg-assistant-pvc

View File

@@ -27,51 +27,4 @@ spec:
containers: containers:
- name: git-sync - name: git-sync
image: git.rogi.casa/roger/myorg-assistant/myorg-assistant:fcf79bf image: git.rogi.casa/roger/myorg-assistant/myorg-assistant:fcf79bf
imagePullPolicy: IfNotPresent imagePullPolicy: Always
command:
- python
- run_job.py
- git-sync
env:
- name: MYORG_REPO_PATH
valueFrom:
configMapKeyRef:
name: myorg-assistant-config
key: MYORG_REPO_PATH
- name: GIT_BRANCH
valueFrom:
configMapKeyRef:
name: myorg-assistant-config
key: GIT_BRANCH
- 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: DISCORD_BOT_TOKEN
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: DISCORD_BOT_TOKEN
- name: LITELLM_API_KEY
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: LITELLM_API_KEY
volumeMounts:
- name: myorg-data
mountPath: /data/myorg
volumes:
- name: myorg-data
persistentVolumeClaim:
claimName: myorg-assistant-pvc

View File

@@ -27,43 +27,4 @@ spec:
containers: containers:
- name: morning-briefing - name: morning-briefing
image: git.rogi.casa/roger/myorg-assistant/myorg-assistant:fcf79bf image: git.rogi.casa/roger/myorg-assistant/myorg-assistant:fcf79bf
imagePullPolicy: IfNotPresent imagePullPolicy: Always
command:
- python
- run_job.py
- morning-briefing
env:
# From ConfigMap
- name: MYORG_REPO_PATH
valueFrom:
configMapKeyRef:
name: myorg-assistant-config
key: MYORG_REPO_PATH
- name: TIMEZONE
valueFrom:
configMapKeyRef:
name: myorg-assistant-config
key: TIMEZONE
# From Secret
- name: DISCORD_BOT_TOKEN
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: DISCORD_BOT_TOKEN
- name: DISCORD_CHANNEL_ID
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: DISCORD_CHANNEL_ID
- name: LITELLM_API_KEY
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: LITELLM_API_KEY
volumeMounts:
- name: myorg-data
mountPath: /data/myorg
volumes:
- name: myorg-data
persistentVolumeClaim:
claimName: myorg-assistant-pvc

View File

@@ -27,36 +27,4 @@ spec:
containers: containers:
- name: waiting-followup - name: waiting-followup
image: git.rogi.casa/roger/myorg-assistant/myorg-assistant:fcf79bf image: git.rogi.casa/roger/myorg-assistant/myorg-assistant:fcf79bf
imagePullPolicy: IfNotPresent imagePullPolicy: Always
command:
- python
- run_job.py
- waiting-followup
env:
- name: MYORG_REPO_PATH
valueFrom:
configMapKeyRef:
name: myorg-assistant-config
key: MYORG_REPO_PATH
- name: DISCORD_BOT_TOKEN
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: DISCORD_BOT_TOKEN
- name: DISCORD_CHANNEL_ID
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: DISCORD_CHANNEL_ID
- name: LITELLM_API_KEY
valueFrom:
secretKeyRef:
name: myorg-assistant-secret
key: LITELLM_API_KEY
volumeMounts:
- name: myorg-data
mountPath: /data/myorg
volumes:
- name: myorg-data
persistentVolumeClaim:
claimName: myorg-assistant-pvc