Commit Graph
100 Commits
Author SHA1 Message Date
Vegard Hagen 09966b457c fix(qbit): change port
Signed-off-by: Vegard Hagen <[email protected]>
2025-07-24 20:34:25 +02:00
Vegard Hagen c1b1719e8c fix(cilium): disable alpn
I have a hunch that this somehow interferes with Argo CD.

The Argo CD login page shows up in Safari 18.5, Brave 1.80.120 and
Firefox 140.0.4.
After logging in using Authelia (OIDC), Argo CD starts to display 404
error in Brave and Firefox, but it works in Safari.
Clearing site data makes the login page show up in Brave and Firefox
again.

Signed-off-by: Vegard Hagen <[email protected]>
2025-07-21 10:27:13 +02:00
Vegard Hagen cb66358a0e fix(argocd): remove grpcroute
the tlsroute should be able to handle grpc-connections, having both seem to create some trouble

Signed-off-by: Vegard Hagen <[email protected]>
2025-07-20 13:30:16 +02:00
Vegard Hagen 3d2de963b5 fix(netbird): clean up configuration
Signed-off-by: Vegard Hagen <[email protected]>
2025-07-20 13:18:31 +02:00
Vegard Hagen eea1d4a58b fix(adguard): update config schema version
Signed-off-by: Vegard Hagen <[email protected]>
2025-07-20 13:18:31 +02:00
Vegard Hagen 907c9876fe fix(dns): remove special entries for proxmox and truenas
Signed-off-by: Vegard Hagen <[email protected]>
2025-07-20 13:18:31 +02:00
Vegard Hagen a2d0e263f0 fix(gateway): remove separate tls-passthrough gateway
It appears to work without a separate Gateway now. Should investigate if https://github.com/cilium/cilium/issues/32371 can be closed

Signed-off-by: Vegard Hagen <[email protected]>
2025-07-20 13:18:31 +02:00
Vegard Hagen a788e2e12c feat(argocd): enable argocd cli
Also change Argo CD to use a proper certificate

Signed-off-by: Vegard Hagen <[email protected]>
2025-07-20 13:18:31 +02:00
Vegard Hagen f13ee5e73f feat(lldap): clean up config
Signed-off-by: Vegard Hagen <[email protected]>
2025-07-20 13:18:19 +02:00
Vegard Hagen 6c37523f6f feat(ci): run tofu format inside devimage
Signed-off-by: Vegard Hagen <[email protected]>
2025-07-19 19:02:39 +02:00
Vegard Hagen 88c39b2b50 feat(devcontainer): add kubeconform
Signed-off-by: Vegard Hagen <[email protected]>
2025-07-18 19:56:18 +02:00
Vegard Hagen b1214dc993 feat(devcontainer): add Node
Many GitHub actions rely on Node. If we want to run the actions inside this image we need it

Signed-off-by: Vegard Hagen <[email protected]>
2025-07-18 19:09:49 +02:00
Vegard Stenhjem Hagen eaf7c15a8f feat(ci): only run tofu fmt when necessary
Signed-off-by: Vegard Hagen <[email protected]>
2025-07-16 23:54:47 +02:00
Vegard Hagen 53ef70cc44 feat(devcontainer): absorb common-utils feature into Containerfile
This will hopefully cut down on build-time and was an interesting exercise

Signed-off-by: Vegard Hagen <[email protected]>
2025-07-16 23:54:42 +02:00
Vegard Hagen a3c5313f74 feat(devcontainer): do more in Containerfile for thinner image
Signed-off-by: Vegard Hagen <[email protected]>
2025-07-14 23:26:34 +02:00
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