https://github.com/argoproj/argo-helm
ArgoProj Helm Charts
https://github.com/argoproj/argo-helm
argoproj helm-charts
Last synced: 6 days ago
JSON representation
ArgoProj Helm Charts
- Host: GitHub
- URL: https://github.com/argoproj/argo-helm
- Owner: argoproj
- License: apache-2.0
- Created: 2017-10-10T23:14:05.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2025-04-02T09:58:30.000Z (13 days ago)
- Last Synced: 2025-04-02T10:00:39.603Z (13 days ago)
- Topics: argoproj, helm-charts
- Language: Mustache
- Homepage: https://argoproj.github.io/argo-helm/
- Size: 45.6 MB
- Stars: 1,888
- Watchers: 33
- Forks: 1,934
- Open Issues: 45
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY-INSIGHTS.yml
Awesome Lists containing this project
- awesome-repositories - argoproj/argo-helm - ArgoProj Helm Charts (Mustache)
- awesome-argo - Argo Helm - maintained Helm charts for Argo projects. (Ecosystem Projects)
README
# Argo Helm Charts
[](https://argoproj.github.io/community/join-slack)
[](https://opensource.org/licenses/Apache-2.0)
[](https://github.com/argoproj/argo-helm/actions/workflows/publish.yml)
[](https://artifacthub.io/packages/search?repo=argo)
[](https://clomonitor.io/projects/cncf/argo)
[](https://api.securityscorecards.dev/projects/github.com/argoproj/argo-helm)
[](https://www.bestpractices.dev/projects/7942)Argo Helm is a collection of **community maintained** charts for [https://argoproj.github.io](https://argoproj.github.io) projects. The charts can be added using following command:
```bash
helm repo add argo https://argoproj.github.io/argo-helm
```## Contributing
We'd love to have you contribute! Please refer to our [contribution guidelines](CONTRIBUTING.md) for details.
### Custom resource definitions
Some users would prefer to install the CRDs _outside_ of the chart. You can disable the CRD installation of the main four charts (argo-cd, argo-workflows, argo-events, argo-rollouts) by using `--set crds.install=false` when installing the chart.
Helm cannot upgrade custom resource definitions in the `/crds` folder [by design](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/#some-caveats-and-explanations). Our CRDs have been moved to `/templates` to address this design decision.
If you are using versions of a chart that have the CRDs in the root of the chart or have elected to manage the Argo CRDs outside of the chart, please use `kubectl` to upgrade CRDs manually from [templates/crds](templates/crds/) folder or via the manifests from the upstream project repo:
Example:
```bash
kubectl apply -k "https://github.com/argoproj/argo-cd/manifests/crds?ref="# Eg. version v2.4.9
kubectl apply -k "https://github.com/argoproj/argo-cd/manifests/crds?ref=v2.4.9"
```### Security Policy
Please refer to [SECURITY.md](SECURITY.md) for details on how to report security issues.
### Changelog
Releases are managed independently for each helm chart, and changelogs are tracked on each release. Read more about this process [here](https://github.com/argoproj/argo-helm/blob/main/CONTRIBUTING.md#changelog).
## Charts use Helm "Capabilities"
Our charts make use of the Helm built-in object "Capabilities":
> This provides information about what capabilities the Kubernetes cluster supports.
> *Source: https://helm.sh/docs/chart_template_guide/builtin_objects/*Today we use:
- `.Capabilities.APIVersions.Has` mostly to determine whether the CRDs for ServiceMonitors (from prometheus-operator) exists inside the cluster
- `.Capabilities.KubeVersion.Version` to handle correct apiVersion of a specific resource kind (eg. "policy/v1" vs. "policy/v1beta1")If you use the charts only to template the manifests, without installing (`helm install ..`), you need to make sure that Helm (or the Helm SDK) receives the available APIs from your Kubernetes cluster.
For this you need to pass the `--api-versions` parameter to the `helm template` command:
```bash
helm template argocd \
oci://ghcr.io/argoproj/argo-helm/argo-cd \
--api-versions monitoring.coreos.com/v1 \
--values my-argocd-values.yaml
```If you use other tools like [Kustomize](https://kubectl.docs.kubernetes.io/references/kustomize/builtins/) or [helmfile](https://helmfile.readthedocs.io/en/latest/#configuration) to render it, there are equivalent options.
Example with Kustomize:
```yaml
# kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: KustomizationhelmCharts:
- name: argo-cd
repo: oci://ghcr.io/argoproj/argo-helm
version: x.y.z
releaseName: argocd
apiVersions:
- monitoring.coreos.com/v1
valuesFile: my-argocd-values.yaml
```Example with helmfile:
```yaml
# helmfile.yaml
repositories:
- name: argo
url: https://argoproj.github.io/argo-helmapiVersions:
- monitoring.coreos.com/v1releases:
- name: argocd
namespace: argocd
chart: argo/argo-cd
values:
- my-argocd-values.yaml
```