Skip to content

Commit

Permalink
Argo Workflow Implemented.
Browse files Browse the repository at this point in the history
  • Loading branch information
sopac committed Feb 5, 2025
1 parent 1fb8466 commit bea2de5
Show file tree
Hide file tree
Showing 3 changed files with 158 additions and 1 deletion.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ __pycache__/
.DS_Store
# C extensions
*.so
uv.lock

# Distribution / packaging
.Python
Expand Down
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,12 @@
# dep-intertidal
Digital Earth Pacific (DEP) Intertidal Elevation and Exposure

export DOCKER_DEFAULT_PLATFORM=linux/amd64
docker pull ghcr.io/digitalearthpacific/dep-intertidal:latest

https://github.com/digitalearthpacific/dep-intertidal/pkgs/container/dep-intertidal

http://argo.staging.digitalearthpacific.io



148 changes: 147 additions & 1 deletion workflow/intertidal-annual-0-0-1.yaml
Original file line number Diff line number Diff line change
@@ -1 +1,147 @@
!TODO
kind: Workflow
metadata:
generateName: dep-intertidal-
namespace: argo
spec:
entrypoint: workflow-entrypoint
serviceAccountName: public-bucket-writer
podGC:
strategy: OnWorkflowSuccess
deleteDelayDuration: 600s
parallelism: 50
podMetadata:
labels:
app: dep-intertidal
annotations:
karpenter.sh/do-not-disrupt: "true"
arguments:
parameters:
- name: version
value: "0.0.1" # The version of the data product being made
- name: image-name
value: "dep-intertidal" # The Docker image
- name: base-product
value: "s2ls"
- name: image-tag
value: "latest" # The Docker image and code version
- name: bucket
value: "dep-public-staging" # The bucket to store the data
#- name: overwrite
# value: "--no-overwrite" # Can be "--overwrite" or "--no-overwrite"
templates:
- name: workflow-entrypoint
dag:
tasks:
- name: generate-ids
template: generate
arguments:
parameters:
- name: regions
value: "NCL" # Comma separated list "FJI,TON" or 'ALL'
#- name: limit
# value: "999"
- name: years
value: "2024" # One year "2022", or a period "2020-2021"
- name: version
value: "{{ workflow.parameters.version }}"
- name: bucket
value: "{{ workflow.parameters.bucket }}"
#- name: overwrite
# value: "{{ workflow.parameters.overwrite }}"
- name: base-product
value: "{{ workflow.parameters.base-product }}"

- name: process-id
depends: generate-ids.Succeeded
template: process
arguments:
parameters:
- name: tile-id
value: "{{item.tile-id}}"
- name: year
value: "{{item.year}}"
- name: version
value: "{{ workflow.parameters.version }}"
- name: base-product
value: "{{ workflow.parameters.base-product }}"
- name: bucket
value: "{{ workflow.parameters.bucket }}"
#- name: overwrite
# value: "{{ workflow.parameters.overwrite }}"
withParam: "{{ tasks.generate-ids.outputs.result }}"

- name: generate
inputs:
parameters:
- name: regions
- name: years
- name: base-product
- name: version
#- name: limit
- name: bucket
#- name: overwrite
container:
image: "ghcr.io/digitalearthpacific/{{ workflow.parameters.image-name }}:{{ workflow.parameters.image-tag }}"
imagePullPolicy: IfNotPresent
resources:
requests:
memory: 100Mi
cpu: 1.0
command: ["uv", "run"]
args:
- list.py
- --regions
- "{{ inputs.parameters.regions }}"
- --years
- "{{ inputs.parameters.years }}"
- --base-product
- "{{ inputs.parameters.base-product }}"
- --version
- "{{ inputs.parameters.version }}"
#- --limit
#- "{{ inputs.parameters.limit }}"
- --output-bucket
- "{{ inputs.parameters.bucket }}"
#- "{{ inputs.parameters.overwrite }}"

- name: process
inputs:
parameters:
- name: tile-id
- name: year
- name: base-product
- name: version
- name: bucket
#- name: overwrite
container:
image: "ghcr.io/digitalearthpacific/{{ workflow.parameters.image-name }}:{{ workflow.parameters.image-tag }}"
imagePullPolicy: IfNotPresent
resources:
requests:
memory: 320Gi
cpu: 42
limits:
cpu: 48
memory: 360Gi
command: ["uv", "run"]
args:
- run.py
- --tile-id
- "{{ inputs.parameters.tile-id }}"
- --year
- "{{ inputs.parameters.year }}"
- --base-product
- "{{ inputs.parameters.base-product }}"
- --version
- "{{ inputs.parameters.version }}"
- --output-bucket
- "{{ inputs.parameters.bucket }}"
- --memory-limit
- "128GB"
- --workers
- "4"
- --threads-per-worker
- "32"
#- --xy-chunk-size
#- "1600"
#- "{{ inputs.parameters.overwrite }}"

0 comments on commit bea2de5

Please sign in to comment.