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>
32 lines
3.0 KiB
YAML
32 lines
3.0 KiB
YAML
samba_password: ENC[AES256_GCM,data:K3FtKC0CrOLMyfQokmxxlyUnDPo=,iv:9bTE/S/i05LJYldOHuBuz3+g8JdTuq0ysFFgXOmfti8=,tag:77NIxy7qpHRqCmbOR83AfA==,type:str]
|
|
darman_password: ENC[AES256_GCM,data:DOHHlM4Qdw4WgkN+/M51n2LMjJqq5MS0FeGEH8Pz3297yUZ8jBDOKRS/Tek9stC05JKEQRtn/vVVbAY0nXs20MwrsDMo+IEFXx7Ms90vVyYIYe5O5/0aQkPq84vcwGN0RW1Rj5Y3s38vWA==,iv:DAqHbvOBq7FT7ALbmBXJ0HadEGEsL8V2e7R99H5ZH0s=,tag:9XpiRFIbaZjMn59uHCOA1g==,type:str]
|
|
tailscale_authkey: ENC[AES256_GCM,data:dwBoHIJNcRSLxk1rbMsrEHVoYdxdnvYpPq44utfQ8t4XkXEzto96FEctv/QuPYVGgUxdyPczmc0/97m4AAKjaBVGFXpt/XlnFQI2XgzgSJ0qhNWyfJ1F/g==,iv:1b9nMeeZwr4O8cKjxQ0f+j/yxMUBZpicmdXw7bb9hZk=,tag:FWgrKtKgqailQk+BcZNXhw==,type:str]
|
|
mediamanager_token_secret: ENC[AES256_GCM,data:g75vj1E6B029O076yV3DS/1z99Tq6wMhEVx+ULYDjHsplyA+vqVRvBlviC64V47IMqKd9k2eTGBJ98Ptv3UIjbr446xZinz0c7PZgHU0XOX4EUcB1ORloMFZIv1zUv8VRjUISUQnn/vRk60e7u8eXrOrgXjxfnoBKrdKZmqxhAM=,iv:2t0XBExC9RvbTomezka+99/LtJl64zNwneA7WWc4ju0=,tag:SVCYuw0n6JevnvoQOIkjPw==,type:str]
|
|
sabnzbd_api_key: ENC[AES256_GCM,data:6UW1u2Ikmnq34t4H4k/4C44SJeFHRlaPjWwUjEfH1GQ=,iv:sGsd8Sd2pfUhTUDg6PlRzfVYejRbF69jmDTIa2fvY4M=,tag:3fOLgU1K1gKHxQ3J1+3oRQ==,type:str]
|
|
prowlarr_api_key: ENC[AES256_GCM,data:ab1QACaagI8ACJXFUy8r9X9lgYwRo1byUmhBPSRWwKk=,iv:EcuF6EN/4mWxlXi6R1qDzv4rOw6AT+OGSNQaaBwjJHg=,tag:hixHrbQWU6QQZNMM5rNDsg==,type:str]
|
|
cinephage_better_auth_secret: ENC[AES256_GCM,data:S1ilcQeC2HmXe/4xdLi6wm5RNz954SL3qVur6JCn5ekBVCbXMd1DGCafjhU=,iv:9rS5gDuazMOAq/hWp0onvHZPzKJgQM3oWIrtplJN/9I=,tag:xNqf/unY2v/98p4v52vUqw==,type:str]
|
|
sops:
|
|
age:
|
|
- enc: |
|
|
-----BEGIN AGE ENCRYPTED FILE-----
|
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2K0xFQmNXUGhHRW9FdEJB
|
|
c1BHQnJCODRGSUlMWkV1SEZlR1JpWTVpdzNBClprWmtIMEJlY3k1TE9CY3pCSlZ2
|
|
VDNlRFI4TUZPK2w2OU16VmlUck5IQmcKLS0tIEJJdkVzRERXTDNmWW81ZHRaeVBZ
|
|
SFAxTHNRdFFkTjRQK3RjemI5MW0vYTQKEMp7vk0QnhMGsn+Dfo50YNZ2jHFrbv0i
|
|
wU033yhkuHj3U7YHfhXYLEe8+Mq7BTVHe/dB97DYBDWmxHaL3Q/q5Q==
|
|
-----END AGE ENCRYPTED FILE-----
|
|
recipient: age1cekcqyf7073fsytcjxaa9dr9zwkmn4vjg36rv2tgxdglzfv4jvxqvcj6z2
|
|
- enc: |
|
|
-----BEGIN AGE ENCRYPTED FILE-----
|
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSRjhjWGZDMUZlWVBBc3hp
|
|
RWg4U2J0UWtReUJjUFpaQ2x2MzVURmhIZ1IwCld1aGRXZ0Fvcmpmd0tZTVdoVGxh
|
|
QnFvMWFaK1hWbVI4R1dOckpnMW5iSzAKLS0tICtod0FTODBMTXlTUFN6Vmx1dnV5
|
|
c241eUJUYUY0Sm41bzRZY1Z6VnVMcjgKzsSm8DWK1cga5VKAGSu7vYuCV1/2qmzk
|
|
CzjSDQZTcseEXZNwuzZcfB5Mvq0BQvjOj7lGuxzuE4qwWkdJWGfVLQ==
|
|
-----END AGE ENCRYPTED FILE-----
|
|
recipient: age1zak7glavmg4026p2389fyqe769vqm4jrryknuqckgqq4merz5f7q44rkkt
|
|
lastmodified: "2026-07-20T18:42:14Z"
|
|
mac: ENC[AES256_GCM,data:l9O/KAd/5KfC+LXwE2y5+ybflyy9Xl0PikoRfcOzIFu+fVWESyi0D22emWen6J4mpvsXgjAp4GCu4RKNTGyy47mfkaHh/KdxozEOmP8VlKOJXtqzU9lTgZwhHqkF9RKsRLKHvmREugwzWnpplJ8J7bg5Z3llBIM36FlElzQ9hUw=,iv:x0lM9Ctcn1XCsXftB9Ze8WV8Rp4YA26MQ/AdGC78MyY=,tag:gtfaSDQAcAkngRw2Ph2N0A==,type:str]
|
|
unencrypted_suffix: _unencrypted
|
|
version: 3.13.1
|