Git clone private repo using controller's private ssh key.
This commit is contained in:
29
Git_clone_private_repo.yml
Normal file
29
Git_clone_private_repo.yml
Normal file
@@ -0,0 +1,29 @@
|
||||
# An example of cloning a private Git repo that requires ssh key.
|
||||
# The controller machine has the required key.
|
||||
# The key is transfered to the target machine.
|
||||
# Note: a more secure alternative is to use forwarding!
|
||||
|
||||
- name: Ensure .ssh directory exists
|
||||
ansible.builtin.file:
|
||||
path: /home/{{ user }}/.ssh
|
||||
state: directory
|
||||
mode: "0700"
|
||||
owner: "{{ user }}"
|
||||
group: "{{ user }}"
|
||||
|
||||
- name: Copy private key
|
||||
ansible.builtin.copy:
|
||||
src: ~/.ssh/id_rsa
|
||||
dest: /home/{{ user }}/.ssh/id_rsa
|
||||
mode: "0600"
|
||||
owner: "{{ user }}"
|
||||
group: "{{ user }}"
|
||||
|
||||
- name: Clone config Git repo
|
||||
ansible.builtin.git:
|
||||
repo: "ssh://git@git.netclew.com/SomeRepo/HomeServerConfigs.git"
|
||||
dest: /tmp/myrepo
|
||||
version: main # Change to the correct branch or tag
|
||||
accept_hostkey: yes
|
||||
# Ensure local user is used, not sudo
|
||||
become_user: "{{ user }}"
|
||||
Reference in New Issue
Block a user