diff --git a/apps/roles/metabase/files/create_users.sh b/apps/roles/metabase/files/create_users.sh new file mode 100644 index 00000000..11d7232b --- /dev/null +++ b/apps/roles/metabase/files/create_users.sh @@ -0,0 +1,50 @@ +#!/bin/sh +# copy from: https://www.metabase.com/learn/administration/serialization#add-users-to-our-metabase-origin-environment + +ADMIN_EMAIL=${MB_ADMIN_EMAIL:-admin@metabase.local} +ADMIN_PASSWORD=${MB_ADMIN_PASSWORD:-Metapass123} + +METABASE_HOST=${MB_HOSTNAME} +METABASE_PORT=${MB_PORT:-3000} + +echo "āŒšļøŽ Waiting for Metabase to start" +while (! curl -s -m 5 http://${METABASE_HOST}:${METABASE_PORT}/api/session/properties -o /dev/null); do sleep 5; done + +echo "šŸ˜Ž Creating admin user" + +SETUP_TOKEN=$(curl -s -m 5 -X GET \ + -H "Content-Type: application/json" \ + http://${METABASE_HOST}:${METABASE_PORT}/api/session/properties \ + | jq -r '.["setup-token"]' +) + +MB_TOKEN=$(curl -s -X POST \ + -H "Content-type: application/json" \ + http://${METABASE_HOST}:${METABASE_PORT}/api/setup \ + -d '{ + "token": "'${SETUP_TOKEN}'", + "user": { + "email": "'${ADMIN_EMAIL}'", + "first_name": "Metabase", + "last_name": "Admin", + "password": "'${ADMIN_PASSWORD}'" + }, + "prefs": { + "allow_tracking": false, + "site_name": "Metawhat" + } +}' | jq -r '.id') + + +echo -e "\nšŸ‘„ Creating some basic users: " +curl -s "http://${METABASE_HOST}:${METABASE_PORT}/api/user" \ + -H 'Content-Type: application/json' \ + -H "X-Metabase-Session: ${MB_TOKEN}" \ + -d '{"first_name":"Basic","last_name":"User","email":"basic@somewhere.com","login_attributes":{"region_filter":"WA"},"password":"'${ADMIN_PASSWORD}'"}' + +curl -s "http://${METABASE_HOST}:${METABASE_PORT}/api/user" \ + -H 'Content-Type: application/json' \ + -H "X-Metabase-Session: ${MB_TOKEN}" \ + -d '{"first_name":"Basic 2","last_name":"User","email":"basic2@somewhere.com","login_attributes":{"region_filter":"CA"},"password":"'${ADMIN_PASSWORD}'"}' + +echo -e "\nšŸ‘„ Basic users created!" \ No newline at end of file diff --git a/apps/roles/metabase/files/template.service b/apps/roles/metabase/files/template.service deleted file mode 100644 index e69de29b..00000000 diff --git a/apps/roles/metabase/tasks/main.yml b/apps/roles/metabase/tasks/main.yml index 7e11e3b2..f760b910 100644 --- a/apps/roles/metabase/tasks/main.yml +++ b/apps/roles/metabase/tasks/main.yml @@ -1,3 +1,9 @@ +- name: wait for {{appname}} start + wait_for: + port: "{{nginx_reverse_proxy_port}}" + delay: 10 + timeout: 120 + - name: Check {{appname}} Version shell: | sudo echo "metabase version:" $(curl https://api.github.com/repos/metabase/metabase/releases/latest |jq -r .tag_name) |sudo tee -a /data/logs/install_version.txt diff --git a/apps/roles/metabase/tests/test.yml b/apps/roles/metabase/tests/test.yml new file mode 100644 index 00000000..a8bb233a --- /dev/null +++ b/apps/roles/metabase/tests/test.yml @@ -0,0 +1,4 @@ +- name: Copy create_users.sh to /opt/ + copy: + src: create_users.sh + dest: /opt/create_users.sh