feat: добавлена пометка типа операции (Build/Push) в истории сборок Dockerfile
- Добавлена колонка 'Тип' во все таблицы истории сборок - Для push операций отображается registry вместо платформ - Сохранение пользователя при создании push лога - Исправлена ошибка с logger в push_docker_image endpoint - Улучшено отображение истории сборок с визуальными индикаторами
This commit is contained in:
70
app/alembic/dockerfiles/astra-linux/Dockerfile
Normal file
70
app/alembic/dockerfiles/astra-linux/Dockerfile
Normal file
@@ -0,0 +1,70 @@
|
||||
# Astra Linux с systemd
|
||||
# Автор: Сергей Антропов
|
||||
# Сайт: https://devops.org.ru
|
||||
# https://registry.astralinux.ru/browse/library/
|
||||
# ВАЖНО: Базовый образ поддерживает только linux/amd64
|
||||
# Для сборки используйте: docker buildx build --platform linux/amd64
|
||||
|
||||
FROM registry.astralinux.ru/library/astra/ubi17:1.7.6.uu2
|
||||
|
||||
# Обновляем систему
|
||||
RUN apt-get update && apt-get dist-upgrade -y
|
||||
|
||||
# Устанавливаем systemd и необходимые пакеты
|
||||
RUN apt-get install -y \
|
||||
systemd \
|
||||
systemd-sysv \
|
||||
dbus \
|
||||
curl \
|
||||
wget \
|
||||
nano \
|
||||
python3 \
|
||||
python3-pip \
|
||||
sudo \
|
||||
&& apt-get clean
|
||||
|
||||
# Устанавливаем yq (автоопределение архитектуры)
|
||||
# RUN ARCH=$(dpkg --print-architecture | sed 's/amd64/amd64/; s/arm64/arm64/; s/aarch64/arm64/') && \
|
||||
# wget -qO /usr/local/bin/yq "https://github.com/mikefarah/yq/releases/latest/download/yq_linux_${ARCH}" && \
|
||||
# chmod +x /usr/local/bin/yq
|
||||
|
||||
# Устанавливаем Docker вручную для AstraLinux (автоопределение архитектуры)
|
||||
# RUN ARCH=$(dpkg --print-architecture) && \
|
||||
# apt-get update && apt-get install -y \
|
||||
# ca-certificates \
|
||||
# curl \
|
||||
# gnupg \
|
||||
# lsb-release && \
|
||||
# mkdir -p /usr/share/keyrings && \
|
||||
# curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
|
||||
# echo "deb [arch=${ARCH} signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian buster stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \
|
||||
# apt-get update && \
|
||||
# apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin && \
|
||||
# apt-get clean
|
||||
|
||||
# Устанавливаем Docker Compose
|
||||
# RUN curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose \
|
||||
# && chmod +x /usr/local/bin/docker-compose
|
||||
|
||||
# Отключаем Parsec для работы в контейнере
|
||||
RUN if [ -f /etc/parsec/parsec.conf ]; then \
|
||||
sed -i 's/enabled=1/enabled=0/' /etc/parsec/parsec.conf || true; \
|
||||
fi && \
|
||||
if [ -f /lib/modules/$(uname -r)/parsec.ko ]; then \
|
||||
mv /lib/modules/$(uname -r)/parsec.ko /lib/modules/$(uname -r)/parsec.ko.disabled || true; \
|
||||
fi && \
|
||||
systemctl disable parsec 2>/dev/null || true
|
||||
|
||||
# Настраиваем systemd
|
||||
RUN systemctl set-default multi-user.target
|
||||
|
||||
# Настраиваем sudoers для root и пользователей
|
||||
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
|
||||
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
|
||||
|
||||
# Создаем пользователя для Ansible
|
||||
RUN useradd -m -s /bin/bash ansible \
|
||||
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
||||
|
||||
# Команда по умолчанию (система запускается от root для systemd)
|
||||
CMD ["/sbin/init"]
|
||||
79
app/alembic/dockerfiles/astra-linux/Dockerfile.arm64
Normal file
79
app/alembic/dockerfiles/astra-linux/Dockerfile.arm64
Normal file
@@ -0,0 +1,79 @@
|
||||
# Astra Linux совместимый образ для ARM64
|
||||
# Автор: Сергей Антропов
|
||||
# Сайт: https://devops.org.ru
|
||||
# Базируется на Debian для совместимости с ARM64
|
||||
# ВАЖНО: Это эмуляция Astra Linux на Debian для ARM64
|
||||
|
||||
FROM debian:bookworm-slim
|
||||
|
||||
# Устанавливаем переменные окружения
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV LANG=ru_RU.UTF-8
|
||||
ENV LANGUAGE=ru_RU:ru
|
||||
ENV LC_ALL=ru_RU.UTF-8
|
||||
|
||||
# Обновляем систему
|
||||
RUN apt-get update && apt-get dist-upgrade -y
|
||||
|
||||
# Устанавливаем локали
|
||||
RUN apt-get install -y locales && \
|
||||
sed -i 's/# ru_RU.UTF-8 UTF-8/ru_RU.UTF-8 UTF-8/' /etc/locale.gen && \
|
||||
locale-gen
|
||||
|
||||
# Устанавливаем systemd и необходимые пакеты
|
||||
RUN apt-get install -y \
|
||||
systemd \
|
||||
systemd-sysv \
|
||||
dbus \
|
||||
curl \
|
||||
wget \
|
||||
nano \
|
||||
python3 \
|
||||
python3-pip \
|
||||
sudo \
|
||||
ca-certificates \
|
||||
gnupg \
|
||||
lsb-release \
|
||||
&& apt-get clean
|
||||
|
||||
# Устанавливаем yq (автоопределение архитектуры)
|
||||
RUN ARCH=$(dpkg --print-architecture | sed 's/amd64/amd64/; s/arm64/arm64/; s/aarch64/arm64/') && \
|
||||
wget -qO /usr/local/bin/yq "https://github.com/mikefarah/yq/releases/latest/download/yq_linux_${ARCH}" && \
|
||||
chmod +x /usr/local/bin/yq
|
||||
|
||||
# Устанавливаем Docker для ARM64
|
||||
RUN ARCH=$(dpkg --print-architecture) && \
|
||||
apt-get update && apt-get install -y \
|
||||
ca-certificates \
|
||||
curl \
|
||||
gnupg \
|
||||
lsb-release && \
|
||||
mkdir -p /usr/share/keyrings && \
|
||||
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
|
||||
echo "deb [arch=${ARCH} signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bookworm stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \
|
||||
apt-get update && \
|
||||
apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin && \
|
||||
apt-get clean
|
||||
|
||||
# Устанавливаем Docker Compose
|
||||
RUN curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose \
|
||||
&& chmod +x /usr/local/bin/docker-compose
|
||||
|
||||
# Создаем файлы конфигурации для эмуляции Astra Linux
|
||||
RUN echo "astra-linux" > /etc/os-release && \
|
||||
echo "VERSION_ID=\"1.7.6.uu2\"" >> /etc/os-release && \
|
||||
echo "PRETTY_NAME=\"Astra Linux 1.7.6.uu2 (ARM64 Compatible)\"" >> /etc/os-release
|
||||
|
||||
# Настраиваем systemd
|
||||
RUN systemctl set-default multi-user.target
|
||||
|
||||
# Настраиваем sudoers для root и пользователей
|
||||
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
|
||||
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
|
||||
|
||||
# Создаем пользователя для Ansible
|
||||
RUN useradd -m -s /bin/bash ansible \
|
||||
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
||||
|
||||
# Команда по умолчанию (система запускается от root для systemd)
|
||||
CMD ["/sbin/init"]
|
||||
Reference in New Issue
Block a user