45 lines
1.4 KiB
YAML
45 lines
1.4 KiB
YAML
---
|
|
|
|
- name: Check if Gitea user has already been created
|
|
stat:
|
|
path: "{{ jenkins_gitea_password_file }}"
|
|
register: result
|
|
|
|
- name: Do we have to create the Gitea user
|
|
set_fact:
|
|
createGiteaUser: "{{ result.stat.exists is undefined or result.stat.exists == False }}"
|
|
|
|
- name: Generate a password for the Gitea user
|
|
set_fact:
|
|
giteaPassword: "{{ lookup('password', '/dev/null chars=ascii_letters') }}" # preferably no colons in password, for HTTP's URL simplicity
|
|
when: createGiteaUser
|
|
no_log: yes
|
|
|
|
- name: Retrieve the password for the post_install message
|
|
slurp:
|
|
src: "{{ jenkins_gitea_password_file }}"
|
|
register: tmp
|
|
when: not createGiteaUser
|
|
no_log: yes
|
|
- name: Set the password as a fact
|
|
set_fact:
|
|
giteaPassword: "{{ tmp.content | b64decode | trim }}"
|
|
when: not createGiteaUser
|
|
no_log: yes
|
|
|
|
- name: Create webhook dedicated user
|
|
shell: echo 'jenkins.model.Jenkins.instance.securityRealm.createAccount("{{ giteaUsername | quote }}", "{{ giteaPassword | quote }}")' | {{ jenkins_cli_command }} groovy =
|
|
when: createGiteaUser
|
|
no_log: yes
|
|
|
|
- name: Upload the new password
|
|
copy:
|
|
content: "{{ giteaPassword }}"
|
|
dest: "{{ jenkins_gitea_password_file }}"
|
|
owner: jenkins
|
|
group: jenkins
|
|
mode: 0600
|
|
when: createGiteaUser
|
|
# Note : We still need a way to tell the user how to be authenticated for the webhook.
|
|
# For the time being, we store it here and display it at the end of the playbook.
|
|
no_log: yes
|