40 lines
1.2 KiB
YAML
40 lines
1.2 KiB
YAML
---
|
|
- name: Check if API token file exists
|
|
stat:
|
|
path: '{{ gitea_service_path }}/api-token'
|
|
register: gitea_token_file
|
|
|
|
- name: Create API token
|
|
when: not gitea_token_file.stat.exists
|
|
block:
|
|
- name: Generate API token for admin
|
|
uri:
|
|
url: '{{ gitea_app_cont_web_url }}/api/v1/users/{{ gitea_app_admin_user }}/tokens'
|
|
method: 'POST'
|
|
status_code: 201
|
|
body_format: 'json'
|
|
body: { name: 'ansible' }
|
|
return_content: true
|
|
user: '{{ gitea_app_admin_user | mandatory }}'
|
|
password: '{{ gitea_app_admin_pass | mandatory }}'
|
|
force_basic_auth: true
|
|
register: gitea_app_admin_token_raw
|
|
|
|
- name: Create an API token file
|
|
copy:
|
|
dest: '{{ gitea_service_path }}/api-token'
|
|
content: '{{ gitea_app_admin_token_raw.json.sha1 }}'
|
|
mode: 0400
|
|
when: not gitea_app_admin_token_raw.skipped
|
|
|
|
- name: Read API token from file
|
|
slurp:
|
|
path: '{{ gitea_service_path }}/api-token'
|
|
register: gitea_app_admin_token_raw
|
|
when: gitea_token_file.stat.exists
|
|
|
|
- name: Decode token from file cointents
|
|
set_fact:
|
|
gitea_app_admin_token: '{{ gitea_app_admin_token_raw.content | b64decode | trim }}'
|
|
when: gitea_token_file.stat.exists
|