Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aae6138fa5
|
||
|
|
42bcf8190e |
+1
-1
@@ -22,7 +22,7 @@ SPIFFE/SPIRE 已按维护者授权补读 #34;LAN DNS 与 Authelia 已按维护
|
|||||||
| [marker](marker.md) | GPU 文档转换 API | `集群内端口 8001` | 配置与部署指南;未附上线记录 | `apps/marker/README.md` | 已有转换示例;部署镜像仍为占位符 |
|
| [marker](marker.md) | GPU 文档转换 API | `集群内端口 8001` | 配置与部署指南;未附上线记录 | `apps/marker/README.md` | 已有转换示例;部署镜像仍为占位符 |
|
||||||
| netboot | PXE 与系统安装 | `192.168.10.127` | 有部署及使用记录 | `apps/netboot/README.md` | 已有客户端启动说明 |
|
| netboot | PXE 与系统安装 | `192.168.10.127` | 有部署及使用记录 | `apps/netboot/README.md` | 已有客户端启动说明 |
|
||||||
| [netbox](netbox.md) | 网络资产与地址管理评估 | `netbox.ad.ddupan.top` | 记录已部署;评估用途 | `apps/netbox/README.md` | 已有浏览与 Git 修改入口指南 |
|
| [netbox](netbox.md) | 网络资产与地址管理评估 | `netbox.ad.ddupan.top` | 记录已部署;评估用途 | `apps/netbox/README.md` | 已有浏览与 Git 修改入口指南 |
|
||||||
| [nexus](nexus.md) | CI 包代理与统一制品仓库 POC | `nexus.ad.ddupan.top` | 2026-09-20 已部署并现场验证 Ansible/Go 冷热缓存 | `apps/nexus/README.md` | 补 OCI 声明式管理、BuildKit 与备份恢复测试 |
|
| [nexus](nexus.md) | CI 包代理与统一制品仓库 POC | `nexus.ad.ddupan.top` | 2026-09-20 已现场验证 Ansible、Go、OCI 与 BuildKit cache | `apps/nexus/README.md` | 补 publisher account、外部 PostgreSQL 与备份恢复测试 |
|
||||||
| [openviking](openviking.md) | 上下文检索服务 | `记录端口 1933 / 8020` | 配置与部署指南;未附上线记录 | `apps/openviking/README.md` | 已有导入、任务查询、检索与原文读取指南 |
|
| [openviking](openviking.md) | 上下文检索服务 | `记录端口 1933 / 8020` | 配置与部署指南;未附上线记录 | `apps/openviking/README.md` | 已有导入、任务查询、检索与原文读取指南 |
|
||||||
| [ps3netsrv](ps3netsrv.md) | PS3 网络内容服务 | `宿主 TCP 38008;地址未记录` | Docker 运维文档记录运行 | `apps/ps3netsrv/docker-compose.yml` | 已有客户端与内容目录指南 |
|
| [ps3netsrv](ps3netsrv.md) | PS3 网络内容服务 | `宿主 TCP 38008;地址未记录` | Docker 运维文档记录运行 | `apps/ps3netsrv/docker-compose.yml` | 已有客户端与内容目录指南 |
|
||||||
| [seaweedfs](seaweedfs.md) | S3 对象存储 | `s3.ad.ddupan.top` | zot 文档记录已使用 | `apps/seaweedfs/README.md` | 已有客户端读写指南与备份边界说明 |
|
| [seaweedfs](seaweedfs.md) | S3 对象存储 | `s3.ad.ddupan.top` | zot 文档记录已使用 | `apps/seaweedfs/README.md` | 已有客户端读写指南与备份边界说明 |
|
||||||
|
|||||||
+26
-11
@@ -9,9 +9,9 @@ sources: []
|
|||||||
|
|
||||||
# Nexus Repository POC
|
# Nexus Repository POC
|
||||||
|
|
||||||
Nexus Repository Community Edition POC 为一次性 CI runner 提供共享的 Ansible Galaxy 与
|
Nexus Repository Community Edition POC 为一次性 CI runner 提供共享的 Ansible Galaxy、
|
||||||
Go Modules 缓存,减少每个 job 从公网重新下载依赖的时间。GitOps 已部署,两个代理链路已
|
Go Modules、OCI 与 BuildKit 缓存,减少每个 job 从公网重新下载依赖的时间。GitOps 已部署,
|
||||||
完成现场冷/热缓存验证;OCI/BuildKit 尚未纳入本轮验收,现役 zot 保持不变。
|
上述代理与缓存链路均已完成现场验证;数据库和备份仍是 POC,现役 zot 保持不变。
|
||||||
|
|
||||||
## 从哪里使用
|
## 从哪里使用
|
||||||
|
|
||||||
@@ -20,7 +20,8 @@ Go Modules 缓存,减少每个 job 从公网重新下载依赖的时间。GitO
|
|||||||
后续正式化优先使用 Samba AD LDAP。Community
|
后续正式化优先使用 Samba AD LDAP。Community
|
||||||
Edition 不提供原生 OIDC/SAML,因此不能把 Authelia OIDC 写成已支持入口。
|
Edition 不提供原生 OIDC/SAML,因此不能把 Authelia OIDC 写成已支持入口。
|
||||||
- CI 读取:`ansible-public`、Ansible 返回制品 URL 使用的成员 proxy 与 `go-public` 已开放
|
- CI 读取:`ansible-public`、Ansible 返回制品 URL 使用的成员 proxy 与 `go-public` 已开放
|
||||||
LAN 匿名只读;Terraform 明确收窄权限,未使用默认的全仓库匿名角色。
|
LAN 匿名只读;`oci-public` 与其 `oci-proxy` 成员同样匿名只读,`oci-hosted` 不开放匿名。
|
||||||
|
Terraform 明确收窄权限,未使用默认的全仓库匿名角色。
|
||||||
- CI 发布:目标是少量按信任边界划分的本地 service account,凭据由 OpenBao 保存;
|
- CI 发布:目标是少量按信任边界划分的本地 service account,凭据由 OpenBao 保存;
|
||||||
当前 POC 尚未创建 publisher 或授予写权限。
|
当前 POC 尚未创建 publisher 或授予写权限。
|
||||||
|
|
||||||
@@ -63,15 +64,27 @@ GOPROXY=https://nexus.ad.ddupan.top/repository/go-public/ go mod download
|
|||||||
2026-09-20 使用两个全新 Go module cache 下载 `golang.org/x/[email protected]`:冷缓存
|
2026-09-20 使用两个全新 Go module cache 下载 `golang.org/x/[email protected]`:冷缓存
|
||||||
2.92 秒、热缓存 1.51 秒,均通过 `go-public` 匿名入口完成。
|
2.92 秒、热缓存 1.51 秒,均通过 `go-public` 匿名入口完成。
|
||||||
|
|
||||||
|
OCI 使用 path-based routing。公共镜像从
|
||||||
|
`nexus.ad.ddupan.top/oci-public/<namespace>/<image>:<tag>` 匿名拉取;写入使用
|
||||||
|
`nexus.ad.ddupan.top/oci-hosted/<namespace>/<image>:<tag>` 并要求认证。2026-09-20 验证:
|
||||||
|
|
||||||
|
- Alpine 代理冷拉 4.75 秒、热拉 0.80 秒,digest 一致;
|
||||||
|
- hosted push/pull 成功,匿名 pull 返回 401;
|
||||||
|
- amd64/arm64 OCI image index 可 push 与 inspect;
|
||||||
|
- Helm OCI chart push/pull digest 及本地 tarball SHA-256 一致;
|
||||||
|
- Cosign 签名和公钥验证成功,OCI 1.1 referrers 返回一个 Sigstore bundle;
|
||||||
|
- BuildKit `mode=max` registry cache 成功导出;销毁首个 builder 后,新 builder 从 Nexus
|
||||||
|
导入缓存,两个 `RUN` step 均命中 `CACHED`。
|
||||||
|
|
||||||
## POC 限制
|
## POC 限制
|
||||||
|
|
||||||
- 单副本、50 GiB OpenEBS RWO PVC,资源上限 2 CPU / 4 GiB。
|
- 单副本、50 GiB OpenEBS RWO PVC,资源上限 2 CPU / 4 GiB。
|
||||||
- 当前使用 embedded H2,仅用于 POC;正式保存唯一制品前迁移至外部 PostgreSQL。
|
- 当前使用 embedded H2,仅用于 POC;正式保存唯一制品前迁移至外部 PostgreSQL。
|
||||||
- 当前没有独立备份或恢复验收,PVC 不能被视为备份。
|
- 当前没有独立备份或恢复验收,PVC 不能被视为备份。
|
||||||
- Terraform provider 已声明 Ansible 与 Go proxy/group;provider 1.17.0 尚未暴露 Nexus
|
- Terraform provider 管理 Ansible/Go、Realm 与权限;provider 1.17.0 尚未暴露 Nexus 3.94
|
||||||
3.94 新增的原生 OCI repository resource。
|
新增的原生 OCI repository resource,因此 OCI 仓库由实例 Swagger 固定 schema 的幂等 REST
|
||||||
- OCI 必须在补齐声明式 REST/provider 管理后再测试,不保留仅通过 UI 创建的长期配置。
|
调和器管理,不通过 UI 留下非声明式配置。
|
||||||
- BuildKit registry cache 有待单独验证,普通 OCI image push 成功不能替代该测试。
|
- 尚未创建正式 publisher service account;本轮写入测试临时使用受管管理员凭据。
|
||||||
|
|
||||||
## 出问题时
|
## 出问题时
|
||||||
|
|
||||||
@@ -100,6 +113,8 @@ WAN,不以重建 PVC 作为排障手段。
|
|||||||
|
|
||||||
2026-09-20 现场确认 Flux Kustomization Ready、Nexus Pod Ready、50 GiB PVC Bound,HTTPRoute
|
2026-09-20 现场确认 Flux Kustomization Ready、Nexus Pod Ready、50 GiB PVC Bound,HTTPRoute
|
||||||
经 HTTPS 状态 API 返回 200;Samba DNS apply 后复查 `changed=0`。Terraform 已创建 Ansible、
|
经 HTTPS 状态 API 返回 200;Samba DNS apply 后复查 `changed=0`。Terraform 已创建 Ansible、
|
||||||
Go proxy/group 和最小匿名只读角色,二次 plan 为 `No changes`;上述客户端冷/热测试成功。
|
Go proxy/group、OCI Bearer Token Realm 和最小匿名只读角色,二次 plan 为 `No changes`;OCI
|
||||||
实现来源为 homelab-infra PR #103。尚未验证 OCI、BuildKit cache、备份恢复或外部 PostgreSQL,
|
REST 调和器复查三个仓库均为 `in sync`。Ansible、Go、OCI、Helm、Cosign/referrers 与
|
||||||
也未修改或迁移 zot,因此本页的 `live-verified` 仅覆盖已明确列出的 POC 范围。
|
BuildKit cache 的上述客户端测试均成功。实现来源为 homelab-infra PR #103、#108 与 #109。
|
||||||
|
尚未验证备份恢复或外部 PostgreSQL,也未创建正式 publisher account、修改或迁移 zot,
|
||||||
|
因此本页的 `live-verified` 仅覆盖已明确列出的 POC 范围。
|
||||||
|
|||||||
Reference in New Issue
Block a user