Primeros pasos en un sitio air-gapped
Olivares AI está preparado para air-gap por diseño: un binario estático, un almacén SQLite embebido, validación de licencia offline (Ed25519), y ninguna llamada saliente obligatoria al arrancar — no hay telemetría-a-casa que desactivar. Este tutorial alcanza el primer valor en una red con nada de internet en absoluto, por cualquiera de dos vías honestas:
- Vía A — el binario estático. El air-gap más simple que hay: lleva un fichero verificado a través del air-gap y ejecútalo (con systemd, como en el tutorial de nodo único).
- Vía B — el bundle firmado, para un clúster. Lleva el bundle de la release, verifica cada imagen y el chart completamente offline, espéjalos en tu registro privado por digest, e instala con Helm.
La mecánica de los scripts del bundle (airgap-bundle.sh, airgap-mirror.sh,
verificación cosign offline) está documentada en
instalar en un entorno air-gapped — esta página
es el recorrido de extremo a extremo que los usa.
Vía A — el binario estático
Sección titulada «Vía A — el binario estático»-
En el lado conectado, compila (o, una vez que las releases se publiquen, descarga y verifica) el binario, y registra su digest:
Ventana de terminal task buildsha256sum bin/olivares > olivares.sha256 -
Lleva ambos ficheros a través del air-gap en tu medio aprobado, y verifica el digest en el lado desconectado:
Ventana de terminal sha256sum --check olivares.sha256 -
Instala y ejecuta exactamente como en el tutorial de nodo único — unidad systemd, token de configuración de un solo uso, primera organización. Nada en ese flujo toca la red: el material TLS se genera localmente, la licencia (si tienes una) valida offline, y el almacén es el SQLite embebido.
-
Cablea fuentes que observen sistemas locales — tails de logs pgAudit, ficheros CloudTrail entregados dentro del perímetro, streams eBPF/Tetragon. La configuración de fuentes es un fichero local; ningún conector llama hacia fuera salvo que configures uno para alcanzar algo.
Esta es la forma de partida recomendada para un sitio desconectado: nodo único, SQLite, fuentes locales. Es el mismo motor — puedes crecer hacia la vía de clúster más adelante sin cambiar lo que aprendiste.
Vía B — el bundle firmado, para un clúster
Sección titulada «Vía B — el bundle firmado, para un clúster»-
Online, una vez: un mantenedor compila el bundle autocontenido — cada imagen fijada por digest, el chart de Helm empaquetado y firmado, SBOM/OpenVEX/ provenance recolectados, más la clave pública y un
VERIFY.mdcon el recorrido offline exacto:Ventana de terminal scripts/airgap-bundle.sh --version <v> \--image <olivares-image-ref> \--chart deploy/helm/olivares \--cosign-key cosign.key -
Dentro del air-gap, verifica todo offline. Solo necesitas
cosign,crane,helmytar— la confianza viene delcosign.pubempaquetado, no de ningún transparency log online:Ventana de terminal for d in images/*/; docosign verify --local-image "$d" --insecure-ignore-tlog --key cosign.pubdonecosign verify-blob --key cosign.pub --insecure-ignore-tlog \--signature chart/*.tgz.sig chart/*.tgz -
Espeja en tu registro privado por digest (el script re-fija y confirma que el digest sobrevivió al espejado):
Ventana de terminal scripts/airgap-mirror.sh --bundle olivares-airgap-<v>.tar.gz \--registry registry.internal:5000 -
Instala por digest, nunca por tag, y luego sigue el tutorial de Kubernetes desde el token de primer arranque en adelante — es el mismo chart y el mismo flujo:
Ventana de terminal helm install olivares \oci://registry.internal:5000/charts/olivares \--version <chart-version> \--set image.repository=registry.internal:5000/olivares \--set image.digest=<digest-from-digests.txt>
Operar desconectado
Sección titulada «Operar desconectado»- Las copias de seguridad funcionan de forma idéntica (
olivares dr backup— bundle cifrado, KEK local): copia de seguridad y restauración. Guarda los bundles en medios separados; la regla 3-2-1 aplica doblemente sin red offsite. - La verificación del ledger es completamente offline por diseño:
olivares audit verify --strictcon tu clave pública fijada — resolución de problemas § ledger. - La monitorización es Prometheus local raspando
/metrics; las reglas de alerta incluidas no necesitan nada externo — monitorización. - Las actualizaciones repiten el bucle de llevar-verificar-espejar con un nuevo bundle.
El manifiesto de digests (
digests.txt) es tu registro de exactamente qué está corriendo.
Próximos pasos
Sección titulada «Próximos pasos»- Instalar en un entorno air-gapped — la referencia de bundle/espejado, incluyendo el estado de las variantes FIPS/STIG.
- Verificar una release — la cadena de verificación completa que este flujo aplica offline.
- Endurecimiento de seguridad — el resto de la postura defensiva.