Tjänster
En recipe-tjänst har bara tre kanoniska fält: name, enabled och ett
öppet config-objekt. Formen valideras strukturellt, men en konfigurationsnyckel
har effekt först när vald build worker eller feature hook implementerar den.
Validering är inte bevis på att en daemon installerades eller konfigurerades.
{
"services": [
{
"name": "ssh",
"enabled": true,
"config": {
"port": 2222,
"allow_root": false,
"disable_password_auth": true,
"authorized_keys": ["ssh-ed25519 AAAA... operator@example"]
}
}
]
}SSH-konfiguration
Den allmänna Linux-buildvägen känner igen dessa SSH-inställningar:
| Recipe-nyckel | Effekt |
|---|---|
port or listen_port | OpenSSH-port, 1–65 535 |
allow_root | Mappas till PermitRootLogin |
disable_password_auth | Inverteras till PasswordAuthentication |
password_authentication | Direkt OpenSSH-tokenvärde |
pubkey_authentication | Direkt OpenSSH-tokenvärde |
client_alive_interval | Begränsat ClientAliveInterval |
client_alive_attempts | Begränsat ClientAliveCountMax |
authentication_retries | Begränsat MaxAuthTries |
timeout | Begränsad inloggningsgraceperiod |
x11_forwarding, allow_agent_forwarding, allow_tcp_forwarding | Direkta OpenSSH-tokenvärden |
authorized_keys | Installerar angivna publika nycklar där det stöds |
Workerspecifika vägar kan stödja en mindre uppsättning. Hårdvaru-, Proxmox- och Raspberry Pi-builders har egna adaptrar. Granska det normaliserade receptet och buildvarningar för valt mål.
Om lösenordsautentisering är avstängd, inkludera minst en giltig publik nyckel och testa den separat innan du deployar till hårdvara. Lägg inte privata nycklar eller lösenord i recipe-tjänstens konfiguration.
Andra tjänster
Namn som nginx, wireguard, DNS, DHCP eller brandväggskomponenter är inte
ett universellt konfigurations-API. Paket och konfiguration kommer från motsvarande
feature, hook, paketlista eller startup script för vald bas. Ett godtyckligt objekt
som config.sites kan accepteras av schemat och ändå ignoreras.
Använd denna ordning:
- Välj en base image och aktivera den konkreta featuren eller paketen.
- Lägg bara till konfigurationsnycklar som implementerats för den capabilityn.
- Granska det normaliserade receptet och genererade varningar.
- Lägg till assertions för paketnärvaro, tjänstaktivering, listener-portar, konfigurationsfiler och svar på applikationsnivå.
- Starta och testa artefakten innan hårdvara eller produktion.
Se Features, Startup scripts och Assertion types.