-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDockerfile
More file actions
86 lines (81 loc) · 2.9 KB
/
Dockerfile
File metadata and controls
86 lines (81 loc) · 2.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
FROM docker.io/library/golang:1.25.2-alpine@sha256:182059d7dae0e1dfe222037d14b586ebece3ebf9a873a0fe1cc32e53dbea04e0
SHELL [ "/bin/ash", "-o", "pipefail", "-c" ]
WORKDIR /tests
ARG TARGETARCH
# renovate: datasource=github-tags depName=vmware-tanzu/velero
ENV VELERO_VERSION=v1.13.2
# renovate: datasource=github-tags depName=kubevirt/kubevirt
ENV VIRTCTL_VERSION=v1.2.0
RUN set -eux; \
apk upgrade --no-cache; \
# the PHP package name changes depending on the version that is available in the base image's package repository (php7, php8, php81, ...)
PHP_PACKAGE="$(apk search --exact --no-cache --quiet cmd:php)"; \
apk add --no-cache \
"${PHP_PACKAGE:?}-curl" \
"${PHP_PACKAGE:?}-iconv" \
"${PHP_PACKAGE:?}-json" \
"${PHP_PACKAGE:?}-mbstring" \
"${PHP_PACKAGE:?}-openssl" \
"${PHP_PACKAGE:?}-phar" \
"${PHP_PACKAGE:?}" \
bash \
bats \
bind-tools \
composer \
coreutils \
curl \
docker-cli \
flarectl \
gettext \
git \
gnupg \
jq \
kubectl \
lab \
make \
minio-client \
npm \
skopeo \
xmlstarlet \
yarn \
yq \
; \
# minio client
ln -s "$(command -v mcli)" /usr/local/bin/mc; \
# letsencrypt staging ca-certificates
curl --fail --show-error --silent --location --output /usr/local/share/ca-certificates/letsencrypt-stg-root-x1.crt https://letsencrypt.org/certs/staging/letsencrypt-stg-root-x1.pem; \
curl --fail --show-error --silent --location --output /usr/local/share/ca-certificates/letsencrypt-stg-int-r3.crt https://letsencrypt.org/certs/staging/letsencrypt-stg-int-r3.pem; \
update-ca-certificates; \
# velero
curl --fail --location --show-error --silent "https://github.com/vmware-tanzu/velero/releases/download/${VELERO_VERSION:?}/velero-${VELERO_VERSION:?}-linux-${TARGETARCH:?}.tar.gz" | \
tar xz --to-stdout "velero-${VELERO_VERSION:?}-linux-${TARGETARCH:?}/velero" >/usr/local/bin/velero; \
chmod +x /usr/local/bin/velero; \
# virtctl
curl --fail --show-error --silent --location --output /usr/local/bin/virtctl "https://github.com/kubevirt/kubevirt/releases/download/${VIRTCTL_VERSION:?}/virtctl-${VIRTCTL_VERSION:?}-linux-${TARGETARCH:?}"; \
chmod +x /usr/local/bin/virtctl; \
# smoke tests
bats --version; \
composer --version; \
curl --version; \
dig -v; \
docker --version; \
envsubst --version; \
flarectl --version; \
git --version; \
go version; \
jq --version; \
kubectl version --client; \
lab --version; \
make --version; \
mc --version; \
npm --version; \
php --version; \
skopeo --version; \
velero version --client-only; \
virtctl version --client; \
xmlstarlet --version; \
yarn --version; \
yq --version; \
:
HEALTHCHECK NONE
CMD ["/bin/bash"]