Compare commits

...

3 Commits

Author SHA1 Message Date
Tao Li
6c8a74f4aa
test(gcs): skip test using fake gcs server
Signed-off-by: Tao Li <tao.li@enterprisedb.com>
2026-09-01 22:02:49 +08:00
Tao Li
68ac9d4ae1
fix(build): includes tar into sidecar image
Signed-off-by: Tao Li <tao.li@enterprisedb.com>
2026-09-01 21:18:56 +08:00
Tao Li
318fb5cab8
chore(dept): apply suggestion from @mnencia
Co-authored-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
Signed-off-by: Tao Li <tao.li@enterprisedb.com>
2026-09-01 21:18:49 +08:00
4 changed files with 8 additions and 17 deletions

View File

@ -63,6 +63,9 @@ RUN python3 -m venv /venv && \
# already present in the distroless base image.
# Distroless package list from: https://github.com/GoogleContainerTools/distroless/blob/main/base/config.bzl
# and https://github.com/GoogleContainerTools/distroless/blob/main/python3/config.bzl
# libselinux1/libpcre2-8-0 are pulled in transitively by python3.13-venv's apt metadata,
# but the actual distroless base does not ship them, so they are excluded from the
# "already present" set below to force them to be bundled (tar needs them at runtime).
RUN mkdir -p /dependencies /build/downloads && \
cd /build/downloads && \
DISTROLESS_PACKAGES="libc6 libssl3t64 libzstd1 zlib1g libgcc-s1 libstdc++6 \
@ -73,10 +76,11 @@ RUN mkdir -p /dependencies /build/downloads && \
libpython3.13-stdlib python3.13-minimal python3.13-venv" && \
apt-cache depends --recurse --no-recommends --no-suggests \
--no-conflicts --no-breaks --no-replaces --no-enhances \
$DISTROLESS_PACKAGES 2>/dev/null | grep "^\w" | sort -u > /tmp/distroless.txt && \
$DISTROLESS_PACKAGES 2>/dev/null | grep "^\w" | sort -u | \
grep -v -x -E 'libselinux1|libpcre2-8-0' > /tmp/distroless.txt && \
apt-cache depends --recurse --no-recommends --no-suggests \
--no-conflicts --no-breaks --no-replaces --no-enhances \
libpq5 liblz4-1 libsnappy1v5 2>/dev/null | grep "^\w" | sort -u | \
libpq5 liblz4-1 libsnappy1v5 tar 2>/dev/null | grep "^\w" | sort -u | \
grep -v -F -x -f /tmp/distroless.txt > /tmp/packages.txt && \
apt-get download $(cat /tmp/packages.txt) && \
for deb in *.deb; do \
@ -102,6 +106,7 @@ LABEL summary="$SUMMARY" \
COPY --from=pythonbuilder /venv /venv
COPY --from=pythonbuilder /dependencies/usr/lib /usr/lib
COPY --from=pythonbuilder /dependencies/usr/bin/tar /usr/bin/tar
COPY --from=gobuilder /workspace/manager /manager
# Compile all Python bytecode as root to avoid runtime compilation

View File

@ -1,2 +1,2 @@
barman[azure,cloud,google,snappy,zstandard,lz4]==3.20.0
zipp>=3.20.0 # not directly required, pinned by Snyk to avoid a vulnerability
zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability

View File

@ -198,15 +198,5 @@ var _ = Describe("Backup and restore", func() {
"using in-tree for backup and the plugin for restore on Azure",
&azureBackupPluginInTreeBackupPluginRestore{},
),
Entry("using the plugin for backup and restore on GCS",
&gcsBackupPluginBackupPluginRestore{},
),
Entry("using the plugin for backup and in-tree for restore on GCS",
&gcsBackupPluginBackupInTreeRestore{},
),
Entry(
"using in-tree for backup and the plugin for restore on GCS",
&gcsBackupPluginInTreeBackupPluginRestore{},
),
)
})

View File

@ -268,9 +268,5 @@ var _ = Describe("Replica cluster", func() {
"with Azurite",
azuriteReplicaClusterFactory{},
),
Entry(
"with fake-gcs-server",
gcsReplicaClusterFactory{},
),
)
})