Mark harbor-core as an insecure registry for dockerd

docker push was hanging: "Client.Timeout exceeded while awaiting
headers" doing a TLS handshake against harbor-core.harbor.svc.cluster.local,
which only ever speaks plain HTTP (TLS disabled cluster-wide by
design). Docker defaults to HTTPS for any bare registry hostname
regardless of network path — that default has nothing to do with
whether traffic routes through Contour/Ingress, contrary to what an
earlier pending-items note assumed. Adds --insecure-registry to the
dind container's dockerd startup args.
This commit is contained in:
Mukul Sharma
2026-09-02 16:26:00 +05:30
parent 51d3a0a033
commit 4f414407de
+10
View File
@@ -15,6 +15,16 @@ spec:
image: docker:27-dind image: docker:27-dind
securityContext: securityContext:
privileged: true privileged: true
# Harbor's harbor-core Service serves plain HTTP internally (TLS is
# disabled cluster-wide by design — see claude.md's "everything is
# plain HTTP" note). Docker still defaults to attempting HTTPS
# against any bare registry hostname regardless of whether the
# network path actually involves TLS anywhere — that default isn't
# about routing through Contour/Ingress, it's just the client's own
# convention. Without this flag, `docker push` hangs doing a TLS
# handshake against a server that's only ever spoken HTTP.
args:
- "--insecure-registry=harbor-core.harbor.svc.cluster.local"
env: env:
- name: DOCKER_TLS_CERTDIR - name: DOCKER_TLS_CERTDIR
value: "" value: ""