Folder Structure

Overview of the Kuberise.io repository layout.

Top-Level Structure

kuberise.io/
  app-of-apps/          # Root ArgoCD app-of-apps Helm chart
  charts/               # Local Helm charts and kustomize apps
  values/               # Configuration values per cluster
  scripts/              # Installation and utility scripts

app-of-apps/

The Helm chart that generates all ArgoCD Application manifests.

  • values.yaml — default list of all ArgoCD Applications (disabled by default), including external chart references (chart, repoURL, targetRevision)
  • values-<cluster>.yaml — per-cluster overrides that enable specific tools
  • templates/ArgocdApplications.yaml — the template that iterates over applications and generates ArgoCD Application resources

charts/

Local Helm charts for components not available from external repositories, or config charts that deploy CRD instances:

  • Application charts: backstage, generic-deployment, ingresses, team-setup, teams-namespaces
  • Config charts: cert-manager-config, keycloak-config, metallb-config, pgadmin-config, k8sgpt-config
  • Kustomize apps: dashboards, hello

values/

Configuration values organized by cluster:

values/
  defaults/
    platform/<component>/values.yaml    # Shared defaults for all clusters
  <cluster>/
    platform/<component>/values.yaml    # Cluster-specific overrides
    applications/<app>/values.yaml      # Application-specific values
  • defaults/ always exists (even as empty placeholders)
  • Cluster-specific files are only created when there are actual overrides
  • ArgoCD merges them in order: defaults first, then cluster-specific

scripts/

  • install.sh — main installation script
  • uninstall.sh — removes the platform
  • upgrade.sh — checks for newer versions of external charts
  • k3d+registry/ — local multi-cluster development setup with k3d and a local Docker registry proxy for faster image pulls