Skip to Content
Building OsServiços

Serviços

Um serviço na receita tem apenas três campos canônicos: name, enabled e um objeto config aberto. O formato valida estruturalmente, mas uma chave de configuração só tem efeito quando o worker de build selecionado ou hook de feature a implementa. Validação não prova que um daemon foi instalado ou configurado.

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

Configuração SSH

O caminho geral de build Linux reconhece estas configurações SSH:

Chave da receitaEfeito
port ou listen_portPorta OpenSSH, 1–65.535
allow_rootMapeia para PermitRootLogin
disable_password_authInverte em PasswordAuthentication
password_authenticationValor direto de token OpenSSH
pubkey_authenticationValor direto de token OpenSSH
client_alive_intervalClientAliveInterval limitado
client_alive_attemptsClientAliveCountMax limitado
authentication_retriesMaxAuthTries limitado
timeoutTempo de grace de login limitado
x11_forwarding, allow_agent_forwarding, allow_tcp_forwardingValores diretos de token OpenSSH
authorized_keysInstala as chaves públicas fornecidas onde suportado

Caminhos específicos de worker podem suportar conjunto menor. Em particular, builders de hardware, Proxmox e Raspberry Pi têm adapters próprios. Inspecione a receita normalizada e avisos de build para o alvo selecionado.

Se autenticação por senha estiver desabilitada, inclua e teste independentemente pelo menos uma chave pública válida antes de implantar em hardware. Não coloque chaves privadas ou senhas na configuração de serviço da receita.

Outros serviços

Nomes como nginx, wireguard, DNS, DHCP ou componentes de firewall não são API universal de configuração. Pacotes e configuração vêm do feature, hook, lista de pacotes ou script de startup correspondente para a base selecionada. Um objeto arbitrário como config.sites pode ser aceito pelo schema e ainda ser ignorado.

Use esta sequência:

  1. Selecione imagem base e habilite o feature ou pacotes concretos.
  2. Adicione apenas chaves de configuração implementadas para aquela capacidade.
  3. Inspecione a receita normalizada e avisos gerados.
  4. Adicione asserções para presença de pacote, enablement de serviço, portas listener, arquivos de configuração e resposta em nível de aplicativo.
  5. Inicialize e teste o artefato antes de promoção em hardware ou produção.

Veja Features, Scripts de startup e Tipos de asserção.