From e6b0ae6851df25f881a7704f7d6830144e1e7a77 Mon Sep 17 00:00:00 2001 From: Dreaded_X Date: Sun, 21 Dec 2025 06:40:17 +0100 Subject: [PATCH] feat: Generate crds in Dockerfile --- .gitea/workflows/build.yaml | 1 - Dockerfile | 6 ++++-- docker-bake.hcl | 10 +++++++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 72388e5..c5990d5 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -12,5 +12,4 @@ jobs: uses: dreaded_x/workflows/.gitea/workflows/docker-kubernetes.yaml@ef78704b98c72e4a6b8340f9bff7b085a7bdd95c secrets: inherit with: - generate_crds: true webhook_url: ${{ secrets.WEBHOOK_URL }} diff --git a/Dockerfile b/Dockerfile index 2298986..9a8e253 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,9 +15,11 @@ RUN cargo chef cook --release --recipe-path recipe.json COPY . . ARG RELEASE_VERSION ENV RELEASE_VERSION=${RELEASE_VERSION} -RUN cargo auditable build --release +RUN cargo auditable build --release && /app/target/release/crdgen > /crds.yaml + +FROM scratch AS manifests +COPY --from=base /crds.yaml / FROM gcr.io/distroless/cc-debian12:nonroot AS runtime COPY --from=builder /app/target/release/lldap-controller /lldap-controller -COPY --from=builder /app/target/release/crdgen /crdgen CMD ["/lldap-controller"] diff --git a/docker-bake.hcl b/docker-bake.hcl index d11fcb0..3ed83b4 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -2,7 +2,7 @@ variable "TAG_BASE" {} variable "RELEASE_VERSION" {} group "default" { - targets = ["lldap-controller"] + targets = ["lldap-controller", "generate-crds"] } target "docker-metadata-action" {} @@ -12,4 +12,12 @@ target "lldap-controller" { context = "./" dockerfile = "Dockerfile" tags = [for tag in target.docker-metadata-action.tags : "${TAG_BASE}:${tag}"] + target = "runtime" +} + +target "manifests" { + context = "./" + dockerfile = "Dockerfile" + target = "manifests" + output = [{ type = "cacheonly" }, "manifests"] }