diff --git a/roles/debuginfod/files/packagelist.service b/roles/debuginfod/files/packagelist.service new file mode 100644 index 0000000000000000000000000000000000000000..4935b10b0c2fcbacb586e0ef49da3e47e81712e1 --- /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 0000000000000000000000000000000000000000..d54c1a9440852f7ecc09f0a9969da2707ea6bd66 --- /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 2dd590c01a78662cbfdda0652b940cf2ec0bcf43..b06d4877252904353c3bdf2972038a1f4a7dc93b 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 483fff4b6517dc2c02a7d29d71889fd7f7047370..aa98df6e93387e5825f435ca586bd63cc82b5ba4 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/; + } }