adfinis.repo_mirror

ROLLEN-REPO-SPIEGEL

Bild

Bild

Bild

Ansible-Rolle, die beim Bereitstellen eines Paketspiegels hilft.

Anforderungen

  • Debian Bullseye
  • Bevor Sie diese Rolle verwenden, erstellen Sie einen Speicherpool, z. B. mit ZFS, und binden Sie ihn am Ort ein, wo die gespiegelten Repositories erscheinen sollen.

Rollenvariablen

# vars/Debian.yml
---

# Zu installierende Skriptabhängigkeiten
repo_mirror_packages:
  - rsync
  - wget
  - logrotate
  - git
  - systemd
---

# defaults/Debian.yml

# Der Standardbenutzer, den die Spiegel verwenden
repo_mirror_user: mirror

# Die Standardgruppe, die die Spiegel verwenden
repo_mirror_group: mirror

# Der Basis-Pfad für den Spiegel
repo_mirror_base_path: /var/www/mirror

# Der Standardprotokollpfad
repo_mirror_log_path: /var/log/mirror

# Der Standard-Temp-Pfad (Dateien, die derzeit heruntergeladen werden)
repo_mirror_tmp_path: /var/www/mirror/tmp

# Dies ist das Standard-Datumsformat (2017/10/11 22:23:42 CEST)
repo_mirror_datetime_format: "+%Y/%m/%d %T %Z"

# Das Standard-Bandbreitenlimit für das Synchronisieren aus der Ferne
repo_mirror_bwlimit: 30MiB

# Das Standard-Rsync-Timeout in Sekunden
repo_mirror_rsync_timeout: 30

# Die Standard-Maximaldauer für einen Synchronisierungsauftrag
_default_systemd_unit_max_runtime_sec: 43200  # 12 Stunden

# Der Standardaktivierungszustand einer Systemd-Timer-Einheit
_default_systemd_timer_enabled: true

# Der Standardzustand einer Systemd-Timer-Einheit
_default_systemd_timer_unit_state: 'started'

# Der Standardzustand einer Systemd-Diensteinheit
_default_systemd_service_unit_state: 'stopped'

# Der FQDN des Spiegels
repo_mirror_fqdn: 'mirror.example.com'

# Das Skript zum Berechnen des Fedora-Spiegels bereitstellen
repo_mirror_fedora_report: false
repo_mirror_fedora_report_name: '<name>'
repo_mirror_fedora_report_pass: '<password>'

# Eine Liste von Fedora-Projekten, über die berichtet werden soll. Standard ist eine leere Liste.
repo_mirror_fedora_reports: []

# .. code-block:: 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'

# Eine Liste von Repositories. Standard ist eine leere Liste.
# Nachfolgend einige Beispiele, wie ein Repository zum Spiegeln definiert werden kann
repo_mirror_repos: []

# .. code-block:: 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 # deaktiviert den Timer (z. B. wird beim Booten nicht gestartet), Standard ist false
#       systemd_unit_max_runtime_sec: 600 # 10 Minuten, Standard 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 # Optional, z. B. wenn .ISO-Dateien ablaufen
#       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 # Optional, überschreibt den Standard
#       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"

Abhängigkeiten

Die Rolle benötigt die master-Version dieser Rolle: https://github.com/O1ahmad/ansible-role-systemd

Bitte siehe die molecule_requirements.yml Datei für die Molekülanforderungen.

Beispiel-Playbook

Sie können das molecule standard Szenario für ein Beispiel-Playbook überprüfen.

Lizenz

GPL-3.0

Autor-Informationen

Die Rolle repo_mirror wurde von:

Über das Projekt

Mirror a specified repository

Installieren
ansible-galaxy install adfinis.repo_mirror
GitHub Repository
Lizenz
gpl-3.0
Downloads
583
Besitzer
Potential. Unlocked.