Files

omniverseai.net 平台基线

这个目录是 omniverseai.net 的平台控制面,用来收敛“域名在哪里进来、服务跑在哪里、配置从哪里改”。

它不是 Gitea/Harbor/k3s 目录的替代品,而是这些目录之上的统一边界层。

目标

  • 版本化 omniverseai.net 的子域名和暴露策略
  • 版本化 cloudflared Tunnel 配置,停止手改 ~/.cloudflared/config.yml
  • 明确直装服务、Docker 服务、k3s 服务的边界
  • 给后续的 launchd、Docker Compose、GitOps 收敛提供一个稳定入口

当前分层

  1. Edge 层
    • Cloudflare DNS
    • Cloudflare Tunnel
  2. Host 层
    • 直接安装: openclaw
    • 直接安装: cloudflared
    • Docker Compose: gitea/
    • Docker Compose: harbor/
  3. Cluster 层
    • argoCD/ljwx-deploy/: LJWX 业务的目标态 GitOps 配置
    • macos-k3s/: 当前单机生产 k3s 的 live baseline

单一事实源

  • 服务资产: inventory/services.yaml
  • 域名归属和暴露策略: inventory/domains.yaml
  • Access 入口基线: inventory/access-apps.yaml
  • Tunnel 源配置模板: cloudflared/config.yml.tpl
  • 已安装的本机配置: ~/.cloudflared/config.yml

目录说明

platform/omniverseai-net/
|-- README.md
|-- inventory/
|   |-- services.yaml
|   |-- domains.yaml
|   `-- access-apps.yaml
|-- cloudflared/
|   |-- README.md
|   `-- config.yml.tpl
|-- k3s-nodeport-bridge/
|   `-- com.omniverseai.k3s-nodeport-bridge.plist.tpl
|-- runbooks/
|   |-- migration-plan.md
|   `-- cloudflare-access-baseline.md
`-- scripts/
    |-- render-cloudflared-config.sh
    |-- install-cloudflared-config.sh
    |-- install-cloudflared-launchd.sh
    |-- install-k3s-nodeport-bridge.sh
    `-- run-k3s-nodeport-bridge.sh

暴露策略约定

  • tunnel-private
    • 管理面或私有 Web 服务,继续走 Cloudflare Tunnel
  • host-service-split-access
    • 主机原生服务,浏览器入口可走 Tunnel,高吞吐或协议型流量走局域网/VPN/直连
  • k3s-public-cert-manager
    • 对外业务域名,目标是走 k3s Ingress + cert-manager 统一签发
  • tunnel-transition
    • 当前通过 Tunnel 直接转发到 k3s-master https://192.168.139.199:30443
  • pending-classification
    • 已暴露但归属未清晰,先记录,暂不扩散

操作方式

渲染本机 cloudflared 配置:

cd /Users/brunogao/work/codes/tools/macos/platform/omniverseai-net
./scripts/render-cloudflared-config.sh

检查 repo 模板和当前 ~/.cloudflared/config.yml 的差异:

./scripts/install-cloudflared-config.sh check
./scripts/install-cloudflared-launchd.sh check

安装 repo 中的配置到 ~/.cloudflared/config.yml:

./scripts/install-cloudflared-config.sh install

安装或升级 cloudflared 的 launchd 常驻进程:

./scripts/install-cloudflared-launchd.sh install
./scripts/install-cloudflared-launchd.sh status

当前生产 tunnel 不再依赖本机 127.0.0.1:30080 bridge。 *.omniverseai.net 默认直接转发到 https://192.168.139.199:30443,仅对非 k8s 本机服务保留显式主机规则。

约束

  1. 新增子域名之前,先改 inventory/domains.yaml。
  2. ~/.cloudflared/config.yml 不再作为手工编辑入口。
  3. LJWX 业务的新 k3s 应用优先进入 argoCD/ljwx-deploy/。
  4. macos-k3s/ 继续承担“当前集群真实状态”的版本化基线。
  5. gitea/ 和 harbor/ 继续保留各自的运行脚本和备份逻辑,本目录只负责它们的边界和入口。