Skip to Content

Servizi

Un servizio ricetta ha solo tre campi canonici: name, enabled e un oggetto config aperto. La forma valida strutturalmente, ma una chiave di configurazione ha effetto solo quando il worker build selezionato o l’hook feature la implementa. La validazione non prova che un daemon sia stato installato o configurato.

{ "services": [ { "name": "ssh", "enabled": true, "config": { "port": 2222, "allow_root": false, "disable_password_auth": true, "authorized_keys": ["ssh-ed25519 AAAA... operator@example"] } } ] }

Configurazione SSH

Il percorso build Linux generale riconosce queste impostazioni SSH:

Chiave ricettaEffetto
port o listen_portPorta OpenSSH, 1–65.535
allow_rootMappa su PermitRootLogin
disable_password_authInverte in PasswordAuthentication
password_authenticationValore token OpenSSH diretto
pubkey_authenticationValore token OpenSSH diretto
client_alive_intervalClientAliveInterval delimitato
client_alive_attemptsClientAliveCountMax delimitato
authentication_retriesMaxAuthTries delimitato
timeoutTempo grace login delimitato
x11_forwarding, allow_agent_forwarding, allow_tcp_forwardingValori token OpenSSH diretti
authorized_keysInstalla le chiavi pubbliche fornite dove supportato

I percorsi specifici worker possono supportare un set più piccolo. In particolare, builder hardware, Proxmox e Raspberry Pi hanno adapter propri. Ispeziona ricetta normalizzata e avvisi build per il target selezionato.

Se l’autenticazione password è disabilitata, includi e testa indipendentemente almeno una chiave pubblica valida prima del deploy su hardware. Non mettere chiavi private o password nella configurazione servizio ricetta.

Altri servizi

Nomi come nginx, wireguard, DNS, DHCP o componenti firewall non sono un’API di configurazione universale. I loro pacchetti e configurazione arrivano dalla feature corrispondente, hook, elenco pacchetti o script di avvio per la base selezionata. Un oggetto arbitrario come config.sites può essere accettato dallo schema e comunque ignorato.

Usa questa sequenza:

  1. Seleziona un’immagine base e abilita feature o pacchetti concreti.
  2. Aggiungi solo chiavi di configurazione implementate per quella capacità.
  3. Ispeziona ricetta normalizzata e avvisi generati.
  4. Aggiungi asserzioni per presenza pacchetto, abilitazione servizio, porte in ascolto, file di configurazione e risposta a livello applicazione.
  5. Avvia e testa l’artefatto prima di promozione hardware o produzione.

Vedi Feature, Script di avvio, e Tipi asserzione.