class

Beryl::Apply::JailCreate

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

Primitive jail-create : crée (idempotent) une thin jail FreeBSD en RAW jail.conf — une appli web = une jail, base partagé en nullfs RO + couche rw. Confine l'appli : depuis l'intérieur, ../ ne sort pas de la jail.

- jail-create:
    name: myapp            # = nom de l'appli (et de la jail)
    index: 5               # → IP loopback 127.0.1.5 (ou `ip:` explicite)
    # base: /jails/.base   # défaut ; doit exister (primitive jail-base)
    # root: /jails         # défaut : racine des jails

Idempotent : si la jail tourne déjà (jls -j <name>), skip. Sinon : crée le skeleton rw, pose /etc/jail.conf.d/<name>.conf + <root>/<name>.fstab (nullfs RO), et démarre la jail.

⚠️ À VALIDER IN VIVO (jails non testables hors FreeBSD) : les générateurs purs (jail.conf, fstab, skeleton) sont testés ; l'exécution réelle non.

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