
Referencing [here](https://developer.hashicorp.com/vault/tutorials/kubernetes/kubernetes-sidecar#configure-kubernetes-authentication), comparing with the Secrets Operator that I used [here](https://blog.scubbo.org/posts/base-app-infrastructure/). I _think_ I prefer this because: * It doesn't create a Kubernetes secret (which is, contrary to expectation, [not entirely secure](https://kubernetes.io/docs/concepts/configuration/secret/)) * The YAML/template changes required are smaller * It looks like it _might_ be able to write a whole Vault path as a single file, rather than one-file-per-key - though it'll need some template wizardry (in a follow-on commit) to format that right.
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
# Package a chart ready to be uploaded
$ helm package charts/<path>
# Do the upload
$ curl --user <username>:<password> -X POST --upload-file ./<package>.tgz https://hostname.of.gitea/api/packages/<user>/helm/api/charts
# Don't forget to delete the `.tgz`!
Installation
Bootstrap with kubectl apply -f main-manifest.yaml
TODO: App-of-apps 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/<filename>.jsonnet
Other links
- General documentation on repositories
- Gitea's own documentation
- Helm charts via Argo, broader application syntax
- Don't be caught out by Argo's behaviour of only accepting Applications in its own namespace!
- See here for examples of how to call the Argo UI