diff --git a/cloudbuild-docker.yaml b/cloudbuild-docker.yaml index 33239e50de..a635b5d55b 100644 --- a/cloudbuild-docker.yaml +++ b/cloudbuild-docker.yaml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -timeout: 5400s # 1h +timeout: 10800s #3h steps: - id: Build C2D Docker Image @@ -47,7 +47,7 @@ steps: - builds - submit - --timeout - - 5400s + - 10800s - --config - cloudbuild.yaml - . diff --git a/docker/cassandra/4/debian12/4.1/Dockerfile b/docker/cassandra/4/debian12/4.1/Dockerfile index d7246af83a..6ff79e3dd7 100644 --- a/docker/cassandra/4/debian12/4.1/Dockerfile +++ b/docker/cassandra/4/debian12/4.1/Dockerfile @@ -1,6 +1,7 @@ -FROM golang:1.23.4-bookworm AS gosu-builder +ARG BASE_REGISTRY="docker.io" +FROM ${BASE_REGISTRY}/golang:bookworm AS gosu-builder RUN set -eux; \ apt-get update; \ @@ -50,7 +51,7 @@ RUN ARCH=amd64 GOARCH=amd64 gosu-build-and-test.sh RUN set -eux; ls -lAFh /go/bin/gosu-*; file /go/bin/gosu-* -FROM marketplace.gcr.io/google/debian12 +FROM marketplace.gcr.io/google/debian12@sha256:f13f9826c524466f844e74534b8add32f51acd2be428b5dee782fe9086e59861 # explicitly set user/group IDs RUN groupadd -r cassandra --gid=999 && useradd -r -g cassandra --uid=999 cassandra @@ -122,17 +123,6 @@ ENV JMX_EXPORTER_CONFIG ${JMX_EXPORTER_PATH}/cassandra.yml ENV JMX_EXPORTER_LICENSE ${JMX_EXPORTER_PATH}/LICENSE ENV JMX_EXPORTER_NOTICE ${JMX_EXPORTER_PATH}/NOTICE - -RUN apt-get update \ - && apt-get install -y --no-install-recommends curl git ca-certificates wget \ - && mkdir -p $JMX_EXPORTER_PATH \ - && wget -O $JMX_EXPORTER_AGENT https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/$JMX_EXPORTER_VERSION/$JMX_EXPORTER_JAR \ - && wget -O $JMX_EXPORTER_CONFIG https://raw.githubusercontent.com/prometheus/jmx_exporter/main/examples/cassandra.yml \ - && wget -O $JMX_EXPORTER_LICENSE https://raw.githubusercontent.com/prometheus/jmx_exporter/main/LICENSE \ - && wget -O $JMX_EXPORTER_NOTICE https://raw.githubusercontent.com/prometheus/jmx_exporter/main/NOTICE \ - && apt-get purge -y --auto-remove ca-certificates wget \ - && rm -rf /var/lib/apt/lists/* - RUN set -x; \ echo "deb http://deb.debian.org/debian unstable main non-free non-free-firmware contrib" > /etc/apt/sources.list.d/debian-unstable.list; \ apt-get update \ @@ -141,13 +131,6 @@ RUN set -x; \ COPY docker-entrypoint.sh /docker-entrypoint.sh ENTRYPOINT ["/docker-entrypoint.sh"] -RUN mkdir -p /var/lib/cassandra "$CASSANDRA_CONFIG" /var/log/cassandra \ - && chown -R cassandra:cassandra /var/lib/cassandra "$CASSANDRA_CONFIG" "$JMX_EXPORTER_PATH" /var/log/cassandra \ - && chmod 777 /var/lib/cassandra "$CASSANDRA_CONFIG" "$JMX_EXPORTER_PATH" /var/log/cassandra \ - && ln -sT /var/lib/cassandra "$CASSANDRA_HOME/data" \ - && ln -sT /var/log/cassandra "$CASSANDRA_HOME/logs" \ - && chown cassandra:cassandra /docker-entrypoint.sh - VOLUME /var/lib/cassandra RUN test ${C2D_RELEASE} = $(cassandra -v) \ @@ -160,11 +143,6 @@ COPY download-licenses.sh /download-licenses.sh RUN mkdir -p /usr/src && \ /download-licenses.sh /components.csv /usr/src/licenses -# Download GPL source-code -RUN git clone https://github.com/typetools/checker-framework.git /usr/src/checker-framework \ - && git clone https://github.com/qos-ch/logback.git /usr/src/logback \ - && git clone https://github.com/vbmacher/cup-maven-plugin /usr/src/cup-maven-plugin - # 7000: intra-node communication # 7001: TLS intra-node communication # 7199: JMX @@ -173,4 +151,4 @@ RUN git clone https://github.com/typetools/checker-framework.git /usr/src/checke # 9404: JMX Exporter for Prometheus metrics EXPOSE 7000 7001 7199 9042 9160 9404 -CMD ["cassandra", "-f"] +CMD ["cassandra", "-f"] \ No newline at end of file diff --git a/docker/cassandra/5/debian12/5.0/Dockerfile b/docker/cassandra/5/debian12/5.0/Dockerfile index b5a37494c2..38fae81a75 100644 --- a/docker/cassandra/5/debian12/5.0/Dockerfile +++ b/docker/cassandra/5/debian12/5.0/Dockerfile @@ -1,6 +1,7 @@ -FROM golang:1.23.4-bookworm AS gosu-builder +ARG BASE_REGISTRY="docker.io" +FROM ${BASE_REGISTRY}/golang:bookworm AS gosu-builder RUN set -eux; \ apt-get update; \ @@ -50,7 +51,7 @@ RUN ARCH=amd64 GOARCH=amd64 gosu-build-and-test.sh RUN set -eux; ls -lAFh /go/bin/gosu-*; file /go/bin/gosu-* -FROM marketplace.gcr.io/google/debian12 +FROM marketplace.gcr.io/google/debian12@sha256:f13f9826c524466f844e74534b8add32f51acd2be428b5dee782fe9086e59861 # explicitly set user/group IDs RUN groupadd -r cassandra --gid=999 && useradd -r -g cassandra --uid=999 cassandra @@ -122,17 +123,6 @@ ENV JMX_EXPORTER_CONFIG ${JMX_EXPORTER_PATH}/cassandra.yml ENV JMX_EXPORTER_LICENSE ${JMX_EXPORTER_PATH}/LICENSE ENV JMX_EXPORTER_NOTICE ${JMX_EXPORTER_PATH}/NOTICE - -RUN apt-get update \ - && apt-get install -y --no-install-recommends curl git ca-certificates wget \ - && mkdir -p $JMX_EXPORTER_PATH \ - && wget -O $JMX_EXPORTER_AGENT https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/$JMX_EXPORTER_VERSION/$JMX_EXPORTER_JAR \ - && wget -O $JMX_EXPORTER_CONFIG https://raw.githubusercontent.com/prometheus/jmx_exporter/main/examples/cassandra.yml \ - && wget -O $JMX_EXPORTER_LICENSE https://raw.githubusercontent.com/prometheus/jmx_exporter/main/LICENSE \ - && wget -O $JMX_EXPORTER_NOTICE https://raw.githubusercontent.com/prometheus/jmx_exporter/main/NOTICE \ - && apt-get purge -y --auto-remove ca-certificates wget \ - && rm -rf /var/lib/apt/lists/* - RUN set -x; \ echo "deb http://deb.debian.org/debian unstable main non-free non-free-firmware contrib" > /etc/apt/sources.list.d/debian-unstable.list; \ apt-get update \ @@ -141,13 +131,6 @@ RUN set -x; \ COPY docker-entrypoint.sh /docker-entrypoint.sh ENTRYPOINT ["/docker-entrypoint.sh"] -RUN mkdir -p /var/lib/cassandra "$CASSANDRA_CONFIG" /var/log/cassandra \ - && chown -R cassandra:cassandra /var/lib/cassandra "$CASSANDRA_CONFIG" "$JMX_EXPORTER_PATH" /var/log/cassandra \ - && chmod 777 /var/lib/cassandra "$CASSANDRA_CONFIG" "$JMX_EXPORTER_PATH" /var/log/cassandra \ - && ln -sT /var/lib/cassandra "$CASSANDRA_HOME/data" \ - && ln -sT /var/log/cassandra "$CASSANDRA_HOME/logs" \ - && chown cassandra:cassandra /docker-entrypoint.sh - VOLUME /var/lib/cassandra RUN test ${C2D_RELEASE} = $(cassandra -v) \ @@ -160,11 +143,6 @@ COPY download-licenses.sh /download-licenses.sh RUN mkdir -p /usr/src && \ /download-licenses.sh /components.csv /usr/src/licenses -# Download GPL source-code -RUN git clone https://github.com/typetools/checker-framework.git /usr/src/checker-framework \ - && git clone https://github.com/qos-ch/logback.git /usr/src/logback \ - && git clone https://github.com/vbmacher/cup-maven-plugin /usr/src/cup-maven-plugin - # 7000: intra-node communication # 7001: TLS intra-node communication # 7199: JMX @@ -173,4 +151,4 @@ RUN git clone https://github.com/typetools/checker-framework.git /usr/src/checke # 9404: JMX Exporter for Prometheus metrics EXPOSE 7000 7001 7199 9042 9160 9404 -CMD ["cassandra", "-f"] +CMD ["cassandra", "-f"] \ No newline at end of file diff --git a/docker/cassandra/templates/cassandra4/Dockerfile.template b/docker/cassandra/templates/cassandra4/Dockerfile.template index 422194d0c6..0fc6e96a6c 100644 --- a/docker/cassandra/templates/cassandra4/Dockerfile.template +++ b/docker/cassandra/templates/cassandra4/Dockerfile.template @@ -3,7 +3,8 @@ {{- $cassandra := index .Packages "cassandra" }} {{- $c2dRelease := index .TemplateArgs "c2dRelease" }} -FROM golang:{{ $golang.Version }}-bookworm AS gosu-builder +ARG BASE_REGISTRY="docker.io" +FROM ${BASE_REGISTRY}/golang:bookworm AS gosu-builder RUN set -eux; \ apt-get update; \ @@ -125,17 +126,6 @@ ENV JMX_EXPORTER_CONFIG ${JMX_EXPORTER_PATH}/cassandra.yml ENV JMX_EXPORTER_LICENSE ${JMX_EXPORTER_PATH}/LICENSE ENV JMX_EXPORTER_NOTICE ${JMX_EXPORTER_PATH}/NOTICE - -RUN apt-get update \ - && apt-get install -y --no-install-recommends curl git ca-certificates wget \ - && mkdir -p $JMX_EXPORTER_PATH \ - && wget -O $JMX_EXPORTER_AGENT https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/$JMX_EXPORTER_VERSION/$JMX_EXPORTER_JAR \ - && wget -O $JMX_EXPORTER_CONFIG https://raw.githubusercontent.com/prometheus/jmx_exporter/main/examples/cassandra.yml \ - && wget -O $JMX_EXPORTER_LICENSE https://raw.githubusercontent.com/prometheus/jmx_exporter/main/LICENSE \ - && wget -O $JMX_EXPORTER_NOTICE https://raw.githubusercontent.com/prometheus/jmx_exporter/main/NOTICE \ - && apt-get purge -y --auto-remove ca-certificates wget \ - && rm -rf /var/lib/apt/lists/* - RUN set -x; \ echo "deb http://deb.debian.org/debian unstable main non-free non-free-firmware contrib" > /etc/apt/sources.list.d/debian-unstable.list; \ apt-get update \ @@ -144,13 +134,6 @@ RUN set -x; \ COPY docker-entrypoint.sh /docker-entrypoint.sh ENTRYPOINT ["/docker-entrypoint.sh"] -RUN mkdir -p /var/lib/cassandra "$CASSANDRA_CONFIG" /var/log/cassandra \ - && chown -R cassandra:cassandra /var/lib/cassandra "$CASSANDRA_CONFIG" "$JMX_EXPORTER_PATH" /var/log/cassandra \ - && chmod 777 /var/lib/cassandra "$CASSANDRA_CONFIG" "$JMX_EXPORTER_PATH" /var/log/cassandra \ - && ln -sT /var/lib/cassandra "$CASSANDRA_HOME/data" \ - && ln -sT /var/log/cassandra "$CASSANDRA_HOME/logs" \ - && chown cassandra:cassandra /docker-entrypoint.sh - VOLUME /var/lib/cassandra RUN test ${C2D_RELEASE} = $(cassandra -v) \ @@ -163,11 +146,6 @@ COPY download-licenses.sh /download-licenses.sh RUN mkdir -p /usr/src && \ /download-licenses.sh /components.csv /usr/src/licenses -# Download GPL source-code -RUN git clone https://github.com/typetools/checker-framework.git /usr/src/checker-framework \ - && git clone https://github.com/qos-ch/logback.git /usr/src/logback \ - && git clone https://github.com/vbmacher/cup-maven-plugin /usr/src/cup-maven-plugin - # 7000: intra-node communication # 7001: TLS intra-node communication # 7199: JMX @@ -176,4 +154,4 @@ RUN git clone https://github.com/typetools/checker-framework.git /usr/src/checke # 9404: JMX Exporter for Prometheus metrics EXPOSE 7000 7001 7199 9042 9160 9404 -CMD ["cassandra", "-f"] +CMD ["cassandra", "-f"] \ No newline at end of file diff --git a/docker/cassandra/versions.yaml b/docker/cassandra/versions.yaml index 6a302e66a1..0328cfc614 100644 --- a/docker/cassandra/versions.yaml +++ b/docker/cassandra/versions.yaml @@ -1,4 +1,4 @@ -# Copyright 2025 Google LLC +## Copyright 2025 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,11 +14,11 @@ cloudbuild: - docker_image: gcr.io/cloud-builders/docker:24.0.9 + docker_image: gcr.io/cloud-builders/docker@sha256:1a9553236b25fd6e1bf2a864c8becb26782c429f4570695b27f4ad6f1a0ed75e enable_parallel: false versions: - dir: 5/debian12/5.0 - from: marketplace.gcr.io/google/debian12 + from: marketplace.gcr.io/google/debian12@sha256:f13f9826c524466f844e74534b8add32f51acd2be428b5dee782fe9086e59861 packages: cassandra: gpg: 514A2AD631A57A16DD0047EC749D6EEC0353B12C A26E528B271F19B9E5D8E19EA278B781FE4B2BDA @@ -44,7 +44,7 @@ versions: - key: com.googleapis.cloudmarketplace.product.service.name value: services/ba024e66-0fcf-4db1-8775-c934ffaf77da.cloudpartnerservices.goog dir: 4/debian12/4.1 - from: marketplace.gcr.io/google/debian12 + from: marketplace.gcr.io/google/debian12@sha256:f13f9826c524466f844e74534b8add32f51acd2be428b5dee782fe9086e59861 packages: cassandra: gpg: 514A2AD631A57A16DD0047EC749D6EEC0353B12C A26E528B271F19B9E5D8E19EA278B781FE4B2BDA @@ -65,5 +65,4 @@ versions: - latest templateArgs: c2dRelease: 4.1.7 - templateSubDir: cassandra4 - + templateSubDir: cassandra4 \ No newline at end of file