Storitve
Storitev v receptu ima le tri kanonična polja: name, enabled in odprt
objekt config. Oblika preide strukturno validacijo, vendar ima konfiguracijski
ključ učinek le, če ga izvede izbrani build worker ali feature hook. Validacija
ne dokazuje, da je bil daemon nameščen ali 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
Splošna pot gradnje Linuxa prepozna te nastavitve SSH:
| Ključ recepta | Učinek |
|---|---|
port ali listen_port | Vrata OpenSSH, 1–65 535 |
allow_root | Preslika v PermitRootLogin |
disable_password_auth | Pretvori (invertira) v PasswordAuthentication |
password_authentication | Neposredna vrednost žetona OpenSSH |
pubkey_authentication | Neposredna vrednost žetona OpenSSH |
client_alive_interval | Omejen ClientAliveInterval |
client_alive_attempts | Omejen ClientAliveCountMax |
authentication_retries | Omejen MaxAuthTries |
timeout | Omejen čas za prijavo |
x11_forwarding, allow_agent_forwarding, allow_tcp_forwarding | Neposredne vrednosti žetonov OpenSSH |
authorized_keys | Namesti podane javne ključe, kjer je podprto |
Poti, specifične za worker, lahko podpirajo manjši nabor. Zlasti hardware, Proxmox in gradniki Raspberry Pi imajo svoje adapterje. Preverite normaliziran recept in opozorila gradnje za izbrani cilj.
Če je preverjanje z geslom onemogočeno, vključite vsaj en veljaven javni ključ in ga neodvisno preizkusite pred uvedbo na hardware. V konfiguracijo storitve v receptu ne vnašajte zasebnih ključev ali gesel.
Druge storitve
Imena, kot so nginx, wireguard, DNS, DHCP ali komponente požarnega zidu, niso
univerzalni konfiguracijski API. Njihovi paketi in konfiguracija prihajajo iz
ustrezne feature, hooka, seznama paketov ali startup script za izbrano bazo.
Poljuben objekt, kot je config.sites, lahko shema sprejme in ga kljub temu
prezre.
Uporabite to zaporedje:
- Izberite base image in omogočite konkretno feature ali pakete.
- Dodajajte le konfiguracijske ključe, implementirane za to capability.
- Preverite normaliziran recept in ustvarjena opozorila.
- Dodajte assertions za prisotnost paketov, omogočitev storitve, vrata poslušanja, konfiguracijske datoteke in odziv na ravni aplikacije.
- Zaženite artefakt in ga preizkusite pred uvedbo na hardware ali v produkcijo.
Glej Features, Startup scripts in Assertion types.