Push to the in-cluster Forgejo registry over plain HTTP #7
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Pipelines that push large images through
build.shsend every layer togit.van-hemmen.com. That hostname resolves to the public ingress (Traefik, ontalos-ovh-gateway-one), even though the runners and Forgejo are both in theforgejonamespace, on the same node (talos-ovh-worker-two). Layers therefore leave the node, go through Traefik, and come back.Traefik's per-request timeout cuts any layer upload that takes longer than about 60 seconds.
actions/sindri'scoder-xfce-vncbuilds have been failing at the push since 2026-09-10 with:For the same failures, Forgejo logged
UploadBlob() [E] unexpected EOFon uploads lasting 60.0–60.7 s.Proposal
Allow
build.shto push to Forgejo's in-cluster Service (app-http-service.forgejo.svc.cluster.local:3000) over plain HTTP, skipping the ingress. Forgejo already answers the registry API there (/v2/returns401withDocker-Distribution-Api-Version: registry/2.0), and the runner already talks to Forgejo through that Service.build.shalready supports a customREGISTRY_HOST, but it has no way to allow a plain-HTTP registry. Add aREGISTRY_INSECUREsetting that passes Kaniko's--insecure-registry=${REGISTRY_HOST}. That flag affects only that one registry, so base-image pulls from other registries keep using TLS.Node-to-node traffic in the cluster goes through WireGuard, so plain HTTP to the Service never crosses the network unencrypted.
🤖 Generated with Claude Code