- Добавлена колонка 'Тип' во все таблицы истории сборок - Для push операций отображается registry вместо платформ - Сохранение пользователя при создании push лога - Исправлена ошибка с logger в push_docker_image endpoint - Улучшено отображение истории сборок с визуальными индикаторами
74 lines
2.5 KiB
Docker
74 lines
2.5 KiB
Docker
# Kubernetes Kind Container - Multi-Arch
|
|
# Автор: Сергей Антропов
|
|
# Сайт: https://devops.org.ru
|
|
|
|
ARG TARGETARCH
|
|
|
|
FROM ubuntu:22.04
|
|
|
|
# Обновляем систему
|
|
RUN apt-get update && apt-get upgrade -y && apt-get clean
|
|
|
|
# Устанавливаем базовые пакеты
|
|
RUN apt-get install -y \
|
|
wget \
|
|
curl \
|
|
git \
|
|
vim \
|
|
bash \
|
|
ca-certificates \
|
|
python3 \
|
|
python3-yaml \
|
|
file \
|
|
apt-transport-https \
|
|
gnupg \
|
|
lsb-release \
|
|
&& apt-get clean
|
|
|
|
# Устанавливаем Docker CLI
|
|
RUN DOCKER_VERSION=20.10.24 && \
|
|
if [ "${TARGETARCH}" = "amd64" ]; then \
|
|
wget -O /tmp/docker-cli.tgz "https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_VERSION}.tgz" && \
|
|
tar -xz -C /tmp -f /tmp/docker-cli.tgz && \
|
|
mv /tmp/docker/docker /usr/local/bin/ && \
|
|
rm -rf /tmp/docker-cli.tgz /tmp/docker; \
|
|
else \
|
|
wget -O /tmp/docker-cli.tgz "https://download.docker.com/linux/static/stable/aarch64/docker-${DOCKER_VERSION}.tgz" && \
|
|
tar -xz -C /tmp -f /tmp/docker-cli.tgz && \
|
|
mv /tmp/docker/docker /usr/local/bin/ && \
|
|
rm -rf /tmp/docker-cli.tgz /tmp/docker; \
|
|
fi && \
|
|
chmod +x /usr/local/bin/docker
|
|
|
|
# Устанавливаем kubectl
|
|
RUN if [ "${TARGETARCH}" = "amd64" ]; then \
|
|
wget -O kubectl "https://dl.k8s.io/release/v1.34.1/bin/linux/amd64/kubectl"; \
|
|
else \
|
|
wget -O kubectl "https://dl.k8s.io/release/v1.34.1/bin/linux/arm64/kubectl"; \
|
|
fi && \
|
|
chmod +x kubectl && \
|
|
mv kubectl /usr/local/bin/
|
|
|
|
# Устанавливаем Helm
|
|
RUN wget https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 -O - | bash
|
|
|
|
# Устанавливаем Kind v0.30.0
|
|
RUN if [ "${TARGETARCH}" = "amd64" ]; then \
|
|
wget -O /usr/local/bin/kind "https://github.com/kubernetes-sigs/kind/releases/download/v0.30.0/kind-linux-amd64"; \
|
|
else \
|
|
wget -O /usr/local/bin/kind "https://github.com/kubernetes-sigs/kind/releases/download/v0.30.0/kind-linux-arm64"; \
|
|
fi && \
|
|
chmod +x /usr/local/bin/kind && \
|
|
ls -lh /usr/local/bin/kind && \
|
|
file /usr/local/bin/kind
|
|
|
|
# Устанавливаем Istio CLI
|
|
RUN ARCH=$(echo ${TARGETARCH} | sed 's/amd64/x86_64/; s/arm64/aarch64/') && \
|
|
ISTIO_VERSION=1.22.1 && \
|
|
wget -qO- https://istio.io/downloadIstio | ISTIO_VERSION=${ISTIO_VERSION} TARGET_ARCH=${ARCH} sh - && \
|
|
mv istio-${ISTIO_VERSION}/bin/istioctl /usr/local/bin/ && \
|
|
rm -rf istio-${ISTIO_VERSION}
|
|
|
|
# Команда по умолчанию
|
|
CMD ["sleep", "infinity"]
|