fixup! Create deb.http.realraum.at apt-cacher instance
[noc.git] / ansible / host_playbooks / deb.yml
1 ---
2 - name: Set up data volume for apt-cacher-ng
3   hosts: deb
4   tasks:
5     - name: Format the data volume
6       filesystem:
7         dev: /dev/vdb
8         fstype: ext4
9         resizefs: yes
10
11     - name: Setup mountpoint
12       mount:
13         path:   /var/cache/apt-cacher-ng
14         src:    /dev/vdb
15         state:  mounted
16         fstype: ext4
17
18     - name: Create user/group apt-cacher-ng
19       user:
20         name: apt-cacher-ng
21         system: yes
22         shell: /usr/sbin/nologin
23         home: /var/cache/apt-cacher-ng
24         create_home: no
25
26     - name: Set up permissions on /var/cache/apt-cacher-ng
27       file:
28         path: /var/cache/apt-cacher-ng
29         owner: apt-cacher-ng
30         group: apt-cacher-ng
31
32 - name: Set up apt-cacher-ng
33   hosts: deb
34   handlers:
35     - name: restart acng
36       service:
37         name: apt-cacher-ng
38         state: restarted
39
40   tasks:
41     - name: Install acng
42       apt:
43         name: apt-cacher-ng
44         state: present
45
46     - name: Configure acng
47       notify: restart acng
48       lineinfile:
49         path: /etc/apt-cacher-ng/acng.conf
50         line: "{{ item.key }}: {{ item.value }}"
51         regexp: "^(#\\s*)?{{ item.key }}:"
52
53       loop_control:
54         label: "{{ item.key }}"
55       with_dict:
56         BindAddress: deb.http.realraum.at
57         Port: 8080
58         ForceManaged: 1
59         Remap-debsec: /debian-security ; file:backends_debian_security
60         Remap-grml: /grml ; file:backends_grml
61         Remap-pi: /pi ; file:backends_pi
62         Remap-raspbian: /raspbian ; file:backends_raspbian
63
64
65     - name: Configure acng's backends
66       notify: restart acng
67       copy:
68         dest: /etc/apt-cacher-ng/backends_{{ item.key }}
69         content: |
70           {% for backend in item.value %}
71           {{ backend }}
72           {% endfor %}
73         mode: 0644
74
75       loop_control:
76         label: "{{ item.key }}"
77       with_dict:
78         debian:
79           - https://debian.ffgraz.net/debian
80           - http://cdn-fastly.deb.debian.org/debian
81
82         debian_security:
83           - https://debian.ffgraz.net/debian-security
84           - http://cdn-fastly.deb.debian.org/debian-security
85
86         grml:
87           - https://debian.ffgraz.net/grml
88           - https://deb.grml.org/
89
90         pi:
91           - https://debian.ffgraz.net/pi
92           - https://archive.raspberrypi.org/debian
93
94         raspbian:
95           - https://debian.ffgraz.net/raspbian
96           - https://archive.raspbian.org/raspbian
97
98 - name: Basic Setup for deb.realraum.at
99   hosts: deb
100   roles:
101   - role: base