summaryrefslogtreecommitdiff
path: root/baserock_ostree/instance-config.yml
blob: 89ff4c9453a7511dfd9419a92f3a0e868d9b559b (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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# Instance configuration for Baserock OStree cache server.
#
# Tested against Fedora 26 base image.
#
# See also: https://buildstream.gitlab.io/buildstream/artifacts.html
---
- hosts: ostree
  gather_facts: false
  become: yes
  become_method: sudo
  tasks:
  - import_tasks: ../tasks/create-data-volume.yml
    vars:
      lv_name: ostree
      lv_size: 90g
      mountpoint: /srv

  # This should perhaps have been called ostree-cache
  - name: ostree user
    user:
      name: ostree

  - name: ostree-releases user
    user:
      name: ostree-releases

  - name: data directory
    file:
      mode: 0755
      owner: ostree
      group: ostree
      path: /srv/ostree/
      state: directory

  - name: cache repository
    command: ostree init --repo=/srv/ostree/cache --mode=archive-z2
    become_user: ostree
    args:
      creates: /srv/ostree/cache/config

  - name: releases directory
    file:
      mode: 0755
      owner: ostree-releases
      group: ostree-releases
      path: /srv/ostree/releases
      state: directory

  - name: releases repository
    command: ostree init --repo=/srv/ostree/releases --mode=archive-z2
    become_user: ostree-releases
    args:
      creates: /srv/ostree/releases/config

  - name: lighttpd configuration
    copy:
      src: lighttpd.conf
      dest: /etc/lighttpd/lighttpd.conf

  - name: restart lighttpd server
    service:
      name: lighttpd
      enabled: yes
      state: restarted

  - name: sshd configuration for ostree user -- header
    lineinfile:
      state: "present"
      line: "Match user ostree"
      path: /etc/ssh/sshd_config
  - name: sshd configuration for ostree user -- force command
    lineinfile:
      state: "present"
      line: "    ForceCommand bst-artifact-receive --pull-url https://ostree.baserock.org/cache/ --verbose /srv/ostree/cache"
      insertafter: "Match user ostree$"
      path: /etc/ssh/sshd_config
  - name: sshd configuration for ostree user -- disable password auth
    lineinfile:
      state: "present"
      line: "    PasswordAuthentication no"
      insertafter: "Match user ostree$"
      path: /etc/ssh/sshd_config

  - name: sshd configuration for ostree-releases user -- header
    lineinfile:
      state: "present"
      line: "Match user ostree-releases"
      path: /etc/ssh/sshd_config
  - name: sshd configuration for ostree-releases user -- force command
    lineinfile:
      state: "present"
      line: "    ForceCommand ostree-receive -v --repo /srv/ostree/releases"
      insertafter: "Match user ostree-releases$"
      path: /etc/ssh/sshd_config
  - name: sshd configuration for ostree-releases user -- disable password auth
    lineinfile:
      state: "present"
      line: "    PasswordAuthentication no"
      insertafter: "Match user ostree-releases$"
      path: /etc/ssh/sshd_config

  - name: restart sshd server
    service:
      name: sshd
      enabled: yes
      state: restarted

  - name: install systemd units
    copy:
      src: ./{{item}}
      dest: /{{item}}
    with_items:
      - etc/systemd/system/ostree-update-summary-cache.service
      - etc/systemd/system/ostree-update-summary-cache.timer
      - etc/systemd/system/ostree-update-summary-releases.service
      - etc/systemd/system/ostree-update-summary-releases.timer

  - name: enable systemd units
    systemd:
      name: "{{item}}"
      enabled: yes
      daemon_reload: yes
      state: started
    with_items:
      - ostree-update-summary-cache.service
      - ostree-update-summary-cache.timer
      - ostree-update-summary-releases.service
      - ostree-update-summary-releases.timer