Usługi
Usługa w recipe ma tylko trzy kanoniczne pola: name, enabled oraz otwarty
obiekt config. Kształt przechodzi walidację strukturalną, ale klucz konfiguracji
działa tylko wtedy, gdy wybrany build worker lub feature hook go implementuje.
Walidacja nie dowodzi, że daemon został zainstalowany lub skonfigurowany.
{
"services": [
{
"name": "ssh",
"enabled": true,
"config": {
"port": 2222,
"allow_root": false,
"disable_password_auth": true,
"authorized_keys": ["ssh-ed25519 AAAA... operator@example"]
}
}
]
}Konfiguracja SSH
Ogólna ścieżka buildu Linux rozpoznaje te ustawienia SSH:
| Klucz recipe | Skutek |
|---|---|
port or listen_port | Port OpenSSH, 1–65 535 |
allow_root | Mapuje na PermitRootLogin |
disable_password_auth | Odwraca na PasswordAuthentication |
password_authentication | Bezpośrednia wartość tokenu OpenSSH |
pubkey_authentication | Bezpośrednia wartość tokenu OpenSSH |
client_alive_interval | Ograniczone ClientAliveInterval |
client_alive_attempts | Ograniczone ClientAliveCountMax |
authentication_retries | Ograniczone MaxAuthTries |
timeout | Ograniczony czas łaskawy logowania |
x11_forwarding, allow_agent_forwarding, allow_tcp_forwarding | Bezpośrednie wartości tokenów OpenSSH |
authorized_keys | Instaluje podane klucze publiczne, gdzie obsługiwane |
Ścieżki specyficzne dla workera mogą obsługiwać mniejszy zestaw. W szczególności buildery sprzętowe, Proxmox i Raspberry Pi mają własne adaptery. Sprawdź znormalizowane recipe i ostrzeżenia buildu dla wybranego celu.
Gdy uwierzytelnianie hasłem jest wyłączone, dodaj co najmniej jeden ważny klucz publiczny i przetestuj go osobno przed wdrożeniem na sprzęt. Nie umieszczaj kluczy prywatnych ani haseł w konfiguracji usługi recipe.
Inne usługi
Nazwy takie jak nginx, wireguard, DNS, DHCP czy składniki zapory nie są
uniwersalnym API konfiguracji. Ich pakiety i konfiguracja pochodzą z odpowiedniej
feature, hooka, listy pakietów lub startup script dla wybranej bazy. Dowolny obiekt
taki jak config.sites może zostać zaakceptowany przez schemat i nadal być
ignorowany.
Stosuj tę kolejność:
- Wybierz base image i włącz konkretną feature lub pakiety.
- Dodawaj tylko klucze konfiguracji zaimplementowane dla tej capability.
- Sprawdź znormalizowane recipe i wygenerowane ostrzeżenia.
- Dodaj assertions dotyczące obecności pakietów, włączenia usługi, portów nasłuchu, plików konfiguracji i odpowiedzi na poziomie aplikacji.
- Uruchom artefakt i przetestuj go przed promocją na sprzęt lub produkcję.
Zobacz Features, Startup scripts oraz Assertion types.