Por qué Vigo
Simplicidad, seguridad, fiabilidad, escalabilidad y precio — en qué se diferencia Vigo de cualquier otro sistema de gestión de configuración.
Un recurso. Un archivo.
Crear un usuario con sudo sin contraseña y una clave SSH — una tarea que hace todo equipo. En Vigo es un único recurso en un único archivo, con claves SSH, sudo y secretos integrados.
name: os-users resources: - name: alice type: user username: alice comment: Alice Nguyen shell: /bin/bash groups: sudo, adm state: present password: secret:vigo/os-users/alice sudo_nopasswd: true authorized_keys: | ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJqR... alice@laptop
📄 Simplicidad
Un servidor a cualquier escala
Sin masters de compilación, sin grupos de trabajo, sin clústeres de base de datos, sin balanceadores de carga. Un proceso, un archivo SQLite, un directorio de configuración. La arquitectura no cambia ya sea que gestione 10 nodos o 100.000.
Binario de agente estático de ~8 MiB
Sin Ruby, sin Python, sin JVM, sin ecosistema de gestores de paquetes en los nodos gestionados. Copie el binario, ejecútelo. Cero dependencias en tiempo de ejecución.
Un formato de configuración, una ruta de configuración
Existe exactamente una forma de configurar Vigo: editar archivos YAML y publicar. Sin escrituras en API, sin configuración en base de datos, sin mutaciones en la interfaz. Una única fuente de verdad, un formato, una herramienta.
Sin DSL
El lenguaje de configuración es YAML. Las plantillas Go aparecen únicamente dentro de los atributos content:. Sin lenguaje personalizado que aprender, sin compilador, sin peculiaridades del analizador.
El arranque es un solo comando
curl | sudo sh descarga el binario, genera certificados TLS, se registra con el servidor, instala el servicio y verifica la conectividad. Bajo gestión en 30 segundos.
Siete familias de SO desde una sola base de código
Linux, macOS, FreeBSD, OpenBSD, NetBSD, illumos y Windows. Escriba type: service y delega a systemd, launchctl, rc.d, rcctl, SMF o sc.exe.
Recursos condicionales sin un DSL de if
when: "os_family('debian')" en cualquier recurso o configcrate. Lógica booleana, funciones integradas como has_command, arch, version_ge. El servidor evalúa lo que puede y pasa el resto al agente. Sin DSL, sin plugins.
Visibilidad — trace cualquier decisión hasta su origen
Un comando — vigocli config trace danlap — muestra la cadena de resolución completa para cualquier nodo. Cada configcrate, variable, dependencia, etiqueta de cumplimiento, exención y condicional trazados hasta el archivo exacto que los definió.
when: con su lado de evaluación. Las condiciones del lado del servidor (como changed) se resuelven antes del envío; las condiciones del lado del agente (como os_family y hour_range) se ejecutan en el nodo gestionado. Las variables de plantilla se resuelven y muestran bajo la expresión original.🔒 Seguridad
Firmas ED25519 por solicitud
Cada solicitud del agente se firma individualmente y se verifica contra claves públicas almacenadas. No solo TLS — prueba criptográfica real de identidad en cada llamada a la API. El replay y la suplantación requieren la clave privada, no solo un certificado válido.
Los secretos nunca se materializan
El prefijo secret: se resuelve al cargar la configuración a través de un proveedor conectable y se elimina antes de la transmisión. Los secretos nunca aparecen en archivos YAML, variables de entorno, logs, filas de base de datos, cargas útiles gRPC ni informes de resultados de ejecución.
Sin modo de texto plano
mTLS es el único transporte. No hay indicador --no-ssl, sin modo alternativo de texto plano, sin "modo de desarrollo" que omita el cifrado. La ruta insegura no existe en el código.
Tokens de inscripción de un solo uso
Los tokens están cifrados con bcrypt en reposo y vinculados a patrones glob de nombre de host. Un token que coincide con *.web.prod no puede inscribir una máquina llamada db01.staging. Se usa una vez, luego se invalida permanentemente.
Barreras de autoprotección
La canalización de validación bloquea cualquier recurso que apunte al binario del agente, el binario del servidor, el directorio de configuración o la unidad de servicio. Incluso el modo --dangerous no puede omitir estas comprobaciones. El sistema no puede usarse para romperse a sí mismo.
Binario del agente verificado
El binario del agente se distribuye con firmas ED25519 y sumas de comprobación SHA-256, verificadas en el arranque. El endurecimiento del binario incluye PIE, RELRO completo, protectores de pila, símbolos eliminados y LTO.
⚡ Fiabilidad
Idempotencia aplicada en el momento de la publicación
La mayoría de las herramientas de CM tratan la idempotencia como una disciplina que el operador debe mantener. Vigo la convierte en una invariante en el momento de la publicación: config publish valida la idempotencia junto con la sintaxis, por lo que la configuración no idempotente falla al publicarse en lugar de llegar a la flota. Se mantiene porque cada ejecutor comprueba antes de actuar — file: compara un SHA-256, package: comprueba la versión instalada, service: comprueba is-active/is-enabled antes de hacer nada. Reevaluar un recurso 86.400 veces al día a una cadencia de 1 segundo no produce ningún cambio ni ruido de auditoría hasta que algo realmente se desvía.
Paquetes de políticas firmados con convergencia sin conexión
El servidor firma los paquetes con ED25519. El agente verifica, almacena en caché en LMDB y continúa convergiendo indefinidamente si el servidor desaparece. Los resultados pendientes se ponen en cola y se envían al reconectarse.
Promoción adaptativa de flujos
Los agentes usan por defecto un sondeo ligero sin estado. Los flujos persistentes solo se promueven cuando el servidor tiene trabajo que enviar y luego se liberan. Los agentes inactivos no consumen recursos de flujo.
Resiliencia de evaluación
Un error de renderizado de plantilla o un error de análisis de when: en un recurso omite ese recurso y continúa con el resto de la ejecución de convergencia. Un único recurso defectuoso no cancela toda la política.
Cero operaciones de base de datos en la ruta crítica
El FleetIndex es un índice completamente en memoria con vaciado asíncrono del conjunto de cambios. Una comprobación del agente — búsqueda, compilación de políticas y respuesta — no toca ninguna consulta a la base de datos.
El agente nunca sale ante fallos transitorios
Servidor inaccesible, fallo en el apretón de manos TLS, respuesta malformada, fallo en la evaluación de políticas — todo gestionado con retroceso y reintento. El binario del agente, una vez iniciado, se ejecuta hasta que se detiene explícitamente.
Recarga con reserva elegante
La publicación de configuración valida, sincroniza y recarga. Si la nueva configuración falla la validación, el servidor mantiene la configuración funcional anterior. Sin tiempo de inactividad, sin estado parcial.
Acceso remoto por navegador y CLI (Scrier)
Terminales SSH, escritorios RDP y sombreado de sesiones en vivo desde la interfaz web — o vigocli scrier ssh desde su terminal por el mismo túnel. Sin VPN, sin bastión, sin reenvío de puertos. Hace el túnel a través de la conexión mTLS existente del agente. Claves efímeras por sesión. El modo Shadow/Assist permite al soporte técnico ver y controlar el escritorio en vivo de un usuario con consentimiento.
Modo de observación para migración segura
Ejecute Vigo junto a la CM existente. Los agentes informan de qué cambiarían sin aplicar nada. Cambie cuando esté seguro. Por nodo o a nivel de flota.
📈 Escalabilidad
Decenas de miles de envoys por servidor
En una única máquina de 8 vCPU / 32 GB, medido en vivo — ~7.450 envoys a la cadencia predeterminada de un segundo, ~30.000 con cadencia relajada. Usted fija la cadencia; la capacidad escala linealmente con los núcleos y la RAM. Sin masters de compilación, sin grupos de trabajo, sin clústeres de base de datos. Ver el análisis →
Ruta crítica en microsegundos
El trabajo crítico por comprobación es una verificación de firma ED25519 de ~53 µs (benchmarked); la comprobación de marca de tiempo, la búsqueda en el índice y la comparación de hash son cada una por debajo del microsegundo. Sin compilación de catálogos, sin interpretación de Ruby, cero consultas a la base de datos en la ruta crítica — razón por la que una cadencia de un segundo satura antes la CPU, y una cadencia relajada la memoria.
Coste de memoria lineal y medido
~220 KB por envoy conectado para el flujo mantenido, ~623 KB en total una vez que su inventario está en caché — medido en vivo, perfectamente lineal con la RAM. Las flotas pequeñas funcionan cómodamente en una Raspberry Pi.
Sin base de datos externa
SQLite en modo WAL. Sin clúster PostgreSQL que aprovisionar, ajustar, respaldar, actualizar o mantener a las 3 de la mañana. La base de datos es un único archivo que puede copiar con cp.
Protocolo de transmisión delta
Después de la comprobación inicial, los agentes solo envían lo que cambió — deltas de características, finalizaciones de ejecución, latidos. Sin transferencias de estado completo redundantes en cada ciclo.
Federación entre pares (spanner) para multirregión
Cuando un servidor no es suficiente, spanner distribuye la inscripción, las consultas y las tareas entre servidores pares con escritura equivalente. Cada par gestiona su propia partición de la flota y agrega resultados de los demás. Sin base de datos compartida.
💰 Precio
Gratis para 100 nodos. Sin límite de tiempo.*
Sin tarjeta de crédito, sin restricciones de características. Cada capacidad — orquestación, flujos de trabajo, consultas, integraciones nativas, exportación de cumplimiento, asistente de IA — está incluida en cada nivel.
Sin características exclusivas para empresas
No hay una "Edición Enterprise" con características críticas retenidas. RBAC, OIDC, tokens de API, exportación de cumplimiento, spanner — todo incluido. El nivel gratuito es el producto completo.
Coste de infraestructura: casi cero
Un proceso, un archivo SQLite, ~6 GB de RAM a 10.000 envoys. Sin clúster PostgreSQL, sin Redis, sin cola de mensajes, sin flota de masters de compilación. El servidor que ejecuta su monitorización también puede ejecutar Vigo.
Sin licencias de agente por nodo
El binario del agente es de distribución libre. Paga por el recuento de nodos del lado del servidor, no por instalación de agente. Dé de baja y vuelva a inscribir sin rotación de licencias.
Precios simples por nodo
$144/nodo/año a partir de 101 nodos, bajando a $96/nodo/año a escala. Los descuentos por volumen son automáticos. Sin llamadas de ventas necesarias hasta los 5.000+ nodos.
Menor coste total de propiedad
La licencia es el único coste significativo. Sin masters de compilación, sin DBA de PostgreSQL, sin ingenieros de CM dedicados — el servidor que ejecuta su monitorización también puede ejecutar Vigo.
Vea cómo se compara
Una comparación detallada con las herramientas de gestión de configuración establecidas, y guías para migrar.
* El nivel gratuito se proporciona TAL CUAL sin obligación de soporte. Consulte los Términos comerciales.