外部组件兼容矩阵
更新时间:2026-07-01。
这张表根据平台实际调用的外部接口整理,适合在安装、升级或排障前快速确认版本。“可用区间”是当前实现优先支持和测试的范围,“推荐版本”是新部署时更稳妥的选择。GitHub.com、DockerHub 这类 SaaS 没有可安装版本,因此以它们当前公开的 API 作为兼容边界。
兼容范围总览
重点接口说明
Git 平台
当前 Git provider 只实现 GitHub 和 Gitea。GitHub 使用 REST API version 2022-11-28,GitHub Enterprise Server 应选择仍在官方支持期内、且包含该 REST API 行为的版本。Gitea 使用实例 /api/v1,由于 Gitea 的 REST API 随实例版本发布,私有实例升级前应在测试环境重新跑仓库列表、OAuth、Webhook 创建和文件读取。
GitLab 目前只是模型枚举,不是可用 provider。若后续实现 GitLab,应新增 GitLab REST API v4、OAuth、Webhook 的单独兼容项。
镜像仓库
镜像站分三类处理:
- Docker Hub 走 Docker Hub API v2,只能按 SaaS 当前 API 验收。
- Harbor 优先走 Harbor
/api/v2.0,用于搜索项目/仓库和读取 artifact/tag。 - 其他 registry 走 Docker Registry HTTP API V2 或 OCI Distribution Spec 的基础接口。
如果 registry 禁止 catalog 列表,平台仍允许用户手动填写镜像仓库和 tag;搜索和 tag 建议会降级。
Kubernetes 与 Gateway
运行集群的官方支持区间按 client-go v0.36.x 对齐 Kubernetes 1.34 ~ 1.36。K3s 应看它内置的 Kubernetes 小版本,而不是只看 K3s 发行号。
访问入口主路径已经切换到 Gateway API HTTPRoute。集群必须提前安装 Gateway API CRD,并部署支持 Gateway API 的控制器。当前优先按 Traefik 3.x 的 Kubernetes Gateway provider 验收,但平台模型保留 Gateway API 的通用语义,不把业务字段写死到 Traefik annotation。
数据库、队列和构建
PostgreSQL 和 Redis 的 compose/Helm 默认镜像分别是 postgres:17-alpine 和 redis:8-alpine。如使用外部托管服务,建议保持同一主版本或向后兼容版本。构建 executor 默认是 moby/buildkit:v0.24.0-rootless;替换 BuildKit 镜像时,至少验证 Git clone、Dockerfile frontend、registry 登录、push、cache import/export 和日志采集。
升级验收建议
升级外部组件后,至少走一遍以下冒烟测试,不要只以“连接成功”作为验收结果:
- GitHub/Gitea:OAuth 登录、仓库列表、分支列表、读取 Dockerfile、创建或重配 Webhook。
- Registry:连接测试、搜索仓库、读取 tag、构建后推送镜像、运行集群拉取镜像。
- Kubernetes/K3s:测试集群连接、创建构建 Job、创建 Deployment/Service、读取 Pod 日志、Web Console exec。
- Gateway API:创建访问入口后确认 Gateway Accepted/Programmed、HTTPRoute Accepted/ResolvedRefs/Programmed。
- OIDC:完成登录、绑定外部身份、校验 callback URL 和 issuer。
- Prometheus/Grafana:抓取 API/Worker metrics,导入 dashboard JSON,确认 iframe 地址可访问。
参考来源
- GitHub REST API versions
- GitHub Enterprise Server releases
- Gitea API usage
- Docker Registry HTTP API V2
- OCI Distribution Specification
- Docker Hub API reference
- Harbor API explorer
- Kubernetes client-go compatibility
- Kubernetes version skew policy
- Gateway API versioning
- Traefik Kubernetes Gateway provider
- cert-manager release policy
- OpenID Connect Core 1.0
- PostgreSQL versioning policy
- BuildKit rootless mode
- Prometheus exposition formats
- Grafana dashboard JSON model