main.yml 2.25 KB
Newer Older
1
2
3
---

- name: install packages
4
5
6
7
8
9
10
11
12
13
14
15
  pacman:
    state: present
    name:
      - git
      - python
      - python-sqlalchemy
      - python-flask
      - python-flask-sqlalchemy
      - python-flask-wtf
      - python-flask-login
      - python-flask-talisman
      - python-requests
16
      - python-flask-migrate
17
18
19
20
21
      - python-scrypt
      - pyalpm
      - sqlite
      - expac
      - uwsgi-plugin-python
22
23
24
25
26
27
28
29

- name: make security user
  user: name=security shell=/bin/false home="{{ security_tracker_dir }}" createhome=no

- name: fix home permissions
  file: state=directory owner=security group=security path="{{ security_tracker_dir }}"

- name: clone security-tracker repo
30
  git: repo=https://github.com/archlinux/arch-security-tracker.git version="fa5acdf20f30b070fe388340b464dae58d30e23f" dest="{{ security_tracker_dir }}"
31
32
  become: true
  become_user: security
33
  register: release
34

35
36
37
38
39
- name: run initial setup
  become: true
  become_user: security
  command: /usr/bin/make chdir="{{ security_tracker_dir }}" creates=*.db

40
41
- name: fix home permissions
  file: state=directory owner=security group=security path="{{ security_tracker_dir }}"
42
43
44
45

- name: set up nginx
  template: src=nginx.d.conf.j2 dest=/etc/nginx/nginx.d/security-tracker.conf owner=root group=root mode=644
  notify:
46
    - reload nginx
47
  tags: ['nginx']
48
49

- name: make nginx log dir
50
  file: path=/var/log/nginx/{{ security_tracker_domain }} state=directory owner=root group=root mode=0755
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65

- name: copy security-tracker units
  copy: src="{{ item }}" dest="/etc/systemd/system/{{ item }}" owner=root group=root mode=0644
  with_items:
    - security-tracker-update.timer
    - security-tracker-update.service
  notify:
    - daemon reload

- name: configure security-tracker
  template: src=20-user.local.conf.j2 dest={{ security_tracker_dir }}/config/20-user.local.conf owner=security group=security mode=0640

- name: deploy security-tracker
  template: src=security-tracker.ini.j2 dest=/etc/uwsgi/vassals/security-tracker.ini owner=security group=http mode=0644

66
67
68
69
70
71
- name: deploy new release
  become: true
  become_user: security
  file: path=/etc/uwsgi/vassals/security-tracker.ini state=touch
  when: release.changed

72
73
- name: start and enable security-tracker timer
  service: name="security-tracker-update.timer" enabled=yes state=started