src.nth.io/

summaryrefslogtreecommitdiff
path: root/dendrite/server/tasks
diff options
context:
space:
mode:
authorLuke Hoersten <[email protected]>2021-07-18 17:43:46 -0500
committerLuke Hoersten <[email protected]>2021-07-18 17:43:46 -0500
commit9bb76f57d55ca5a9e502a34e504a21904d4157a1 (patch)
tree903c0e279b0e7d4a546847bf0dcbf82ddca1409b /dendrite/server/tasks
parent2749003ec0f863e700450da9ee55d58cc8f4b399 (diff)
Tons of updates.
Diffstat (limited to 'dendrite/server/tasks')
-rw-r--r--dendrite/server/tasks/main.yaml103
1 files changed, 103 insertions, 0 deletions
diff --git a/dendrite/server/tasks/main.yaml b/dendrite/server/tasks/main.yaml
new file mode 100644
index 0000000..03ac50a
--- /dev/null
+++ b/dendrite/server/tasks/main.yaml
@@ -0,0 +1,103 @@
+---
+
+- name: add dendrite user
+ become: yes
+ user: name="{{dendrite_user}}"
+
+# build
+- name: snap install golang
+ become: yes
+ snap: name="go" classic="yes"
+
+- name: unarchive dendrite
+ become: yes
+ unarchive:
+ remote_src: yes
+ src: "{{dendrite_tar}}"
+ dest: "/tmp/"
+ creates: "{{dendrite_build_dir}}"
+ owner: "{{dendrite_user}}"
+ group: "{{dendrite_user}}"
+
+- name: check if dendrite build exists
+ stat:
+ path: "{{dendrite_build_dir}}/bin"
+ register: build_file
+
+- name: build dendrite
+ become: yes
+ become_user: "{{dendrite_user}}"
+ command: "{{dendrite_build_dir}}/build.sh"
+ args:
+ chdir: "{{dendrite_build_dir}}"
+ when: not build_file.stat.exists
+ notify: restart service
+
+# install
+- name: install dendrite binary
+ become: yes
+ copy:
+ src: "{{dendrite_build_dir}}/bin/dendrite-monolith-server"
+ dest: "/usr/local/bin/dendrite-monolith-server"
+ remote_src: yes
+ owner: "root"
+ group: "root"
+ mode: "0755"
+
+- name: create instance dir
+ become: yes
+ file:
+ path: "{{item}}"
+ state: "directory"
+ owner: "{{dendrite_user}}"
+ group: "{{dendrite_user}}"
+ mode: "0755"
+ notify: reload service
+ loop:
+ - "{{dendrite_dir}}"
+ - "{{dendrite_dir}}/{{dendrite_instance}}"
+
+- name: install keys
+ become: yes
+ copy:
+ src: "{{item}}"
+ dest: "{{dendrite_dir}}/{{dendrite_instance}}/"
+ owner: "{{dendrite_user}}"
+ group: "{{dendrite_user}}"
+ mode: "0600"
+ loop: "{{dendrite_keys}}"
+
+- name: copy db schema file
+ become: yes
+ template:
+ src: "setup_db.psql.j2"
+ dest: "/tmp/setup_db_dendrite_{{dendrite_instance}}.psql"
+ owner: "postgres"
+ group: "postgres"
+ mode: "0600"
+
+- name: install db schema psql
+ become: yes
+ become_user: "postgres"
+ command: "psql -f /tmp/setup_db_dendrite_{{dendrite_instance}}.psql"
+ changed_when: false
+
+- name: configure dendrite
+ become: yes
+ template:
+ src: "dendrite.yaml.j2"
+ dest: "{{dendrite_dir}}/{{dendrite_instance}}/dendrite.yaml"
+ mode: "0644"
+ owner: "{{dendrite_user}}"
+ group: "{{dendrite_user}}"
+ notify: reload service
+
+- name: install systemd service
+ become: yes
+ template:
+ dest: "/lib/systemd/system/[email protected]"
+
+- name: ensure service is started
+ become: yes
+ systemd: name="dendrite@{{dendrite_instance}}.service" enabled="yes" state="started"