65 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
---
 | 
						|
 | 
						|
 - name: Install the package
 | 
						|
   become: true
 | 
						|
   ignore_errors: true
 | 
						|
   package:
 | 
						|
     name: Aether
 | 
						|
     state: present
 | 
						|
 | 
						|
 - name: Validate the user
 | 
						|
   vars:
 | 
						|
     service_account: aether
 | 
						|
   include_tasks: ../roles/common/service_account.yml
 | 
						|
 | 
						|
 - name: Ensure the Aether identity is protected.
 | 
						|
   become: true
 | 
						|
   file:
 | 
						|
     path: "{{ item }}"
 | 
						|
     state: directory
 | 
						|
     owner: aether
 | 
						|
     group: aether
 | 
						|
     mode: 0700
 | 
						|
   loop:
 | 
						|
     - /home/aether/.ssh
 | 
						|
     - /usr/local/etc/Aether
 | 
						|
     - /usr/local/etc/Aether/backup-entries
 | 
						|
     - /usr/local/backup
 | 
						|
 | 
						|
 - name: Ensure the Aether identity exists
 | 
						|
   delegate_to: Core # Core will track the identity that will then be shared to everyone else.
 | 
						|
   become: true
 | 
						|
   command:
 | 
						|
     creates: /home/aether/.ssh/aether
 | 
						|
     chdir: /home/aether/.ssh/
 | 
						|
     cmd: ssh-keygen -t ed25519 -N "" -f ./aether
 | 
						|
 | 
						|
 - name: Read the Aether identity
 | 
						|
   become: true
 | 
						|
   delegate_to: Core
 | 
						|
   command: cat /home/aether/.ssh/aether
 | 
						|
   register: aether_key
 | 
						|
 | 
						|
 - name: Read the Aether public identity
 | 
						|
   become: true
 | 
						|
   delegate_to: Core
 | 
						|
   command: cat /home/aether/.ssh/aether.pub
 | 
						|
   register: aether_pubkey
 | 
						|
 | 
						|
 - include_tasks: source.yml
 | 
						|
   when: "{{ inventory_hostname }} is 'Core'"
 | 
						|
 | 
						|
 - include_tasks: client.yml
 | 
						|
   when: "{{ inventory_hostname }} is 'Core'"
 | 
						|
 | 
						|
 - name: Ensure the Aether identity files are protected.
 | 
						|
   become: true
 | 
						|
   file:
 | 
						|
     path: "{{ item }}"
 | 
						|
     owner: aether
 | 
						|
     group: aether
 | 
						|
     mode: 0600
 | 
						|
   loop:
 | 
						|
     - /home/aether/.ssh/aether
 | 
						|
     - /home/aether/.ssh/aether.pub
 |