feat: Переименование geop в cod и добавление ARM64 поддержки
- Переименован пресет geop.yml в cod.yml - Обновлены все группы с geop на cod - Добавлена поддержка ARM64 для Astra Linux и RedOS - Создан Dockerfile.arm64 для RedOS с исправлением конфликтов пакетов - Улучшены разделители в логах Molecule - Зашифрован файл vault/secrets.yml - Обновлена роль devops с поддержкой vault - Добавлены шаблоны для SSH и sudoers конфигураций
This commit is contained in:
80
dockerfiles/redos/Dockerfile.arm64
Normal file
80
dockerfiles/redos/Dockerfile.arm64
Normal file
@@ -0,0 +1,80 @@
|
||||
# RedOS совместимый образ для ARM64
|
||||
# Автор: Сергей Антропов
|
||||
# Сайт: https://devops.org.ru
|
||||
# Базируется на CentOS Stream для совместимости с ARM64
|
||||
# ВАЖНО: Это эмуляция RedOS на CentOS Stream для ARM64
|
||||
|
||||
FROM quay.io/centos/centos:stream9
|
||||
|
||||
# Устанавливаем переменные окружения
|
||||
ENV LANG=ru_RU.UTF-8
|
||||
ENV LANGUAGE=ru_RU:ru
|
||||
ENV LC_ALL=ru_RU.UTF-8
|
||||
|
||||
# Обновляем систему
|
||||
RUN dnf update -y && dnf upgrade -y
|
||||
|
||||
# Устанавливаем локали
|
||||
RUN dnf install -y glibc-langpack-ru glibc-locale-source && \
|
||||
localedef -i ru_RU -f UTF-8 ru_RU.UTF-8 || true
|
||||
|
||||
# Устанавливаем systemd и необходимые пакеты
|
||||
RUN dnf install -y --allowerasing \
|
||||
systemd \
|
||||
systemd-sysv \
|
||||
dbus \
|
||||
curl \
|
||||
wget \
|
||||
nano \
|
||||
python3 \
|
||||
python3-pip \
|
||||
sudo \
|
||||
ca-certificates \
|
||||
gnupg \
|
||||
&& dnf clean all
|
||||
|
||||
# Устанавливаем yq (автоопределение архитектуры)
|
||||
RUN ARCH=$(uname -m | sed 's/x86_64/amd64/; 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=$(uname -m) && \
|
||||
dnf install -y dnf-plugins-core && \
|
||||
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo && \
|
||||
dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin && \
|
||||
dnf clean all
|
||||
|
||||
# Устанавливаем 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
|
||||
|
||||
# Создаем файлы конфигурации для эмуляции RedOS
|
||||
RUN echo "Red OS" > /etc/os-release && \
|
||||
echo "VERSION_ID=\"8.0\"" >> /etc/os-release && \
|
||||
echo "PRETTY_NAME=\"Red OS 8.0 (ARM64 Compatible)\"" >> /etc/os-release && \
|
||||
echo "ID=\"redos\"" >> /etc/os-release && \
|
||||
echo "ID_LIKE=\"rhel fedora\"" >> /etc/os-release && \
|
||||
echo "VERSION=\"8.0\"" >> /etc/os-release && \
|
||||
echo "VERSION_CODENAME=\"\"" >> /etc/os-release && \
|
||||
echo "PLATFORM_ID=\"platform:el8\"" >> /etc/os-release && \
|
||||
echo "HOME_URL=\"https://www.red-soft.ru/\"" >> /etc/os-release && \
|
||||
echo "BUG_REPORT_URL=\"https://www.red-soft.ru/support/\"" >> /etc/os-release && \
|
||||
echo "REDHAT_BUGZILLA_PRODUCT=\"Red OS\"" >> /etc/os-release && \
|
||||
echo "REDHAT_BUGZILLA_PRODUCT_VERSION=\"8.0\"" >> /etc/os-release && \
|
||||
echo "REDHAT_SUPPORT_PRODUCT=\"Red OS\"" >> /etc/os-release && \
|
||||
echo "REDHAT_SUPPORT_PRODUCT_VERSION=\"8.0\"" >> /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