--- - name: "⏳ Wait until the Pixelfed users table exists" database_query: config: "{{ lookup('database', application_id) }}" query_file: "{{ role_path }}/files/sql/select/users-table.sql" named_args: db_name: "{{ PIXELFED_DB_NAME }}" expect_rows: true mask_values: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}" register: pixelfed_users_table changed_when: false retries: 60 delay: 5 until: pixelfed_users_table.rows | length > 0 no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}" - name: "🔎 Check whether the Pixelfed administrator already exists" database_query: config: "{{ lookup('database', application_id) }}" query_file: "{{ role_path }}/files/sql/select/admin-id.sql" named_args: admin_username: "{{ PIXELFED_ADMIN_USERNAME }}" expect_rows: true mask_values: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}" register: pixelfed_admin_id_existing changed_when: false no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}" - name: "📁 Create the Pixelfed administrator via artisan" ansible.builtin.command: argv: - container - exec - -u - "{{ PIXELFED_APP_USER }}" - "{{ PIXELFED_LOCAL_CID }}" # nocheck: container-exec-resolver PIXELFED_LOCAL_CID resolved at delegate_to runtime - php - artisan - user:create - "--name={{ PIXELFED_ADMIN_NAME }}" - "--username={{ PIXELFED_ADMIN_USERNAME }}" - "--email={{ PIXELFED_ADMIN_EMAIL }}" - "--password={{ PIXELFED_ADMIN_PASSWORD }}" - --is_admin=1 - --confirm_email=1 when: pixelfed_admin_id_existing.rows | length == 0 register: pixelfed_admin_create changed_when: pixelfed_admin_create.rc == 0 no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}" delegate_to: "{{ PIXELFED_HOST_NODE }}" - name: "🔍 Resolve the Pixelfed administrator id" database_query: config: "{{ lookup('database', application_id) }}" query_file: "{{ role_path }}/files/sql/select/admin-id.sql" named_args: admin_username: "{{ PIXELFED_ADMIN_USERNAME }}" expect_rows: true mask_values: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}" register: pixelfed_admin_id changed_when: false failed_when: pixelfed_admin_id.rows | length == 0 no_log: "{{ MASK_CREDENTIALS_IN_LOGS | bool }}"