myorg assistant

This commit is contained in:
Roger Oriol
2026-02-03 23:56:31 +01:00
parent aa4793dd51
commit a895d4cf33
11 changed files with 673 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
apiVersion: batch/v1
kind: CronJob
metadata:
name: myorg-deadline-checker
namespace: default
labels:
app: myorg-assistant
job: deadline-checker
spec:
# Run every hour
schedule: "0 * * * *"
timeZone: "Europe/Madrid"
successfulJobsHistoryLimit: 2
failedJobsHistoryLimit: 2
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
metadata:
labels:
app: myorg-assistant
job: deadline-checker
spec:
restartPolicy: OnFailure
containers:
- name: deadline-checker
image: myorg-assistant:latest
imagePullPolicy: IfNotPresent
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

@@ -0,0 +1,60 @@
apiVersion: batch/v1
kind: CronJob
metadata:
name: myorg-evening-summary
namespace: default
labels:
app: myorg-assistant
job: evening-summary
spec:
# Run at 8:00 PM every day
schedule: "0 20 * * *"
timeZone: "Europe/Madrid"
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 3
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
metadata:
labels:
app: myorg-assistant
job: evening-summary
spec:
restartPolicy: OnFailure
containers:
- name: evening-summary
image: myorg-assistant:latest
imagePullPolicy: IfNotPresent
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

@@ -0,0 +1,75 @@
apiVersion: batch/v1
kind: CronJob
metadata:
name: myorg-git-sync
namespace: default
labels:
app: myorg-assistant
job: git-sync
spec:
# Run every 15 minutes
schedule: "*/15 * * * *"
timeZone: "Europe/Madrid"
successfulJobsHistoryLimit: 1
failedJobsHistoryLimit: 2
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
metadata:
labels:
app: myorg-assistant
job: git-sync
spec:
restartPolicy: OnFailure
containers:
- name: git-sync
image: myorg-assistant:latest
imagePullPolicy: IfNotPresent
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

@@ -0,0 +1,67 @@
apiVersion: batch/v1
kind: CronJob
metadata:
name: myorg-morning-briefing
namespace: default
labels:
app: myorg-assistant
job: morning-briefing
spec:
# Run at 8:00 AM every day (adjust for your timezone)
schedule: "0 8 * * *"
timeZone: "Europe/Madrid"
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 3
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
metadata:
labels:
app: myorg-assistant
job: morning-briefing
spec:
restartPolicy: OnFailure
containers:
- name: morning-briefing
image: myorg-assistant:latest
imagePullPolicy: IfNotPresent
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

@@ -0,0 +1,60 @@
apiVersion: batch/v1
kind: CronJob
metadata:
name: myorg-waiting-followup
namespace: default
labels:
app: myorg-assistant
job: waiting-followup
spec:
# Run every Monday at 9:00 AM
schedule: "0 9 * * 1"
timeZone: "Europe/Madrid"
successfulJobsHistoryLimit: 2
failedJobsHistoryLimit: 2
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
metadata:
labels:
app: myorg-assistant
job: waiting-followup
spec:
restartPolicy: OnFailure
containers:
- name: waiting-followup
image: myorg-assistant:latest
imagePullPolicy: IfNotPresent
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