This guide details how to add Argo Workflows integration to your Howso Platform installation. Argo Workflows is a container-native workflow engine for Kubernetes that enables additional workflow automation capabilities within the Howso Platform.
Note: Workflows integration is available in Howso Platform 2024.12.0 and later as an early access feature.
This guide will add the Argo Workflows integration to an existing Howso Platform installation. Use the basic helm install guide to install Howso Platform, and ensure it is running correctly. See here for a quick start.
Add to your local hosts file
echo "127.0.0.1 argo-workflows.local.howso.com" | sudo tee -a /etc/hosts
Add the Argo Helm repository:
helm repo add argo https://argoproj.github.io/argo-helm
helm repo update
Take a look at the manifests for the Argo Workflows configuration. Most of the custom configuration will be created by the Howso Platform chart - via a configmap (platform-configmap-workflows-controller), this values file references this configmap.
Ingress is enabled, so that the Argo Workflows UI will be available at https://argo-workflows.local.howso.com.
Install Argo Workflows using Helm:
helm install argo-workflows argo/argo-workflows \
--namespace howso \
--values argo-workflows/manifests/argo-workflows.yaml
Since Howso Platform is not yet configured to use Argo Workflows, the config map is not available. The installed Argo Workflows components (controller and server) will not start.
kubectl get pods -n howso -l app.kubernetes.io/instance=argo-workflows
Take a look at the workflow configuration for the Howso Platform. The workflow feature and the jobs sub-feature are enabled. Update your existing Howso Platform installation to enable workflows:
helm upgrade howso-platform oci://registry.how.so/howso-platform/stable/howso-platform \
--namespace howso \
--values helm-basic/manifests/howso-platform.yaml \
--values argo-workflows/manifests/howso-platform.yaml
Though the Argo Workflows components will eventually start, now the config map is available, you can speed up the process by restarting the pods:
kubectl delete pod -n howso -l app.kubernetes.io/instance=argo-workflows
Argo Workflows is now installed and enabled in Howso Platform. The next steps are to verify the installation and then run the UI Synthesizer feature.
Check that the Argo Workflows pods are running:
kubectl get pods -n howso -l app.kubernetes.io/instance=argo-workflows
Make sure all pods show as Running before proceeding. You should see pods for the workflow controller and server.
The Argo Workflow integration includes workflow templates that should now be installed into the cluster, verify they are available:
kubectl get workflowtemplates -n howso
The Argo Workflows UI is available at https://argo-workflows.local.howso.com. Click through the certificate warning to access the UI. As server mode is enabled, no authentication is required in this configuration.
Argo Workflows is used to enable features in the Howso Platform, such as the UI Synthesizer. The UI can help with visibility into the workflows running in the cluster, but is not required for the Howso Platform to function, and is not used to directly run workflows.
The UI Synthesizer feature is available in the Howso Platform UI. It uses Argo Workflows under the hood to synthesize small datasets, uploaded via the browser.
- Set a password and login using the instructions here.
- Create a new project and give it a name, such as
ui-synthesizer
. - Click into the project, and look for the Jobs section. Click the
+ Create new
button thensynthesizer job
from the dropdown. - You will need a dataset to upload. Grab iris and save locally.
- Give any name to the synthesizer job, such as
iris-synthesizer
. - In the Add New Data section, select or drag and drop the iris dataset.
- Click Create. The job will run, first inferring the features from the dataset.
- For this
iris
example, if any features show a warning, click configure and deselectSensitive
and update. - Click
Next Step
thenRun
.
Note: Both the infer feature attributes and the synthesizer job run as workflows in the cluster - view them with
kubectl get workflows -n howso
.
Click through the stats, synthesized dataset and validation results.