All checks were successful
		
		
	
	continuous-integration/drone/push Build is passing
				
			
		
			
				
	
	
		
			27 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # Onboarding: This playbook generates per-device ssh keys and places them in passage for later use.
 | |
| ---
 | |
| - name: Generate SSH Keys
 | |
|   hosts: all
 | |
|   serial: 1
 | |
|   tasks:
 | |
|     - name: Check for ssh key present
 | |
|       shell: "passage machine/{{ inventory_hostname }}/ssh_key"
 | |
|       delegate_to: localhost
 | |
|       register: ssh_key
 | |
|       failed_when: false
 | |
|       changed_when: false
 | |
|     - name: Generate ssh_key
 | |
|       shell: "( exec 3>&1 ; ssh-keygen -qt ed25519 -f /proc/self/fd/3 <<<y >/dev/null 2>&1 ) | passage insert --multiline machine/{{ inventory_hostname }}/ssh_key"
 | |
|       delegate_to: localhost
 | |
|       when: ssh_key.rc != 0
 | |
|       register: new_ssh_key
 | |
|     - name: Add entry to secrets.yml
 | |
|       delegate_to: localhost
 | |
|       lineinfile:
 | |
|         state: present
 | |
|         path: ../secrets.yml
 | |
|         regexp: "^SSH_KEY_{{ inventory_hostname | mandatory | regex_replace('[^A-Za-z0-9]', '_') }}:"
 | |
|         line: "SSH_KEY_{{ inventory_hostname | mandatory | regex_replace('[^A-Za-z0-9]', '_') }}: !var:file machine/{{ inventory_hostname }}/ssh_key"
 | |
| 
 | |
| # vim: ft=yaml.ansible
 |