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 - kubectlinstalled. 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_workflowsLicenza
 
            mit
          
Download
 
            136
          
Proprietario
 Using Artificial Intelligence to analyse and recommend Software Stacks for the Python Ecosystem.
