repo_mirror
РОЛЬ ЗЕРКАЛА РЕПОЗИТОРИЯ
Роль Ansible, которая помогает развертыванию зеркала пакетов.
Требования
- Debian Bullseye
- Перед использованием этой роли создайте пул хранилищ, например, с помощью ZFS, и смонтируйте его в том месте, где появятся зеркалируемые репозитории.
Переменные Роли
# vars/Debian.yml
---
# Зависимости скриптов для установки
repo_mirror_packages:
- rsync
- wget
- logrotate
- git
- systemd
---
# defaults/Debian.yml
# Пользователь по умолчанию, который будет использоваться для зеркал
repo_mirror_user: mirror
# Группа по умолчанию, которая будет использоваться для зеркал
repo_mirror_group: mirror
# Базовый путь для зеркала
repo_mirror_base_path: /var/www/mirror
# Путь для логов по умолчанию
repo_mirror_log_path: /var/log/mirror
# Временный путь (файлы, которые в данный момент загружаются)
repo_mirror_tmp_path: /var/www/mirror/tmp
# Формат даты и времени по умолчанию (2017/10/11 22:23:42 CEST)
repo_mirror_datetime_format: "+%Y/%m/%d %T %Z"
# Ограничение пропускной способности по умолчанию для синхронизации с удаленным
repo_mirror_bwlimit: 30MiB
# Время ожидания для rsync по умолчанию в секундах
repo_mirror_rsync_timeout: 30
# Максимальное время выполнения задачи синхронизации по умолчанию
_default_systemd_unit_max_runtime_sec: 43200 # 12 часов
# Состояние включения таймера systemd по умолчанию
_default_systemd_timer_enabled: true
# Состояние юнита таймера systemd по умолчанию
_default_systemd_timer_unit_state: 'started'
# Состояние юнита сервиса systemd по умолчанию
_default_systemd_service_unit_state: 'stopped'
# Полное доменное имя зеркала
repo_mirror_fqdn: 'mirror.example.com'
# Развернуть скрипт отчета зеркала Fedora
repo_mirror_fedora_report: false
repo_mirror_fedora_report_name: '<name>'
repo_mirror_fedora_report_pass: '<пароль>'
# Список проектов Fedora для отчета. По умолчанию пустой список.
repo_mirror_fedora_reports: []
# .. код-блок:: YAML
#
# repo_mirror_fedora_reports:
# - name: 'Fedora EPEL'
# enabled: false
# path: '/var/www/mirror/epel'
# - name: 'Fedora Linux'
# enabled: False
# path: '/var/www/mirror/fedora'
# Список репозиториев. По умолчанию пустой список.
# Ниже приведены примеры определения репозиторий для зеркала
repo_mirror_repos: []
# .. код-блок:: YAML
#
# repo_mirror_repos:
# - name: alpine
# type: rsync_single
# source_repo: rsync://rsync.alpinelinux.org/alpine/
# systemd_timer_calendar: "*-*-* 0/2:23:00"
# systemd_timer_disabled: true # не включать таймер (например, не запускать при загрузке), по умолчанию false
# systemd_unit_max_runtime_sec: 600 # 10 минут, по умолчанию 43200
#
# - name: archlinux
# source_repo: rsync://mirror.23media.de/archlinux
# type: rsync_single
# systemd_timer_calendar: "*-*-* *:0/10:00"
#
# - name: debian
# type: rsync_debian
# source_repo: 'ftp.ch.debian.org::debian'
# systemd_timer_calendar: "*-*-* 0/2:01:00"
# excludes:
# - alpha
# - arm
# - arm64
# - armel
# - armhf
# - hppa
# - hurd-i386
# - ia64
# - kfreebsd-amd64
# - kfreebsd-i386
# - m68k
# - mipsel
# - mips64el
# - mips
# - powerpc
# - ppc64el
# - s390
# - s390x
# - sh
# - sparc
#
# - name: debian-security
# type: rsync_single
# source_repo: security.debian.org::debian-security
# systemd_timer_calendar: "*-*-* 0/2:13:00"
#
# - name: epel
# type: rsync_single
# source_repo: rsync://dl.fedoraproject.org/fedora-epel
# additional_report: '/usr/local/bin/report_mirror -c /etc/mirror/fedora_report.conf'
# systemd_timer_calendar: "*-*-* *:58:00"
#
# - name: centos
# type: rsync_single
# source_repo: eu-msync.centos.org::CentOS
# rsync_timeout: 300 # Опционально, например, если файлы .ISO превышают таймаут
# systemd_timer_calendar: "*-*-* *:13:00"
#
# - name: dotdeb
# type: rsync_single
# source_repo: packages.dotdeb.org::packages
# systemd_timer_calendar: "*-*-* *:47:00"
#
# - name: nodejs
# type: wget
# source_repo: 'https://deb.nodesource.com/node_7.x/'
# remotegpgkey: 'https://deb.nodesource.com/gpgkey/nodesource.gpg.key'
# bwlimit: 20000 # Опционально, переопределить по умолчанию
# systemd_timer_calendar: "*-*-* 0/2:24:00"
#
# - name: opensuse
# type: rsync_single
# source_repo: stage.opensuse.org::opensuse-hotstuff-640gb
# systemd_timer_calendar: "*-*-* *:07:00"
#
# - name: ubuntu
# type: rsync_ubuntu
# source_repo: rsync://ch.rsync.archive.ubuntu.com/ubuntu
# systemd_timer_calendar: "*-*-* 0/2:41:00"
Зависимости
Роль требует master
версию этой роли: https://github.com/O1ahmad/ansible-role-systemd
Пожалуйста, посмотрите файл molecule_requirements.yml для требований к молекулам.
Пример Плейбука
Вы можете проверить дефолтный сценарий молекулы для примера плейбука.
Лицензия
Информация об авторе
Роль repo_mirror была написана:
Установить
ansible-galaxy install adfinis/ansible-role-repo_mirror
Лицензия
gpl-3.0
Загрузки
481
Владелец
Potential. Unlocked.