Vegard Hagen
cab677855f
refactor(talos): make talos_machine_config_version an optional parameter
2025-03-23 13:45:42 +01:00
Vegard Hagen
df275c36b3
chore(talos): update machine config version
2025-03-23 12:55:31 +01:00
Vegard Hagen
83e1c95b06
refactor(talos): condensate machine config into two files
...
Signed-off-by: Vegard Hagen <[email protected] >
2025-03-23 12:38:47 +01:00
Vegard Hagen
25cfa2bbb6
chore(gateway): update to gateway api v1.2.1
2025-02-10 20:18:45 +01:00
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