Support Environments #49

Merged
jessebot merged 648 commits from refs/pull/49/head into main 2026-08-05 22:17:04 +00:00
jessebot commented 2026-08-05 22:11:38 +00:00 (Migrated from git.smallhack.org)

⚠️ This is a major release. There are many breaking changes!

Changes

  • Officially support multiple "environments", meaning you install multiple copies of gotosocial, mastodon, etc
    • introduces the concept of "core" apps that're NOT environment scoped and cannot be installed multiple times (with the exception of the grafana stack and zitadel)
    • we now auto-determine namespaces and project names for all apps
      • core apps go into a namespace of the same name as the app (with exception for cnpg and metallb)
      • environment scoped apps go into a namespace called {environment}-{app}
    • you can create a new environment from the CLI with smol-k8s-lab -n or via the TUI
    • smol-k8s-lab -e will let you specify an environment to only run lists/syncs/installs for that group of apps.
  • clean up all the unused variable imports
  • clean up how we pass around certain global variables
  • remove unused stuff supporting appset secrets plugin that we don't natively support anymore (you can still use it, but we don't have a golden path for it anymore)
  • Drops support for minio tenant creation (minio is closed source now)
  • Start supporting OpenBao as our primary ESO provider
    • includes a migration feature to transfer from bitwarden to openbao (set migrate_to_openbao=true in config.yaml)
  • Introduce an ExternalSecrets object for creation and refreshing of app secrets using both bitwarden and openbao
  • Introduces a LocalSecrets object for saving admin credentials to bitwarden, local keychain, or keypass
  • huge updates to the docs
    • switch from mkdocs to zensical
  • new feature in CLI to list apps and their enabled status per environment smol-k8s-lab -l
  • restores are now a top level app yaml parameter
  • major upgrade of textual
  • dropping official support for the AppSet Secrets Plugin as OpenBao takes center stage.
  • Drop official support for ingress-nginx and replace with two options: cilium or traefik
    • we now support gateway api as well as ingress via traefik or cilium
⚠️ This is a major release. There are many breaking changes! # Changes - Officially support multiple "environments", meaning you install multiple copies of gotosocial, mastodon, etc - introduces the concept of "core" apps that're NOT environment scoped and cannot be installed multiple times (with the exception of the grafana stack and zitadel) - we now auto-determine namespaces and project names for all apps - core apps go into a namespace of the same name as the app (with exception for cnpg and metallb) - environment scoped apps go into a namespace called `{environment}-{app}` - you can create a new environment from the CLI with `smol-k8s-lab -n` or via the TUI - `smol-k8s-lab -e` will let you specify an environment to only run lists/syncs/installs for that group of apps. - clean up all the unused variable imports - clean up how we pass around certain global variables - remove unused stuff supporting appset secrets plugin that we don't natively support anymore (you can still use it, but we don't have a golden path for it anymore) - Drops support for minio tenant creation (minio is closed source now) - Start supporting OpenBao as our primary ESO provider - includes a migration feature to transfer from bitwarden to openbao (set `migrate_to_openbao=true` in config.yaml) - Introduce an ExternalSecrets object for creation and refreshing of app secrets using both bitwarden and openbao - Introduces a LocalSecrets object for saving admin credentials to bitwarden, local keychain, or keypass - huge updates to the docs - switch from mkdocs to zensical - new feature in CLI to list apps and their enabled status per environment `smol-k8s-lab -l` - `restores` are now a top level app yaml parameter - major upgrade of textual - dropping official support for the AppSet Secrets Plugin as OpenBao takes center stage. - Drop official support for ingress-nginx and replace with two options: cilium or traefik - we now support gateway api as well as ingress via traefik or cilium
Sign in to join this conversation.
No description provided.