dendrite/server/tasks/main.yaml
author Luke Hoersten <luke@hoersten.org>
Sat, 10 Sep 2022 15:18:24 -0500
changeset 194 d1e44e23f48e
parent 186 c48761176ede
child 211 9e2b2cc6ccf1
permissions -rw-r--r--
Enabled experimental spaces and threading features in dendrite.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
fd351734f007 Prometheus and WriteFreely roles are work in progress.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     1
---
fd351734f007 Prometheus and WriteFreely roles are work in progress.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
     2
163
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
     3
- name: add dendrite user
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
     4
  become: yes
174
431c6d5e5dd4 Lots of updates.
Luke Hoersten <luke@hoersten.org>
parents: 169
diff changeset
     5
  user: name="{{dendrite_user}}" shell="/bin/false" system="yes"
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
     6
163
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
     7
# build
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
     8
- name: snap install golang
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
     9
  become: yes
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    10
  snap: name="go" classic="yes"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    11
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    12
- name: unarchive dendrite
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    13
  become: yes
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    14
  unarchive:
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    15
    remote_src: yes
163
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    16
    src: "{{dendrite_tar}}"
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    17
    dest: "/tmp/"
163
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    18
    creates: "{{dendrite_build_dir}}"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    19
    owner: "{{dendrite_user}}"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    20
    group: "{{dendrite_user}}"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    21
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    22
- name: check if dendrite build exists
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    23
  stat:
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    24
    path: "{{dendrite_build_dir}}/bin"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    25
  register: build_file
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    26
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    27
- name: build dendrite
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    28
  become: yes
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    29
  become_user: "{{dendrite_user}}"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    30
  command: "{{dendrite_build_dir}}/build.sh"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    31
  args:
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    32
    chdir: "{{dendrite_build_dir}}"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    33
  when: not build_file.stat.exists
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    34
  notify: restart service
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    35
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    36
# install
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    37
- name: install dendrite binary
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    38
  become: yes
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    39
  copy:
180
f2f99b9b16ee Updated dendrite config.
Luke Hoersten <luke@hoersten.org>
parents: 174
diff changeset
    40
    src: "{{dendrite_build_dir}}/bin/{{item.src}}"
f2f99b9b16ee Updated dendrite config.
Luke Hoersten <luke@hoersten.org>
parents: 174
diff changeset
    41
    dest: "/usr/local/bin/{{item.dest}}"
163
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    42
    remote_src: yes
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    43
    owner: "root"
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    44
    group: "root"
18
ea20908c3904 Removed use of install command.
Luke Hoersten <luke@hoersten.org>
parents: 17
diff changeset
    45
    mode: "0755"
180
f2f99b9b16ee Updated dendrite config.
Luke Hoersten <luke@hoersten.org>
parents: 174
diff changeset
    46
  loop:
f2f99b9b16ee Updated dendrite config.
Luke Hoersten <luke@hoersten.org>
parents: 174
diff changeset
    47
    - {"src": "dendrite-monolith-server" , "dest": "dendrite-monolith-server"}
f2f99b9b16ee Updated dendrite config.
Luke Hoersten <luke@hoersten.org>
parents: 174
diff changeset
    48
    - {"src": "create-account"           , "dest": "dendrite-create-account"}
f2f99b9b16ee Updated dendrite config.
Luke Hoersten <luke@hoersten.org>
parents: 174
diff changeset
    49
    - {"src": "dendrite-polylith-multi"  , "dest": "dendrite-polylith-multi"}
f2f99b9b16ee Updated dendrite config.
Luke Hoersten <luke@hoersten.org>
parents: 174
diff changeset
    50
    - {"src": "dendrite-upgrade-tests"   , "dest": "dendrite-upgrade-tests"}
f2f99b9b16ee Updated dendrite config.
Luke Hoersten <luke@hoersten.org>
parents: 174
diff changeset
    51
    - {"src": "generate-config"          , "dest": "dendrite-generate-config"}
f2f99b9b16ee Updated dendrite config.
Luke Hoersten <luke@hoersten.org>
parents: 174
diff changeset
    52
    - {"src": "generate-keys"            , "dest": "dendrite-generate-keys"}
f2f99b9b16ee Updated dendrite config.
Luke Hoersten <luke@hoersten.org>
parents: 174
diff changeset
    53
    - {"src": "resolve-state"            , "dest": "dendrite-resolve-state"}
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    54
51
19fa7aa47bf1 Minor writefreely change.
Luke Hoersten <luke@hoersten.org>
parents: 27
diff changeset
    55
- name: create instance dir
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    56
  become: yes
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    57
  file:
51
19fa7aa47bf1 Minor writefreely change.
Luke Hoersten <luke@hoersten.org>
parents: 27
diff changeset
    58
    path: "{{item}}"
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    59
    state: "directory"
163
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    60
    owner: "{{dendrite_user}}"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    61
    group: "{{dendrite_user}}"
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    62
    mode: "0755"
169
f4f9b52ede46 Fixed dendrite restart handler bug.
Luke Hoersten <luke@hoersten.org>
parents: 168
diff changeset
    63
  notify: restart service
51
19fa7aa47bf1 Minor writefreely change.
Luke Hoersten <luke@hoersten.org>
parents: 27
diff changeset
    64
  loop:
163
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    65
    - "{{dendrite_dir}}"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    66
    - "{{dendrite_dir}}/{{dendrite_instance}}"
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    67
183
b31ef0e10cad Added Dendrite symlink to port workaround.
Luke Hoersten <luke@hoersten.org>
parents: 180
diff changeset
    68
- name: create instance port symlink
b31ef0e10cad Added Dendrite symlink to port workaround.
Luke Hoersten <luke@hoersten.org>
parents: 180
diff changeset
    69
  become: yes
b31ef0e10cad Added Dendrite symlink to port workaround.
Luke Hoersten <luke@hoersten.org>
parents: 180
diff changeset
    70
  file:
b31ef0e10cad Added Dendrite symlink to port workaround.
Luke Hoersten <luke@hoersten.org>
parents: 180
diff changeset
    71
    src: "{{dendrite_dir}}/{{dendrite_instance}}"
b31ef0e10cad Added Dendrite symlink to port workaround.
Luke Hoersten <luke@hoersten.org>
parents: 180
diff changeset
    72
    dest: "{{dendrite_dir}}/{{dendrite_port}}"
b31ef0e10cad Added Dendrite symlink to port workaround.
Luke Hoersten <luke@hoersten.org>
parents: 180
diff changeset
    73
    state: "link"
b31ef0e10cad Added Dendrite symlink to port workaround.
Luke Hoersten <luke@hoersten.org>
parents: 180
diff changeset
    74
    owner: "{{dendrite_user}}"
b31ef0e10cad Added Dendrite symlink to port workaround.
Luke Hoersten <luke@hoersten.org>
parents: 180
diff changeset
    75
    group: "{{dendrite_user}}"
b31ef0e10cad Added Dendrite symlink to port workaround.
Luke Hoersten <luke@hoersten.org>
parents: 180
diff changeset
    76
    mode: "0755"
b31ef0e10cad Added Dendrite symlink to port workaround.
Luke Hoersten <luke@hoersten.org>
parents: 180
diff changeset
    77
  notify: restart service
b31ef0e10cad Added Dendrite symlink to port workaround.
Luke Hoersten <luke@hoersten.org>
parents: 180
diff changeset
    78
163
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    79
- name: install keys
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    80
  become: yes
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    81
  copy:
163
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    82
    src: "{{item}}"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    83
    dest: "{{dendrite_dir}}/{{dendrite_instance}}/"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    84
    owner: "{{dendrite_user}}"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    85
    group: "{{dendrite_user}}"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    86
    mode: "0600"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    87
  loop: "{{dendrite_keys}}"
1
fd351734f007 Prometheus and WriteFreely roles are work in progress.
Luke Hoersten <luke@hoersten.org>
parents:
diff changeset
    88
163
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    89
- name: copy db schema file
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    90
  become: yes
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    91
  template:
163
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    92
    src: "setup_db.psql.j2"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    93
    dest: "/tmp/setup_db_dendrite_{{dendrite_instance}}.psql"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    94
    owner: "postgres"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    95
    group: "postgres"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    96
    mode: "0600"
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
    97
163
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    98
- name: install db schema psql
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
    99
  become: yes
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
   100
  become_user: "postgres"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
   101
  command: "psql -f /tmp/setup_db_dendrite_{{dendrite_instance}}.psql"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
   102
  changed_when: false
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
   103
163
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
   104
- name: configure dendrite
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
   105
  become: yes
163
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
   106
  template:
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
   107
    src: "dendrite.yaml.j2"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
   108
    dest: "{{dendrite_dir}}/{{dendrite_instance}}/dendrite.yaml"
168
8e61e4bb714b Minor dendrite tweaks.
Luke Hoersten <luke@hoersten.org>
parents: 163
diff changeset
   109
    mode: "0600"
163
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
   110
    owner: "{{dendrite_user}}"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
   111
    group: "{{dendrite_user}}"
169
f4f9b52ede46 Fixed dendrite restart handler bug.
Luke Hoersten <luke@hoersten.org>
parents: 168
diff changeset
   112
  notify: restart service
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
   113
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
   114
- name: install systemd service
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
   115
  become: yes
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
   116
  template:
163
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
   117
    src: "[email protected]"
40b78af86337 Tons of updates.
Luke Hoersten <luke@hoersten.org>
parents: 159
diff changeset
   118
    dest: "/lib/systemd/system/[email protected]"
186
c48761176ede Minor version updates and bug fixes.
Luke Hoersten <luke@hoersten.org>
parents: 183
diff changeset
   119
  notify: restart service
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
   120
183
b31ef0e10cad Added Dendrite symlink to port workaround.
Luke Hoersten <luke@hoersten.org>
parents: 180
diff changeset
   121
- name: ensure instance service is stopped
b31ef0e10cad Added Dendrite symlink to port workaround.
Luke Hoersten <luke@hoersten.org>
parents: 180
diff changeset
   122
  become: yes
b31ef0e10cad Added Dendrite symlink to port workaround.
Luke Hoersten <luke@hoersten.org>
parents: 180
diff changeset
   123
  systemd: name="dendrite@{{dendrite_instance}}.service" enabled="no" state="stopped" daemon_reload="yes"
b31ef0e10cad Added Dendrite symlink to port workaround.
Luke Hoersten <luke@hoersten.org>
parents: 180
diff changeset
   124
17
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
   125
- name: ensure service is started
41034ea52480 Completed writefreely role
Luke Hoersten <luke@hoersten.org>
parents: 2
diff changeset
   126
  become: yes
183
b31ef0e10cad Added Dendrite symlink to port workaround.
Luke Hoersten <luke@hoersten.org>
parents: 180
diff changeset
   127
  systemd: name="dendrite@{{dendrite_port}}.service" enabled="yes" state="started"