diff options
Diffstat (limited to 'roles')
-rw-r--r-- | roles/elevate/media/tasks/nextcloud-app.yml | 27 | ||||
-rw-r--r-- | roles/elevate/media/tasks/nextcloud-config.yml | 1 | ||||
-rw-r--r-- | roles/elevate/media/templates/nextcloud-pod-spec-with-mariadb.yml.j2 | 17 |
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 |