From 994f5e3e59136dd5e1fca05e3050f2a3a36a7995 Mon Sep 17 00:00:00 2001 From: Morten Linderud <morten@linderud.pw> Date: Thu, 27 Jan 2022 20:07:52 +0100 Subject: [PATCH] debuginfod: Add package listing Displays packages https://debuginfod.archlinux.org/packages/ Signed-off-by: Morten Linderud <morten@linderud.pw> --- roles/debuginfod/files/packagelist.service | 6 ++++++ roles/debuginfod/files/packagelist.timer | 10 ++++++++++ roles/debuginfod/tasks/main.yml | 12 ++++++++++++ roles/debuginfod/templates/nginx.d.conf.j2 | 8 ++++++++ 4 files changed, 36 insertions(+) create mode 100644 roles/debuginfod/files/packagelist.service create mode 100644 roles/debuginfod/files/packagelist.timer diff --git a/roles/debuginfod/files/packagelist.service b/roles/debuginfod/files/packagelist.service new file mode 100644 index 000000000..4935b10b0 --- /dev/null +++ b/roles/debuginfod/files/packagelist.service @@ -0,0 +1,6 @@ +[Unit] +Description=Synchronize package list + +[Service] +Type=oneshot +ExecStart=/usr/bin/bash -c "find /srv/ftp/pool/*-debug/ -type f -not -name *.sig > /srv/http/debuginfod/index.html" diff --git a/roles/debuginfod/files/packagelist.timer b/roles/debuginfod/files/packagelist.timer new file mode 100644 index 000000000..d54c1a944 --- /dev/null +++ b/roles/debuginfod/files/packagelist.timer @@ -0,0 +1,10 @@ +[Unit] +Description=Sync package lists every hour + +[Timer] +OnCalendar=hourly +AccuracySec=1m +Persistent=true + +[Install] +WantedBy=timers.target diff --git a/roles/debuginfod/tasks/main.yml b/roles/debuginfod/tasks/main.yml index 2dd590c01..b06d48772 100644 --- a/roles/debuginfod/tasks/main.yml +++ b/roles/debuginfod/tasks/main.yml @@ -16,6 +16,18 @@ notify: - reload debuginfod +- name: create http directory for debuginfod website files + file: path=/srv/http/debuginfod state=directory owner=root group=root mode=0755 + +- name: install packagelist units + copy: src={{ item }} dest=/etc/systemd/system/{{ item }} owner=root group=root mode=0644 + loop: + - packagelist.timer + - packagelist.service + +- name: start and enable packagelist.timer + service: name=packagelist.timer enabled=yes state=started + - name: make nginx log dir file: path=/var/log/nginx/{{ debuginfod_domain }} state=directory owner=root group=root mode=0755 diff --git a/roles/debuginfod/templates/nginx.d.conf.j2 b/roles/debuginfod/templates/nginx.d.conf.j2 index 483fff4b6..aa98df6e9 100644 --- a/roles/debuginfod/templates/nginx.d.conf.j2 +++ b/roles/debuginfod/templates/nginx.d.conf.j2 @@ -28,8 +28,16 @@ server { ssl_certificate_key /etc/letsencrypt/live/{{ debuginfod_domain }}/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/{{ debuginfod_domain }}/chain.pem; + root /srv/http/debuginfod; + index index.html; + location / { proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://127.0.0.1:8002; } + + location /packages { + default_type "text/plain"; + alias /srv/http/debuginfod/; + } } -- GitLab