Jack Jackson 496c2f13b0 Expand (and explicitly specify storageclass of) Vault storage
Due to currently-unknown fault, my Vault storage got full up (I
_suspect_ it's due to not setting a default TTL on Tokens, and so they
all hung around. Surprised they were created at such a rate, but w/e). I
wasn't able to directly expand the volume - and, anyway, it's on
Longhorn which is a Storage Provisioner that I'm moving away from - so
the solution was to:
* Create a temporary PV (on FreeNas, though that doesn't actually
  matter) and copy data onto it (by mounting both it and the existing
  Volume onto a debug pod, using a variant of [this
  script](https://blog.scubbo.org/posts/pvc-debug-pod/))
* Delete the existing PVC and PV
* Make this update, and sync
  * A new _empty_ PV will be created (and probably populated with some
    stuff)
* Scale-down the StatefulSet, do the double-mount-to-debug-pod trick
  again, and copy data from the temporary PV onto this one
* Delete Debug Pod, re-scale-up StatefulSet...and hope that there's
  nothing stateful in the data which means that copying it from one
  volume to another makes it invalid (e.g. if encrypted with an
  encryption key which would change on a new spin-up of the pod - which
  _seems_ unlikely, but 🤷)
2024-06-04 14:07:45 -07:00
2023-06-21 12:42:33 -07:00
2023-06-21 21:07:09 -07:00
2023-06-21 21:41:31 -07:00

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

Description
No description provided
Readme 841 KiB
Languages
Smarty 51.3%
Jsonnet 42.7%
Shell 6%