2.6 KiB
Stackspin Outwards - Stackspout
This repository extends Stackspin with extra applications and overrides to make it more commercially/professionally interesting. Once stabilized, the aim is to contribute as much upstream as possible.
Stackspout is used in day-to-day business with a double-digit user number, so all experiments happen carefully.
Tools
Useful tools for administration:
- my
stack
CLI helper, currently part of my dotfiles: https://git.jfischer.org/xeruf/dotfiles/src/branch/main/.config/shell/server#L11 - stackspin docs: https://docs.stackspin.net/en/v2/system_administration/customizing.html
Guide: Create OAuth Credentials for an external service
-
add a line in
basic/install.sh
and run it to generate the secret -
append another OAuth2Client definition to
basic/overrides/oauth-clients.yaml
, adjustingmetadata.name
andspec.secretName
as well asspec.redirectUris
-
apply changes to the cluster
-
obtain the generated
client_secret
for your application from kubernetes:kubectl get secret -n flux-system stackspin-APP-oauth-variables --template '{{.data.client_secret}}' | base64 -d
with client_id:
kubectl get secret -n flux-system stackspin-APP-oauth-variables --template '{{.data.client_id}}{{"\n"}}{{.data.client_secret}}{{"\n"}}' | while read in; do echo $in | base64 -d; echo; done
Customizations
Overrides
- Adds many Nextcloud extensions and some configuration
- Add Email Auth back to Zulip
New Applications
below list is formatted as:
subdomain: Service (helmrepo, if not provided by the service authors)
Stable including Single-Sign-On
- dev: Gitea
- do: Vikunja (k8s-at-home - migrating to truecharts)
- ninja: InvoiceNinja
In Development
- people: SuiteCRM (bitnami repo)
- time: Kimai (robjuz repo)
Planned
- meet: Jitsi Meet
- wiki: Wiki (maybe wikijs, but I'd like something that integrated with Nextcloud and Markdown/Orgdown)
Ideas
- link: URL Shortener
- Bonfire
Issues to tackle
Structurally
- generate_secrets.py was copied from Stackpin
Functionally
- Nextcloud too slow - add Redis
- Preconfigure user settings in Nextcloud, Vikunja and more
Installation
Warning: Lots of experiments happening here!
Apply it to your cluster:
basic/install.sh
List the resource related to this repo:
kubectl get gitrepositories -A
kubectl get kustomization -A -o=jsonpath='{.items[?(@.spec.sourceRef.name=="stackspout")].metadata.name}'
kubectl -n stackspout get helmreleases
kubectl -n stackspout get pods
But there are also ConfigMaps, Secrets, StatefulSets, PVCs, Helmrepos and all that stuff...