diff --git a/.ci/image.sh b/.ci/image.sh index 07e5c4f..70afc6c 100755 --- a/.ci/image.sh +++ b/.ci/image.sh @@ -13,6 +13,13 @@ image="$APP_NAME/$APP_COMPONENT:$APP_VERSION" dockerfile="./Dockerfile" echo && echo "Building $image image" -executor -c ./ -f "$dockerfile" -d "$HARBOR_REGISTRY/$image" +executor -c ./ -f "$dockerfile" -d "$HARBOR_REGISTRY/$image" \ + --build-arg MONGO_VERSION="$MONGO_VERSION" \ + --build-arg MONGO_SHELL_VERSION="$MONGO_SHELL_VERSION" \ + --build-arg MONGO_TOOLS_VERSION="$MONGO_TOOLS_VERSION" \ + --build-arg MONGO_RUST_PING_VERSION="$MONGO_RUST_PING_VERSION" \ + --build-arg YQ_VERSION="$YQ_VERSION" \ + --build-arg WAIT_PORT_VERSION="$WAIT_PORT_VERSION" \ + --build-arg RENDER_TEMPLATE_VERSION="$RENDER_TEMPLATE_VERSION" echo && echo 'Done' diff --git a/.ci/set-env.sh b/.ci/set-env.sh index 31dd23f..827e6ce 100755 --- a/.ci/set-env.sh +++ b/.ci/set-env.sh @@ -14,6 +14,13 @@ app_component='server' printf 'APP_COMPONENT=%s\n' "$app_component" >> "$CI_ENV_FILE" printf 'APP_VERSION=%s\n' "$(getAppVersion)" >> "$CI_ENV_FILE" +printf 'MONGO_VERSION=%s\n' '7.0.14' >> "$CI_ENV_FILE" +printf 'MONGO_SHELL_VERSION=%s\n' '2.3.0-0' >> "$CI_ENV_FILE" +printf 'MONGO_TOOLS_VERSION=%s\n' '100.10.0' >> "$CI_ENV_FILE" +printf 'MONGO_RUST_PING_VERSION=%s\n' '0.4.0' >> "$CI_ENV_FILE" +printf 'YQ_VERSION=%s\n' '4.44.3-2' >> "$CI_ENV_FILE" +printf 'WAIT_PORT_VERSION=%s\n' '1.0.8-3' >> "$CI_ENV_FILE" +printf 'RENDER_TEMPLATE_VERSION=%s\n' '1.0.7-3' >> "$CI_ENV_FILE" printf 'HARBOR_REGISTRY=%s\n' 'harbor.flakybit.net' >> "$CI_ENV_FILE" printf 'EXTERNAL_REGISTRY_NAMESPACE=%s\n' 'flakybitnet' >> "$CI_ENV_FILE" diff --git a/Dockerfile b/Dockerfile index 78e9091..a435758 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,15 @@ FROM docker.io/bitnami/minideb:bookworm +ARG MONGO_VERSION +ARG MONGO_SHELL_VERSION +ARG MONGO_TOOLS_VERSION +ARG MONGO_RUST_PING_VERSION +ARG YQ_VERSION +ARG WAIT_PORT_VERSION +ARG RENDER_TEMPLATE_VERSION + ENV APP_NAME="mongodb" \ - APP_VERSION="7.0.14" \ + APP_VERSION=$MONGO_VERSION \ HOME="/opt/bitnami/mongodb" \ OS_ARCH="amd64" \ OS_FLAVOUR="debian-12" \ @@ -32,10 +40,10 @@ RUN mkdir -p /tmp/bitnami/pkg/cache/ ; \ install_packages curl ; \ # Install Bitnami components BITNAMI_COMPONENTS=( \ - "mongodb-shell-2.3.0-0-linux-${OS_ARCH}-${OS_FLAVOUR}" \ - "yq-4.44.3-2-linux-${OS_ARCH}-${OS_FLAVOUR}" \ - "wait-for-port-1.0.8-3-linux-${OS_ARCH}-${OS_FLAVOUR}" \ - "render-template-1.0.7-3-linux-${OS_ARCH}-${OS_FLAVOUR}" \ + "mongodb-shell-${MONGO_SHELL_VERSION}-linux-${OS_ARCH}-${OS_FLAVOUR}" \ + "yq-${YQ_VERSION}-linux-${OS_ARCH}-${OS_FLAVOUR}" \ + "wait-for-port-${WAIT_PORT_VERSION}-linux-${OS_ARCH}-${OS_FLAVOUR}" \ + "render-template-${RENDER_TEMPLATE_VERSION}-linux-${OS_ARCH}-${OS_FLAVOUR}" \ ) ; \ for COMPONENT in "${BITNAMI_COMPONENTS[@]}"; do \ if [ ! -f "${COMPONENT}.tar.gz" ]; then \ @@ -49,7 +57,7 @@ RUN mkdir -p /tmp/bitnami/pkg/cache/ ; \ # Install custom MongoDB and tools COMPONENTS=( \ "mongodb-${APP_VERSION}-0-linux-${OS_ARCH}-${OS_FLAVOUR}" \ - "mongo-tools-100.10.0-linux-${OS_ARCH}" \ + "mongo-tools-${MONGO_TOOLS_VERSION}-linux-${OS_ARCH}" \ ) ; \ for COMPONENT in "${COMPONENTS[@]}"; do \ if [ ! -f "${COMPONENT}.tar.gz" ]; then \ @@ -63,7 +71,7 @@ RUN mkdir -p /tmp/bitnami/pkg/cache/ ; \ # Install rust-ping COMPONENT='mongodb-rust-ping-x86_64-unknown-linux-gnu' ; \ echo "Downloading $COMPONENT" ; \ - curl -SsLf "https://github.com/syndikat7/mongodb-rust-ping/releases/download/v0.4.0/$COMPONENT.tar.gz" -O ; \ + curl -SsLf "https://github.com/syndikat7/mongodb-rust-ping/releases/download/v${MONGO_RUST_PING_VERSION}/$COMPONENT.tar.gz" -O ; \ tar -zxf "$COMPONENT.tar.gz" -C /usr/bin --no-same-owner ; \ # Remove unused packages and clean cache apt-get autoremove --purge -y curl && \