The official rust:alpine base (unlike whatever image the old defunct
registry.nxtgauge.com mirror actually held) already ships a full
rustup-installed toolchain, so the extra `curl rustup.rs | sh` step
now fails with "cannot install while Rust is installed". Drop it and
the /root/.cargo/bin PATH override (the base image already sets PATH
to its own /usr/local/cargo/bin) - just add the musl target, which the
existing rustup binary can do directly.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
registry.nxtgauge.com was set up back in April for the old Woodpecker
CI (commit 09df032) as a manual one-time mirror of rust:alpine to
dodge Docker Hub rate limits. It never had a real ingress route wired
up on the current cluster (confirmed: no Ingress/IngressRoute matches
that host anywhere), so every build has been failing at the base-image
pull. ci.nxtgauge.com is the registry actually in active use since the
Forgejo migration, and the build job already authenticates against it
for pushing service images, so no new credentials are needed. Manually
mirrored rust:alpine there as a one-time step.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Change FROM rust:alpine to FROM registry.nxtgauge.com/rust:alpine
- Fixes Docker Hub rate limiting/UNAUTHORIZED errors in Woodpecker builds
- Requires manually pulling and pushing rust:alpine to registry.nxtgauge.com first
- Replace complex caching with simple Dockerfile
- Remove cargo-chef complexity that was slowing builds
- Add .woodpecker-base.yml for separate base image builds
- Add Dockerfile.simple for faster builds
- Add Dockerfile.ultrafast for when base image exists