headscale: dns.extra_records from a role variable (tailnet aliases) #241
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Follow-up to the research issue #213. Implementation, small.
Where we are (read from the repo, 2026-10-16)
roles/headscale/templates/config.yaml.j2already hasdns.magic_dns: trueandbase_domain: ts.jfraeys.com(headscale_base_domain, derived frombase_domain).Every node already resolves as
<node>.ts.jfraeys.comfor clients that accept tailnet DNS (e.g. the operator's Mac).extra_records: []is hardcoded in the template, so there is no way to add an alias without editing the template.override_local_dns: true, global nameservers 1.1.1.1 / 1.0.0.1.tailscale up --accept-dns=false(roles/tailscale), so they do not use these names themselves.base_domainmust not be contained in theserver_urlhost (vpn.jfraeys.com), whichts.jfraeys.comsatisfies.To do
headscale_extra_records(list of{name, type, value}) and render it intodns.extra_records; default[], so nothing changes until used.[]../infra deploy --tags headscale --limit services. This recreates the Headscale container (short control-plane blip; existing tunnels keep running). Checkmanage vpn statusand a name lookup afterwards.Not in scope
Making servers use tailnet DNS (
--accept-dns), a separate resolver, public DNS changes.