39 lines
1.8 KiB
Markdown
39 lines
1.8 KiB
Markdown
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/<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](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/<filename>.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 |