How to install argo workflow on Kubernetes and add authentication.
Argo Project: Its a set of Kubernetes-native tools for running and managing jobs and applications on Kubernetes. Argo was created in 2017 at Applatix, which was acquired by Intuit in 2018.
Argo project offers k8s native workflows, events, CI and CD
Argo workflow: Part of argo project, its a container native workflow engine for Kubernetes supporting both DAG and step based workflows.
Installation
Installation of argo workflow on K8s is easy, argo-project provides a helm chart, one can use it to launch an argo-wf on kubernetes, here are the steps
helm repo add argo https://argoproj.github.io/argo-helm `
Download the argo-helm chart, and make following changes in the values.yaml file, these are to enable ingress for argo, and adding a hostname to access the argo
Now install the helm chart
helm install argo-wf argo/argo -n argo-wf -f
Once the installation is done, use the hosts endpoint to access the UI
To access the argo workflow UI, there is no authentication which is provided OOTB, anyone who knows the service endpoint can access argo workflow and execute DAGs/workflows.
Adding authentication
To add an authentication layer on top of argo workflow, we have to make changes to the values.yaml file in helm chart, and add the following annotations, in the following example authentication is set to basic-auth which is a simple user name and password, these are kubernetes secrets(on how to create kubernetes secrtes using terraform please read my other article)
Upgrade the helm chart with these changes
Now when you access argo workflow ui, an authentication pop will appear, where you have provide the user ID and password.
Thank you..