Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 24 additions & 55 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
FROM alpine:3.17
FROM alpine:3.22

# Install some tools
# python is required for gsutil
RUN set -x \
&& apk add --update bash findutils postgresql-client gzip bzip2 lz4 xz unzip zip coreutils python3 rsync curl \
&& apk add --update bash findutils postgresql-client gzip bzip2 lz4 xz unzip zip coreutils python3 rsync curl aws-cli \
&& rm -rf /var/cache/apk/* \
;

# Install Panubo bash-container
RUN set -x \
&& BASHCONTAINER_VERSION=0.7.2 \
&& BASHCONTAINER_SHA256=87c4b804f0323d8f0856cb4fbf2f7859174765eccc8b0ac2d99b767cecdcf5c6 \
&& BASHCONTAINER_VERSION=0.8.0 \
&& BASHCONTAINER_SHA256=0ddc93b11fd8d6ac67f6aefbe4ba790550fc98444e051e461330f10371a877f1 \
&& if [ -n "$(readlink /usr/bin/wget)" ]; then \
fetchDeps="${fetchDeps} wget"; \
fi \
Expand All @@ -24,61 +24,30 @@ RUN set -x \
&& apk del ${fetchDeps} \
;

# ENV \
# GSUTIL_VERSION=4.46 \
# GSUTIL_CHECKSUM=bb319cc49d74cf12b692748d498abc63e6098750fb6e36cff71eebf71ec895e0 \
# CLOUDSDK_GSUTIL_PYTHON=python3 \
# CLOUDSDK_PYTHON=python3
#
# # Install gsutil
# RUN set -x \
# && mkdir -p /opt \
# && curl -o /tmp/gsutil_${GSUTIL_VERSION}.tar.gz "https://storage.googleapis.com/pub/gsutil_${GSUTIL_VERSION}.tar.gz" \
# && echo "${GSUTIL_CHECKSUM} gsutil_${GSUTIL_VERSION}.tar.gz" > /tmp/SHA256SUM \
# && ( cd /tmp; sha256sum -c SHA256SUM; ) \
# && tar -C /opt -zxf /tmp/gsutil_${GSUTIL_VERSION}.tar.gz \
# && ln -s /opt/gsutil/gsutil /usr/local/bin/gsutil \
# && rm -f /tmp/* \
# && find /opt ! -group 0 -exec chgrp -h 0 {} \; \
# ;

# Install Gcloud SDK (required for gsutil workload identity authentication)
ENV \
GCLOUD_VERSION=424.0.0 \
GCLOUD_CHECKSUM=1fed39626f23352e0f97623d5009ff1bb6c4ffd3875c85f4205f309292696b18

RUN set -x \
&& apk --no-cache add python3 \
&& curl -o /tmp/google-cloud-sdk-${GCLOUD_VERSION}-linux-x86_64.tar.gz -L https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-${GCLOUD_VERSION}-linux-x86_64.tar.gz \
&& echo "${GCLOUD_CHECKSUM} google-cloud-sdk-${GCLOUD_VERSION}-linux-x86_64.tar.gz" > /tmp/SHA256SUM \
&& ( cd /tmp; sha256sum -c SHA256SUM || ( echo "Expected $(sha256sum google-cloud-sdk-${GCLOUD_VERSION}-linux-x86_64.tar.gz)"; exit 1; )) \
&& tar -C / -zxvf /tmp/google-cloud-sdk-${GCLOUD_VERSION}-linux-x86_64.tar.gz \
&& /google-cloud-sdk/install.sh --quiet \
&& ln -s /google-cloud-sdk/bin/gcloud /usr/local/bin/ \
&& ln -s /google-cloud-sdk/bin/gsutil /usr/local/bin/ \
&& rm -rf /tmp/* /root/.config/gcloud \
;

# Install AWS CLI
ENV \
PYTHONIOENCODING=UTF-8 \
PYTHONUNBUFFERED=0 \
PAGER=more \
AWS_CLI_VERSION=1.27.103 \
AWS_CLI_CHECKSUM=0fed454146160807e273c4fd9bb1d0ba0926e3fb8ed3fc55e9251ebd2d53407c
GCLOUD_VERSION=542.0.0 \
GCLOUD_CHECKSUM_X86_64=6ac032650f507e61cf0b68a462be7e97edc9352cb3b95ce9a0d32cd8a4cfdfd5 \
GCLOUD_CHECKSUM_AARCH64=6b732c2e38da8d03395688fd4460b6d28a63a6d6d140836f4ecc1eee198be5e7

# Install Gcloud SDK
RUN set -x \
&& apk --update add --no-cache ca-certificates wget unzip \
&& cd /tmp \
&& wget -nv https://s3.amazonaws.com/aws-cli/awscli-bundle-${AWS_CLI_VERSION}.zip -O /tmp/awscli-bundle-${AWS_CLI_VERSION}.zip \
&& echo "${AWS_CLI_CHECKSUM} awscli-bundle-${AWS_CLI_VERSION}.zip" > /tmp/SHA256SUM \
&& ( cd /tmp; sha256sum -c SHA256SUM || ( echo "Expected $(sha256sum awscli-bundle-${AWS_CLI_VERSION}.zip)"; exit 1; )) \
&& unzip awscli-bundle-${AWS_CLI_VERSION}.zip \
&& /tmp/awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws \
&& apk del wget \
&& rm -rf /var/cache/apk/* \
&& rm -rf /tmp/* \
;
&& if [ "$(uname -m)" = "x86_64" ] ; then \
GCLOUD_CHECKSUM="${GCLOUD_CHECKSUM_X86_64}"; \
ARCH="x86_64"; \
elif [ "$(uname -m)" = "aarch64" ]; then \
GCLOUD_CHECKSUM="${GCLOUD_CHECKSUM_AARCH64}"; \
ARCH="arm"; \
fi \
&& curl -o /tmp/google-cloud-sdk-${GCLOUD_VERSION}-linux-${ARCH}.tar.gz -L https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-${GCLOUD_VERSION}-linux-${ARCH}.tar.gz \
&& echo "${GCLOUD_CHECKSUM} google-cloud-sdk-${GCLOUD_VERSION}-linux-${ARCH}.tar.gz" > /tmp/SHA256SUM \
&& ( cd /tmp; sha256sum -c SHA256SUM || ( echo "Expected $(sha256sum google-cloud-sdk-${GCLOUD_VERSION}-linux-${ARCH}.tar.gz)"; exit 1; )) \
&& tar -C / -zxvf /tmp/google-cloud-sdk-${GCLOUD_VERSION}-linux-${ARCH}.tar.gz \
&& /google-cloud-sdk/install.sh --quiet \
&& ln -s /google-cloud-sdk/bin/gcloud /usr/local/bin/ \
&& ln -s /google-cloud-sdk/bin/gsutil /usr/local/bin/ \
&& rm -rf /tmp/* /root/.config/gcloud \
;

COPY commands /usr/local/bin/

Expand Down
2 changes: 1 addition & 1 deletion tests/test_functions.bash
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
TOOLBOX_IMAGE="panubo/postgres-toolbox:latest"
POSTGRES_TARGET_VERSION="14.7"
POSTGRES_TARGET_VERSION="17"

diag() {
echo "$@" | sed -e 's/^/# /' >&3 ;
Expand Down