Aller au contenu

CronJob manifest

apiVersion: odysseus/v1
kind: CronJob
metadata:
name: addriva-etl-ingest
labels: {app: addriva-etl-ingest, project: addriva}
spec:
schedule: "17 1 1 * *"
# no timezone: UTC, matching the retired host crontab
concurrencyPolicy: skip
startingDeadlineSeconds: 300
suspend: false
jobTemplate:
image: registry.delta-telematics.ca/addriva/etl:0.1.0
placement: {node: vps-71623e00}
networks: [addriva-internal]
command: ["ingest", "--sources", "oda,geoyukon,adresses_qc", "--version", "ODA_v1_2021"]
environment:
ADDRIVA_S3_ENDPOINT: "http://addriva-seaweedfs:8333"
ADDRIVA_S3_BUCKET: "addriva-raw"
ADDRIVA_OS_HOST: "http://addriva-opensearch:9200"
ADDRIVA_OS_USER: "admin"
secrets:
- vaultPath: deployments/addriva-etl
rotation: restart
resources:
limits: {cpu: "2", memory: 3500Mi}
requests: {cpu: 500m, memory: 1Gi}
restartPolicy: "no"
backoffLimit: 2
activeDeadlineSeconds: 14400
ttlAfterFinished: 4392h
Validated against CronJobManifest · testdata/docs-examples/monthly-cronjob.yaml

Generated from CronJobSpec. Hand edits to this table are overwritten on the next build — change the Go doc comment, or the generator.

Champ Type Requis Défaut Mutabilité Depuis
concurrencyPolicy string non — in-place 0.23.0
failedRunsHistoryLimit integer non — in-place 0.23.0
jobTemplate JobSpec non — recreate 0.23.0
schedule string non — in-place 0.23.0
startingDeadlineSeconds integer non — in-place 0.23.0
successfulRunsHistoryLimit integer non — in-place 0.23.0
suspend boolean non — in-place 0.23.0
timezone string non — in-place 0.23.0

concurrencyPolicy: ConcurrencyPolicy définit ce qui se passe lorsqu’un déclenchement survient alors que l’exécution précédente est toujours en cours : ignorer, mettre en file d’attente ou remplacer.

failedRunsHistoryLimit: FailedRunsHistoryLimit indique combien d’enregistrements d’exécutions échouées sont conservés avant que les plus anciens ne soient purgés. Omettez-le pour utiliser la valeur par défaut de la plateforme.

jobTemplate: JobTemplate est le workload exécuté à chaque déclenchement. Le cronjob possède exactement un job géré du même nom et le ré-exécute, plutôt que de créer un nouveau job à chaque déclenchement.

schedule: Schedule est une expression cron à cinq champs. Un préfixe TZ= ou CRON_TZ= à l’intérieur est refusé — timezone: est la seule surface de fuseau horaire — tout comme un schedule dont les déclenchements peuvent tomber dans un créneau d’avance d’heure d’été.

startingDeadlineSeconds: StartingDeadlineSeconds indique le retard maximal autorisé pour démarrer un déclenchement lorsque le plan de contrôle était absent au moment prévu. 0 prend la valeur par défaut et -1 signifie qu’un déclenchement manqué n’est jamais rattrapé.

successfulRunsHistoryLimit: SuccessfulRunsHistoryLimit indique combien d’enregistrements d’exécutions réussies sont conservés avant que les plus anciens ne soient purgés. Omettez-le pour utiliser la valeur par défaut de la plateforme.

suspend: Suspend arrête les nouveaux déclenchements sans supprimer le cronjob ni son historique.

timezone: Timezone est la zone IANA dans laquelle le schedule est lu, telle que “Europe/Copenhagen”. Omettez-le pour UTC.