Skip to main content

Set up Argo workflows

Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. Argo workflows comes enabled by default with Nebari deployments.

Access Argo Server

If Argo Workflows is enabled, users can access argo workflows server at: your-nebari-domain.com/argo. Log in via Keycloak with your usual credentials.

Overrides of Argo Workflows Helm Chart values

Argo Workflows is deployed using the Argo Workflows Helm Chart. The values.yaml for the helm chart can be overridden as needed via the overrides flag. The default values file can be found here. For example, the following could be done to add additional environment variables to the controller container.

argo_workflows:
enabled: true
overrides:
controller:
extraEnv:
- name: foo
value: bar

Nebari Workflow Controller (Beta)

Nebari includes an admission controller for Argo Workflows that 1) prevents users from mounting shared directories they don't have permissions for in their Workflows and 2) provides a convenient way to start an Argo Workflow with conda envs and shared directories mounted that the user does have permissions for. Valid workflows should not be affected, however submitting Workflows via kubectl apply on a kubernetes manifest is not supported when Nebari Workflow Controller is enabled. Submitting Argo Workflows through other methods (Argo CLI, Argo UI, Hera, etc.) will work as expected. If you'd like to disable Nebari Workflow Controller for any reason, you can do so in the nebari-config.yaml file.

argo_workflows:
enabled: true
nebari_workflow_controller:
enabled: false

Disable Argo Workflows

To turn off the cluster monitoring on Nebari deployments, simply turn off the feature flag within your nebari-config.yaml file. For example:

argo_workflows:
enabled: false

Refer to the Argo documentation for further details on Argo Workflows.