summaryrefslogtreecommitdiff
path: root/roles/elevate
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2022-07-07 00:15:52 +0200
committerChristian Pointner <equinox@spreadspace.org>2022-07-07 00:15:52 +0200
commitc80d106fc5eb1ae83f4a956524d8d6e6956b94a7 (patch)
tree30461174196fbd1950131f8c0c369a51b835aaff /roles/elevate
parentele-media: nextcloud base install (diff)
ele-media run nextcloud installer
Diffstat (limited to 'roles/elevate')
-rw-r--r--roles/elevate/media/tasks/nextcloud-app.yml27
-rw-r--r--roles/elevate/media/tasks/nextcloud-config.yml1
-rw-r--r--roles/elevate/media/templates/nextcloud-pod-spec-with-mariadb.yml.j217
3 files changed, 28 insertions, 17 deletions
diff --git a/roles/elevate/media/tasks/nextcloud-app.yml b/roles/elevate/media/tasks/nextcloud-app.yml
index fd864893..d2ea183a 100644
--- a/roles/elevate/media/tasks/nextcloud-app.yml
+++ b/roles/elevate/media/tasks/nextcloud-app.yml
@@ -126,3 +126,30 @@
src: "{{ item }}.j2"
dest: "/usr/local/bin/{{ item }}"
mode: 0755
+
+### TODO: proper way to wait for app and database pods to become ready!!!
+- name: fetch status of nextcloud instance
+ command: "nextcloud-occ '{{ elevate_media_nextcloud_instance_name }}' status -n --no-warnings --output json"
+ changed_when: false
+ register: nextcloud_status
+ until: "nextcloud_status is not failed"
+ retries: 10
+ delay: 5
+
+- name: parse status of nextcloud instance
+ set_fact:
+ nextcloud_status: "{{ nextcloud_status.stdout | from_json }}"
+
+
+### TODO: hardcoded database type (mariadb/mysql)...
+- name: run nextcloud installer
+ when: not nextcloud_status.installed
+ command: "nextcloud-occ '{{ elevate_media_nextcloud_instance_name }}' maintenance:install -n '--database=mysql' '--database-name=nextcloud' '--database-host=127.0.0.1' '--database-user=nextcloud' '--database-pass={{ elevate_media_nextcloud_instance.database.password }}' '--admin-user={{ elevate_media_nextcloud_instance.admin.username }}' '--admin-pass={{ elevate_media_nextcloud_instance.admin.password }}'"
+ register: nextcloud_installer_output
+
+### TODO: call these commands
+## nextcloud-occ media.elevate.at config:system:set trusted_domains 0 --value='media.elevate.at'
+## nextcloud-occ media.elevate.at config:system:set trusted_domains 1 --value='media.elev8.at'
+## nextcloud-occ media.elevate.at config:system:set overwriteprotocol --value='https'
+## nextcloud-occ media.elevate.at config:system:set overwrite.cli.url --value='https://media.elevate.at'
+## nextcloud-occ media.elevate.at config:system:set default_phone_region --value='at'
diff --git a/roles/elevate/media/tasks/nextcloud-config.yml b/roles/elevate/media/tasks/nextcloud-config.yml
index 8f648d9b..b3795090 100644
--- a/roles/elevate/media/tasks/nextcloud-config.yml
+++ b/roles/elevate/media/tasks/nextcloud-config.yml
@@ -1,6 +1,7 @@
---
### TODO: replace calls to occ with nextcloud-occ script installed by role apps/nextcloud
+
## TODO: this is idempotent but flagging change would be nice
- name: enable files_external app
command: docker exec -u www-data nextcloud.service /var/www/html/occ app:enable files_external
diff --git a/roles/elevate/media/templates/nextcloud-pod-spec-with-mariadb.yml.j2 b/roles/elevate/media/templates/nextcloud-pod-spec-with-mariadb.yml.j2
index b67066fc..ea9f90ad 100644
--- a/roles/elevate/media/templates/nextcloud-pod-spec-with-mariadb.yml.j2
+++ b/roles/elevate/media/templates/nextcloud-pod-spec-with-mariadb.yml.j2
@@ -9,21 +9,6 @@ containers:
resources:
limits:
memory: "4Gi"
-{% if 'new' in elevate_media_nextcloud_instance and elevate_media_nextcloud_instance.new %}
- env:
- - name: NEXTCLOUD_TRUSTED_DOMAINS
- value: "{{ elevate_media_nextcloud_instance.hostnames | join(' ') }}"
- - name: OVERWRITEPROTOCOL
- value: "https"
- - name: MYSQL_HOST
- value: 127.0.0.1
- - name: MYSQL_DATABASE
- value: nextcloud
- - name: MYSQL_USER
- value: nextcloud
- - name: MYSQL_PASSWORD
- value: "{{ elevate_media_nextcloud_instance.database.password }}"
-{% endif %}
volumeMounts:
- name: nextcloud
mountPath: /var/www/html
@@ -50,7 +35,6 @@ containers:
resources:
limits:
memory: "2Gi"
-{% if 'new' in elevate_media_nextcloud_instance and elevate_media_nextcloud_instance.new %}
env:
- name: MYSQL_RANDOM_ROOT_PASSWORD
value: "true"
@@ -60,7 +44,6 @@ containers:
value: nextcloud
- name: MYSQL_PASSWORD
value: "{{ elevate_media_nextcloud_instance.database.password }}"
-{% endif %}
volumeMounts:
- name: database
mountPath: /var/lib/mysql