平台

CI/CD 连接

流水线只触达必需的目标——别无其他。短时身份、私有部署目标、零凭据蔓延。

流水线为何泄漏

运行器中的静态密钥

存放在 CI 变量里的部署密钥、云凭据与令牌常年有效,还会被复制进 fork 仓库。

扁平网络访问

运行器所处的位置能触达一切——被投毒的依赖同样可以。

无法归因的操作

十条流水线共用一个服务账户时,审计日志说不清哪个作业动过生产环境。

OpenVLAN 的方式

临时身份

每个作业持有一把短时预认证密钥加入 tailnet,作业结束即失效——无需轮换,也无从泄漏。

按流水线限定范围

前端流水线只能访问 CDN API;数据库迁移作业只能访问数据库。彼此都无法触碰对方的目标。

私有部署目标

预发与生产环境保持私有端点。运行器以 tailnet 对等节点身份接入——不为机器人开放任何公网入口。

原生集成

GitHub Actions、GitLab CI 与 Jenkins 的 orb/action 会自动生成并使用临时密钥。

按作业的审计轨迹

流量日志记录哪个流水线身份连接了何处——归因能力与生俱来。

自托管运行器,随处部署

运行器可运行在你的账户、你的 VPC 或家庭实验室——控制平面归我们,算力归你。

示例:GitHub Actions

# .github/workflows/deploy.yml
- uses: openvlan/github-action@v2
  with:
    oauth-client-id: ${{ secrets.OV_CLIENT_ID }}
# the runner now has an ephemeral tailnet identity
- run: ./deploy.sh staging-web.internal

发布更快,泄漏更少