Collection of Helm charts, primarily for use in my own homelab (though, if you want to use them, you're welcome to!) ## Usage ### Package and upload ```bash # Package a chart ready to be uploaded $ helm package charts/ # Do the upload $ curl --user : -X POST --upload-file ./.tgz https://hostname.of.gitea/api/packages//helm/api/charts # Don't forget to delete the `.tgz`! ``` ### Installation Bootstrap with `kubectl apply -f main-manifest.yaml` TODO: [App-of-apps](https://argo-cd.readthedocs.io/en/stable/operator-manual/cluster-bootstrapping/#app-of-apps-pattern) to manage whole-cluster configuration in a more programmatic way. ## Initial bootstrap Note that you need to have manually connected the source Repository _in_ ArgoCD before installing the App-of-apps. TODO - when we have a better secrets management system, export Gitea user password so that it can be used by ArgoCD to initialize that repository directly (https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#repositories) ## Jsonnet As of 2024, I started using Jsonnet to define apps in a less repetitious way. To check the output before submitting, use `jsonnet -J app-of-apps app-of-apps/.jsonnet` ## Other links * [General documentation on repositories](https://helm.sh/docs/topics/chart_repository/) * [Gitea's own documentation](https://docs.gitea.com/next/usage/packages/helm) * [Helm charts via Argo](https://argo-cd.readthedocs.io/en/stable/user-guide/helm/), [broader application syntax](https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/) * Don't be caught out by Argo's behaviour of only accepting Applications in its own namespace! * See [here](https://gitea.scubbo.org/scubbo/blogcontent/src/branch/main/.drone.yml#L77) for examples of how to call the Argo UI