
I encoutered an issue where tokens were being created without TTLs and thus clogging up the storage of the system. I haven't found a smoking gun pointing to this being the cause, but I do suspect that it's _something_ to do with the Vault/Crossplane integration, since a) that's really my only use-case for Vault, and b) there's the string `vault-provider` in the display_name below: ``` $ vault token lookup -accessor zcRF0YAUQtP7vrbZHTW5y322 Key Value --- ----- accessor zcRF0YAUQtP7vrbZHTW5y322 creation_time 1715766311 creation_ttl 0s display_name token-vault-provider-token entity_id n/a expire_time <nil> explicit_max_ttl 0s id n/a issue_time 2024-05-15T09:45:11.720412011Z meta <nil> num_uses 0 orphan false path auth/token/create policies [root] renewable false ttl 0s type service ```
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