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 ricetta | Effetto |
|---|---|
port o listen_port | Porta OpenSSH, 1–65.535 |
allow_root | Mappa su PermitRootLogin |
disable_password_auth | Inverte in PasswordAuthentication |
password_authentication | Valore token OpenSSH diretto |
pubkey_authentication | Valore token OpenSSH diretto |
client_alive_interval | ClientAliveInterval delimitato |
client_alive_attempts | ClientAliveCountMax delimitato |
authentication_retries | MaxAuthTries delimitato |
timeout | Tempo grace login delimitato |
x11_forwarding, allow_agent_forwarding, allow_tcp_forwarding | Valori token OpenSSH diretti |
authorized_keys | Installa 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:
- Seleziona un’immagine base e abilita feature o pacchetti concreti.
- Aggiungi solo chiavi di configurazione implementate per quella capacità.
- Ispeziona ricetta normalizzata e avvisi generati.
- Aggiungi asserzioni per presenza pacchetto, abilitazione servizio, porte in ascolto, file di configurazione e risposta a livello applicazione.
- Avvia e testa l’artefatto prima di promozione hardware o produzione.
Vedi Feature, Script di avvio, e Tipi asserzione.