ansible-roles/roles/gitea/tasks/admin_user.yml
2021-12-01 19:13:34 +01:00

31 lines
1.3 KiB
YAML

---
- name: Check if admin user exists
command: "mysql --host={{ gitea_db_server }} --user={{ gitea_db_user }} --password='{{ gitea_db_pass }}' {{ gitea_db_name }} -ss -e \"select count(*) from user where lower_name='gitadmin'\""
register: gitea_admin
changed_when: False
retries: 10 # first time gitea starts, it'll take some time to create the tables
delay: 10
until: gitea_admin.rc == 0
tags: gitea
# The user table is created before the email_address. So on first run, we might have an error when creating the
# admin account. Here, we just ensure the email_address table exists before we can continue
- name: Check if the email_address table exists
command: "mysql --host={{ gitea_db_server }} --user={{ gitea_db_user }} --password='{{ gitea_db_pass }}' {{ gitea_db_name }} -ss -e \"select count(*) from email_address\""
register: gitea_email_table
changed_when: False
retries: 10
delay: 10
until: gitea_email_table.rc == 0
when: gitea_admin.stdout != "1"
tags: gitea
- name: Create the admin account
command: "{{ gitea_root_dir }}/bin/gitea admin user create --name gitadmin --admin --password admin --email admin@example.net --config {{ gitea_root_dir }}/etc/app.ini"
args:
chdir: "{{ gitea_root_dir }}"
become_user: gitea
when: gitea_admin.stdout != "1"
tags: gitea