diff --git a/airflow/Dockerfile b/airflow/Dockerfile index 83b9896e7..08eaaafdc 100644 --- a/airflow/Dockerfile +++ b/airflow/Dockerfile @@ -12,6 +12,7 @@ FROM stackable/image/statsd_exporter AS statsd_exporter-builder FROM stackable/image/vector AS airflow-build-image ARG PRODUCT +ARG STATSD_EXPORTER ARG PYTHON ARG TARGETARCH @@ -38,20 +39,37 @@ RUN microdnf update && \ python${PYTHON}-pip \ python${PYTHON}-wheel \ # The airflow odbc provider can compile without the development files (headers and libraries) (see https://github.com/stackabletech/docker-images/pull/683) - unixODBC && \ + unixODBC \ + # Needed to modify the SBOM + jq && \ microdnf clean all && \ rm -rf /var/cache/yum -RUN python${PYTHON} -m venv --system-site-packages /stackable/app && \ - source /stackable/app/bin/activate && \ - pip install --no-cache-dir --upgrade pip && \ - pip install --no-cache-dir apache-airflow[${AIRFLOW_EXTRAS}]==${PRODUCT} --constraint /tmp/constraints.txt && \ - # Needed for pandas S3 integration to e.g. write and read csv and parquet files to/from S3 - pip install --no-cache-dir s3fs cyclonedx-bom && \ - cyclonedx-py environment --schema-version 1.5 --outfile /stackable/airflow-${PRODUCT}.cdx.json +RUN < /stackable/app/airflow-${PRODUCT}.cdx.json +EOF WORKDIR /stackable COPY --from=statsd_exporter-builder /statsd_exporter/statsd_exporter /stackable/statsd_exporter +COPY --from=statsd_exporter-builder /statsd_exporter/statsd_exporter-${STATSD_EXPORTER}.cdx.json /stackable/statsd_exporter-${STATSD_EXPORTER}.cdx.json FROM stackable/image/vector AS airflow-main-image diff --git a/kafka/Dockerfile b/kafka/Dockerfile index 4d7b204c0..4fac60a91 100644 --- a/kafka/Dockerfile +++ b/kafka/Dockerfile @@ -11,16 +11,33 @@ ARG OPA_AUTHORIZER ARG JMX_EXPORTER ARG STACKABLE_USER_UID +RUN <= 1.23.1) +RUN go install github.com/CycloneDX/cyclonedx-gomod/cmd/cyclonedx-gomod@v1.7.0 RUN curl "https://repo.stackable.tech/repository/packages/opa/opa_${PRODUCT}.tar.gz" -o opa.tar.gz && \ tar -zxvf opa.tar.gz && \ - mv opa-${PRODUCT} opa + mv "opa-${PRODUCT}" opa WORKDIR /opa -RUN go build -o opa -buildmode=exe +RUN <= 1.23.1) +go install github.com/CycloneDX/cyclonedx-gomod/cmd/cyclonedx-gomod@v1.7.0 + curl "https://repo.stackable.tech/repository/packages/statsd_exporter/statsd_exporter-${PRODUCT}.src.tar.gz" | tar -xzC . ( cd "statsd_exporter-${PRODUCT}" || exit + + # Unfortunately, we need to create a dummy Git repository to allow cyclonedx-gomod to determine the version of statsd_exporter + git init + git add go.mod + git config --global user.email "dummy@stackable.tech" + git config --global user.name "dummy" + git commit -m "dummy" + git tag "${PRODUCT}" go build -o ../statsd_exporter + $GOPATH/bin/cyclonedx-gomod app -json -output-version 1.5 -output ../statsd_exporter-${PRODUCT}.cdx.json -packages -files ) rm -rf "statsd_exporter-${PRODUCT}" EOF