Skip to main content

Approvals

This page explains how to customize the Approvals job in your ShamanOps Workflow.

1. In the main branch you will edit the YAML file named .github/workflows/github-ci.yaml

2. In the github-ci.yaml file search for the Features section, you will find it like this:


## Features -------------------------------------------------------------------------------------#

3. Bellow the section title, add the following configuration and change the values as you need:

    # Approvals
# Timeout of Approvals Job
approvals_timeout: '30'
# Business and Technical approvers
shamanopsBusinessApprovers: 'business-user-1@customer.com, business-user-2@customer.com'
shamanopsTechnicalApprovers: 'technical-user-1@customer.com, technical-user-2@customer.com'
# Enable Approvals Job for DEV environment
shamanopsApprovalsDev: 'true'
shamanopsBusinessApproversMinimalDev: '1'
shamanopsTechnicalApproversMinimalDev: '1'
# Enable Approvals Job for STG environment
shamanopsApprovalsStg: 'true'
shamanopsBusinessApproversMinimalStg: '1'
shamanopsTechnicalApproversMinimalStg: '1'
# Enable Approvals Job for PROD environment
shamanopsApprovalsProd: 'true'
shamanopsBusinessApproversMinimalProd: '1'
shamanopsTechnicalApproversMinimalProd: '1'
tip

If you use Cloud runners in GitHub you should know that while approvals are pending, the pipelines will remain active and generate expenses.
In order to reduce billing, we provide the possibility to run approval jobs in your own Kubernetes-based infraestructure using Actions Runner Controller (ARC) that scale self-hosted runners for GitHub Actions.
This can be set by installing the ARC adding the following feature flag to the above YAML

  # Self hosted runner for approvals
approvals_runner: 'arc_shamanops'

4. Commit and enjoy! ✨