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:
- 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 - Deploy the runner-deployment.yaml.
Using github install:
- 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
reposcope - 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-onlabels match runner labels - Verify runners are in "Idle" state
- Check runner group assignment
- Ensure repository has access to runner pool