diff --git a/roles/gitea/tasks/main.yml b/roles/gitea/tasks/main.yml index 95afbad..1180cd3 100644 --- a/roles/gitea/tasks/main.yml +++ b/roles/gitea/tasks/main.yml @@ -217,6 +217,19 @@ comment: "git@{{ ansible_fqdn }}" register: ssh_key +- name: Get previously added SSH keys + uri: + url: https://git.tunuifranken.info/api/v1/user/keys + method: GET + user: "{{ gitea_user }}" + password: "{{ gitea_pass }}" + force_basic_auth: true + register: present_ssh_keys + +- name: List SSH fingerprints + set_fact: + present_ssh_fingerprints: "{{ present_ssh_keys.json | map(attribute='fingerprint') }}" + - name: Add SSH key using Gitea's API uri: url: https://git.tunuifranken.info/api/v1/user/keys @@ -230,3 +243,4 @@ key: "{{ ssh_key.public_key | trim }}" read_only: false title: "{{ ssh_key.comment | trim }}" + when: ssh_key.fingerprint not in present_ssh_fingerprints