|
1 | 1 | # syntax=docker/dockerfile:1.10.0@sha256:865e5dd094beca432e8c0a1d5e1c465db5f998dca4e439981029b3b81fb39ed5 |
2 | 2 | # check=error=true |
3 | 3 |
|
4 | | -# Find the latest version at https://catalog.redhat.com/software/containers/ubi9/ubi-minimal/615bd9b4075b022acc111bf5?container-tabs=gti |
5 | | -# IMPORTANT: Make sure to use the "Manifest List Digest" that references the images for multiple architectures |
6 | | -# rather than just the "Image Digest" that references the image for the selected architecture. |
7 | | -FROM registry.access.redhat.com/ubi9/ubi-minimal@sha256:c0e70387664f30cd9cf2795b547e4a9a51002c44a4a86aa9335ab030134bf392 AS product-utils-builder |
| 4 | +FROM stackable/image/stackable-devel AS config-utils |
8 | 5 |
|
9 | 6 | # Find the latest version here: https://github.com/stackabletech/config-utils/tags |
10 | 7 | # renovate: datasource=github-tags packageName=stackabletech/config-utils |
11 | 8 | ENV CONFIG_UTILS_VERSION=0.2.0 |
12 | | -# Find the latest version here: https://github.com/stackabletech/containerdebug/tags |
13 | | -# renovate: datasource=github-tags packageName=stackabletech/containerdebug |
14 | | -ENV CONTAINERDEBUG_VERSION=0.1.1 |
15 | | -# This SHOULD be kept in sync with operator-templating and other tools to reduce build times |
16 | | -# Find the latest version here: https://doc.rust-lang.org/stable/releases.html |
17 | | -# renovate: datasource=github-releases packageName=rust-lang/rust |
18 | | -ENV RUST_DEFAULT_TOOLCHAIN_VERSION=1.84.1 |
19 | | -# Find the latest version here: https://crates.io/crates/cargo-cyclonedx |
20 | | -# renovate: datasource=crate packageName=cargo-cyclonedx |
21 | | -ENV CARGO_CYCLONEDX_CRATE_VERSION=0.5.7 |
22 | | -# Find the latest version here: https://crates.io/crates/cargo-auditable |
23 | | -# renovate: datasource=crate packageName=cargo-auditable |
24 | | -ENV CARGO_AUDITABLE_CRATE_VERSION=0.6.6 |
25 | | - |
26 | | -RUN <<EOF |
27 | | -microdnf update --assumeyes |
28 | | - |
29 | | -# git: Needed to fetch source |
30 | | -# gcc: Needed for compilation |
31 | | -microdnf --assumeyes install \ |
32 | | - gcc \ |
33 | | - git |
34 | | -microdnf clean all |
35 | | -rm -rf /var/cache/yum |
36 | | - |
37 | | -# WARNING (@NickLarsenNZ): We should pin the rustup version |
38 | | -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain "$RUST_DEFAULT_TOOLCHAIN_VERSION" |
39 | | -. "$HOME/.cargo/env" && cargo --quiet install cargo-cyclonedx@"$CARGO_CYCLONEDX_CRATE_VERSION" cargo-auditable@"$CARGO_AUDITABLE_CRATE_VERSION" |
40 | | -EOF |
41 | | - |
42 | | -FROM product-utils-builder AS config-utils |
43 | 9 |
|
44 | 10 | RUN <<EOF |
45 | 11 | git clone --depth 1 --branch "${CONFIG_UTILS_VERSION}" https://github.com/stackabletech/config-utils |
46 | 12 | cd ./config-utils |
47 | 13 | . "$HOME/.cargo/env" |
48 | | -rustup toolchain install |
49 | 14 | cargo auditable --quiet build --release && cargo cyclonedx --all --spec-version 1.5 --describe binaries |
50 | 15 | EOF |
51 | 16 |
|
52 | | -FROM product-utils-builder AS containerdebug |
| 17 | +FROM stackable/image/stackable-devel AS containerdebug |
| 18 | + |
| 19 | +# Find the latest version here: https://github.com/stackabletech/containerdebug/tags |
| 20 | +# renovate: datasource=github-tags packageName=stackabletech/containerdebug |
| 21 | +ENV CONTAINERDEBUG_VERSION=0.1.1 |
53 | 22 |
|
54 | 23 | RUN <<EOF |
55 | 24 | git clone --depth 1 --branch "${CONTAINERDEBUG_VERSION}" https://github.com/stackabletech/containerdebug |
56 | 25 | cd ./containerdebug |
57 | 26 | . "$HOME/.cargo/env" |
58 | | -rustup toolchain install |
59 | 27 | cargo auditable --quiet build --release && cargo cyclonedx --all --spec-version 1.5 --describe binaries |
60 | 28 | EOF |
61 | 29 |
|
62 | | -FROM product-utils-builder AS patchable |
63 | | - |
64 | | -# Copy source code of patchable |
65 | | -COPY rust/patchable/ /patchable/rust/patchable |
66 | | -# Copy workspace files |
67 | | -COPY Cargo.* /patchable/ |
68 | | - |
69 | | -RUN <<EOF |
70 | | -microdnf update --assumeyes |
71 | | -microdnf install --assumeyes openssl-devel pkg-config |
72 | | -cd /patchable |
73 | | -. "$HOME/.cargo/env" |
74 | | -rustup toolchain install |
75 | | -cargo auditable --quiet build --release && cargo cyclonedx --all --spec-version 1.5 --describe binaries |
76 | | -microdnf clean all |
77 | | -EOF |
78 | | - |
79 | 30 | # Find the latest version at https://catalog.redhat.com/software/containers/ubi9/ubi-minimal/615bd9b4075b022acc111bf5?container-tabs=gti |
80 | 31 | # IMPORTANT: Make sure to use the "Manifest List Digest" that references the images for multiple architectures |
81 | 32 | # rather than just the "Image Digest" that references the image for the selected architecture. |
@@ -221,10 +172,6 @@ COPY --from=config-utils --chown=${STACKABLE_USER_UID}:0 /config-utils/config-ut |
221 | 172 | # Debug tool that logs generic system information. |
222 | 173 | COPY --from=containerdebug --chown=${STACKABLE_USER_UID}:0 /containerdebug/target/release/containerdebug /stackable/containerdebug |
223 | 174 |
|
224 | | -# **patchable** |
225 | | -# Tool for patch management |
226 | | -COPY --from=patchable --chown=${STACKABLE_USER_UID}:0 /patchable/target/release/patchable /stackable/patchable |
227 | | - |
228 | 175 | ENV PATH="${PATH}:/stackable" |
229 | 176 |
|
230 | 177 | # These labels have mostly been superceded by the OpenContainer spec annotations below but it doesn't hurt to include them |
|
0 commit comments