Skip to Content

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 recipeSkutek
port or listen_portPort OpenSSH, 1–65 535
allow_rootMapuje na PermitRootLogin
disable_password_authOdwraca na PasswordAuthentication
password_authenticationBezpośrednia wartość tokenu OpenSSH
pubkey_authenticationBezpośrednia wartość tokenu OpenSSH
client_alive_intervalOgraniczone ClientAliveInterval
client_alive_attemptsOgraniczone ClientAliveCountMax
authentication_retriesOgraniczone MaxAuthTries
timeoutOgraniczony czas łaskawy logowania
x11_forwarding, allow_agent_forwarding, allow_tcp_forwardingBezpośrednie wartości tokenów OpenSSH
authorized_keysInstaluje 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ść:

  1. Wybierz base image i włącz konkretną feature lub pakiety.
  2. Dodawaj tylko klucze konfiguracji zaimplementowane dla tej capability.
  3. Sprawdź znormalizowane recipe i wygenerowane ostrzeżenia.
  4. Dodaj assertions dotyczące obecności pakietów, włączenia usługi, portów nasłuchu, plików konfiguracji i odpowiedzi na poziomie aplikacji.
  5. Uruchom artefakt i przetestuj go przed promocją na sprzęt lub produkcję.

Zobacz Features, Startup scripts oraz Assertion types.