Paslaugos
Recepto paslauga turi tik tris kanoninius laukus: name, enabled ir atvirą
config objektą. Forma tikrinama struktūriškai, bet konfigūracijos raktas
veikia tik tada, kai jį įgyvendina pasirinktas build worker ar feature hook.
Validacija neįrodo, kad daemon buvo įdiegtas ar sukonfigūruotas.
{
"services": [
{
"name": "ssh",
"enabled": true,
"config": {
"port": 2222,
"allow_root": false,
"disable_password_auth": true,
"authorized_keys": ["ssh-ed25519 AAAA... operator@example"]
}
}
]
}SSH konfigūracija
Bendras Linux build kelias atpažįsta šiuos SSH nustatymus:
| Recepto raktas | Poveikis |
|---|---|
port or listen_port | OpenSSH portas, 1–65,535 |
allow_root | Atitinka PermitRootLogin |
disable_password_auth | Apverčiama į PasswordAuthentication |
password_authentication | Tiesioginė OpenSSH token reikšmė |
pubkey_authentication | Tiesioginė OpenSSH token reikšmė |
client_alive_interval | Ribotas ClientAliveInterval |
client_alive_attempts | Ribotas ClientAliveCountMax |
authentication_retries | Ribotas MaxAuthTries |
timeout | Ribotas prisijungimo laukimo laikas |
x11_forwarding, allow_agent_forwarding, allow_tcp_forwarding | Tiesioginės OpenSSH token reikšmės |
authorized_keys | Įdiegia pateiktus viešuosius raktus, kur palaoma |
Workeriui specifiški keliai gali palaikyti mažesnį rinkinį. Ypač hardware, Proxmox ir Raspberry Pi builderiai turi savo adapterius. Peržiūrėkite normalizuotą receptą ir build įspėjimus pasirinktam tikslui.
Jei slaptažodžio autentifikavimas išjungtas, prieš diegdami į hardware įtraukite ir savarankiškai patikrinkite bent vieną galiojantį viešąjį raktą. Nedėkite privataus raktų ar slaptažodžių į recepto paslaugų konfigūraciją.
Kitos paslaugos
Tokie pavadinimai kaip nginx, wireguard, DNS, DHCP ar firewall komponentai
nėra universalus konfigūracijos API. Jų paketai ir konfigūracija ateina iš
atitinkamos feature, hook, paketų sąrašo ar startup script pasirinktam
base. Bet koks objektas, pvz. config.sites, gali būti priimtas schema
ir vis tiek ignoruojamas.
Naudokite šią seką:
- Pasirinkite base image ir įjunkite konkrečią feature ar paketus.
- Pridėkite tik tos galimybės įgyvendintus konfigūracijos raktus.
- Peržiūrėkite normalizuotą receptą ir sugeneruotus įspėjimus.
- Pridėkite assertions dėl paketų buvimo, paslaugų įjungimo, klausymo portų, konfigūracijos failų ir atsako programos lygyje.
- Paleiskite ir išbandykite artefaktą prieš hardware ar production promotion.
Žr. Features, Startup scripts, ir Assertion types.