Autoaloja Olivares AI
Los paquetes de despliegue se suministran por el canal Business; su publicación no está verificada aquí. Verifica el paquete del chart y su editor con las instrucciones del canal antes de usar el chart local. El ejemplo de manifiesto usa un archivo Business llamado
business-install.yaml. La instalación aislada requiere Enterprise.
Helm, Kubernetes operators, Terraform, appliance and FIPS/STIG images are Business deployment artifacts. The source paths below are in the Business distribution. Air-gapped installation requires Enterprise.
La próxima release es 0.4; todavía no está publicada en GitHub. Los comandos siguientes describen los artefactos previstos. Compila desde el código fuente hasta su publicación y verifica cada artefacto antes de usarlo. El estado observado está en docs/releases/0.4-install-surfaces.json.
Olivares AI es autoalojable por diseño. Todo el producto es un único binario estático con la interfaz web embebida, así que el despliegue más sencillo es un solo fichero; existen rutas con Compose y Kubernetes para multinodo y producción. Todas las rutas comparten los mismos valores por defecto seguros — sin credenciales por defecto, un token de configuración de un solo uso, TLS activado por defecto —, sin telemetría obligatoria ni egreso del plano de control de forma predeterminada. Solo cruza tu perímetro lo que tú configuras para que lo cruce: llamadas a tus API de modelos, las salidas SIEM/webhook que conectas y un proveedor externo de embeddings si aprovisionas uno.
Esta guía es la página de decisión del despliegue — las opciones y sus valores por defecto seguros de un vistazo. Para la instalación paso a paso de cada escenario, los tutoriales de inicio recorren cada ruta de principio a fin: nodo único (systemd) · Docker Compose · Kubernetes/Helm · aislado de red (air-gapped). Para verificar los artefactos criptográficamente primero, consulta Verifica lo que has descargado; para sitios desconectados, consulta Instala en un entorno aislado de red.
Entrega de eventos NATS: El puente Core NATS y NATS JetStream requieren Business Identity & Scale. Community entrega los eventos dentro del proceso.
Valores por defecto seguros (todas las rutas)
Sección titulada «Valores por defecto seguros (todas las rutas)»| Valor por defecto | Comportamiento |
|---|---|
| Credenciales | ninguna. El primer arranque imprime un token de configuración de un solo uso (olst_…); con él creas el primer administrador. |
| TLS | activado por defecto. --insecure (texto plano) es solo para desarrollo en localhost. |
| Bind | todas las interfaces (:8443, :8444) por defecto: esto es un servidor. Usa --listen 127.0.0.1:8443 --grpc-listen 127.0.0.1:8444 para restringirlo a este host. |
| Licencia | En el binario abierto (AGPL), la licencia se valida offline (Ed25519) y solo sirve como atestación — nunca restringe ni degrada el producto abierto, y eso no cambia. Business incluye Regulated Operations, AI Runtime Security, Compliance Packs e Identity & Scale en una sola suscripción. Los clientes pueden activar o desactivar cada familia. Business y Enterprise se entregan como binarios; el código fuente de pago permanece privado. |
| Telemetría-home | desactivada. El motor no hace llamadas salientes obligatorias en el arranque. |
Opción 1 — binario único
Sección titulada «Opción 1 — binario único»Compila el único artefacto estático (almacén SQLite en Go puro, sin cadena de herramientas C) y ejecútalo:
task build # compiles ./bin/olivares with the web embedded./bin/olivares serve \ --listen 127.0.0.1:8443 \ --grpc-listen 127.0.0.1:8444 \ --data-dir /var/lib/olivaresEn el primer arranque el motor imprime el banner de configuración:
=== FIRST-BOOT SETUP ===No accounts exist yet. Open the console and create the first administratorwith this one-time token — setup also creates your first organization andmakes that administrator its owner:
Console: https://127.0.0.1:8443 Token: olst_…
The console serves HTTPS with a self-signed certificate on first boot — yourbrowser will warn once; that is expected.
Passkeys will not work at that address:a browser will not run a passkey ceremony at an IP address. Reach theconsole by a host name.On this machine the same console also answers at https://localhost:8443and at that address the relying party is derived from the name, which theverifier accepts.
The token is shown ONCE and issingle-use. Prefer the API? POST /v1/setup {"token":"…","email":"…","password":"…"} — add "organization":"…" to name it (default: "DefaultOrganization"). The reply carries the new organization's tenant_id.========================Crea el primer administrador y luego inicia sesión:
curl --cacert /var/lib/olivares/tls.crt -fsS -X POST https://localhost:8443/v1/setup \ -H 'Content-Type: application/json' \ -d '{"token":"<olst_ token>","email":"you@example.com","password":"<strong-password>"}'
curl --cacert /var/lib/olivares/tls.crt -fsS -X POST https://localhost:8443/v1/auth/login \ -H 'Content-Type: application/json' \ -d '{"email":"you@example.com","password":"<strong-password>"}'El directorio de datos contiene la base de datos SQLite, la clave de firma de auditoría y el material TLS — haz copia de seguridad y protégelo.
Directorio de datos personalizado (layout: custom)
Sección titulada «Directorio de datos personalizado (layout: custom)»El diseño nativo predeterminado es /var/lib/olivares. El adaptador de servicio
firmado (install.sh --data-dir, scripts/install-service.sh) admite un
directorio de datos personalizado por forma, no por lista de permitidos.
El manifiesto de propiedad registra "layout": "custom"
(CHANGELOG.md [26.9.0] Added; INSTALL.md).
SDD 04 §6: cada campo configurable declara propietario, esquema, fuentes
aceptadas y validador. Aquí el adaptador posee el directorio dedicado; el
operador posee el padre. Estas son las cadenas de rechazo del propio adaptador
(scripts/install-service.sh):
| Condition | What the adapter prints and exits 1 |
|---|---|
Path is not /*/* (a top-level directory) |
custom data directory must be a dedicated directory at least two levels deep (for example /srv/olivares), not a top-level directory: $data_dir |
| The data directory would contain the binary, config or unit | custom data directory $data_dir must not contain the installed path $path |
| Any path component is a symbolic link | path component is a symbolic link ($prefix -> …); pass the resolved path instead of provisioning through a link: $1 |
| Parent of a new custom directory does not exist | parent of the custom data directory does not exist; create it with the intended owner first: $(dirname -- "$data_target") |
| Existing system directory mode is not 0700 or 0750 | existing system data directory mode is $data_mode; require 0700 or 0750 |
Path is under /dev, /proc or /sys |
data directory $data_dir is under an API file system (/dev, /proc, /sys): choose a real directory |
install-agentops.sh usa la misma regla de dos niveles para OLIVARES_DATA_DIR:
OLIVARES_DATA_DIR must name a dedicated directory at least two levels deep (for example /srv/olivares), not a top-level directory. Honra OLIVARES_DATA_DIR y un OLIVARES_WORKSPACE_DIR
seleccionado de forma explícita.
La unidad representa el directorio como ReadWritePaths=<data-dir>. Fija
ProtectHome=false y PrivateTmp=false, así que un directorio bajo /home, /root,
/run/user, /tmp o /var/tmp no necesita ningún montaje adicional. El instalador
avisa de que /tmp y /var/tmp pueden vaciarse al arrancar o con un temporizador.
olivares uninstall admite ese directorio personalizado solo cuando la unidad
en su ruta indexada ejecuta el motor con él, o cuando un preserve ya dejó un
testigo de desinstalación junto a la configuración del servicio. Diagnostica el
layout AgentOps registrado con olivares doctor — véase
Resolución de problemas.
En instalaciones por paquete el valor predeterminado sigue siendo
/var/lib/olivares. Véase Instalar desde un paquete.
En macOS, Instalar con Homebrew.
Opción 2 — Docker Compose (nodo único, SQLite)
Sección titulada «Opción 2 — Docker Compose (nodo único, SQLite)»El repositorio incluye un stack de Compose:
docker compose -f deploy/compose/docker-compose.yml up -d
# Read the one-time first-boot setup token from the logs:docker compose -f deploy/compose/docker-compose.yml logs olivares | sed -n '/FIRST-BOOT SETUP/,/========================/p'
# Then open https://localhost:8443 (self-signed TLS by default)Para un backend Postgres multiinquilino, define las contraseñas y superpón el override de Postgres:
cp deploy/compose/.env.example deploy/compose/.env # set the two passwordsdocker compose -f deploy/compose/docker-compose.yml \ -f deploy/compose/docker-compose.postgres.yml up -dOpción 3 — Kubernetes (Helm)
Sección titulada «Opción 3 — Kubernetes (Helm)»Los paquetes de despliegue se suministran por el canal Business; su publicación no está verificada aquí. Verifica el paquete del chart y su editor con las instrucciones del canal antes de usar el chart local. El ejemplo de manifiesto usa un archivo Business llamado business-install.yaml. La instalación aislada requiere Enterprise.
# Set these inputs from the authenticated Business channel after verification.helm upgrade --install olivares "$BUSINESS_CHART_PACKAGE" \ --set image.repository="$BUSINESS_IMAGE_REPOSITORY" \ --set image.digest="$BUSINESS_IMAGE_DIGEST"Elegir una topología
Sección titulada «Elegir una topología»| Topología | Cuándo | Almacén | Bus de eventos |
|---|---|---|---|
| Binario único | nodo único, laboratorio, estate pequeño, aislado de red | SQLite (embebido) | en proceso |
| Distribuida | multi-host, escala, multiinquilino | Postgres + RLS | en proceso + puente NATS (OLIVARES_BUS_CONFIG; la entrega entre nodos es, con honestidad, como mucho una vez) |
| Aislada de red | sin egreso permitido | SQLite o Postgres | en proceso (puente NATS opcional dentro del perímetro) |
El data-plane (colectores) siempre se ejecuta en tu infraestructura — el control plane es lo único cuya ubicación de alojamiento eliges. La visión general de la arquitectura explica las disyuntivas.
Conectar fuentes reales
Sección titulada «Conectar fuentes reales»Una instalación nueva tiene un estate vacío. Cablea fuentes reales (Postgres pgAudit, CloudTrail, OpenTelemetry desde agentes, eBPF) para que el access map se pueble — consulta conectar una fuente y conectar Claude Code. Para la superficie de configuración, consulta la referencia de configuración.