class

Beryl::Apply::SshdConfigSet

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

Primitive sshd-config-set : pose une directive dans /etc/ssh/sshd_config.d/beryl.conf (fichier géré par beryl, inclus par le sshd_config de base via Include sshd_config.d/*.conf).

Idempotence : la directive est déjà présente avec la bonne valeur → skip. Sinon le fichier est réécrit, validé (sshd -t) et sshd est rechargé (service sshd reload).

- sshd-config-set:
    key: PermitRootLogin
    value: "no"

Cas où la valeur dépend d'un état runtime (ex. IP de l'interface tailscale0 inconnue à l'écriture de la recette) : utiliser value_from_command à la place. La commande est exécutée côté serveur cible, son stdout strippé devient la valeur. Échec (exit ≠ 0 ou stdout vide) → la primitive fail.

- sshd-config-set:
    key: ListenAddress
    value_from_command: "tailscale ip -4"

Constants

HEADER = "# Géré par beryl (sshd-config-set). Ne pas éditer à la main.\n"
PATH = "/etc/ssh/sshd_config.d/beryl.conf"

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