Services
Un service de recette n’a que trois champs canoniques : name, enabled et un objet config ouvert. La forme se valide structurellement, mais une clé de configuration n’a d’effet que lorsque le worker de build ou le hook de fonctionnalité sélectionné l’implémente. La validation ne prouve pas qu’un démon a été installé ou configuré.
{
"services": [
{
"name": "ssh",
"enabled": true,
"config": {
"port": 2222,
"allow_root": false,
"disable_password_auth": true,
"authorized_keys": ["ssh-ed25519 AAAA... operator@example"]
}
}
]
}Configuration SSH
Le chemin de build Linux général reconnaît ces paramètres SSH :
| Clé de recette | Effet |
|---|---|
port ou listen_port | Port OpenSSH, 1–65,535 |
allow_root | Mappe vers PermitRootLogin |
disable_password_auth | Inverse en PasswordAuthentication |
password_authentication | Valeur de jeton OpenSSH directe |
pubkey_authentication | Valeur de jeton OpenSSH directe |
client_alive_interval | ClientAliveInterval borné |
client_alive_attempts | ClientAliveCountMax borné |
authentication_retries | MaxAuthTries borné |
timeout | Délai de grâce de connexion borné |
x11_forwarding, allow_agent_forwarding, allow_tcp_forwarding | Valeurs de jeton OpenSSH directes |
authorized_keys | Installe les clés publiques fournies lorsque supporté |
Les chemins propres au worker peuvent supporter un ensemble plus petit. En particulier, les builders matériel, Proxmox et Raspberry Pi ont leurs propres adaptateurs. Inspectez la recette normalisée et les avertissements de build pour la cible sélectionnée.
Si l’authentification par mot de passe est désactivée, incluez et testez indépendamment au moins une clé publique valide avant déploiement sur matériel. Ne mettez pas de clés privées ou mots de passe dans la configuration de service de recette.
Autres services
Des noms comme nginx, wireguard, DNS, DHCP ou composants pare-feu ne forment pas une API de configuration universelle. Leurs paquets et configuration viennent de la fonctionnalité, du hook, de la liste de paquets ou du script de démarrage correspondant pour la base sélectionnée. Un objet arbitraire comme config.sites peut être accepté par le schéma et rester ignoré.
Utilisez cette séquence :
- Sélectionnez une image de base et activez la fonctionnalité ou les paquets concrets.
- Ajoutez uniquement les clés de configuration implémentées pour cette capacité.
- Inspectez la recette normalisée et les avertissements générés.
- Ajoutez des assertions pour présence de paquet, activation de service, ports en écoute, fichiers de configuration et réponse au niveau application.
- Démarrez et testez l’artefact avant promotion matérielle ou production.
Voir Fonctionnalités, Scripts de démarrage et Types d’assertion.