From e3ad2276283c3b1accbe8410e93bc176989f083f Mon Sep 17 00:00:00 2001 From: Dreaded_X Date: Sun, 21 Dec 2025 06:38:13 +0100 Subject: [PATCH] feat: Update to new workflow --- .gitea/workflows/build.yaml | 4 ++-- Dockerfile | 6 ++++-- docker-bake.hcl | 23 +++++++++++++++++++++++ manifests/deployment.yaml | 2 +- 4 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 docker-bake.hcl diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 4592204..9425525 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -9,8 +9,8 @@ on: jobs: build: - uses: dreaded_x/workflows/.gitea/workflows/rust-kubernetes.yaml@66ab50c3ac239dbdd1e42e6276ec2e65b6a79379 + uses: infra/workflows/.gitea/workflows/docker.yaml@d062ec1f98edd46c48b5f3185d2a7c01ebb6bda2 + secrets: inherit with: - generate_crds: true webhook_url: ${{ secrets.WEBHOOK_URL }} diff --git a/Dockerfile b/Dockerfile index 2298986..c5432be 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=builder /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 new file mode 100644 index 0000000..eb12894 --- /dev/null +++ b/docker-bake.hcl @@ -0,0 +1,23 @@ +variable "TAG_BASE" {} +variable "RELEASE_VERSION" {} + +group "default" { + targets = ["lldap-controller", "manifests"] +} + +target "docker-metadata-action" {} + +target "lldap-controller" { + inherits = ["docker-metadata-action"] + 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"] +} diff --git a/manifests/deployment.yaml b/manifests/deployment.yaml index f71eff7..247ed13 100644 --- a/manifests/deployment.yaml +++ b/manifests/deployment.yaml @@ -21,7 +21,7 @@ spec: securityContext: {} containers: - name: lldap-controller - image: git.huizinga.dev/dreaded_x/lldap-controller@${DIGEST} + image: { { index .images "lldap-controller" } } imagePullPolicy: IfNotPresent securityContext: {} resources: