provide PACKAGES_TOKEN secret

This commit is contained in:
2024-08-20 11:25:19 +02:00
parent 80fa4ca92f
commit 95f365dbb5
6 changed files with 116 additions and 13 deletions
@@ -1,4 +1,8 @@
gitea_user_name: arcodange
gitea_container_name: gitea
gitea_token_scopes: write:admin,write:organization,write:package,write:repository,write:user
# gitea_base_url: 'http://{{ groups.gitea[0] }}:3000'
gitea_token_fact_name: gitea_api_token
gitea_base_url: 'http://{{ groups.gitea[0] }}:3000'
gitea_token_replace: false
gitea_token_name: ansible-{{ ansible_date_time.iso8601 }} # require gathering facts
gitea_token_delete: false # only delete token
@@ -1,10 +1,12 @@
# to see generated tokens
# go to https://gitea.arcodange.duckdns.org/user/settings/applications
- when: gitea_api_token is undefined
- when: lookup('ansible.builtin.varnames', '^' ~ gitea_token_fact_name ~ '$') | length == 0 or gitea_token_delete
block:
- name: Create new token for ansible
- &createTokenTask
name: Create new token for ansible
when: not gitea_token_delete
delegate_to: "{{ groups.gitea[0] }}"
delegate_facts: true
ansible.builtin.command: >-
@@ -13,11 +15,29 @@
--username {{ gitea_user_name }}
--token-name {{ gitea_token_name }}
--raw
--scopes {{gitea_token_scopes}}
--scopes {{ gitea_token_scopes }}
register: gitea_api_token_cmd
vars:
# ansible_date_time requires having gathered facts
gitea_token_name: ansible-{{ ansible_date_time.iso8601 }}
ignore_errors: '{{ gitea_token_replace }}'
- name: replace token
when:
- gitea_token_delete or gitea_api_token_cmd.rc != 0
- gitea_token_delete or "'access token name has been used already' in gitea_api_token_cmd.stderr"
- gitea_token_delete or gitea_token_replace
- gitea_api_token is defined
block:
- name: "delete token{{ gitea_token_replace | ternary(' to replace','') }}"
uri:
url: "{{ gitea_base_url }}/api/v1/users/{{ gitea_user_name }}/tokens/{{ gitea_token_name }}"
method: DELETE
headers:
Authorization: "Basic {{ (gitea_user_name ~ ':' ~ gitea_api_token) | b64encode }}"
Accept: application/json'
status_code: 204
- <<: *createTokenTask
ignore_errors: false
register: gitea_api_token_cmd_bis
- ansible.builtin.set_fact:
gitea_api_token: '{{ gitea_api_token_cmd.stdout }}'
'{{ gitea_token_fact_name }}': '{{ (gitea_api_token_cmd.rc == 0) | ternary(gitea_api_token_cmd.stdout, gitea_api_token_cmd_bis.stdout) }}'
when: not gitea_token_delete