Skip to content

API for running workflows based on Argo Workflows

Notifications You must be signed in to change notification settings

SUU-Argo/workflow-api

Repository files navigation

workflow-api

Local setup

  1. Some kind of k8s cluster (e.g. kind), kubectl and argo is required.
  2. Disable authentication and HTTPS for argo (it's not necessary but very helpful for local development):
    kubectl patch deployment \
      argo-server \
      --namespace argo \
      --type='json' \
      -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/args", "value": [
      "server",
      "--auth-mode=server",
      "--secure=false",
      "--access-control-allow-origin=*",
    ]},
    {"op": "replace", "path": "/spec/template/spec/containers/0/readinessProbe/httpGet/scheme", "value": "HTTP"}
    ]'
  3. You can port-forward argo UI:
    kubectl -n argo port-forward --address 0.0.0.0 svc/argo-server -n argo 2746:2746
    UI will be available at http://localhost:2746
  4. Create cluster role, service account and cluster role binding for argo:
    kubectl apply -f deploy/02-workflow-api-svcaccount.yaml
  5. Install project dependencies with poetry:
    poetry shell
    poetry install
  6. Run the FastAPI server:
    uvicorn src.main:app --reload

About

API for running workflows based on Argo Workflows

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published