Ir al contenido

Provisioning de appliance — un solo comando

El appliance Coliving Edge se provisiona ejecutando un único comando en un host Ubuntu 24.04 LTS fresh. El comando descarga el agent, configura base de datos local, suma el equipo al overlay seguro y reporta como Online al panel admin en menos de 2 minutos.

El comando

Copialo desde el panel admin (sección Coliving Edge → Appliances → Provisionar). Cada token es válido por 24 horas y se asocia a un complejo concreto.

curl -fsSL https://coliving.sh/install.sh | sudo bash -s -- \
    --token=<TOKEN_DEL_PANEL> \
    --skip-luks

--skip-luks es obligatorio mientras LUKS opt-in no está en producción. Lo removeremos cuando se sume el cifrado at-rest del volumen de datos.

Hardware mínimo

  • Ubuntu Server 24.04 LTS (recién instalado).
  • 4 vCPU, 8 GB RAM, 40 GB disk libre.
  • Conectividad saliente HTTPS (443) y NATS (4222 TLS) sin restricciones.
  • Acceso root o sudo.

Qué hace el script

  • Instala postgresql-16 + timescaledb, crea DB local cifrada con password aleatoria.
  • Instala docker.io y baja la imagen del agent desde Artifact Registry público.
  • Instala tailscale y suma el equipo al overlay Headscale del proyecto con un preauth single-use.
  • Genera /etc/coliving/edge.yaml con credenciales NATS recibidas del backend.
  • Instala un systemd unit que arranca el agent y lo reinicia ante caídas.

Lifecycle

Updates de versión
El systemd unit hace docker pull en cada restart. Updates rutinarios via timer; rollouts forzados via comando NATS desde el panel admin.
Security patches
unattended-upgrades activo sobre paquetes apt (Postgres, Docker, Tailscale). Sin reboot automático: ventana 4 AM si requerido.
Recovery
Para forzar re-bootstrap: sudo rm /etc/coliving/edge-token.json && sudo systemctl restart acceso-edge.service. El equipo retomará desde el último estado válido del cloud.
Re-provisioning remoto
Si un token es comprometido o el appliance se reemplaza, el admin reemite desde el panel. El agent recibe el nuevo token vía NATS sin requerir SSH al equipo.
Uninstall
curl -fsSL https://coliving.sh/uninstall.sh | sudo bash detiene el servicio, retira el container y limpia los datos locales. (Próximamente.)

Verificación post-instalación

  1. El script imprime un resumen con idEdgeAppliance y paths de logs cuando termina.
  2. En el panel admin, el appliance aparece Online en pocos segundos.
  3. Logs en vivo: sudo journalctl -u acceso-edge.service -f.
  4. Estado overlay: tailscale status.

Soporte

Si el provisioning falla, contactanos por el formulario de soporte incluyendo el contenido de /var/log/coliving-install.log.

El script fuente está versionado en acceso-edge / scripts / install.sh.