docs: document Gitea registry token workaround

Gitea's registry token realm is misconfigured — it points to
gitea.coulomb.social:80 but Gitea only listens on port 32166. iptables
is not available on haskelseed (Alpine). Workaround: pre-fetch the bearer
token via curl against port 32166 and pass it to skopeo with
--dest-registry-token, bypassing the broken token service URL entirely.

Validated with inter-hub:11ff61c on 2026-05-02.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-02 17:09:48 +02:00
parent 004b419e30
commit b818866c7f
2 changed files with 34 additions and 10 deletions

View File

@@ -231,19 +231,34 @@ priority: medium
state_hub_task_id: "24b892fa-2a81-4606-b7a8-20e493c89441"
```
Push the built image to the Gitea container registry:
Push the built image to the Gitea container registry.
**Note:** Gitea's registry token realm is misconfigured — it points to
`gitea.coulomb.social:80` but Gitea runs on port 32166. Pre-fetch the token
manually and pass it with `--dest-registry-token` to bypass the broken token
dance (no `iptables` on haskelseed's Alpine to redirect ports):
```bash
sshpass -p 'hcs26!x' ssh root@192.168.178.135 \
'cd /root/ihp-railiance-probe && \
SHA=$(git rev-parse --short HEAD) && \
skopeo copy docker-archive:result \
docker://92.205.130.254:32166/coulomb/ihp-railiance-probe:$SHA'
sshpass -p 'hcs26!x' ssh root@192.168.178.135 bash <<'EOF'
cd /root/ihp-railiance-probe
SHA=$(git rev-parse --short HEAD)
SKOPEO=/nix/store/fwdagky9lfsyrgzxiq14zijcziazfdsn-skopeo-1.22.2/bin/skopeo
TOKEN=$(curl -s \
"http://92.205.130.254:32166/v2/token?service=container_registry&scope=repository:coulomb/ihp-railiance-probe:push,pull" \
-u 'tegwick:<GITEA_API_KEY>' | awk -F'"' '/token/{print $4}')
$SKOPEO copy --insecure-policy --dest-tls-verify=false \
--dest-registry-token "$TOKEN" \
docker-archive:result \
docker://92.205.130.254:32166/coulomb/ihp-railiance-probe:$SHA
EOF
```
Verify:
Verify via the registry API:
```bash
skopeo inspect docker://92.205.130.254:32166/coulomb/ihp-railiance-probe:<SHA>
TOKEN=$(curl -s "http://92.205.130.254:32166/v2/token?service=container_registry&scope=repository:coulomb/ihp-railiance-probe:pull" \
-u 'tegwick:<GITEA_API_KEY>' | awk -F'"' '/token/{print $4}')
curl -s -H "Authorization: Bearer $TOKEN" \
"http://92.205.130.254:32166/v2/coulomb/ihp-railiance-probe/tags/list"
```
**Exit criteria:** `skopeo inspect` succeeds; image visible in Gitea Packages UI.