Add a New Tool

Step-by-step guide to add a new platform tool to Kuberise.io.

This guide walks through adding an external Helm chart (e.g. Gitea) as a platform tool.

1. Declare in app-of-apps

Add the tool definition to app-of-apps/values.yaml (disabled by default):

ArgocdApplications:
  gitea:
    enabled: false
    chart: gitea
    repoURL: https://dl.gitea.io/charts
    targetRevision: 12.5.0

Enable it for your cluster in app-of-apps/values-<cluster>.yaml:

ArgocdApplications:
  gitea:
    enabled: true

2. Add Default Values

Create values/defaults/platform/gitea/values.yaml (even if empty):

# values/defaults/platform/gitea/values.yaml
persistence:
  enabled: true

3. Add Cluster-Specific Values (Optional)

Only if you need overrides for a specific cluster:

# values/onprem/platform/gitea/values.yaml
# cluster-specific overrides here

4. Push and Sync

Push your changes to Git. ArgoCD will detect the new application and deploy it. Check the ArgoCD dashboard for sync status.

If the Tool Needs Custom Resources

If the tool installs an operator that needs CRD instances (like cert-manager needs ClusterIssuer resources), create a separate config chart:

  1. Create charts/<tool>-config/ with a Helm chart containing the CRD instances
  2. Add a second entry in app-of-apps/values.yaml for the config app
  3. Set syncWave: 2 on the config app so it deploys after the operator

See cert-manager + cert-manager-config as an example in the repository.