Vegard Hagen
3452ba1cb2
feat(grafana): install grafana using grafana-operator
...
Decommission kube-prometheus-stack installed Grafana and use
grafana-operator instead.
Signed-off-by: Vegard Hagen <[email protected] >
2025-08-05 21:05:28 +02:00
Vegard Hagen
ca7e368c41
fix(monitoring): increase volume size
...
Signed-off-by: Vegard Hagen <[email protected] >
2025-08-03 15:59:03 +02:00
Vegard Hagen
a21783e706
fix(plex): volume won't mount
...
Signed-off-by: Vegard Hagen <[email protected] >
2025-08-03 15:59:03 +02:00
Vegard Hagen
c4f7010759
feat(kube): enable metrics
...
Enable kube-controller-manager, etcd, and kube-scheduler metrics
Also disable kube-proxy metrics since Cilium replaces it
Signed-off-by: Vegard Hagen <[email protected] >
2025-07-31 23:24:03 +02:00
Vegard Hagen
537c4756e8
feat(authelia): add metrics and grafana dashboard
...
Signed-off-by: Vegard Hagen <[email protected] >
2025-07-31 21:22:38 +02:00
Vegard Hagen
3634e29a6b
fix(grafana): add admin credentials
...
admin credentials are needed by the sidecards in order to update datasources and dashboards
Signed-off-by: Vegard Hagen <[email protected] >
2025-07-31 21:02:22 +02:00
Vegard Hagen
004c3cf1e2
fix(authelia): obfuscate smtp relay username to avoid getting "leaked" credentials emails
...
Also rotate both username and password
Signed-off-by: Vegard Hagen <[email protected] >
2025-07-31 20:05:45 +02:00
Vegard Hagen
0ff3a46685
fix(email): change provider to mailersend
...
Mail from Brevo includes a tracking pixel that you can't get rid of. To quote Lemongrab: "Unacceptable!"
Signed-off-by: Vegard Hagen <[email protected] >
2025-07-29 23:40:36 +02:00
Vegard Hagen
08c01b3fbc
fix(email): change provider to brevo
...
SendGrid started charging money for basic functionality, so changing to free tier in Brevo
Signed-off-by: Vegard Hagen <[email protected] >
2025-07-29 22:36:32 +02:00
Vegard Hagen
285d9b075e
feat(monitoring): enable nodeExporter
...
Signed-off-by: Vegard Hagen <[email protected] >
2025-07-28 18:21:58 +02:00
Vegard Hagen
5c3395210a
feat(argocd): add metrics and grafana dashboard
...
Signed-off-by: Vegard Hagen <[email protected] >
2025-07-26 15:38:49 +02:00
Vegard Hagen
9fc5f0f0c4
feat(grafana): oauth/oidc integration
...
Signed-off-by: Vegard Hagen <[email protected] >
2025-07-26 14:34:36 +02:00
Vegard Hagen
559b4c3d24
feat(cilium): add grafana dashboards
...
Signed-off-by: Vegard Hagen <[email protected] >
2025-07-25 22:29:24 +02:00
Vegard Hagen
e864098520
fix(monitoring): try server-side apply of kube-prometheus-stack again
...
Try without an extra Application resource again
Signed-off-by: Vegard Hagen <[email protected] >
2025-07-25 17:18:08 +02:00
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 Hagen and GitHub
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