--- - name: Ensure gnupg is installed (RedHat*) package: name: gnupg2 state: latest become: true when: ansible_os_family == "RedHat" - name: Ensure gnupg is installed (Arch) package: name: gnupg state: latest become: true when: ansible_os_family == "Archlinux" - name: Ensure ~/.gnupg folder exists with correct permissions file: path: "{{ gpg_config_folder }}" state: directory mode: 0700 - name: Ensure gpg.conf is templated template: src: gpg.conf.j2 dest: "{{ gpg_config_file }}" - name: Configure gpg-agent.conf (agent configuration) template: src: gpg-agent.conf.j2 dest: "{{ gpg_agent_config_file }}" - name: Configure scdaemon.conf (smartcard daemon) template: src: scdaemon.conf.j2 dest: "{{ gpg_scdaemon_config_file }}" - name: Configure sshcontrol (in order for gpg-agent to act as ssh-agent) template: src: sshcontrol.j2 dest: "{{ gpg_agent_sshcontrol_file }}" when: gpg_agent_config_enable_ssh_support - name: Copy gnupg_agent script, which makes gpg-agent responsible for ssh-auth copy: src: gpg-configure-ssh-auth-socket.sh dest: "{{ gpg_configure_agent_script }}" mode: 0700 when: gpg_agent_config_enable_ssh_support - name: Ensure gnupg_agent script is included in bashrc lineinfile: path: "~/.bashrc" line: "source {{ gpg_configure_agent_script }}" state: present when: gpg_agent_config_enable_ssh_support