Commit Graph
100 Commits
Author SHA1 Message Date
Vegard Hagen 38542b6bdb fix(argo cd): disable dex
dex is not needed and it keeps crashing in latest update
2025-02-08 22:26:31 +01:00
Vegard Hagen 063b5da94f fix(cilium): use legacy host routing
requirement for running on talos
2025-02-08 22:10:10 +01:00
Vegard Hagen ab473a5e08 fix(monitoring): add renavate rule for updating chart 2025-01-26 20:55:58 +01:00
Vegard Hagen 53b332cb28 feat(monitoring): add http-routes for prometheus and alertmanager 2025-01-26 20:51:12 +01:00
Vegard Hagen 4c9dc0f2b4 fix(monitoring): disable nodeExporter
nodeExporter doesn't work on Talos
2025-01-26 20:39:36 +01:00
Vegard Hagen d523d128c4 fix(authelia): disable html emails 2025-01-26 18:10:36 +01:00
Vegard Hagen 24743bf9c2 fix(cnpg): rename db volumes 2025-01-26 17:58:36 +01:00
Vegard Hagen e039cf2237 chore(talos): update to v1.9.2 from v1.8.1 2025-01-26 16:34:45 +01:00
Vegard Hagen ee741467dd fix(lldap): add tmp-volume for bootstrapping 2025-01-26 15:43:41 +01:00
Vegard Hagen 5ae1a6d829 fix(lldap): add hash seed 2025-01-25 15:34:28 +01:00
Vegard Hagen e071e10538 refactor(lldap): use alpine rootless image 2025-01-20 21:46:11 +01:00
Vegard Hagen a7ea9468e8 feat(authelia): use ldaps with lldap
this is kind of a pointless change, but kinda cool to try
2025-01-19 13:41:43 +01:00
Vegard Hagen 035d42adb8 test(lldap): enable ldaps 2025-01-19 11:51:17 +01:00
Vegard Hagen 5563a63f56 feat(lldap): add cnpg database for persistence 2025-01-19 10:24:12 +01:00
Vegard Hagen baa30f0e03 feat(lldap): add a test user 2025-01-18 15:41:38 +01:00
Vegard Hagen 7a949afadd feat(authelia): add smtp integration 2025-01-18 14:45:28 +01:00
Vegard Hagen 8da8d82bf4 feat(lldap): add smtp integration 2025-01-17 16:28:31 +01:00
Vegard Hagen 08d579c500 docs: update work in progress 2025-01-17 15:15:24 +01:00
Vegard Hagen d816953b98 feat(authelia): harden oidc clients 2025-01-11 10:43:34 +01:00
Vegard Hagen ae355bb427 fix(netbird): clean up configuration 2025-01-10 21:34:06 +01:00
Vegard Hagen e658857bf8 fix(netbird): change user_id claim 2025-01-09 19:45:27 +01:00
Vegard Hagen c483d0fa5a feat(netbird): change oidc provider to authelia
This makes it possible to decommission keycloak and crossplane
2025-01-09 19:26:27 +01:00
Vegard Hagen fee02d4b16 fix(netbird): change oidc clientId 2025-01-08 20:31:07 +01:00
Vegard Hagen 0195f99252 feat(netbird): use built-in mechanism for jwk sign key refresh
https://github.com/netbirdio/netbird/pull/808
2025-01-08 20:23:54 +01:00
Vegard Hagen 037fc29129 feat(netbird): remove idp-integration
IDP integration is not needed. Removing it might allow Authelia-integration
2025-01-08 20:16:13 +01:00
Vegard Hagen 2ec6244fca fix(netbird): change dashboard redirect URLs
default callback url contains a fragment component in violation OAuth2.0 spec

https://github.com/authelia/authelia/discussions/7185#discussioncomment-11613126

https://github.com/netbirdio/dashboard/blob/14d2d688198a633e745f59c2d0bed9de146d2be5/src/utils/config.ts#L26-L27
2025-01-08 18:57:12 +01:00
Vegard Hagen 2674d91a48 feat(auth): enable kubectl oidc auth 2025-01-06 21:30:23 +01:00
Vegard Hagen edd0a15345 fix(authelia): increase db disk size 2025-01-06 21:27:16 +01:00
Vegard Hagen 3c2c08b367 fix(authelia): clean up values-file 2025-01-06 20:33:26 +01:00
Vegard Hagen ce5fc25504 feat(authelia): use a cnpg managed db
use a database for presistent storage of users and sessions
2025-01-06 20:14:45 +01:00
Vegard Hagen 2eacd07803 chore: format code 2025-01-05 20:01:44 +01:00
Vegard Hagen b090a54d75 fix(coturn): only use tls-port 2025-01-05 19:53:53 +01:00
Vegard Hagen a535a76c31 feat(coturn): use plain manifests instead of helm chart 2025-01-05 19:28:43 +01:00
Vegard Hagen 3cbc35aaf9 fix(netbird-signal): harden security 2025-01-05 15:43:44 +01:00
Vegard Hagen c35ba49135 fix(netbird-relay): harden security 2025-01-05 15:40:20 +01:00
Vegard Hagen a99b4c6e14 fix(netbird-management): harden security 2025-01-05 15:36:57 +01:00
Vegard Hagen 1c585e2ce4 fix(netbird-dashboard): harden security 2025-01-05 15:36:49 +01:00
Vegard Hagen c9ffd698c8 fix(netbird-agent): allow read root fs and add sysctl
The agent seems to assume it's running with full root privileges,
something we don't want. Accommodate by changing manually.
2025-01-05 14:56:24 +01:00
Vegard Hagen a89e51b027 refactor(netbird): use env-variable name as key in secrets
this makes the configuration less verbose
2025-01-05 12:02:11 +01:00
Vegard Hagen 56d2a42b9d feat(netbird): replace backend helm chart with plain manifests
no need for all the patching anymore
2025-01-05 11:34:25 +01:00
Vegard Hagen 0149a02e4c feat(netbird): replace dashboard helm chart with plain manifests
imho the chart doesn't add much here
2025-01-04 21:53:23 +01:00
Vegard Hagen 31c6b25013 fix(netbird): new agent setup key 2025-01-04 10:18:31 +01:00
Vegard Hagen 5ecf061fc3 fix(keycloak): move crossplane-keycloak-credentials to keycloak from crossplane namespace 2025-01-04 09:47:39 +01:00
Vegard Hagen aa1a078294 feat(netbird): add relay service
This is a required step for solving #81

Netbird 0.29.0 added its own relay service based on websockets
2025-01-03 17:43:11 +01:00
Vegard Hagen 15adc6f863 feat(netbird): configuring oidc-clients using new XOidcClient composition 2025-01-03 15:24:19 +01:00
Vegard Hagen bff741753a feat(crossplane): try to organise crossplane crds
also add a keycloak-oidc-client composition
2025-01-03 14:55:12 +01:00
Vegard Hagen 253e65a708 fix(keycloak): update crossplane keycloak-provider 2025-01-03 13:50:47 +01:00
Vegard Hagen b07b728855 fix(netbird): update oidc client
trying to fix id_token_hint error with keycloak
2025-01-03 10:13:39 +01:00
Vegard Hagen e4fbd938c1 fix(dns): tweak unbound setting again
Still some intermittent issues with DNS-resolving
2025-01-02 14:38:58 +01:00
Vegard Hagen 48b6fc376a fix(vpn): remove security context for agent 2024-12-12 20:02:56 +01:00
Vegard Hagen 02eb0a62d7 fix(vpn): remove read only root fs for netbird agent 2024-12-12 20:02:56 +01:00
Vegard Hagen eb74b5baff fix(dns): tweak dns settingss after update 2024-12-12 20:02:38 +01:00
Vegard Hagen e48986a5a2 feat(authelia): add kubectl oidc account 2024-12-01 22:33:36 +01:00
Vegard Hagen ffa170117b fix(keycloak): new postgres volume 2024-12-01 21:48:26 +01:00
Vegard Stenhjem Hagen 694d56b32d fix: update renovate syntax 2024-11-17 17:03:35 +01:00
Vegard Hagen 4dd769fdf7 feat: add extra admin user 2024-11-17 17:03:35 +01:00
Vegard Hagen 237a321ec3 chore(qBit): downgrade to 4.6.5 2024-11-17 17:03:35 +01:00
Vegard Hagen 0c19b80b75 feat(authelia): add "optional" secrets in config 2024-11-17 17:03:35 +01:00
Vegard Hagen 403d32b9ed feat(authelia): make cert-manager generate jwks 2024-11-17 17:03:35 +01:00
Vegard Hagen 140fbc249b feat(tofu): use new talos_image_factory_schematic resource
talos provider 0.6 added a new resource for generating the image schematic id
2024-11-17 17:03:34 +01:00
Vegard Hagen 8d8e0ca87a fix(authelia): add access_control policy rule 2024-11-17 17:03:34 +01:00
Vegard Hagen 996bf85daf chore(talos): upgrade last node ctrl-00
Regular 'terraform apply' was enough this time

We're now on Talos 1.8.1 and Kubernetes 1.31.1
2024-11-17 17:03:34 +01:00
Vegard Hagen 4c8066a130 chore(talos): upgrade node ctrl-02
It worked with 'tofu apply -refresh=false'! Still had to manually shut down the VM though. Still scary!
2024-11-17 17:03:34 +01:00
Vegard Hagen 094d72abdf chore(talos): upgrade node ctrl-01
start manual talos upgrade process

Issue with upgrading 'endppoint' node (ctrl-02) since API becomes unresponsive. Either do proper LB or maybe 'tofu apply -refresh=false'
2024-11-17 17:03:34 +01:00
Vegard Hagen 6d137906d1 feat(authelia): add ES256 jwk and use it 2024-11-17 17:03:34 +01:00
Vegard Hagen cbf1210859 fix(cert-manager): update API token 2024-11-17 17:03:34 +01:00
Vegard Hagen 9a92b48c97 feat(authelia): enable 2FA 2024-11-17 17:03:33 +01:00
Vegard Hagen d077f4b035 feat(authelia): add ES256 jwk 2024-11-17 17:03:33 +01:00
Vegard Hagen e0ce01c80f fix(oidc): conceal jwks signing key 2024-11-17 17:03:33 +01:00
Vegard Hagen 53855a6d27 fix(oidc): conceal argo cd client secret 2024-11-17 17:03:33 +01:00
Vegard Hagen 86395edc1f feat(authelia): add Argo CD client 2024-11-17 17:03:33 +01:00
Vegard Hagen c88403691b feat(lldap): create and use own authelia user 2024-11-17 17:03:33 +01:00
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