{"id":19571304,"url":"https://github.com/akuity/helm-charts","last_synced_at":"2026-04-30T21:00:44.675Z","repository":{"id":38210984,"uuid":"401485421","full_name":"akuity/helm-charts","owner":"akuity","description":"A collection of simplified and opinionated Helm charts for the Argo and Argo ecosystem projects.","archived":false,"fork":false,"pushed_at":"2025-12-10T00:01:36.000Z","size":796,"stargazers_count":17,"open_issues_count":0,"forks_count":6,"subscribers_count":14,"default_branch":"master","last_synced_at":"2026-01-31T19:34:44.573Z","etag":null,"topics":["argo","argo-events","argo-rollouts","argo-workflows","argocd","helm","helm-chart","kubernetes"],"latest_commit_sha":null,"homepage":"https://charts.akuity.io/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akuity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-08-30T21:02:58.000Z","updated_at":"2025-12-10T00:01:25.000Z","dependencies_parsed_at":"2024-05-01T00:33:18.981Z","dependency_job_id":"10adb662-5323-4ac2-8bea-afea9f320548","html_url":"https://github.com/akuity/helm-charts","commit_stats":null,"previous_names":[],"tags_count":110,"template":false,"template_full_name":null,"purl":"pkg:github/akuity/helm-charts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akuity%2Fhelm-charts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akuity%2Fhelm-charts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akuity%2Fhelm-charts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akuity%2Fhelm-charts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akuity","download_url":"https://codeload.github.com/akuity/helm-charts/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akuity%2Fhelm-charts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32476682,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"ssl_error","status_checked_at":"2026-04-30T13:12:06.837Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["argo","argo-events","argo-rollouts","argo-workflows","argocd","helm","helm-chart","kubernetes"],"created_at":"2024-11-11T06:18:23.304Z","updated_at":"2026-04-30T21:00:44.641Z","avatar_url":"https://github.com/akuity.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Akuity Helm Charts\n\nAkuity Helm Charts are a collection of simplified and opinionated Helm charts for the Argo and Argo Ecosystem projects. They are written and intended to be used in a GitOps workflow, where the Helm `values.yaml` and other customizations are stored in git, with last-mile modifications handled using kustomize's built-in [helm chart support](https://github.com/kubernetes-sigs/kustomize/blob/master/examples/chart.md).\n\n## About\n\nThe goal of these charts are to remain as close as possible to the official upstream Argo install manifests (which are released and maintained as raw YAML files) and avoid the divergence that occurred with the Argoproj community maintained Helm charts. The Akuity charts also contain additional options to implement best practices as well as convenience options for common configurations.\n\nThese charts have been designed to be deployed from a git repo using Argo CD / kubectl apply, as opposed to `helm install`. Helm is used for packaging and templating, rather than lifecycle management of the apps.\n\n## Why this approach?\n\nTypical Helm charts provide dozens, sometimes hundreds of parameters to handle all conceivable options which the chart authors anticipate users might want to customize for their environment. For example, it is common to parameterize resource names, resource quotas, command line parameters, annotations, affinity rules, Ingress, prometheus stats, etc. Over time, the chart becomes unmaintainable and diverges from the official supported manifests. Additionally, helm charts have no ability to add additional resources which were not part of original chart (e.g. SealedSecrets, ExternalSecrets, alternative Ingress resources), which is a common requirement.\n\nWith the realization that there is no \"one size fits all\" set of install options, these charts take a different approach to Helm charts. Rather than parameterize all the options for every use case, these charts choose to only parameterize the commonly used options and leave last-mile modifications to be handled using kustomize. This keeps the charts simpler to maintain, and more accurate to the upstream manifests.\n\n## Versioning Scheme\n\nAkuity Helm Charts are versioned using the following scheme: `MAJOR.MINOR.PATCH-ak.X.Y`. The following table explains the meaning of the numbers:\n\n| Version Number    | Meaning |\n|-------------------|---------|\n| `MAJOR.MINOR.PATCH` | Corresponds to the upstream Argo major/minor/patch version. |\n| `-ak.X`             | Indicates the Akuity patch made ontop of upstream container image. `0` indicates no change. |\n| `.Y`                | Indicates a change to the Helm chart (e.g. adding additional helm parameters). |\n\n### Image Versioning\n\nAkuity republishes Argo images under the `quay.io/akuity` organization. Image tags are appended with an `-ak.X` patch number to indicate Akuity specific patches ontop of the upstream image (e.g. `quay.io/akuity/argocd:v2.5.2-ak.1`). An `X` value of `0` indicates that there is no difference from the upstream image. An `X` value of `1` or higher indicates a patch was applied ontop of the upstream `MAJOR.MINOR.PATCH` version.\n\n#### Examples:\n* `quay.io/akuity/argocd:v2.5.2-ak.0` - equivalent to upstream Argo CD v2.5.2 release (image retag)\n* `quay.io/akuity/workflow-controller:v3.4.5-ak.1` - an Akuity patch fix was made ontop of the upstream Argo Workflows v3.4.5 release.\n\n### Helm Chart Versioning\n\nAkuity Helm Chart versioning follow the above image versioning scheme, but additionally appends a `.Y` patch number to indicate any Helm chart changes. This `.Y` value is normally `0`, but is occasionally incremented when the Helm chart is modified and there were no change to the underlying image (e.g. addition of a helm parameter).\n\n####  Examples:\n* `2.5.2-ak.0.0` - image is `quay.io/akuity/argocd:v2.5.2-ak.0`, which is equivalent to upstream Argo CD v2.5.2 with no changes.\n* `2.5.2-ak.1.0` - image is `quay.io/akuity/argocd:v2.5.2-ak.1`, which contains an Akuity patch fix to v2.5.2.\n* `2.5.2-ak.0.1` - image is `quay.io/akuity/argocd:v2.5.2-ak.0`, which is equivalent to upstream Argo CD v2.5.2. The helm chart was somehow modified from version `2.5.2-ak.0.0`.\n\n## Usage\n\n### Initial Argo CD Installation\n\nIt is recommended and encouraged to use Argo CD to manage itself using GitOps. But before Argo CD can manage itself, Argo CD itself needs to be installed. To resolve this chicken-and-egg problem for the initial Argo CD installation, you can install Argo CD using normal `kubectl apply`:\n\n```shell\nkustomize build --enable-helm https://github.com/akuity/helm-charts//docs/argo-cd-install | kubectl apply -n argocd -f -\n```\n\nThe default installation will install into the `argocd` namespace. If you wish to change this, see the instructions in [docs/argo-cd-install](docs/argo-cd-install).\n\n### Managing Argo CD with Git\n\nOnce installed, you will likely want to customize Argo CD for your environment and use git to manage your changes. The following example install can be seen at [docs/argo-cd-example](docs/argo-cd-example). Create a directory in your own git repo with the following files:\n\n```\n.\n├── kustomization.yaml\n└── values.yaml\n```\n\n`kustomization.yaml`\n```yaml\napiVersion: kustomize.config.k8s.io/v1beta1\nkind: Kustomization\n\nhelmCharts:\n- name: argo-cd\n  repo: https://charts.akuity.io\n  includeCRDs: true\n  namespace: argocd\n  version: 2.5.2-ak.0.0     # pin to a specific version (see charts/argo-cd/Chart.yaml)\n  valuesFile: values.yaml   # Helm values file in your git repo\n```\n\nHere might be a typical `values.yaml`:\n\n`values.yaml`\n```yaml\nconfig:\n  argocd:\n    url: https://cd.example.com\n    dex.config: |\n      connectors:\n      - type: github\n        id: github\n        name: GitHub\n        config:\n          clientID: $dex.github.clientID\n          clientSecret: $dex.github.clientSecret\n          orgs:\n          - name: example-org\n          teamNameField: slug\n          useLoginAsID: true\n    kustomize.buildOptions: --enable-helm\n  rbac:\n    policy.csv: |\n      g, example-org:example-team, role:admin\n    policy.default: role:readonly\n\nserver:\n  insecure: true\n  ingress:\n    enabled: true\n    className: contour\n    host: cd.example.com\n```\n\nFor other available Chart parameters see: [charts/argo-cd/values.yaml](charts/argo-cd/values.yaml).\n\n## Last-mile Modifications\n\nSince the Helm chart parameters will likely not contain all the parameterization options necessary for your environment, you will use kustomize to perform last-mile modifications to your installation. \n\nUsing this approach, you can also use kustomize's `patchesStrategicMerge` field and put the configuration in patches instead of `values.yaml`. The following example manages the configuration as separate kubernetes objects instead of inlined fields in `values.yaml`. Additional resources can be added using the `resources` field:\n\n`kustomization.yaml`:\n```yaml\npatchesStrategicMerge:\n- argocd-cm.yaml\n\nresources:\n- argocd-ingress.yaml\n```\n\n`argocd-cm.yaml`:\n```yaml\napiVersion: v1\nkind: ConfigMap\nmetadata:\n  name: argocd-cmd-params-cm\ndata:\n  url: https://cd.example.com\n  kustomize.buildOptions: --enable-helm\n```\n\n`argocd-ingress.yaml`:\n```yaml\napiVersion: networking.k8s.io/v1\nkind: Ingress\nmetadata:\n  name: argocd-server\n...\n```\n\nFor all Argo CD configuration options please refer the Argo CD documentation:\n* [argocd-cm.yaml](https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/argocd-cm.yaml)\n* [argocd-rbac-cm.yaml](https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/argocd-rbac-cm.yaml)\n* [argocd-cmd-params-cm.yaml](https://github.com/argoproj/argo-cd/blob/master/docs/operator-manual/argocd-cmd-params-cm.yaml)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakuity%2Fhelm-charts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakuity%2Fhelm-charts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakuity%2Fhelm-charts/lists"}