Beryl::Apply
Constants
Code de sortie de sh_line quand le script n'a pas pu être décodé.
Systèmes cibles. FreeBSD est la cible de beryl ; Linux (systemd, SUSE
pour pkg-install) est pris en charge pour une poignée de primitives
seulement (une VM confiée par un client, par exemple), chacune le
déclarant dans Primitive#systems, chaque recette dans systems:.
Class methods
Variable du coffre PROPRE À UN SERVEUR : <HÔTE>__<NOM> (nom court en
majuscules, tout caractère hors [A-Z0-9] → _). Serveur en tête : dans
le coffre trié, tous les secrets d'un serveur se suivent. Ex. sur web1 :
WEB1__APP_AGENT_TOKEN.
Ancienne forme <NOM>__<HÔTE> (jusqu'à 0.6.140), encore lue en repli
le temps de renommer les secrets existants du coffre.
Valeur d'un secret du coffre (injecté dans ENV) pour ce serveur : la
variante propre au serveur d'abord (<HÔTE>__<NOM>, puis l'ancienne
forme <NOM>__<HÔTE>), puis, sauf per_host, la variable commune à la
société. nil si absente ou vide. Un secret qui doit être distinct par
serveur (jeton, clé) demande per_host: true : la valeur commune est
alors refusée, plutôt que de réutiliser celle d'un autre.
Une variante du serveur DÉCLARÉE VIDE (SERVEUR__NOM = '') écarte la
valeur commune : « pas de valeur pour ce serveur » (ex. relais de mail
sans mot de passe sur un serveur, avec sur les autres).
Ligne sh -c … qui exécute script (sh POSIX) quel que soit le shell de
connexion distant. Un script d'UNE ligne est simplement cité ; un script
multi-ligne voyage en base64 : csh (shell de connexion d'admin et des
anciens root FreeBSD) refuse un retour à la ligne entre apostrophes
(« Unmatched ' », « Illegal variable name », « esac: Command not found »,
qwerty, 14 oct. 2026). Le script décodé est passé en ARGUMENT de sh -c,
pas par un pipe : une commande du script qui lit stdin avalerait la suite.
Décodage impossible (ni b64decode, base FreeBSD, ni base64) → code
DECODE_FAILED + message, jamais un script vide joué en silence.
Nested types
- Beryl::Apply::AcmeCert
- Beryl::Apply::AssertEnvVar
- Beryl::Apply::AssertTailscaleUp
- Beryl::Apply::AutoCloseCancel
- Beryl::Apply::AutoCloseSchedule
- Beryl::Apply::ClamdConfigSet
- Beryl::Apply::Command
- Beryl::Apply::ConflictingRequiredArgs
- Beryl::Apply::Context
- Beryl::Apply::CronEntry
- Beryl::Apply::Directory
- Beryl::Apply::DnsHook
- Beryl::Apply::DnsRecord
- Beryl::Apply::DuplicatePath
- Beryl::Apply::Executor
- Beryl::Apply::FileAbsent
- Beryl::Apply::FileTemplate
- Beryl::Apply::FileWrite
- Beryl::Apply::Freshclam
- Beryl::Apply::GitClone
- Beryl::Apply::GithubSshKey
- Beryl::Apply::GroupMember
- Beryl::Apply::HeadscaleJoin
- Beryl::Apply::HeadscaleStateCommit
- Beryl::Apply::IpForward
- Beryl::Apply::JailBase
- Beryl::Apply::JailCreate
- Beryl::Apply::JailDestroy
- Beryl::Apply::JailExec
- Beryl::Apply::JailProxy
- Beryl::Apply::LineInFile
- Beryl::Apply::MakeInstall
- Beryl::Apply::MariadbSecure
- Beryl::Apply::MissingVariable
- Beryl::Apply::Netif
- Beryl::Apply::Netif6
- Beryl::Apply::Outcome
- Beryl::Apply::PfRule
- Beryl::Apply::PkgInstall
- Beryl::Apply::PkgRemove
- Beryl::Apply::PkgUpgrade
- Beryl::Apply::PkgVersioned
- Beryl::Apply::Posix
- Beryl::Apply::PostgresqlDatabase
- Beryl::Apply::PostgresqlInitdb
- Beryl::Apply::PostgresqlRole
- Beryl::Apply::PoudriereBuild
- Beryl::Apply::Primitive
- Beryl::Apply::Recipe
- Beryl::Apply::Report
- Beryl::Apply::Resolver
- Beryl::Apply::SecretFile
- Beryl::Apply::ServiceDisable
- Beryl::Apply::ServiceEnable
- Beryl::Apply::ServicePrimitive
- Beryl::Apply::ServiceReload
- Beryl::Apply::ServiceRestart
- Beryl::Apply::Shell
- Beryl::Apply::SshShell
- Beryl::Apply::SshdConfigSet
- Beryl::Apply::Step
- Beryl::Apply::StepResult
- Beryl::Apply::SudoShell
- Beryl::Apply::Symlink
- Beryl::Apply::SysrcSet
- Beryl::Apply::TailscaleAdvertise
- Beryl::Apply::Template
- Beryl::Apply::UnknownPrimitive
- Beryl::Apply::UserCreate
- Beryl::Apply::UserShell
- Beryl::Apply::UserSshKey
- Beryl::Apply::UserSync
- Beryl::Apply::UserUpdateKeys
- Beryl::Apply::WireguardInterface
- Beryl::Apply::ZfsDataset