在隔离网络环境中安装
Olivares AI 是自托管优先且隔离网络就绪的。本指南将一个已签名的发布物带过
一道隔离边界,且在断网一侧没有任何网络:你针对一个公钥离线验证每个镜像和
Helm chart,按摘要将它们镜像到你的私有 registry,然后安装。产品在启动时
不会发起任何强制性外呼,因此隔离边界内不会有任何流量到达互联网。唯一会访问厂商端点的命令是
olivares upgrade,--endpoint 或 --bundle 可将其指向你自己的镜像。
整个流程分为两侧:
- 在线,一次性 —— 由维护者构建一个自包含的捆绑包。
- 在隔离边界内 —— 你离线验证它并把它镜像到你的 registry。
本页记录如何使用该捆绑包和随附的脚本;它不会重建发布流水线。
1. 构建捆绑包(在线,一次性)
Section titled “1. 构建捆绑包(在线,一次性)”在一台联网机器上,scripts/airgap-bundle.sh 会拉取每个按摘要固定的镜像,
打包并签名 Helm chart,收集 SBOM/OpenVEX/溯源,然后输出一个带有 VERIFY.md
的单一 tarball:
scripts/airgap-bundle.sh \ --version v26.8.0 \ --image docker.io/olivaresai/olivares:26.8.0-amd64 \ --chart deploy/helm/olivares \ --cosign-key cosign.key \ [--collector-image <ref>] [--out dist/airgap] [--gpg-key <id>]镜像通过其官方坐标(docker.io/olivaresai/olivares)从 Docker Hub 拉取;相同的内容也位于
ghcr.io/olivaresai/olivares,按摘要完全一致,如果你倾向于从那里镜像也可以。Docker Hub 对匿名
拉取限速,而 ghcr.io 对公共镜像不限速,这在未认证的构建主机上很有用。
捆绑包包含的内容
Section titled “捆绑包包含的内容”images/<name>/ cosign-saved image + its signatures/attestations (offline)chart/<chart>.tgz packaged Helm chart (+ .tgz.sig cosign, + .prov if gpg)sbom/ vex/ prov/ SBOM, OpenVEX and SLSA provenance for the releasecosign.pub the public key to verify everything offline (key mode)digests.txt the pinned digest of every image (the manifest of record)VERIFY.md the exact offline verification + mirror walkthrough捆绑包还携带 airgap-mirror.sh 和 verify-release.sh 的副本,因此断网一侧
无需从网络获取任何东西。
2. 在隔离边界内验证并镜像
Section titled “2. 在隔离边界内验证并镜像”在断网一侧你只需要 cosign、crane、helm 和 tar——以及一个可达的
私有 registry。无需互联网。
离线验证每个镜像(无透明日志)
Section titled “离线验证每个镜像(无透明日志)”for d in images/*/; do cosign verify --local-image "$d" --insecure-ignore-tlog --key cosign.pubdone--insecure-ignore-tlog 会跳过 Sigstore 的在线透明日志;信任来自捆绑包内的
cosign.pub。(这与无密钥的 --offline 标志不同——在密钥模式下,离线信任
根就是该公钥。)
离线验证 Helm chart
Section titled “离线验证 Helm chart”cosign verify-blob --key cosign.pub --insecure-ignore-tlog \ --signature chart/*.tgz.sig chart/*.tgz# If a Helm-native .prov is present, additionally: helm verify chart/*.tgz# (needs the signer's GPG public key in your keyring)按摘要镜像到你的私有 registry
Section titled “按摘要镜像到你的私有 registry”scripts/airgap-mirror.sh 会离线验证每个镜像,将其载入你的 registry,并
按摘要重新固定以确认摘要在镜像过程中得以保留(它使用 crane 和
cosign load——而非 oras):
scripts/airgap-mirror.sh \ --bundle olivares-airgap-v26.8.0.tar.gz \ --registry registry.internal:5000 [--insecure]按摘要安装,绝不按标签
Section titled “按摘要安装,绝不按标签”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>始终从 digests.txt 中的摘要安装,绝不要用可变标签——摘要是不可变的,
也正是你验证过的内容。
隔离边界内不会向外发起任何调用
Section titled “隔离边界内不会向外发起任何调用”引擎在启动时不会发起任何强制性外呼(默认绑定环回地址),因此隔离边界内 不会有任何流量到达互联网。唯一会访问厂商端点的命令是
olivares upgrade,--endpoint或--bundle可将其指向你自己的镜像。
许可证以离线方式验证(一个 Ed25519 签名,没有许可证服务器),并且一旦捆绑 包跨过隔离边界,上述任何验证或安装步骤都不会触及互联网。不存在需要关闭的 默认遥测外呼。
联系我们发生在在线一侧,这是设计使然:构建捆绑包会下载发布物,而在商业环境 中,订阅就是获取附加组件及其更新和补丁的凭据。这正是 SUSE/Novell 模式——隔离 网络环境由一个仍然携带同一授权的本地镜像来提供服务。参见 自托管。
FIPS / STIG 变体
Section titled “FIPS / STIG 变体”存在加固的构建变体(一个链接 CMVP 验证过的 Go 加密模块的 FIPS 模式构建,以及 一个面向 STIG 的镜像)。这些是 v1 之后的内容,并附带各自的诚实账本—— 尤其是,不声明任何 FedRAMP/DoD ATO,且只应将经过具体验证的模块版本表述为 已验证。请将它们视为可用但尚非 v1 的内容,而非一项已认证的产品。