small-hack / smol-k8s-lab

☁️ CLI & TUI with a smol friendly vibe to get started with Kubernetes on metal, then bootstrap apps using Argo CD 🧸 Great for testing webapps and benchmarking.
https://small-hack.github.io/smol-k8s-lab/
GNU Affero General Public License v3.0
15 stars 1 forks source link

Adds support for setting Tolerations and Affinity + setting PVC classes for all PVCs for the Nextcloud app + update deps #304

Closed jessebot closed 3 months ago

jessebot commented 3 months ago

New nextcloud app features

Adds support for setting individual PVC storage classes

Now you can use different storage classes for each PVC we support configuring for the nextcloud app. This includes the SeaweedFS PVCs - for PostgreSQL backups, as well the files and config PVCs for the nextcloud app itself. This is done via apps.nextcloud.argo.secret_keys and is completely optional. If you don't set these values, we'll default to the apps_global_config.pvc_storage_class value.

Example yaml values:

apps:
  nextcloud:
    argo:
      secret_keys:
        files_storage_class: "local-path"
        config_storage_class: "local-path"
        s3_pvc_storage_class: "local-path"

Adds support for setting Tolerations and Affinity

You can now set your apps.nextcloud.argo.path to nextcloud/app_of_apps_with_tolerations/ to allow for setting tolerations for node taints, as well as affinity to make the pods stick to one node.

Adds the following new optional yaml values:

apps:
  nextcloud:
    argo:
      path: nextcloud/app_of_apps_with_tolerations/
      secret_keys:
        # you can delete these if you're not using tolerations/affinity
        toleration_key: ""
        toleration_operator: ""
        toleration_value: ""
        toleration_effect: ""
        # these are for node affinity, delete if not in use
        affinity_key: ""
        affinity_value: ""
        hostname: ""

Also updates some dependencies to close out a number of PRs in this repo

Plus anything caught with a poetry update.

Additional Info

Compliments https://github.com/small-hack/argocd-apps/commit/a49d61ee417663cd6ce5a14ffb804258bc4cd5bd and https://github.com/small-hack/argocd-apps/commit/4294779d1ca791078a6d3b2c710b1a550eba7c39

This should also include a patch to use PodConfigRef for k8up Restores.

jessebot commented 3 months ago

Testing this on our local infra now 🙏