Cluster Add-ons Repository

May 22, 2026 · View on GitHub

Overview

This repository contains a collection of pre-configured solutions (add-ons) for Kubernetes clusters. It follows the GitOps methodology and utilizes the Argo CD App of Apps pattern for streamlined configuration and deployment.

The repository offers a variety of Kubernetes add-ons that can be easily integrated into Kubernetes clusters, whether running on Openshift or any other Managed Kubernetes distribution. These add-ons enhance cluster capabilities and provide additional functionalities for the KubeRocketCI Platform.

Using Argo CD, one can leverage the repository to expedite the setup process of the KubeRocketCI Platform and cluster components. The repository provides ready-to-use configurations for add-ons, simplifying deployment and reducing complexity.

Repository structure

The edp-cluster-add-ons repository is organized to facilitate easy management and deployment of add-ons across different clusters:

  • argo-cd/ - contains the Helm chart for main Argo CD with templates for AppProjects, OIDC integration, and external secrets
  • clusters/ - contains directories for different clusters (e.g., core, prod), each with its own set of add-ons and configurations
  • docs/ - comprehensive documentation for working with the repository
.
├── argo-cd               # Main Argo CD Helm chart
   ├── Chart.yaml
   ├── README.md
   ├── templates
   ├── appProjectCore.yaml
   ├── appProjectKRCI.yaml
   ├── external-secrets/
   ├── oidc/
   └── ...
└── clusters
    ├── core              # Core cluster directory
   ├── apps          # App of Apps Helm chart that references all add-ons
   ├── templates
   ├── argo-cd.yaml
   ├── atlantis.yaml
   └── ...
   ├── Chart.yaml
   ├── README.md
   └── values.yaml    # Values that store add-on specific configurations and cluster info
   ├── addons             # Directory containing individual add-on Helm charts
   ├── argo-cd
   ├── atlantis
   └── ...
   └── bootstrap-addons.yaml  # Initial Argo CD application
    └── prod                       # Production cluster directory
        └── ...

Getting Started

Prerequisites

Before using this repository, ensure you have:

  • Kubernetes Cluster: Access to a Kubernetes cluster where you can deploy Argo CD and add-ons
  • Helm: Helm command-line tool installed on your local machine
  • kubectl: kubectl command-line tool installed and configured to interact with your Kubernetes cluster
  • (OPTIONAL) External Secrets Operator (ESO): Required if using External Secrets Operator for managing secrets
  • (OPTIONAL) keycloak-operator: Required for Argo CD integration with Keycloak for SSO using OIDC

Deploying and Configuring Argo CD

  1. Fork the Repository: Fork this repository to your own GitHub account or organization to maintain your configurations.

  2. Configure Argo CD Helm Chart: Update the argo-cd/values.yaml file to match your Kubernetes cluster requirements, including settings for ingress, domain, and other parameters.

  3. Configure AppProject Manifests: Edit the appProjectCore.yaml and appProjectKRCI.yaml files in the argo-cd/templates directory to specify the correct repository URLs.

  4. Configure VCS Integration: Create secrets for VCS integration using either kubectl or External Secrets Operator (ESO).

  5. Deploy Argo CD:

    helm install argocd argo-cd/ -n argocd --create-namespace
    

For more detailed instructions, refer to the Quick Start Guide.

Enabling and Deploying Add-ons

  1. Initialize Bootstrap Add-ons Application: Update the repository URL in clusters/core/apps/values.yaml and clusters/core/bootstrap-addons.yaml, then apply:

    kubectl apply -f clusters/core/bootstrap-addons.yaml
    
  2. Enable Add-ons: In the clusters/core/apps/values.yaml file, enable the desired add-ons by setting:

    add-on-name:
      enable: true
      namespace: add-on-namespace
      createNamespace: true
    
  3. Configure Add-on Values: Customize the add-on's configuration by editing its values.yaml file in clusters/core/addons/add-on-name/.

  4. Sync Applications: In the Argo CD UI, sync the applications to deploy your add-ons.

Working with the Repository

Adding New Add-ons

To add a new add-on to the repository:

  1. Create a new directory for your add-on in clusters/<cluster-name>/addons/
  2. Add the necessary Helm chart files (Chart.yaml, values.yaml, templates/)
  3. Create an Argo CD Application template in clusters/<cluster-name>/apps/templates/
  4. Update the App of Apps values.yaml to include your add-on

For detailed instructions and best practices, see Adding New Add-ons.

Adding New Clusters

To add a new cluster to the repository:

  1. Create a new directory for your cluster in clusters/
  2. Create the initial bootstrap-addons.yaml file
  3. Set up the addons directory and App of Apps Helm chart
  4. Configure cluster-specific values

For step-by-step guidance, refer to Adding New Clusters.

Chart Testing and CI/CD

This repository includes an automated CI pipeline that performs Helm chart validation and testing when pull requests are created:

  1. Chart Testing: The CI workflow uses chart-testing to lint and validate all Helm charts.
  2. Kind Cluster: For chart installation testing, a Kubernetes in Docker (kind) cluster version 1.32 is automatically created.
  3. Installation Validation: Each chart is installed in the test cluster to verify proper deployment.

You can also run chart tests locally using:

make test-charts-full

To update the add-ons table in this README:

make update-readme

For more information about chart testing, see Chart Testing.

Available add-ons

The repository provides a wide range of pre-configured add-ons for Kubernetes clusters. The complete list of available add-ons, their versions, and default configurations is automatically generated below.

ComponentversionappVersionnamespacecreateNamespaceenable
argo-cd9.5.13v3.4.1krciFalseFalse
atlantis5.18.2v0.35.1atlantisFalseFalse
aws-efs-csi-driver3.2.22.1.11kube-systemN/AFalse
awx-operator2.19.12.19.1awx-operatorFalseFalse
capsule0.10.90.10.9capsule-systemFalseFalse
capsule-tenantN/AN/Acapsule-systemN/AFalse
cert-managerv1.18.2v1.18.2cert-managerFalseFalse
defectdojo1.9.122.55.2defectdojoFalseFalse
dependency-track0.41.0v4.13.6dependency-trackFalseFalse
external-secrets0.18.20.18.2external-secretsFalseFalse
fluent-bit0.53.04.0.7loggingFalseFalse
gitfusion0.1.10.1.1krciFalseFalse
gitlab-runner0.85.018.8.0gitlab-runnerFalseFalse
harbor0.1.01.17.2harborFalseFalse
harbor-ha1.17.22.9.0harborFalseFalse
harbor-ha-okd1.13.02.9.0harborFalseFalse
ingress-nginx4.15.01.15.0ingress-nginxFalseFalse
ingress-nginx-external4.15.01.15.0ingress-nginx-externalFalseFalse
jaeger-operator2.57.01.61.0jaeger-operatorFalseFalse
karma-dashboard2.11.0v0.121monitoringFalseFalse
karpenter-np0.1.00.1.0karpenterFalseFalse
karpenter1.8.41.8.4karpenterFalseFalse
keda-tenants0.1.20.1.0kedaFalseFalse
keda2.17.22.17.2kedaFalseFalse
keycloak2.3.024.0.4securityFalseFalse
keycloak-postgresql0.1.11.0securityFalseFalse
keycloak-operator1.32.01.32.0keycloak-operatorFalseFalse
krakend0.1.362.7.2krci-krakendFalseFalse
kuberocketci-pipelinesN/AN/AkrciFalseFalse
kuberocketci-rbac0.1.00.1.0krci-securityFalseFalse
kuberocketci3.13.53.13.5krciFalseFalse
minio-operator7.1.1v7.1.1minio-operatorFalseFalse
moon2.7.112.7.11moonFalseFalse
nexus-ce0.1.13.82.0nexusFalseFalse
nexus-operator3.5.03.5.0nexusFalseFalse
nexus61.0.33.70.3nexusFalseFalse
oauth2-proxy8.2.0v7.12.0oauth2-proxyFalseFalse
opensearch3.2.13.2.0loggingFalseFalse
opentelemetry-operator0.95.10.134.0opentelemetry-operatorFalseFalse
pgadmin1.49.09.7pgadminFalseFalse
postgres-operator0.1.05.8.2postgres-operatorFalseFalse
prometheus-operator84.5.0v0.90.1monitoringFalseFalse
prometheus-blackbox-exporter11.3.1v0.27.0monitoringFalseFalse
redis-operator3.3.01.3.0redis-operatorFalseFalse
report-portal25.8.3025.1.8report-portalFalseFalse
sonar2025.3.12025.3.1sonarFalseFalse
sonar-operator3.3.03.3.0sonarFalseFalse
storage-classN/AN/AN/AN/AFalse
tekton-cache0.4.20.4.2tekton-cacheFalseFalse
tektonN/AN/Atekton-pipelinesFalseFalse
tekton-custom-task0.2.00.2.0krciFalseFalse
tekton-dashboard0.52.00.52.0krciFalseFalse
trivy-operator0.31.00.29.0trivy-systemTrueFalse
vault-kms0.25.01.20.1vaultFalseFalse
vault-okd0.25.01.20.1vaultFalseFalse
vault0.30.01.20.1vaultFalseFalse
vault-operator1.23.01.23.0vaultFalseFalse
velero11.1.11.17.0veleroFalseFalse