Skip to Content
Building OsTjenester

Tjenester

En recipe-tjeneste har bare tre kanoniske felt: name, enabled og et åpent config-objekt. Formen valideres strukturelt, men en konfigurasjonsnøkkel virker bare når valgt build worker eller feature hook implementerer den. Validering er ikke bevis på at en daemon ble installert eller konfigurert.

{ "services": [ { "name": "ssh", "enabled": true, "config": { "port": 2222, "allow_root": false, "disable_password_auth": true, "authorized_keys": ["ssh-ed25519 AAAA... operator@example"] } } ] }

SSH-konfigurasjon

Den generelle Linux-buildstien gjenkjenner disse SSH-innstillingene:

Recipe-nøkkelEffekt
port or listen_portOpenSSH-port, 1–65 535
allow_rootMapper til PermitRootLogin
disable_password_authInverteres til PasswordAuthentication
password_authenticationDirekte OpenSSH-tokenverdi
pubkey_authenticationDirekte OpenSSH-tokenverdi
client_alive_intervalBegrenset ClientAliveInterval
client_alive_attemptsBegrenset ClientAliveCountMax
authentication_retriesBegrenset MaxAuthTries
timeoutBegrenset innloggingstid før avbrudd
x11_forwarding, allow_agent_forwarding, allow_tcp_forwardingDirekte OpenSSH-tokenverdier
authorized_keysInstallerer angitte offentlige nøkler der det støttes

Worker-spesifikke stier kan støtte et mindre sett. Spesielt hardware-, Proxmox- og Raspberry Pi-buildere har egne adaptere. Inspiser det normaliserte recipe-et og buildadvarsler for valgt mål.

Hvis passordautentisering er slått av, ta med minst én gyldig offentlig nøkkel og test den separat før du deployer til hardware. Ikke legg private nøkler eller passord i recipe-tjenestens konfigurasjon.

Andre tjenester

Navn som nginx, wireguard, DNS, DHCP eller brannmurkomponenter er ikke et universelt konfigurasjons-API. Pakkene og konfigurasjonen kommer fra tilsvarende feature, hook, pakkeliste eller startup script for valgt base. Et vilkårlig objekt som config.sites kan aksepteres av skjemaet og likevel ignoreres.

Bruk denne rekkefølgen:

  1. Velg et base image og aktiver den konkrete featuren eller pakkene.
  2. Legg bare til konfigurasjonsnøkler som er implementert for den capabilityen.
  3. Inspiser det normaliserte recipe-et og genererte advarsler.
  4. Legg til assertions for pakke tilstedeværelse, tjenesteaktivering, listener-porter, konfigurasjonsfiler og svar på applikasjonsnivå.
  5. Boot og test artefakten før hardware eller produksjon.

Se Features, Startup scripts og Assertion types.