Go to file
2022-06-06 18:59:28 +02:00
.gitlab/agents Add dev-env kubernetes agent 2022-05-27 22:27:30 +02:00
adguard Add adguard configuration with proper env variable sourcing 2022-06-01 23:45:57 +02:00
dashboard Update kubernetes dashboard to be accessible from localhost, waiting for TLS 2022-05-15 21:43:20 +02:00
minecraft Add working minecraft configuration 2022-06-06 18:41:15 +02:00
nginx Fix nginx routing setup 2022-05-15 20:30:42 +02:00
res Add longhorn storage classes 2022-06-06 18:40:29 +02:00
traefik-lb Add websecure endpoint port 2022-05-15 21:43:31 +02:00
.gitlab-ci.yml Test gitlab integration 2022-05-28 14:05:44 +02:00
README.md Add some notes + update service table & status 2022-06-06 18:59:28 +02:00

K3s cluster

Name Usage Accessibility Host Automated backups Configured
therbron.com Personal website Public Socrates Nothing to backup No
Traefik Reverse proxy and load balancer Public* Socrates Git configuration Partial (Missing TLS)
Adguard DNS ad blocker and custom DNS server Private Socrates ? Yes
Owncloud Infinity Scale File hosting webUI Public Plato ? No
Home assistant Home automation and monitoring Private Pythagoras-a ? No
Pwndrop On the fly file downloading Public* Pythagoras-b ? No
Vikunja To-do and Kanban boards Public Pythagoras-b ? No (To be integrated in Gitlab)
Gitlab Version control system Public Pythagoras-b ? No
Wiki Documentation manager Public Pythagoras-b ? No (Migrate to VuePress and Gitlab)
Bitwarden Password manager Public Pythagoras-b ? No
Jellyfin Media streaming Public Archimedes ? No
Sonarr TV shows collection manager Private Plato ? No
Radarr Movie collection manager Private Plato ? No
Jackett Torrent indexer Private Plato ? No
Deluge Torrent client Private Plato ? No
Minecraft Vanilla minecraft server for friends Public Archimedes Longhorn snapshots Yes

TODO

  • Change host/deployment specific variables to use environment variables
  • Write CI/CD pipeline to create environment loaded files
  • Write CI/CD pipeline to deploy cluster
  • Look into CockroachDB for redundant database
  • Add TLS certificates for every http applications
  • Configure IP range accessibility through Traefik (Internal vs external services)

Notes

Add node to the list of available load balancer kubectl label node <node-name> svccontroller.k3s.cattle.io/enablelb=true

Install traefik through helm

helm repo add traefik https://helm.traefik.io/traefik
helm repo update
helm install -f helm/traefik/values.yaml traefik traefik/traefik

Install longhorn

kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/master/deploy/longhorn.yaml