2025-12-09 08:32:47 +01:00
|
|
|
FROM alpine:3.23
|
2018-06-06 15:42:53 +02:00
|
|
|
|
|
|
|
|
RUN apk --no-cache add \
|
2020-10-20 23:10:56 +02:00
|
|
|
bash \
|
2025-01-20 12:02:22 +01:00
|
|
|
curl \
|
2018-06-06 15:42:53 +02:00
|
|
|
git \
|
|
|
|
|
libc6-compat \
|
|
|
|
|
openssh-client \
|
2020-08-10 05:27:37 +08:00
|
|
|
py3-pip \
|
|
|
|
|
py3-wheel \
|
2024-04-21 09:13:08 +02:00
|
|
|
python3 \
|
2025-01-20 12:02:22 +01:00
|
|
|
yamllint
|
2018-06-06 15:42:53 +02:00
|
|
|
|
|
|
|
|
# Install Yamale YAML schema validator
|
2025-01-20 12:02:22 +01:00
|
|
|
ARG yamale_version=6.0.0
|
2023-07-10 10:14:23 +00:00
|
|
|
LABEL yamale-version=$yamale_version
|
2024-04-21 09:13:08 +02:00
|
|
|
RUN pip install --break-system-packages "yamale==$yamale_version"
|
2018-06-06 15:42:53 +02:00
|
|
|
|
2022-01-12 18:23:22 +01:00
|
|
|
ARG TARGETPLATFORM
|
2018-06-06 15:42:53 +02:00
|
|
|
# Install kubectl
|
2025-01-20 12:02:22 +01:00
|
|
|
ARG kubectl_version=v1.32.0
|
2023-07-10 10:14:23 +00:00
|
|
|
LABEL kubectl-version=$kubectl_version
|
2025-01-20 12:02:22 +01:00
|
|
|
RUN targetArch=$(echo $TARGETPLATFORM | cut -f2 -d '/') \
|
|
|
|
|
&& if [ ${targetArch} = "amd64" ]; then \
|
|
|
|
|
HELM_ARCH="linux/amd64"; \
|
|
|
|
|
elif [ ${targetArch} = "arm64" ]; then \
|
|
|
|
|
HELM_ARCH="linux/arm64"; \
|
|
|
|
|
fi \
|
|
|
|
|
&& curl -LO "dl.k8s.io/$kubectl_version/bin/$HELM_ARCH/kubectl" \
|
|
|
|
|
&& chmod +x kubectl \
|
|
|
|
|
&& mv kubectl /usr/local/bin/
|
2018-06-06 15:42:53 +02:00
|
|
|
|
|
|
|
|
# Install Helm
|
2025-01-20 12:02:22 +01:00
|
|
|
ARG helm_version=v3.16.4
|
2023-07-10 10:14:23 +00:00
|
|
|
LABEL helm-version=$helm_version
|
2022-01-12 18:23:22 +01:00
|
|
|
RUN targetArch=$(echo $TARGETPLATFORM | cut -f2 -d '/') \
|
|
|
|
|
&& if [ ${targetArch} = "amd64" ]; then \
|
|
|
|
|
HELM_ARCH="linux-amd64"; \
|
|
|
|
|
elif [ ${targetArch} = "arm64" ]; then \
|
|
|
|
|
HELM_ARCH="linux-arm64"; \
|
|
|
|
|
fi \
|
|
|
|
|
&& curl -LO "https://get.helm.sh/helm-$helm_version-$HELM_ARCH.tar.gz" \
|
|
|
|
|
&& mkdir -p "/usr/local/helm-$helm_version" \
|
|
|
|
|
&& tar -xzf "helm-$helm_version-$HELM_ARCH.tar.gz" -C "/usr/local/helm-$helm_version" \
|
|
|
|
|
&& ln -s "/usr/local/helm-$helm_version/$HELM_ARCH/helm" /usr/local/bin/helm \
|
|
|
|
|
&& rm -f "helm-$helm_version-$HELM_ARCH.tar.gz"
|
2018-06-06 15:42:53 +02:00
|
|
|
|
2019-01-07 22:39:39 +01:00
|
|
|
COPY ./etc/chart_schema.yaml /etc/ct/chart_schema.yaml
|
|
|
|
|
COPY ./etc/lintconf.yaml /etc/ct/lintconf.yaml
|
2025-10-08 16:10:04 +02:00
|
|
|
ARG TARGETPLATFORM
|
|
|
|
|
COPY $TARGETPLATFORM/ct /usr/local/bin/ct
|
2019-02-22 03:10:56 -05:00
|
|
|
# Ensure that the binary is available on path and is executable
|
|
|
|
|
RUN ct --help
|