Commit Graph
100 Commits
Author SHA1 Message Date
Vegard Hagen ba69146b4b feat(auth): add Authelia for OIDC
Use Authelia in an attempt to replace Keycloak. Kanidm is another alternative we're going to try later.
2024-11-17 17:03:33 +01:00
Vegard Hagen 6ac8652e24 chore(torrent): change torrent ports 2024-11-17 17:03:32 +01:00
Vegard Hagen c524a6ab65 feat(cilium): enable maglev loadBalancer
Maglev Consistent Hashing should improve resiliency in case of failures https://docs.cilium.io/en/stable/network/kubernetes/kubeproxy-free/\#maglev-consistent-hashing
2024-11-17 17:03:32 +01:00
Vegard Hagen af79c5b906 fix(argocd): turn on server-side diff
https://argo-cd.readthedocs.io/en/latest/user-guide/diff-strategies/\#server-side-diff

This should solve out-of-sync for e.g. Cilium ref https://github.com/argoproj/argo-cd/issues/19038
2024-11-17 17:03:32 +01:00
Vegard Hagen ddb7f0fd9f feat(lldap): bootstrap lldap users with script 2024-11-17 17:03:32 +01:00
Vegard Hagen 2a3f01736d feat(ldap): add lldap as ldap server 2024-11-17 17:03:32 +01:00
Vegard Hagen 1d0ae6d437 feat(cnpg): configure test-database for external connection 2024-11-17 17:03:32 +01:00
Vegard Hagen f1a11669a6 feat(renovate): group related containers for fewer renovate PRs 2024-11-17 17:03:32 +01:00
Vegard Hagen e5b3cd91d3 feat(unrar): add an image for unrar tool 2024-11-17 17:03:31 +01:00
Vegard Stenhjem Hagen 944f4a92ba fix(netbird): expose netbird dashboard 2024-11-17 17:03:31 +01:00
Vegard Hagen 5d69e82eb7 fix: route plex and jellyfin through gateway for tls-termination 2024-11-17 17:03:31 +01:00
Vegard Hagen d3338da90a feat(database): add cnpg for database management 2024-11-17 17:03:31 +01:00
Vegard Hagen 505a18cf38 fix(netbird): use internal dns to resolve auth admin-endpoint to internal gateway 2024-11-17 17:03:31 +01:00
Vegard Hagen 91e389dc0e fix(netbird): allow required endpoint from keycloak 2024-11-17 17:03:30 +01:00
Vegard Hagen d74b811d84 chore(docs): update readme 2024-11-17 17:03:30 +01:00
Vegard Hagen 9a7894a7ab feat(vpn): split gateway into external and internal services 2024-11-17 17:03:30 +01:00
Vegard Hagen 0e0a356fd1 fix(oidc): add 'basic' scope to netbird client and update keycloak
Change in Keycloak 25.0.0

https://www.keycloak.org/docs/25.0.0/upgrading/\#new-default-client-scope-basic

Thanks to Olav https://github.com/olav-st/homelab/commit/14dac2b576adad90306f9b23026a9048f66b38b7
2024-11-17 17:03:30 +01:00
Vegard Hagen 872f33c295 feat(adguard): mount config-file for declarative configuration 2024-11-17 17:03:30 +01:00
Vegard Hagen 9dec025db7 feat(dns): use Unbound and AdGuardHome for DNS
Unbound as a recursive resolver and AdGuardHome as main DNS backed by
Unbound
2024-11-17 17:03:29 +01:00
Vegard Hagen 38f118fa17 fix(jellyfin): use Memory for /cache to avoid NodeDiskPressure 2024-11-17 17:03:29 +01:00
Vegard Hagen 653d3e946c feat(whoami): add simple whoami-app for testing 2024-11-17 17:03:29 +01:00
Vegard Hagen 5c0c3366b2 feat(netbird): add netbird router agent
This should allow me to connect to services from a Netbird VPN connection
2024-11-17 17:03:29 +01:00
Vegard Hagen 0048da7ffa chore(oidc): collect all oidc-clients under keycloak 2024-11-17 17:03:29 +01:00
Vegard Hagen d79f57efd3 chore(ingress): remove all ingress resources in favour of http-routes 2024-11-17 17:03:29 +01:00
Vegard Hagen 1602202137 feat(vuetorrent): use git-sync to fetch vuetorrent theme 2024-11-17 17:03:29 +01:00
Vegard Hagen 9de3a6ba0f chore(cloudflared): clean up cloudflared deployment
remove unused config and enable renovate
2024-11-17 17:03:28 +01:00
Vegard Hagen 11cba23ae2 chore(renovate): add renovate comments on deployments
This should allow Renovate to pick up the image versions automatically and create update PRs
2024-11-17 17:03:28 +01:00
Vegard Hagen e03f701119 chore(nas): update TrueNAS IP after router change
New router is trash and can't set static IPs, some device stole the old one
2024-11-17 17:03:28 +01:00
Vegard Hagen 5abde08753 fix: conflicting svc name 2024-11-17 17:03:28 +01:00
Vegard Hagen e6a8ad12c8 chore(plex): use Memory for /tmp and /transcode
Try to fix NodeDiskPressure issue where I think Plex filling up ephemeral storage
2024-11-17 17:03:28 +01:00
Vegard Hagen dbb66ba93d chore: rename svc for arr-stack applications
Dropping -web postfix since it doesn't mean anything and I think it just clutters
2024-11-17 17:03:28 +01:00
Vegard Hagen 8668f58a38 chore(gateway): update to Gateway API 1.1.0 2024-11-17 17:03:28 +01:00
Vegard Hagen 25f977126b fix(cert): ask for cert for both *.stonegarden.dev and stonegarden.dev
try to bypass letsenrypt rate-limiting for exact set of domains
2024-11-17 17:03:27 +01:00
Vegard Hagen ba2ab6435b chore(cleanup): Cleanup after cluster rebuild 2024-11-17 17:03:27 +01:00
Vegard Hagen 1c602200c7 chore(pv): consistent naming scheme 2024-11-17 17:03:27 +01:00
Vegard Hagen 69d56e8e71 feat: install Netbird as a VPN solution
Also configure Netbird OIDC client in Keycloak using Crossplane
2024-11-17 17:03:27 +01:00
Vegard Stenhjem Hagen 935a13038c fix(remark42): correct url
Wrong URL used from the old cluster. Made it impossible to log in due to a wrong redirect URL.
2024-11-17 17:03:27 +01:00
Vegard Hagen e2e30a91e2 fix: bind prometheus operator to same node with volume
No shared volumes (yet), so have to bind deployment to the node with the volume
2024-11-17 17:03:27 +01:00
Vegard Hagen c4ba7120dd feat(tofu): updated kubernetes setup
tried to to some tidying while writing an article based on the current
setup.
2024-11-17 17:03:27 +01:00
Vegard Hagen 0a265cbfd5 fix: crossed-wires in Plex and Jellyfin 2024-11-17 17:03:26 +01:00
Vegard Hagen 605e5ef181 fix: increase cpu and mem limits for Argo CD and cloudflared
This will hopefully alleviate issues with syncing and routing apparently hanging sometimes
2024-11-17 17:03:26 +01:00
Vegard Hagen 4cb40d3282 feat: configure keycloak using crossplane provider 2024-11-17 17:03:26 +01:00
Vegard Hagen 76ab7a71a2 feat: add crossplane.io
Planning to use Crossplane to declaratively create OIDC-clients for Keycloak
2024-11-17 17:03:26 +01:00
Vegard Hagen 628bdb53d6 feat(auth): add keycloak for auth 2024-11-17 17:03:26 +01:00
Vegard Hagen be08e101b2 feat: configure renovate 2024-07-22 01:05:36 +02:00
Vegard Hagen c80528ffbd chore: switch remodelling to main-branch 2024-07-21 23:40:10 +02:00
Vegard Hagen 207b1892bf feat: cleanup of remodelling
move remodel folder down to root and delete old unused manifests
2024-07-21 23:21:12 +02:00
Vegard Hagen f1797c94ec feat(monitoring): install kube-prometheus-stack 2024-07-21 23:20:31 +02:00
Vegard Hagen 4d2fe610e2 fix(proxmox-csi-plugin): fetch from Helm chart 2024-07-21 23:20:31 +02:00
Vegard Hagen 1eafca98b5 chore: enable Cilium Hubble 2024-07-21 23:20:31 +02:00
Vegard Hagen 7c492be433 chore: switch Argo CD over to main domain 2024-07-21 23:20:30 +02:00
Vegard Hagen aa6af35f48 feat: routes to cluster external services
Routes to Home Assistant, Proxmox and TrueNAS
2024-07-21 23:20:30 +02:00
Vegard Hagen 482c0368ea fix: stonegarden routing
added a listener for stonegarden.dev
2024-07-21 23:20:30 +02:00
Vegard Hagen 2c1e894af0 fix: media player services
Correct labels and svc type
2024-07-21 23:20:30 +02:00
Vegard Hagen bca0889c47 fix(cloudflared): correct routing to homepage 2024-07-21 23:20:30 +02:00
Vegard Hagen bf5f26da5a chore: restore remark42 backup 2024-07-21 23:20:30 +02:00
Vegard Hagen 32cee0d16e chore: move from euclid sub-domain to main domain 2024-07-21 23:20:30 +02:00
Vegard Hagen 731a16baf3 feat(homepage): add homepage and blog
Add Vue Homepage, Hugo blog and Remark 42 for comments
2024-07-21 23:20:30 +02:00
Vegard Hagen 3edf3260d6 feat(media): add media players
Adding both Plex and Jellyfin media players
2024-07-21 23:20:29 +02:00
Vegard Hagen 7780078984 chore(tofu): don't use variables for nodes and volumes in main module 2024-07-21 23:20:29 +02:00
Vegard Hagen ac16aed3d2 feat: add node-feature-discovery and intel-device-plugins
label nodes with features to enable e.g. Intel iGPU support
2024-07-21 23:20:29 +02:00
Vegard Hagen bd7ae1f091 feat(arr): implement arr stack
lidarr, prowlarr, radarr, sonarr, torrent
2024-07-21 23:20:29 +02:00
Vegard Hagen d7f90f34e1 fix: configure gateway
also add a cluster-issuer for ingresses
2024-07-21 23:20:29 +02:00
Vegard Hagen 127290d99b feat(network): add cloudflared
encrypted tunnel to cloudflare
2024-07-21 23:20:29 +02:00
Vegard Hagen f65eb23cc5 fix: proxmox-csi-plugin configuration
Missing volumes attributes
2024-07-21 23:20:29 +02:00
Vegard Hagen f39dc98104 fix(talos): upgrading now actually works without destroying the cluster
Use only one pve_download_file resource and key it to <node>_<schematic-id>_<version>
2024-07-21 23:20:29 +02:00
Vegard Hagen 29f5ce8b14 feat(talos): generate schematic id on-the-fly and add possibility of changing image
Utilize Talos Factory API to generate schematic ID which can be used to download images

Add possibility of running two different images in cluster. This allows changing version or schematic for the cluster in place
2024-07-21 23:20:28 +02:00
Vegard Hagen 805ab61017 feat: add Gateway API and Gateways 2024-07-21 23:20:28 +02:00
Vegard Hagen fe368b937e feat: add Cert-manager 2024-07-21 23:20:28 +02:00
Vegard Hagen 7a946e3e23 feat(volumes): provision volumes using tofu
Declaratively provision Proxmox backend persistent volumes for Kubernetes using the Proxmox REST API
2024-07-21 23:20:28 +02:00
Vegard Hagen 677cf79d6c chore(argocd): set resources for components 2024-07-21 23:20:28 +02:00
Vegard Hagen 8c5389c31c feat(talos): Bootstrap Cilium from ConfigMap
Start adding infrastructure manifests
2024-07-21 23:20:28 +02:00
Vegard Hagen daaafc8fea feat(tofu): split into multiple configurations 2024-07-21 23:20:28 +02:00
Vegard Hagen fbdccd7731 feat(k8s): multi-node Talos cluster 2024-07-21 23:20:27 +02:00
Vegard Hagen 854b6ce6a2 chore(arr): decomission arr in old cluster
arr-stack is now up and running in new Talos-cluster
2024-07-18 15:35:15 +02:00
Vegard Hagen 14f1f5c0e4 chore(cert-manager): Update to 1.15.0 2024-07-07 14:48:17 +02:00
Vegard Hagen 0db54c5fd8 test(plex): Enable Plex again 2024-07-07 14:48:17 +02:00
Vegard Hagen 911cdddd6e test(plex): Remove deployment and service. Run from Euclid instead. 2024-07-07 14:48:17 +02:00
Vegard Hagen 884fe3bd00 feat(auth): add Keycloak for auth 2024-07-07 14:47:52 +02:00
Vegard Hagen 0b628e1a0d refactor(networking): Create a separate networking folder
First out is the cloudflared resources
2024-05-05 20:39:30 +02:00
Vegard Hagen 08912a6047 refactor(cloudflared): Use a DaemonSet instead of Deployment 2024-05-05 18:51:57 +02:00
Vegard Hagen d42f97bd4b refactor(dns):! Remove Pi-Hole and clean up cloudflared tunnel-config 2024-05-05 18:32:30 +02:00
Vegard Hagen 9c4ca70497 chore(haos): Remove 'matches' field 2024-05-01 22:22:08 +02:00
Vegard Hagen 7d79db70e9 feat(jf): Proxy Jellyfin from Euclid instead of Plex 2024-04-28 22:09:32 +02:00
Vegard Hagen ba5ec8a7d6 feat(plex): Proxy Euclid Plex 2024-04-20 14:17:48 +02:00
Vegard Hagen 4b63ad037f fix(svc): EndpointSlices should have the same name as the svc 2024-04-19 20:27:44 +02:00
Vegard Hagen 32d97558ec fix(euclid): Delay qemu-guest-agent startup
By delaying the qemu-guest-agent we don't need a sleep function to wait for kubeadm to do its thing
2024-04-17 16:42:06 +02:00
Vegard Hagen cabdc65448 feat(lgtm): Adding LGTM Helm chart 2024-04-07 18:52:05 +02:00
Vegard Hagen 91998ecc2a feat(monitoring): Configure kube-prometheus-stack
Use Argo CD Application again.
Provision storage.
2024-04-07 14:10:00 +02:00
Vegard Hagen 4efe769396 fix(users): Add kustomization.yaml in users-folder 2024-04-06 18:20:55 +02:00
Vegard Hagen a9dabe9293 chore(traefik): Update Traefik Helm chart to 27.0.0 2024-04-06 18:19:48 +02:00
Vegard Hagen 0982d5c871 chore(monitoring): Update kube-prometheus-stack Helm chart to 57.2.1 2024-04-06 18:17:16 +02:00
Vegard Hagen b233ef4873 fix(monitoring): Change the way kube-prometheus-stack is applied
Try to use Kustomize instead of an Argo CD application
2024-04-06 18:12:11 +02:00
Vegard Hagen 0b4a1ee0a6 chore(cloudflared): Update Cloudflared image to 2024.3.0 2024-04-06 18:01:39 +02:00
Vegard Hagen 5f8fab9831 chore(cilium): Update Helm chart to 1.15.3 2024-04-06 17:58:24 +02:00
Vegard Hagen 07ccf5745d chore(cert-manager): Update Helm chart to 1.14.4 2024-04-06 17:56:51 +02:00
Vegard Hagen 7f65434b20 chore(argocd): Update Helm chart to 6.7.10 2024-04-06 17:55:14 +02:00
Vegard Hagen 398b98cfff feat(Argo CD): Switch to Helm chart 2024-04-06 17:43:53 +02:00
Vegard HagenandVegard Stenhjem Hagen b6b64ab4c4 docs: Clean up README.md 2024-04-05 23:14:31 +02:00
Vegard HagenandVegard Stenhjem Hagen e343d41b85 feat(cloud-init): Kubeadm cluster
wip: DNS shenanigans
2024-04-05 23:14:31 +02:00