Collection of all of my kubernetes resources created for my k3s cluster, hosted on a 2 nodes in my home office.
Name | CPU | GPU |
---|---|---|
Sheol | i7-6700k | RTX-3080 |
Abaddon | i5-6600T | Integrated |
Will need to create a GitHub Personal Access Token
flux bootstrap github \
--owner=BriianPowell \
--repository=k3s-collective \
--branch=master \
--path=clusters/k3s \
--personal=true \
--private=false
# --reconcile # use if repository already exists
- Traefik
- Traefik Forward Auth
- Cert Manager
- Metrics Server
- Reflector
- Reloader
- Keycloak
- HomeAssistant
- Nextcloud + Nextcloud Exporter
- Wiki.js
- Pi-hole
- Cloudnative-PG
- Error Pages
- nvidia-device-plugin
- Jellyfin OR Plex (Haven't Decided Yet!)
- Sonarr
- Lidarr
- Radarr
- Readarr
- Deluge OR Transmission
- Scrutiny - find alternative as this is not compatible with k8s
- Gotify - find alternative as is not possible with iOS
- Uptime Kuma - On the fence, kinda like the idea tho
- Register Helm Repo
flux create source helm sealed-secrets \
--interval=1h \
--url=https://bitnami-labs.github.io/sealed-secrets
- Create HelmRelease to install Sealed-Secrets Controller
flux create helmrelease sealed-secrets \
--interval=1h \
--release-name=sealed-secrets-controller \
--target-namespace=flux-system \
--source=HelmRepository/sealed-secrets \
--chart=sealed-secrets \
--chart-version=">=2.8.0 <3.0.0" \
--crds=CreateReplace
- Retrieve the public key:
kubeseal --fetch-cert \
--controller-name=sealed-secrets-controller \
--controller-namespace=flux-system \
> pub-sealed-secrets.pem
- Create a secret
kubectl -n default create secret generic basic-auth \
--from-literal=user=admin \
--from-literal=password=change-me \
--dry-run=client \
-o yaml > basic-auth.yaml
- Seal the Secret
kubeseal --format=yaml --cert=pub-sealed-secrets.pem \
< basic-auth.yaml > basic-auth-sealed.yaml
- Apply the Sealed Secret
kubectl apply -f basic-auth-sealed.yaml
All references I've used to create this project are listed as comments within each of their respective projects. In many cases I had to utilize several sources to create a working deployment file for my needs. If anyone has any questons or would like to reach out about the way I've done things, I'd be more than happy to talk about this project ๐