Commit Graph
100 Commits
Author SHA1 Message Date
Vegard Hagen cdea7e1719 fix(ci): use devcontainer image directly for tofu checks
Signed-off-by: Vegard Hagen <[email protected]>
2025-07-14 18:52:39 +02:00
Vegard Hagen 66dad81d84 feat(devcontainer): split into build and run configfiles
Signed-off-by: Vegard Hagen <[email protected]>
2025-07-14 13:38:30 +02:00
Vegard Hagen da7d2d4a54 fix(devcontainer): add timeout for build job
Signed-off-by: Vegard Hagen <[email protected]>
2025-07-14 08:24:10 +02:00
Vegard Stenhjem HagenandGitHub 1deb5aced1 feat(devcontainer): build a Devcontainer with useful tools for this project
Also use said devcontainer i GitHub workflows to validate config.

* feat(devcontainer): build devcontainer

Signed-off-by: Vegard Hagen <[email protected]>

* feat(ci): validate tofu files on push

Signed-off-by: Vegard Hagen <[email protected]>

* feat(devcontainer): simplify devcontainer

Signed-off-by: Vegard Hagen <[email protected]>

* fix(devcontainer): don't cache package index

This will reduce the final image size.

Signed-off-by: Vegard Hagen <[email protected]>

* feat(devcontainer): switch to ubuntu and use devcontainer features as much as possible

Signed-off-by: Vegard Hagen <[email protected]>

---------

Signed-off-by: Vegard Hagen <[email protected]>
2025-07-13 23:18:26 +02:00
Vegard Hagen f5841b4a3b fix(authelia): explicit custom attribute configuration
Signed-off-by: Vegard Hagen <[email protected]>
2025-07-13 15:46:41 +02:00
Vegard Hagen 838a335ecc feat(authelia): description of custom claims
Signed-off-by: Vegard Hagen <[email protected]>
2025-07-12 17:17:42 +02:00
Vegard Hagen 5de4066796 feat(authelia): custom argocd claim
Signed-off-by: Vegard Hagen <[email protected]>
2025-07-12 15:45:23 +02:00
Vegard Hagen aa884cd9d2 fix(authelia): clean up configuration
Signed-off-by: Vegard Hagen <[email protected]>
2025-07-11 20:51:00 +02:00
Vegard Hagen 9fa04832e4 fix(unbound): use default config
Experiencing some issues with using Unbound as a recursive solver, so reverting to default config

Signed-off-by: Vegard Hagen <[email protected]>
2025-07-11 19:47:37 +02:00
Vegard Hagen 992c6a52a0 chore(lldap): edit config
Signed-off-by: Vegard Hagen <[email protected]>
2025-06-25 20:56:34 +02:00
Vegard Hagen 3d68e49d4d fix(tofu): allow multiple nodes on the same host again
A bug reported in #299 resulted in it not being possible to schedule two Talos nodes on the same host machine with the same schematic ID and image version

This commit fixes #299

Signed-off-by: Vegard Hagen <[email protected]>
2025-06-09 21:21:41 +02:00
Vegard Hagen 9aae3a5aa6 chore(talos): update talos to 1.10.3
Signed-off-by: Vegard Hagen <[email protected]>
2025-06-08 22:23:47 +02:00
Vegard Hagen 2a2606d178 fix(netbird): use renvsubst container to create configuration
Signed-off-by: Vegard Hagen <[email protected]>
2025-06-08 22:23:47 +02:00
Vegard Hagen e1cabbf2bb fix(gateway): use the addresses field instead of infrastructure annotation
See GH issue #94
This was fixed in https://github.com/cilium/cilium/issues/32865

Signed-off-by: Vegard Hagen <[email protected]>
2025-06-08 22:23:47 +02:00
Vegard Hagen b3752260e7 fix(cilium): use cilium-cli image instead of cilium-cli-ci image to install cilium
Following Talos docs: https://www.talos.dev/v1.10/kubernetes-guides/network/deploying-cilium/#method-5-using-a-job

Signed-off-by: Vegard Hagen <[email protected]>
2025-06-08 22:23:46 +02:00
Vegard Hagen 7adf4cb1ff fix(renovate): add .tofu extension for terraform providers
Signed-off-by: Vegard Hagen <[email protected]>
2025-06-08 22:23:24 +02:00
Vegard Hagen 1fbe9fb6bd feat(auth): add custom user properties for audiobookshelf
Add custom user schema in LLDAP which maps to a custom attribute in
Authelia which we then again map to a custom claim which we include in a
custom scope which audiobookshelf requests

Signed-off-by: Vegard Hagen <[email protected]>
2025-05-03 19:15:27 +02:00
Vegard Hagen e0fdbafa35 feat(authelia): add audiobookshelf OIDC client
Signed-off-by: Vegard Hagen <[email protected]>
2025-05-03 11:47:25 +02:00
Vegard Hagen 4c1ad3e223 feat(app): add audiobookshelf application
Signed-off-by: Vegard Hagen <[email protected]>
2025-04-29 21:10:39 +02:00
Vegard Hagen 4f694ce8c5 chore(tofu): run tofu fmt on configuration 2025-04-18 17:28:51 +02:00
Vegard Hagen f47309b3d1 fix(tofu): switching to .tofu extension
Picking sides

No real functional change except the cute tofu icon in my IDE instead of the purple T
2025-04-18 17:19:15 +02:00
Vegard Hagen 1cb8c03fe8 chore(keycloak): remove unused volume 2025-04-18 16:47:00 +02:00
Vegard Hagen 919ccdff30 feat(gateway): remove extra install of Gateway API CRDs
Gateway API CRDs are installed using Talos machine config
`extra_manifests`.

Signed-off-by: Vegard Hagen <[email protected]>
2025-04-18 14:57:22 +02:00
Vegard Hagen 344b161c63 feat(crossplane): remove crossplane
Crossplane was only used to configure Keycloak, no need for it with Keycloak gone

Signed-off-by: Vegard Hagen <[email protected]>
2025-04-18 14:55:15 +02:00
Vegard Hagen b2c66e84d9 feat(keycloak): remove keycloak
Using Authelia instead of Keycloak now

Signed-off-by: Vegard Hagen <[email protected]>
2025-04-18 14:53:25 +02:00
Vegard Hagen 47079ecdfb chore(talos): update talos to 1.9.5
Signed-off-by: Vegard Hagen <[email protected]>
2025-04-18 14:50:18 +02:00
Vegard Hagen b4922a3d79 feat(tofu): actually update kubernetes when saying so 2025-04-18 14:14:24 +02:00
Vegard Hagen e94a97e6f3 feat(tofu): refactor tofu-code
Tidying code and clarifying some sections

Signed-off-by: Vegard Hagen <[email protected]>
2025-04-18 13:56:14 +02:00
Vegard Hagen 67f160fea1 fix(tofu): volume-provisioning
A Proxmox update probably broke/changed the way API requests are handled, giving errors on UPDATE calls with parameters that aren't used

Error: unexpected response code '400': {"data":null,"errors":{"format":"property is not defined in schema and the schema does not allow additional properties","vmid":"property is not defined in schema and the schema does not allow additional properties","size":"property is not defined in schema and the schema does not allow additional properties","filename":"property is not defined in schema and the schema does not allow additional properties"}}

Also update Mastercard/restapi provider
2025-04-17 18:24:03 +02:00
Vegard Hagen 68d8cfb798 fix(renovate): group Netbird updates
Signed-off-by: Vegard Hagen <[email protected]>
2025-03-30 16:02:43 +02:00
Vegard Hagen 481b224f22 feat(authelia): upgrade to 4.39 and fix OIDC configuration
Signed-off-by: Vegard Hagen <[email protected]>
2025-03-30 15:48:12 +02:00
Vegard Hagen 057b203214 fix(jellyfin): recover jellyfin data
something went wrong when mounting the disk, trying to mount a copy of a zfs snapshot

Signed-off-by: Vegard Hagen <[email protected]>
2025-03-24 18:44:09 +01:00
Vegard Hagen 84d86e3880 fix(authelia): downgrade authelia
Signed-off-by: Vegard Hagen <[email protected]>
2025-03-24 18:02:14 +01:00
Vegard Hagen fc63899f1d fix(qBit): clean up ports used
Signed-off-by: Vegard Hagen <[email protected]>
2025-03-24 16:03:05 +01:00
Vegard Hagen c555e84f7a fix(utils): argocd project
Signed-off-by: Vegard Hagen <[email protected]>
2025-03-24 15:48:58 +01:00
Vegard Hagen b8201c456d fix: change to home-operations registry from onedr0p
this solves issue #239

Signed-off-by: Vegard Hagen <[email protected]>
2025-03-24 15:38:53 +01:00
Vegard Hagen 3bb7d5dd52 fix(adguard): remove creation timestamp field i secret 2025-03-24 15:05:35 +01:00
Vegard Hagen 51910d0e36 fix(authelia): new config parameters after update 2025-03-24 15:03:17 +01:00
Vegard Hagen 94fa06f4bc refactor(tofu): template extraManifests in talos machine-config 2025-03-23 21:07:26 +01:00
Vegard Hagen e7ae041021 refactor(tofu): template kubelet args 2025-03-23 20:59:11 +01:00
Vegard Hagen 4c2890c672 feat(tofu): better way of using inlineManifests for bootstrapping Cilium
This solves #145
2025-03-23 20:51:16 +01:00
Vegard Hagen e747d74097 feat(tofu): better way of supplying apiServer arguments 2025-03-23 19:32:56 +01:00
Vegard Hagen 737e047c8e refactor(tofu): extract variables into their own files
The .tfvars files are normally gitignored, but they serve as an example here. Just need to make sure I don't commit a secret...

Inpired by #236
2025-03-23 17:19:46 +01:00
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