summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dan/host_vars/ele-media.yml30
-rw-r--r--inventory/host_vars/ele-media.yml4
-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
5 files changed, 48 insertions, 31 deletions
diff --git a/dan/host_vars/ele-media.yml b/dan/host_vars/ele-media.yml
index 1d435797..aeac86fa 100644
--- a/dan/host_vars/ele-media.yml
+++ b/dan/host_vars/ele-media.yml
@@ -1,14 +1,18 @@
$ANSIBLE_VAULT;1.2;AES256;dan
-37356637666439633638343164393863646436623764643931376365396130373638393466373030
-3832636539373737363639663962323436366530616364370a346337646339313464373566613836
-63323965393739353064336564666132646538323833636332396338613735613561346663386363
-6437343463623133650a616534313964343662303161656663393735656338656634313136363734
-61316136663733366331343439303235303639363761653539643333363162306334613731663165
-36376430343131353934333663346364383139323965653238623761636532326439626533633233
-37666636326430636363383935383065623861366132343764316165666133653733313639353833
-61323633656339643033623733383438336137376631363262623562326430313930386630613134
-38326338633138623736646635646337623531386637636336643764323930633963663336306330
-61626138313136663965323661656136393535646161613932363535333931663566336362383630
-36616336626630613965626638386662613765616234356533653031666133323234396665646463
-32306263633631353264626462366238393236313631663766616362643266623739613336643066
-37633132346330353235613634346561333863313465393936623832666630393538
+36343363323363636564616363643262656666363435303866313833323437373364313837393532
+3931363533343038343638353332316164666332646265350a396235313932346365666132616566
+63663335376334626263366334376236326436663565626236643166356336613332613332323532
+3038393037653863380a633462323563303937316234383565326233356330333662326634336630
+66653130616433643837393639656264643037656236353039653761343136313135316566663362
+36336233393562646361623439316435363263376261373835306136393435343634396233383437
+37396636333865633865313561303736396365373061316332386536353061363366313637656534
+34633435383039363232313131316561313432303830383231323536643536316265303065653537
+34356366366263393064396438643531306233306466303833656139323836313461373962663333
+64323036626330326131626565323966386530623439356238663665313830626532336562303933
+61333231313166306362623463633064366237363133323264616166303365663963303132343837
+35333734653433633036393238343333373961326536333866626432343534366233643438666430
+62333131353364326536636466626165383961306665353537346335316631356539346262303039
+61323636303039353239626132616632643834613064373533373730663962663764613037303862
+62346531643133346130343630353933383364666531336162386162383565383063303633616361
+63633937636461343336346234656461393336636363386463303764383030316663643236313334
+3833
diff --git a/inventory/host_vars/ele-media.yml b/inventory/host_vars/ele-media.yml
index b0626d2b..f7da785f 100644
--- a/inventory/host_vars/ele-media.yml
+++ b/inventory/host_vars/ele-media.yml
@@ -106,12 +106,14 @@ elevate_media_nextcloud_storage:
elevate_media_nextcloud_instance_name: media.elevate.at
elevate_media_nextcloud_instance:
- new: true
version: 24.0.2
port: 8100
hostnames:
- media.elevate.at
- media.elev8.at
+ admin:
+ username: admin
+ password: "{{ vault_nextcloud_admin_passwords['media.elevate.at'] }}"
database:
type: mariadb
version: 10.8.3
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