Skip to Content
Building OsServices

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 recetteEffet
port ou listen_portPort OpenSSH, 1–65,535
allow_rootMappe vers PermitRootLogin
disable_password_authInverse en PasswordAuthentication
password_authenticationValeur de jeton OpenSSH directe
pubkey_authenticationValeur de jeton OpenSSH directe
client_alive_intervalClientAliveInterval borné
client_alive_attemptsClientAliveCountMax borné
authentication_retriesMaxAuthTries borné
timeoutDélai de grâce de connexion borné
x11_forwarding, allow_agent_forwarding, allow_tcp_forwardingValeurs de jeton OpenSSH directes
authorized_keysInstalle 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 :

  1. Sélectionnez une image de base et activez la fonctionnalité ou les paquets concrets.
  2. Ajoutez uniquement les clés de configuration implémentées pour cette capacité.
  3. Inspectez la recette normalisée et les avertissements générés.
  4. Ajoutez des assertions pour présence de paquet, activation de service, ports en écoute, fichiers de configuration et réponse au niveau application.
  5. Démarrez et testez l’artefact avant promotion matérielle ou production.

Voir Fonctionnalités, Scripts de démarrage et Types d’assertion.