summaryrefslogtreecommitdiff
path: root/obs-us1.yml
blob: e9b5791e5b49667983e665a8e2b360c60062f4f7 (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
# Deploy OBS on devcloud
---
- name: Create Production OBS machines in OpenStack
  hosts: localhost
  gather_facts: false
  tasks:
    - name: create OBS bastion server
      os_server:
          state: present
          name: obs-bastion-us1.linaro.cloud
          image: Official Debian Stretch
          key_name: Riku Linaro
          wait: yes
          flavor: m1.large
          auto_floating_ip: yes
          network: obs-net
          meta:
            hostname: obs-bastion-us1.linaro.cloud
    - name: Create obs_data volume
      os_volume:
          state: present
          size: 400
          display_name: obs_data
    - name: Create obs_backup volume
      os_volume:
          state: present
          size: 400
          display_name: obs_backup
    - name: Attach obs_data volume to obs server
      os_server_volume:
          state: present
          volume: obs_data
          server: obs-bastion-us1.linaro.cloud
          device: "{{ hostvars['obs-bastion-us1.linaro.cloud'].obsdata_dev }}"
    - name: Attach obs_backup volume to obs server
      os_server_volume:
          state: present
          volume: obs_backup
          server: obs-bastion-us1.linaro.cloud
          device: "{{ hostvars['obs-bastion-us1.linaro.cloud'].obsbackup_dev }}"
    - name: Deploy OBS worker
      os_server:
          state: present
          name: obs-worker-us1.linaro.cloud
          image: Official Debian Stretch
          key_name: Riku Linaro
          wait: yes
          flavor: m1.tiny
          auto_floating_ip: no
          network: obs-net
          meta:
            hostname: obs-worker-us1.linaro.cloud

- name: Configure firewall and OBS container
  hosts: obs-bastion-us1.linaro.cloud
  become: yes
  roles:
      - role: obs-bastion
        worker_ip:
            - 192.168.1.1/24
            - 10.20.0.1/24
            - 138.201.52.83
            - 64.28.99.105
      - role: systemd-container
        container_name: obs
        container_user: obs-admin
        ssh_port: 2201

- name: Install OBS server
  hosts: obs-server-us1.linaro.cloud
  become: yes
  vars_files:
      - "{{secrets_dir}}/host_vars/{{inventory_hostname}}"
  roles:
      - role: restic
        backup_host: 211.148.24.209
        backup_user: obs-backup
        backup_db:
            - obsapi
        backup_dirs:
            - /srv/obs
            - /etc
      - role: letsencrypt
        hostname: obs.linaro.org
        email: riku.voipio@linaro.org
      - role: obs