buildDocker.groovy hardcoded harbor.35.238.248.203.nip.io as the push target, so the registry could not move without editing this shared library and every consumer moving in the same commit. It now reads config.harbor_registry, whose default lives in homelabPipeline.groovy beside harbor_project and every other key. The stage errors rather than defaulting when the value is missing. Carrying a second copy of the literal would leave two defaults free to disagree, and an unset value would otherwise build an image named "null/<project>/<repo>" — which docker accepts as a hostname and then fails to resolve, pointing nowhere near the cause. The dind pod no longer mounts the registry CA. That mount existed because the registry was a nip.io name, which no public CA will issue for, so cert-manager signed Harbor from a private CA; the node pool was told to trust it for pulls, but a push comes from dockerd inside the build pod, which has its own trust store. harbor.infra.deployshed.com carries a Let's Encrypt certificate that both already trust, so the mount, its volume and the whole arrangement go away rather than being repointed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LEsTefWWifp4ikvhHF5s6N
23 lines
1.1 KiB
Plaintext
23 lines
1.1 KiB
Plaintext
# Fallback only — see go-Dockerfile's header comment for the general
|
|
# rule, including the Harbor base-images sourcing (also applies here).
|
|
# Simplified from the real java-Dockerfile: no JFrog artifact
|
|
# resolution, no Homelab-internal Maven mirror. Assumes a standard Maven
|
|
# repo producing a single runnable jar under target/. Switched both
|
|
# stages from their Debian defaults to the -alpine variant — smaller,
|
|
# still keeps a shell (not distroless). Maven itself still reaches out
|
|
# to Maven Central for plugins/dependencies during the build regardless
|
|
# of base image — this only removes the Docker Hub dependency for the
|
|
# base image layer, not package-registry traffic during the build.
|
|
FROM harbor.infra.deployshed.com/base-images/maven:3-eclipse-temurin-${version}-alpine AS build
|
|
WORKDIR /src
|
|
COPY pom.xml .
|
|
RUN mvn -B dependency:go-offline
|
|
COPY . .
|
|
RUN mvn -B package -DskipTests
|
|
|
|
FROM harbor.infra.deployshed.com/base-images/eclipse-temurin:${version}-jre-alpine
|
|
WORKDIR /app
|
|
COPY --from=build /src/target/*.jar app.jar
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["java", "-jar", "app.jar"]
|