From 5dc453cc21556e7f3f3a1ee6fcf8478be5b7c132 Mon Sep 17 00:00:00 2001 From: Jelle van der Waa <jelle@archlinux.org> Date: Sat, 12 Dec 2020 14:53:02 +0100 Subject: [PATCH] Split archive role into archive_web for archive-mirrors To simplify the archive role, split it up in the web serving part for the archive-mirrors, gemini and keep the archive role for only the archive operation. This simplifies the new role as only two lines are required to setup the the archive mirror website. --- host_vars/america.mirror.pkgbuild.com | 1 + host_vars/asia.mirror.pkgbuild.com | 1 + host_vars/europe.mirror.pkgbuild.com | 1 + playbooks/archive-mirrors.yml | 4 ++-- playbooks/gemini.archlinux.org.yml | 1 + roles/archive/defaults/main.yml | 1 - roles/archive/tasks/main.yml | 24 ------------------- roles/archive_web/defaults/main.yml | 3 +++ roles/archive_web/tasks/main.yml | 20 ++++++++++++++++ .../templates/nginx.d.conf.j2 | 0 10 files changed, 29 insertions(+), 27 deletions(-) create mode 100644 roles/archive_web/defaults/main.yml create mode 100644 roles/archive_web/tasks/main.yml rename roles/{archive => archive_web}/templates/nginx.d.conf.j2 (100%) diff --git a/host_vars/america.mirror.pkgbuild.com b/host_vars/america.mirror.pkgbuild.com index 817cc81b3..87d954fda 100644 --- a/host_vars/america.mirror.pkgbuild.com +++ b/host_vars/america.mirror.pkgbuild.com @@ -1,4 +1,5 @@ hostname: "america.mirror.pkgbuild.com" +archive_domain: "america.archive.pkgbuild.com" ipv4_address: "143.244.34.62" ipv4_netmask: "/25" ipv4_gateway: "143.244.34.126" diff --git a/host_vars/asia.mirror.pkgbuild.com b/host_vars/asia.mirror.pkgbuild.com index cc917725d..923618d27 100644 --- a/host_vars/asia.mirror.pkgbuild.com +++ b/host_vars/asia.mirror.pkgbuild.com @@ -1,4 +1,5 @@ hostname: "asia.mirror.pkgbuild.com" +archive_domain: "asia.archive.pkgbuild.com" ipv4_address: "84.17.57.98" ipv4_netmask: "/24" ipv4_gateway: "84.17.57.110" diff --git a/host_vars/europe.mirror.pkgbuild.com b/host_vars/europe.mirror.pkgbuild.com index ed890c44d..b115eb854 100644 --- a/host_vars/europe.mirror.pkgbuild.com +++ b/host_vars/europe.mirror.pkgbuild.com @@ -1,4 +1,5 @@ hostname: "europe.mirror.pkgbuild.com" +archive_domain: "europe.archive.pkgbuild.com" ipv4_address: "89.187.191.12" ipv4_netmask: "/26" ipv4_gateway: "89.187.191.62" diff --git a/playbooks/archive-mirrors.yml b/playbooks/archive-mirrors.yml index 1075e2003..d84d29cc3 100644 --- a/playbooks/archive-mirrors.yml +++ b/playbooks/archive-mirrors.yml @@ -12,5 +12,5 @@ - { role: certbot } - { role: nginx } - { role: unbound } - - { role: syncarchive, tags: ['nginx'] } - - { role: archive, archive_nginx_only: true, archive_dir: "/srv/archive"} + - { role: syncarchive } + - { role: archive_web } diff --git a/playbooks/gemini.archlinux.org.yml b/playbooks/gemini.archlinux.org.yml index 51e951976..aee44ac95 100644 --- a/playbooks/gemini.archlinux.org.yml +++ b/playbooks/gemini.archlinux.org.yml @@ -21,6 +21,7 @@ - { role: archweb, archweb_site: false, archweb_services: true, archweb_mirrorcheck_locations: [5, 6] } - { role: sources, sources_domain: "sources.archlinux.org", sources_dir: "/srv/sources" } - { role: archive } + - { role: archive_web } - { role: postfix, postfix_relayhost: "mail.archlinux.org" } - { role: fail2ban } - sogrep diff --git a/roles/archive/defaults/main.yml b/roles/archive/defaults/main.yml index 86480d584..57950a1a2 100644 --- a/roles/archive/defaults/main.yml +++ b/roles/archive/defaults/main.yml @@ -5,4 +5,3 @@ archive_user_home: '/home/archive' archive_repo: '{{ archive_user_home }}/archive-uploader' archive_uploader_version: 'v0.15.3' archive_dir: '/srv/archive' -archive_nginx_only: false diff --git a/roles/archive/tasks/main.yml b/roles/archive/tasks/main.yml index 3928badc6..5df421e92 100644 --- a/roles/archive/tasks/main.yml +++ b/roles/archive/tasks/main.yml @@ -10,7 +10,6 @@ owner: archive group: archive mode: 0755 - when: not archive_nginx_only - name: setup archive configuration template: @@ -19,35 +18,12 @@ owner: root group: root mode: 0644 - when: not archive_nginx_only - name: setup archive timer systemd: name=archive.timer enabled=yes state=started - when: not archive_nginx_only - name: setup archive-hardlink timer systemd: name=archive-hardlink.timer enabled=yes state=started - when: not archive_nginx_only - -- name: set up nginx - template: - src: nginx.d.conf.j2 - dest: /etc/nginx/nginx.d/archive.conf - owner: root - group: root - mode: 0644 - notify: - - reload nginx - tags: ['nginx'] - -- name: make nginx log dir - file: - path: /var/log/nginx/{{ archive_domain }} - state: directory - owner: root - group: root - mode: 0755 - - name: install internet archive packages pacman: name=python-internetarchive,python-xtarfile state=present diff --git a/roles/archive_web/defaults/main.yml b/roles/archive_web/defaults/main.yml new file mode 100644 index 000000000..47e3fadb0 --- /dev/null +++ b/roles/archive_web/defaults/main.yml @@ -0,0 +1,3 @@ +--- + +archive_dir: '/srv/archive' diff --git a/roles/archive_web/tasks/main.yml b/roles/archive_web/tasks/main.yml new file mode 100644 index 000000000..f9180fb60 --- /dev/null +++ b/roles/archive_web/tasks/main.yml @@ -0,0 +1,20 @@ +--- + +- name: set up nginx + template: + src: nginx.d.conf.j2 + dest: /etc/nginx/nginx.d/archive.conf + owner: root + group: root + mode: 0644 + notify: + - reload nginx + tags: ['nginx'] + +- name: make nginx log dir + file: + path: /var/log/nginx/{{ archive_domain }} + state: directory + owner: root + group: root + mode: 0755 diff --git a/roles/archive/templates/nginx.d.conf.j2 b/roles/archive_web/templates/nginx.d.conf.j2 similarity index 100% rename from roles/archive/templates/nginx.d.conf.j2 rename to roles/archive_web/templates/nginx.d.conf.j2 -- GitLab