External Component Compatibility Matrix
Last updated: 2026-07-01.
This page is based on the external APIs the platform actually calls. Use it before installation, upgrades, or troubleshooting to choose a practical version range. “Supported range” is what the current implementation prioritizes for validation, while “Recommended version” is the safer choice for a new deployment. For SaaS products such as GitHub.com and Docker Hub, the current public API is the compatibility boundary because there is no installable server version.
Compatibility overview
Key interface notes
Git platforms
The current Git provider implementation supports GitHub and Gitea only. GitHub uses REST API version 2022-11-28; GitHub Enterprise Server should stay within the official support window and include the same REST API behavior. Gitea uses the instance /api/v1, so private Gitea upgrades should rerun repository list, OAuth, webhook creation, and file read smoke tests.
GitLab is currently only a model enum, not an available provider. Implementing it later should add a separate compatibility entry for GitLab REST API v4, OAuth, and webhooks.
Registries
Registries are handled in three groups:
- Docker Hub uses Docker Hub API v2 and is validated against the current SaaS API.
- Harbor uses Harbor
/api/v2.0for project/repository search and artifact/tag reads. - Other registries use Docker Registry HTTP API V2 or OCI Distribution Spec basics.
If a registry disables catalog listing, users can still manually enter the image repository and tag. Search and tag suggestions degrade gracefully.
Kubernetes and Gateway
Runtime cluster support follows the client-go v0.36.x official compatibility window: Kubernetes 1.34 ~ 1.36. For K3s, use the embedded Kubernetes minor version rather than only the K3s release number.
Access routes now use Gateway API HTTPRoute as the main path. Clusters must install Gateway API CRDs and run a Gateway API capable controller. The current validation target is Traefik 3.x with its Kubernetes Gateway provider, while the platform model remains generic Gateway API instead of Traefik-specific annotations.
Database, queue, and builds
Compose and Helm defaults use postgres:17-alpine and redis:8-alpine. When using managed external services, prefer the same major versions or a documented backward-compatible version. The default build executor is moby/buildkit:v0.24.0-rootless; if replacing it, validate Git clone, Dockerfile frontend, registry login, push, cache import/export, and log collection.
Upgrade smoke tests
After upgrading an external component, run at least these smoke tests. A successful connection check alone is not enough:
- GitHub/Gitea: OAuth login, repository list, branch list, Dockerfile read, webhook create or reconfigure.
- Registry: connection test, repository search, tag listing, build push, runtime image pull.
- Kubernetes/K3s: cluster connection test, build Job creation, Deployment/Service creation, Pod log read, Web Console exec.
- Gateway API: after creating an access route, verify Gateway Accepted/Programmed and HTTPRoute Accepted/ResolvedRefs/Programmed.
- OIDC: complete login, bind external identity, validate callback URL and issuer.
- Prometheus/Grafana: scrape API/Worker metrics, import dashboard JSON, and open the iframe URL.
References
- 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