class

Beryl::Apply::TailscaleAdvertise

Inherits Beryl::Apply::Primitive < Reference < Object

Primitive tailscale-advertise : déclare un node du mesh comme EXIT-NODE (route tout le trafic sortant des autres nodes) et/ou SUBNET-ROUTER (annonce des CIDR d'un LAN à joindre). Utilise tailscale set (déclaratif, ne re-join pas le mesh, complète headscale-join).

Le forwarding IP (ip-forward) et le NAT (pf) sont à poser À PART (dans la recette) : tailscale set ne fait que l'ANNONCE. Côté Headscale, la route doit ensuite être approuvée (headscale route enable ou ACL autoApprovers).

- tailscale-advertise: { exit_node: true }                 # exit-node
- tailscale-advertise: { routes: [192.168.1.0/24] }        # subnet-router

Constants

EXIT_ROUTES = ["0.0.0.0/0", "::/0"]

Instance methods

apply(shell : Shell, params : Hash(String, YAML::Any), dry_run : Bool, context : Context) : StepResult

params est le hash brut du step YAML (ex: {"packages" => [...]}), déjà interpolé par l'Executor. context porte les infos dérivées du host (cf. Context).

Source
name

Nom kebab-case utilisé comme clé de step dans les recettes (« pkg-install », « service-enable », …).

Source