Files
DevOpsLab/roles/repo/tasks/alt.yml
Сергей Антропов 23e1a6037b Добавлена роль repo для автоматического добавления репозиториев
- Создана новая роль repo для добавления репозиториев на все ОС
- Добавлена поддержка Docker, PostgreSQL, Elasticsearch, Patroni репозиториев
- Реализована специальная поддержка российских дистрибутивов:
  - Astra Linux: добавлены репозитории Lab50 и debian-archive-keyring
  - Alt Linux: добавлены репозитории Sisyphus (alt-sisyphus, classic, contrib) и Autoimports
- Обновлена документация README.md с информацией о новой роли
- Обновлен .ansible-lint для подавления необходимых правил
- Автор: Сергей Антропов, https://devops.org.ru
2025-10-30 03:13:35 +03:00

84 lines
4.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
# Задачи для Alt Linux
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
# Alt Linux использует apt и свои внутренние репозитории
- name: Обновить кэш пакетов Alt Linux
ansible.builtin.raw: apt-get update -qq
register: update_result
changed_when: update_result.rc == 0
failed_when: false
- name: Установить необходимые пакеты для работы с репозиториями в Alt Linux
ansible.builtin.raw: apt-get install -y ca-certificates curl gnupg || true
register: install_result
changed_when: install_result.rc == 0
failed_when: false
- name: Создать директорию для GPG ключей
ansible.builtin.file:
path: /usr/share/keyrings
state: directory
mode: '0755'
failed_when: false
- name: Получить и добавить Docker GPG ключ (используем ключ Debian)
ansible.builtin.raw: curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg || true
args:
creates: /usr/share/keyrings/docker-archive-keyring.gpg
changed_when: false
failed_when: false
- name: Попытаться добавить репозиторий Docker для Alt Linux
ansible.builtin.raw: echo "deb [arch={{ ansible_architecture }} signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian buster stable" > /etc/apt/sources.list.d/docker.list || true
changed_when: false
failed_when: false
when: ansible_architecture in ["amd64", "x86_64"]
- name: Проверить и добавить репозиторий Sisyphus (alt-sisyphus)
ansible.builtin.raw: grep -q "Sisyphus.*alt-sisyphus" /etc/apt/sources.list || echo "{{ alt_repos['sisyphus_repo'] }}" >> /etc/apt/sources.list
register: sisyphus_result
changed_when: sisyphus_result.rc == 0
failed_when: false
- name: Проверить и добавить репозиторий Sisyphus classic
ansible.builtin.raw: grep -q "Sisyphus.*classic" /etc/apt/sources.list || echo "{{ alt_repos['sisyphus_classic_repo'] }}" >> /etc/apt/sources.list
register: sisyphus_classic_result
changed_when: sisyphus_classic_result.rc == 0
failed_when: false
- name: Проверить и добавить репозиторий Sisyphus contrib
ansible.builtin.raw: grep -q "Sisyphus.*contrib" /etc/apt/sources.list || echo "rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64 contrib" >> /etc/apt/sources.list
register: sisyphus_contrib_result
changed_when: sisyphus_contrib_result.rc == 0
failed_when: false
- name: Проверить и добавить репозиторий autoimports
ansible.builtin.raw: grep -q "autoimports" /etc/apt/sources.list || echo "{{ alt_repos['autoimports_repo'] }}" >> /etc/apt/sources.list
register: autoimports_result
changed_when: autoimports_result.rc == 0
failed_when: false
- name: Обновить кэш пакетов после добавления репозиториев
ansible.builtin.raw: apt-get update -qq
register: cache_update
changed_when: cache_update.rc == 0
failed_when: false
- name: Выполнить обновление пакетов Alt Linux
ansible.builtin.raw: apt-get upgrade -y -qq || true
register: upgrade_result
changed_when: upgrade_result.rc == 0
failed_when: false
- name: Информационное сообщение о репозиториях Alt Linux
ansible.builtin.debug:
msg: |
Роль repo выполнена для Alt Linux.
Добавлены репозитории:
- Sisyphus (alt-sisyphus) - rolling release с ежедневными обновлениями
- Sisyphus (classic) - классический репозиторий
- Autoimports - автоматически собранные свежие пакеты из GitHub/GitLab
ВНИМАНИЕ: Sisyphus может быть нестабилен, используйте осторожно.
PostgreSQL, Elasticsearch и Patroni обычно доступны в базовых репозиториях Alt Linux.