thoth-station.argo_workflows
Ansible Role: Argo Workflows
This Ansible role helps you set up Argo Workflows in a single namespace.
About
For a step-by-step guide, check out this blog post on Medium.
Requirements
- You need an OpenShift cluster with cluster-admin rights.
Why do you need cluster-admin access?
Argo requires creating a Custom Resource Definition (CRD), which needs cluster-admin privileges.
You must have the required dependencies for the Kubernetes Ansible module:
pip install kubernetes openshift
You need to have
kubectl
installed. More info can be found here.
Install the Role from Ansible Galaxy
To install the role, run:
ansible-galaxy install thoth-station.argo_workflows
Role Variables
Here's how you can configure the role:
defaults:
# Choose the namespace for Argo installation
namespace: argo
# Define access level
role: cluster-admin # options: developer, cluster-admin
# Custom overlay for Argo installation via kustomize
overlay: "" # options: openshift
# Choose the executor for Argo
executor: docker # options: docker, kubelet, k8sapi, pns
# Validate Kubernetes templates when using kubectl
validate: true
# Configurations for Prometheus metrics and telemetry
metricsEnabled: true
metricsPath: /metrics
metricsPort: 8080
telemetryEnabled: true
telemetryPath: /telemetry
telemetryPort: 8080
# Artifact repository configuration
artifactRepository: ""
archiveLogs: {{ archiveLogs }}
AWS_S3_BUCKET_PREFIX: ""
AWS_S3_ARTIFACT_PATH: ""
extra:
# Specify the Argo version
- ref
# Overwrite executor and workflow controller images
- executor_image
- workflow_controller_image
# If using an S3 artifact repository, provide endpoint and credentials
- AWS_S3_HOST
- AWS_S3_BUCKET_NAME
- AWS_S3_ACCESS_KEY_ID
- AWS_S3_SECRET_ACCESS_KEY
Example Playbook
Here's a simple playbook to set up Argo in a single namespace:
---
- name: "Set up Argo in a single namespace."
hosts: localhost
connection: local
roles:
- role: thoth-station.argo_workflows
tags:
- argo
- argo-workflows
namespace: argo
ref: v2.4.0
You can also add custom overlays using Kustomize. Here's an example for OpenShift:
---
- name: "Set up Argo in a single namespace with OpenShift overlay."
hosts: localhost
connection: local
roles:
- role: thoth-station.argo_workflows
tags:
- argo
- argo-workflows
namespace: argo
overlay: openshift # This will apply OpenShift-specific changes.
Tested on Minishift and OpenShift 3.11.
License
This project is licensed under MIT.
Author Information
Marek Cermak macermak@redhat.com
Installa
ansible-galaxy install thoth-station.argo_workflows
Licenza
mit
Download
129
Proprietario
Using Artificial Intelligence to analyse and recommend Software Stacks for the Python Ecosystem.