Beryl::Apply::WireguardInterface
Inherits Beryl::Apply::Primitive < Reference < Object
Primitive wireguard-interface : configure une interface WireGuard
(wg-quick, conf /usr/local/etc/wireguard/<iface>.conf), l'active au boot
(sysrc wireguard_enable + wireguard_interfaces) et la monte. Idempotente :
skip si la conf voulue est déjà en place ET l'interface montée.
La CLÉ PRIVÉE du serveur vient du COFFRE (jamais en clair dans le YAML) :
private_key_env nomme la variable d'ENV (injectée par le coffre au moment
de l'apply). Générez-la UNE fois : wg genkey (privée → coffre) / wg pubkey
(publique → à donner aux pairs). Le NAT/forwarding/ouverture UDP sont posés
À PART dans la recette (ip-forward, pf-rule).
- wireguard-interface:
address: "10.100.0.1/24" # IP du serveur dans le tunnel
listen_port: 51820
private_key_env: WG_PRIVKEY
peers:
- { name: iphone, public_key: "abc…=", allowed_ips: "10.100.0.2/32" }
- { name: pixel, public_key: "def…=", allowed_ips: "10.100.0.3/32" }
Constants
Class methods
Instance methods
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).
Nom kebab-case utilisé comme clé de step dans les recettes (« pkg-install », « service-enable », …).