Skip to Content
Building OsServicios

Servicios

Un servicio en receta tiene solo tres campos canónicos: name, enabled y un objeto config abierto. La forma valida estructuralmente, pero una clave de configuración tiene efecto solo cuando el worker de compilación seleccionado o el hook de feature la implementa. La validación no prueba que un daemon se instaló o configuró.

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

Configuración SSH

La ruta general de compilación Linux reconoce estos ajustes SSH:

Clave de recetaEfecto
port o listen_portPuerto OpenSSH, 1–65,535
allow_rootSe mapea a PermitRootLogin
disable_password_authSe invierte en PasswordAuthentication
password_authenticationValor directo de token OpenSSH
pubkey_authenticationValor directo de token OpenSSH
client_alive_intervalClientAliveInterval acotado
client_alive_attemptsClientAliveCountMax acotado
authentication_retriesMaxAuthTries acotado
timeoutTiempo de gracia de login acotado
x11_forwarding, allow_agent_forwarding, allow_tcp_forwardingValores directos de token OpenSSH
authorized_keysInstala las claves públicas suministradas donde esté admitido

Las rutas específicas de worker pueden admitir un conjunto menor. En particular, builders de hardware, Proxmox y Raspberry Pi tienen sus propios adaptadores. Inspecciona la receta normalizada y advertencias de compilación para el destino seleccionado.

Si la autenticación por contraseña está deshabilitada, incluye y prueba de forma independiente al menos una clave pública válida antes de desplegar en hardware. No coloques claves privadas ni contraseñas en la configuración de servicio de la receta.

Otros servicios

Nombres como nginx, wireguard, DNS, DHCP o componentes de firewall no son una API de configuración universal. Sus paquetes y configuración vienen de la feature, hook, lista de paquetes o script de arranque correspondiente para la base seleccionada. Un objeto arbitrario como config.sites puede ser aceptado por el esquema y seguir ignorándose.

Usa esta secuencia:

  1. Selecciona una imagen base y habilita la feature o paquetes concretos.
  2. Añade solo claves de configuración implementadas para esa capacidad.
  3. Inspecciona la receta normalizada y advertencias generadas.
  4. Añade aserciones para presencia de paquete, habilitación del servicio, puertos en escucha, archivos de configuración y una respuesta a nivel de aplicación.
  5. Arranca y prueba el artefacto antes de promoción a hardware o producción.

Consulta Features, Scripts de arranque y Tipos de aserción.