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
|