Usluge
Usluga u receptu ima samo tri kanonska polja: name, enabled i otvoreni
objekt config. Oblik prolazi strukturnu validaciju, ali konfiguracijski ključ
ima učinak samo kad ga implementira odabrani build worker ili feature hook.
Validacija ne dokazuje da je daemon instaliran ili konfiguriran.
{
"services": [
{
"name": "ssh",
"enabled": true,
"config": {
"port": 2222,
"allow_root": false,
"disable_password_auth": true,
"authorized_keys": ["ssh-ed25519 AAAA... operator@example"]
}
}
]
}Konfiguracija SSH
Opći put gradnje Linuxa prepoznaje ove SSH postavke:
| Ključ recepta | Učinak |
|---|---|
port ili listen_port | OpenSSH port, 1–65 535 |
allow_root | Mapira na PermitRootLogin |
disable_password_auth | Pretvara (invertira) u PasswordAuthentication |
password_authentication | Izravna vrijednost OpenSSH tokena |
pubkey_authentication | Izravna vrijednost OpenSSH tokena |
client_alive_interval | Ograničeni ClientAliveInterval |
client_alive_attempts | Ograničeni ClientAliveCountMax |
authentication_retries | Ograničeni MaxAuthTries |
timeout | Ograničeno vrijeme za prijavu |
x11_forwarding, allow_agent_forwarding, allow_tcp_forwarding | Izravne vrijednosti OpenSSH tokena |
authorized_keys | Instalira dostavljene javne ključeve gdje je podržano |
Putovi specifični za worker mogu podržavati manji skup. Posebno hardware, Proxmox i graditelji Raspberry Pi imaju vlastite adaptere. Pregledajte normalizirani recept i upozorenja gradnje za odabrani cilj.
Ako je autentifikacija lozinkom onemogućena, uključite barem jedan valjani javni ključ i neovisno ga testirajte prije implementacije na hardware. U konfiguraciju usluge u receptu ne stavljajte privatne ključeve ni lozinke.
Ostale usluge
Imena poput nginx, wireguard, DNS, DHCP ili komponenti vatrozida nisu
univerzalni konfiguracijski API. Njihovi paketi i konfiguracija dolaze iz
odgovarajuće feature, hooka, popisa paketa ili startup script za odabranu bazu.
Proizvoljni objekt poput config.sites shema može prihvatiti, a ipak ga
ignorirati.
Slijedite ovaj redoslijed:
- Odaberite base image i uključite konkretnu feature ili pakete.
- Dodajte samo konfiguracijske ključeve implementirane za tu capability.
- Pregledajte normalizirani recept i generirana upozorenja.
- Dodajte assertions za prisutnost paketa, uključivanje usluge, portove slušanja, konfiguracijske datoteke i odgovor na razini aplikacije.
- Pokrenite artefakt i testirajte ga prije promocije na hardware ili u produkciju.
Vidi Features, Startup scripts i Assertion types.