Skip to content

Instantly share code, notes, and snippets.

@e-tip
Last active January 26, 2024 16:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save e-tip/b3fe49800b686f791a481c323c8aa005 to your computer and use it in GitHub Desktop.
Save e-tip/b3fe49800b686f791a481c323c8aa005 to your computer and use it in GitHub Desktop.
apiVersion: argoproj.io/v1alpha1
kind: ClusterWorkflowTemplate
metadata:
name: run-job
spec:
arguments: {}
entrypoint: run
podSpecPatch: |
containers:
- name: main
resources:
limits:
memory: "2Gi"
serviceAccountName: argo-workflow
templates:
- container:
args:
- app
- '-a'
- cli
- '--job={{inputs.parameters.job_name}}'
- '--job_data={{inputs.parameters.job_data}}'
command:
- node
envFrom:
- secretRef:
name: agenda-secrets
- configMapRef:
name: redis-data
- configMapRef:
name: elastic-data
- configMapRef:
name: agenda-config
- configMapRef:
name: agenda-providers
- configMapRef:
name: providers
- configMapRef:
name: flight-providers
- configMapRef:
name: trains-provider
image: xxxxxxx.dkr.ecr.eu-west-1.amazonaws.com/core:develop-202401261138
name: ''
resources: {}
volumeMounts:
- mountPath: /opt/data/providers
name: workflows-data
inputs:
parameters:
- name: job_name
value: '{{inputs.parameters.job_name}}'
- name: job_data
value: '{{inputs.parameters.job_data}}'
- name: extra_param
value: '{{inputs.parameters.extra_param}}'
metadata: {}
name: run
nodeSelector:
app: agenda-apps
outputs: {}
volumes:
- name: workflows-data
persistentVolumeClaim:
claimName: workflows-data
workflowMetadata:
labels:
workflows.argoproj.io/test: 'true'
apiVersion: argoproj.io/v1alpha1
kind: CronWorkflow
metadata:
name: workflows-process
status: {}
spec:
concurrencyPolicy: Forbid
schedule: '*/10 * * * *'
suspend: true
workflowSpec:
entrypoint: download
parallelism: 3
serviceAccountName: argo
templates:
- dag:
tasks:
- arguments:
parameters:
- name: job_name
value: download_list
- name: job_data
value: '{"provider": "{{item}}" }'
- name: extra_param
value: '{{item}}'
name: download
templateRef:
clusterScope: true
name: run-job
template: run
withItems:
- A
- B
- C
- D
- arguments:
parameters:
- name: job_name
value: import_hotels_v2
- name: job_data
value: '{"provider": "{{item}}"}'
- name: extra_param
value: '{"provider": "{{item}}" }'
depends: download.AnySucceeded
name: import
templateRef:
clusterScope: true
name: run-job
template: run
withItems:
- A
- B
- C
- D
name: download-hotels
volumes:
- name: workflows-data
persistentVolumeClaim:
claimName: workflows-data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment