# RHEL с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru

FROM registry.access.redhat.com/ubi8/ubi

# Обновляем систему
RUN dnf update -y && dnf upgrade -y

# Устанавливаем systemd и необходимые пакеты
RUN dnf install -y \
    systemd \
    systemd-sysv \
    dbus \
    curl \
    wget \
    nano \
    python3 \
    python3-pip \
    python3-devel \
    sudo \
    && dnf clean all

# Устанавливаем Python 3.11+ из EPEL
RUN dnf install -y epel-release && \
    dnf install -y python311 python311-pip python311-devel && \
    ln -sf /usr/bin/python3.11 /usr/bin/python3 && \
    ln -sf /usr/bin/pip3.11 /usr/bin/pip3

# Устанавливаем yq
# RUN wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_arm64 \
#     && chmod +x /usr/local/bin/yq

# Устанавливаем Docker
# RUN curl -fsSL https://get.docker.com | sh

# Устанавливаем 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

# Настраиваем 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"]
