headscale: add OIDC login, stop overriding clients' local DNS
Two changes to the control server, plus the fallout on the hosts. OIDC via Authentik, so `tailscale up --login-server ...` opens a browser instead of needing a pre-auth key. This is a second Authentik application, separate from headplane's, with headscale's own /oidc/callback redirect. Headless hosts keep using pre-auth keys. Note that headscale runs OIDC discovery at startup and a failure is FATAL -- pointing `issuer` at an application that does not exist yet means the control server will not boot, so verify the discovery document before deploying. override_local_dns = false, because the upstream default of true replaces resolv.conf with 100.100.100.100 on every node. That silently broke the LAN's `.sol` names -- pihole serves those and the global nameservers return NXDOMAIN for them -- and took ad blocking down with them. It also made each node's entire DNS depend on tailscaled, which is what had forced --accept-dns=false onto neptun and mercury individually; both of those workarounds are now removed, and with MagicDNS resolving properly again neptun no longer needs its hardcoded /etc/hosts pin for jupiter. Also serves jellyfin and seerr from jupiter, matching the ports they already use on its LAN vhosts, and rotates the tailnet pre-auth keys. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+4
-3
@@ -2,10 +2,11 @@ darman_password: ENC[AES256_GCM,data:7G2Hgh13TxI6ugw2ebp9UtLTQ7HRC/hrCga0FmZo8h8
|
||||
authentik_secret_key: ENC[AES256_GCM,data:qLrAWBywlMqT6D3FYDqE9I/5Ep+zDVu9ns9TA4UVOBSQ1uFGEj01TU9norqPf12pi9/Qs32mVzm5BqDG259DxdGT9DZVQc03QVwiIQYtmWo=,iv:OVCIxIP1Xv+nHmYsrxaPgYWQiwzVPUe8pnbyMBVAuoI=,tag:+ywkwPqkY1Dkx1R5cUJ7PA==,type:str]
|
||||
authentik_bootstrap_email: ENC[AES256_GCM,data:OmqpKAiiFyS/rytnHYRZ,iv:VXiPV5VfduC/IW+E3gDlNAeE+hr+IZ9W7Ty6Npuu59Y=,tag:rjvTHnBxN/pMvpQC5W9S6Q==,type:str]
|
||||
authentik_bootstrap_password: ENC[AES256_GCM,data:QPCY0ni3jBQY5HyK+vRlyT4YTEo=,iv:41u1Jf+WYksPUY4pvKdHQA1RHW21GAfdVDRuQ7XtdYc=,tag:SYmzv26GbE1kwleXyKLG4Q==,type:str]
|
||||
tailscale_authkey: ENC[AES256_GCM,data:t8oKG+oSZrGF1Xb2YX7qWxo/z/dfsq/56kah/cvIdfQihuOSWNuMEWDcph1wlRCgRmNhQE8oqbO61m8xNQuOn+bNHsAEmh9GO9dt+uFuRKdwXJ2vM0nA+Q==,iv:6aq6buNvJ+Y0AUWBLNCdsl+svGGlXzpn5J3Oy7dPDys=,tag:T/lwzHUtyvcbjbKbu6jWeA==,type:str]
|
||||
tailscale_authkey: ENC[AES256_GCM,data:0Rkz9igafuEwHFDNqCaT6bVgL4pF7uyW4PKqimONMfZy4zrrHBO9SFedyrOjmByZxQjmHsb9VmBiHsrStPVnPmMRqZJG5lyuiWjorHcyoG+NxpAo6Az87Q==,iv:UnSWVQOFc/nEbJs5s4rF+F9XYRY0VVpIxoMp+VqKh/o=,tag:Gv6f+s+zwY2jU7NZUx0rrA==,type:str]
|
||||
headplane_cookie_secret: ENC[AES256_GCM,data:oXYRG4z16u6HS7zXoWrV2q/HL2o24n4UwVXnQvqBmbY=,iv:itAiy/w6ue4VzqO5xYnvSYN3uCLLmu52dvAAxZ2pCGc=,tag:MEFP171GpSQpAqUFsWY+VA==,type:str]
|
||||
headplane_oidc_client_secret: ENC[AES256_GCM,data:RiEESz1WHYH/smlJKmKFpPoF5HRYp8gHJoKqc49xRRuU9WnQCnmETie/68u37sSVniQmQZSOmXxdmvuuJgP5LMcPdkrQmQE+QX80RQhtTVvg2AhqRaK4V+qfQleD/aJjoIHojeM3UBUi4kYOhDJF0FFTP+qR4oitH6W8/2jxRsc=,iv:hXquOglPhRv+QTVRw5fkY7BWuwLtJxK5tNERGBOOmt8=,tag:2KczveRWoq7iTOdwjO+AUw==,type:str]
|
||||
headplane_headscale_api_key: ENC[AES256_GCM,data:KcwcprV100wfAkn+YM4+1oTfXkmyeAMAbXNpQKf2iIq0VxwqVep+fORrKmHiwDViciDoyxdMiT4scGlmd4vQRsWEHdDpkuH7MRHYu0hQepE3rSSQAMbK,iv:NEhmi2hiOE+uSIRZ4uXOK1UGpN+FQx/NpooWzTgwik8=,tag:KcPsD4gp51ERaFwgfA0BrQ==,type:str]
|
||||
headscale_oidc_client_secret: ENC[AES256_GCM,data:262lZGgtmuXTuk3He1WyqyjcXrdnIiwNyWlXEYCGKYbKkWe0JPbUdWcwGVlZ+wXt71pzKuRDpZjgdibVTWYd71mohD/Ni6CwJm7dhf517DqznnYrxojZaSxRYXg/sCVSkwEvVseJ5z2yf/Led1VLNd3I1PaUIlwkdm2P91ps7mM=,iv:w/hu7siWwNAIw7g14bake5BP8ouA/b1SZdeukZXa/dw=,tag:vAXqWfSHwIdGAjR78gSpRg==,type:str]
|
||||
caddy_acme_email: ENC[AES256_GCM,data:j+iPz4lt0Gqs2SKHTS53,iv:DQNfcpYy2v93sKeCvXzLOoBhAo0PjZrxHgFD1oVqYu8=,tag:1yPH/2cW/IiRi9lT8dELEg==,type:str]
|
||||
sops:
|
||||
age:
|
||||
@@ -27,7 +28,7 @@ sops:
|
||||
Wptkf76aP9UpjhgNkxzedRebQPB7ti+UiVqCvLVimtuHcsm/NJPcRg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
recipient: age1hp72xyx2cnd05937e4eww95g5kdtn0wsf9j2nypw330pa69gfdxqn0lpkp
|
||||
lastmodified: "2026-07-20T08:15:48Z"
|
||||
mac: ENC[AES256_GCM,data:yDiCTDaIwMCXZfzE4khI7AHNoYi3AHFX+nSXtioNRqLEOu1fBCA3OqHpzTi4Cskv2o7r9nlxx5AGPM+2d3bSHkXW7SJk680IMA/XzfDIKGU6A7+3NDt14/PgxOvPeVTfNWwlWIW9tXPtTVJmnoItTzPsxcLO3OyfbbO+vZhj/j4=,iv:xeqYTLjG0B6yCWoke0lulHetVNlShmw7Nm+8mmwOZ5I=,tag:JUEqRfEprzGMGoGsXp9rKQ==,type:str]
|
||||
lastmodified: "2026-07-20T18:41:45Z"
|
||||
mac: ENC[AES256_GCM,data:Ie+xvOMKI4ARsYEvKc9iKuCahNQWWmjHQ56NpGsPbYF7XMv2HoOor/Nj7VJNhUD8DnoSq5A67qglfmTSk+KB65yMVSeDYJam5hwUzuo+IB9fHC1sWPNiWCVuG1iKh7ruiTaW/r3uA59+vQ2Ww5fFM/tTIuR1wtYtzVJ+5GKB/fA=,iv:5oYnhxlRfUDaxgR0FXPwE1eBrpqh/1eRWKTG8B+BgmQ=,tag:28Kxp4lp6F/mxTNXCCW8ZQ==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.13.1
|
||||
|
||||
Reference in New Issue
Block a user