- name: Ensure dir tags: - git - config become: "{{ use_become }}" ansible.builtin.file: path: "{{ home }}/{{ context.path }}" state: directory owner: "{{ username }}" mode: "0700" - name: Setup context git config tags: - git - config become: "{{ use_become }}" ansible.builtin.template: src: "../templates/gitconfig.context.j2" dest: "{{ home }}/{{ context.path }}/.gitconfig" owner: "{{ username }}" mode: "644" vars: git: "{{ context.git }}" name: "{{ name }}" when: "'git' in context" - name: Setup context ssh config tags: - git - config become: "{{ use_become }}" ansible.builtin.template: src: "../templates/sshconfig.context.j2" dest: "{{ home }}/.ssh/config.d/git-{{ name }}" owner: "{{ username }}" mode: "644" vars: name: "{{ name }}" when: "'git' in context and 'signing_key' in context.git" - name: Ensure dir tags: - git - config become: "{{ use_become }}" ansible.builtin.file: path: "{{ home }}/.ssh/keys" state: directory owner: "{{ username }}" mode: "0700" - name: Setup context public key tags: - git - config become: "{{ use_become }}" ansible.builtin.copy: content: "{{ context.git.signing_key }}" dest: "{{ home }}/.ssh/keys/github-{{ name }}.pub" owner: "{{ username }}" mode: "0600" when: "'git' in context and 'signing_key' in context.git"