blob: 426ca74f48ecbd587ffcbcf70a3b81ab8de07a22 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
- hosts: server
remote_user: root
tasks:
- name: add Obnam package repository to APT
apt_repository:
repo: "deb [trusted=yes] http://ci-prod-controller.vm.liw.fi/debian unstable-ci main"
- name: refresh APT package lists and upgrade all installed packages
apt:
update_cache: true
upgrade: true
- name: install packages for an Obnam server
apt:
name:
- obnam
- psmisc
- name: "install packages for Let's Encrypt TLS certificates"
apt:
name:
- apache2
- dehydrated
- dehydrated-apache2
when: domain is defined
- name: create Obnam configuration directory
file:
path: /etc/obnam
state: directory
- name: create Obnam directory for chunk storage
file:
path: /srv/obnam/chunks
state: directory
- name: "install Obnam server configuration for provided TLS certifiactes"
copy:
src: "{{ item }}"
dest: "/etc/obnam/{{ item }}"
with_items:
- server.yaml
- server.key
- server.pem
when: domain is not defined
- name: "install Obnam server configuration for Let's Encrypt TLS certifiactes"
template:
src: server.yaml.j2
dest: /etc/obnam/server.yaml
when: domain is defined
- name: install Obnam service file for systemd
copy:
src: obnam.service
dest: /etc/systemd/system/obnam.service
- name: configure domains for TLS certificates
copy:
content: |
{{ domain }}
dest: /etc/dehydrated/domains.txt
when: domain is defined
- name: stop Obnam service for getting TLS certificates
systemd:
daemon_reload: true
name: obnam
state: stopped
when: domain is defined
- name: start Apache server for getting TLS certificates
systemd:
name: apache2
state: started
when: domain is defined
- name: get TLS certificates
shell: |
dehydrated --register --accept-terms
dehydrated -c
when: domain is defined
- name: stop Apache server so Obnam server can be started again
systemd:
name: apache2
state: stopped
when: domain is defined
- name: start Obnam server
systemd:
name: obnam
state: restarted
vars:
tls_key_path: "/var/lib/dehydrated/certs/{{ domain }}/privkey.pem"
tls_cert_path: "/var/lib/dehydrated/certs/{{ domain }}/cert.pem"
|