Skip to content

DevOps

This section contains templates and configurations for modern DevOps practices, focusing on Kubernetes orchestration and CI/CD automation.

Prerequisites

  • Kubernetes cluster (for ArgoCD and runners)
  • kubectl CLI tool configured
  • Helm 3.x or higher (for runner installation)
  • ArgoCD installed (for preview environments)
  • GitHub account with appropriate permissions (for runners and ArgoCD integration)

ArgoCD App Previews

Templates to configure preview environments with ArgoCD by using the Pull Request Generator. The Pull Request generator uses the API of an SCMaaS provider (GitHub, GitLab, Gitea, Bitbucket, ...) to automatically discover open pull requests within a repository, this fits well with the style of building a test environment when you create a pull request.

For further information, see ArgoCD documentation.

Github Self-Hosted Runners

Templates to deploy Github Actions Runners across a Kubernetes cluster.

Using legacy install:

  1. Install actions-runner-controller helm chart.
    sh
    # Get chart informations
    
    helm show chart actions-runner-controller --repo https://actions-runner-controller.github.io/actions-runner-controller
    helm show values actions-runner-controller --repo https://actions-runner-controller.github.io/actions-runner-controller
  2. Deploy the runner-deployment.yaml.

Using github install:

  1. Install actions-runner-controller helm chart.
    sh
    # Get chart informations
    
    helm show chart oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set-controller
    helm show values oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set-controller

For further information, see :

Use Cases

ArgoCD Preview Environments

Automatically create and destroy preview environments for pull requests:

  • Testing features in isolated environments
  • Review apps for frontend applications
  • Integration testing before merging
  • Automatic cleanup when PR closes

Self-Hosted GitHub Runners

Run GitHub Actions on your own infrastructure:

  • Access to specific hardware (GPU, high memory)
  • Private network resource access
  • Cost optimization for high CI/CD usage
  • Custom software pre-installed

Troubleshooting

ArgoCD Preview Environments

ApplicationSet not creating apps:

  • Verify GitHub token has repo scope
  • Check ApplicationSet controller logs
  • Ensure PR matches label filters
  • Verify webhook configuration

Apps not cleaning up:

  • Check preserveResourcesOnDeletion setting
  • Verify ArgoCD has deletion permissions
  • Check for blocking finalizers

GitHub Self-Hosted Runners

Runners not connecting:

  • Verify GitHub token/PAT validity and permissions
  • Check runner pod logs
  • Ensure network connectivity to github.com
  • Verify registration token hasn't expired

Jobs not using runners:

  • Check workflow runs-on labels match runner labels
  • Verify runners are in "Idle" state
  • Check runner group assignment
  • Ensure repository has access to runner pool