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
Vegard Hagen
5abde08753
fix: conflicting svc name
2024-11-17 17:03:28 +01:00
Vegard Hagen
e6a8ad12c8
chore(plex): use Memory for /tmp and /transcode
...
Try to fix NodeDiskPressure issue where I think Plex filling up ephemeral storage
2024-11-17 17:03:28 +01:00
Vegard Hagen
dbb66ba93d
chore: rename svc for arr-stack applications
...
Dropping -web postfix since it doesn't mean anything and I think it just clutters
2024-11-17 17:03:28 +01:00
Vegard Hagen
8668f58a38
chore(gateway): update to Gateway API 1.1.0
2024-11-17 17:03:28 +01:00
Vegard Hagen
25f977126b
fix(cert): ask for cert for both *.stonegarden.dev and stonegarden.dev
...
try to bypass letsenrypt rate-limiting for exact set of domains
2024-11-17 17:03:27 +01:00
Vegard Hagen
ba2ab6435b
chore(cleanup): Cleanup after cluster rebuild
2024-11-17 17:03:27 +01:00
Vegard Hagen
1c602200c7
chore(pv): consistent naming scheme
2024-11-17 17:03:27 +01:00
Vegard Hagen
69d56e8e71
feat: install Netbird as a VPN solution
...
Also configure Netbird OIDC client in Keycloak using Crossplane
2024-11-17 17:03:27 +01:00
Vegard Stenhjem Hagen
935a13038c
fix(remark42): correct url
...
Wrong URL used from the old cluster. Made it impossible to log in due to a wrong redirect URL.
2024-11-17 17:03:27 +01:00
Vegard Hagen
e2e30a91e2
fix: bind prometheus operator to same node with volume
...
No shared volumes (yet), so have to bind deployment to the node with the volume
2024-11-17 17:03:27 +01:00
Vegard Hagen
c4ba7120dd
feat(tofu): updated kubernetes setup
...
tried to to some tidying while writing an article based on the current
setup.
2024-11-17 17:03:27 +01:00
Vegard Hagen
0a265cbfd5
fix: crossed-wires in Plex and Jellyfin
2024-11-17 17:03:26 +01:00
Vegard Hagen
605e5ef181
fix: increase cpu and mem limits for Argo CD and cloudflared
...
This will hopefully alleviate issues with syncing and routing apparently hanging sometimes
2024-11-17 17:03:26 +01:00
Vegard Hagen
4cb40d3282
feat: configure keycloak using crossplane provider
2024-11-17 17:03:26 +01:00
Vegard Hagen
76ab7a71a2
feat: add crossplane.io
...
Planning to use Crossplane to declaratively create OIDC-clients for Keycloak
2024-11-17 17:03:26 +01:00
Vegard Hagen
628bdb53d6
feat(auth): add keycloak for auth
2024-11-17 17:03:26 +01:00
Vegard Hagen
be08e101b2
feat: configure renovate
2024-07-22 01:05:36 +02:00
Vegard Hagen
c80528ffbd
chore: switch remodelling to main-branch
2024-07-21 23:40:10 +02:00
Vegard Hagen
207b1892bf
feat: cleanup of remodelling
...
move remodel folder down to root and delete old unused manifests
2024-07-21 23:21:12 +02:00
Vegard Hagen
f1797c94ec
feat(monitoring): install kube-prometheus-stack
2024-07-21 23:20:31 +02:00
Vegard Hagen
4d2fe610e2
fix(proxmox-csi-plugin): fetch from Helm chart
2024-07-21 23:20:31 +02:00
Vegard Hagen
1eafca98b5
chore: enable Cilium Hubble
2024-07-21 23:20:31 +02:00
Vegard Hagen
7c492be433
chore: switch Argo CD over to main domain
2024-07-21 23:20:30 +02:00
Vegard Hagen
aa6af35f48
feat: routes to cluster external services
...
Routes to Home Assistant, Proxmox and TrueNAS
2024-07-21 23:20:30 +02:00
Vegard Hagen
482c0368ea
fix: stonegarden routing
...
added a listener for stonegarden.dev
2024-07-21 23:20:30 +02:00
Vegard Hagen
2c1e894af0
fix: media player services
...
Correct labels and svc type
2024-07-21 23:20:30 +02:00
Vegard Hagen
bca0889c47
fix(cloudflared): correct routing to homepage
2024-07-21 23:20:30 +02:00
Vegard Hagen
bf5f26da5a
chore: restore remark42 backup
2024-07-21 23:20:30 +02:00
Vegard Hagen
32cee0d16e
chore: move from euclid sub-domain to main domain
2024-07-21 23:20:30 +02:00
Vegard Hagen
731a16baf3
feat(homepage): add homepage and blog
...
Add Vue Homepage, Hugo blog and Remark 42 for comments
2024-07-21 23:20:30 +02:00
Vegard Hagen
3edf3260d6
feat(media): add media players
...
Adding both Plex and Jellyfin media players
2024-07-21 23:20:29 +02:00
Vegard Hagen
7780078984
chore(tofu): don't use variables for nodes and volumes in main module
2024-07-21 23:20:29 +02:00
Vegard Hagen
ac16aed3d2
feat: add node-feature-discovery and intel-device-plugins
...
label nodes with features to enable e.g. Intel iGPU support
2024-07-21 23:20:29 +02:00
Vegard Hagen
bd7ae1f091
feat(arr): implement arr stack
...
lidarr, prowlarr, radarr, sonarr, torrent
2024-07-21 23:20:29 +02:00
Vegard Hagen
d7f90f34e1
fix: configure gateway
...
also add a cluster-issuer for ingresses
2024-07-21 23:20:29 +02:00
Vegard Hagen
127290d99b
feat(network): add cloudflared
...
encrypted tunnel to cloudflare
2024-07-21 23:20:29 +02:00
Vegard Hagen
f65eb23cc5
fix: proxmox-csi-plugin configuration
...
Missing volumes attributes
2024-07-21 23:20:29 +02:00
Vegard Hagen
f39dc98104
fix(talos): upgrading now actually works without destroying the cluster
...
Use only one pve_download_file resource and key it to <node>_<schematic-id>_<version>
2024-07-21 23:20:29 +02:00
Vegard Hagen
29f5ce8b14
feat(talos): generate schematic id on-the-fly and add possibility of changing image
...
Utilize Talos Factory API to generate schematic ID which can be used to download images
Add possibility of running two different images in cluster. This allows changing version or schematic for the cluster in place
2024-07-21 23:20:28 +02:00
Vegard Hagen
805ab61017
feat: add Gateway API and Gateways
2024-07-21 23:20:28 +02:00
Vegard Hagen
fe368b937e
feat: add Cert-manager
2024-07-21 23:20:28 +02:00
Vegard Hagen
7a946e3e23
feat(volumes): provision volumes using tofu
...
Declaratively provision Proxmox backend persistent volumes for Kubernetes using the Proxmox REST API
2024-07-21 23:20:28 +02:00
Vegard Hagen
677cf79d6c
chore(argocd): set resources for components
2024-07-21 23:20:28 +02:00
Vegard Hagen
8c5389c31c
feat(talos): Bootstrap Cilium from ConfigMap
...
Start adding infrastructure manifests
2024-07-21 23:20:28 +02:00
Vegard Hagen
daaafc8fea
feat(tofu): split into multiple configurations
2024-07-21 23:20:28 +02:00
Vegard Hagen
fbdccd7731
feat(k8s): multi-node Talos cluster
2024-07-21 23:20:27 +02:00
Vegard Hagen
854b6ce6a2
chore(arr): decomission arr in old cluster
...
arr-stack is now up and running in new Talos-cluster
2024-07-18 15:35:15 +02:00
Vegard Hagen
14f1f5c0e4
chore(cert-manager): Update to 1.15.0
2024-07-07 14:48:17 +02:00
Vegard Hagen
0db54c5fd8
test(plex): Enable Plex again
2024-07-07 14:48:17 +02:00
Vegard Hagen
911cdddd6e
test(plex): Remove deployment and service. Run from Euclid instead.
2024-07-07 14:48:17 +02:00
Vegard Hagen
884fe3bd00
feat(auth): add Keycloak for auth
2024-07-07 14:47:52 +02:00
Vegard Hagen
0b628e1a0d
refactor(networking): Create a separate networking folder
...
First out is the cloudflared resources
2024-05-05 20:39:30 +02:00