summaryrefslogtreecommitdiffstats
path: root/ansible/roles
diff options
context:
space:
mode:
authorSamuli Silvius <s.silvius@partner.samsung.com>2019-02-19 18:07:02 +0200
committerSamuli Silvius <s.silvius@partner.samsung.com>2019-02-26 19:39:44 +0200
commit6fd567082d827378547d41eb9a83ce41164a4d12 (patch)
treefa4517fbe895fae0bd02485034846e33ed90b17b /ansible/roles
parentf3491548c657ac1c7f7840eb664e923d5d63c751 (diff)
Create setup role
Creating setup role and moving functionality from setup playbook into new role. This will make roles easier to test and make it easier to implement other OS support later. Issue-ID: OOM-1663 Change-Id: If8b93066997c2442c0b94cb2a95fb535d9560b2b Signed-off-by: Samuli Silvius <s.silvius@partner.samsung.com>
Diffstat (limited to 'ansible/roles')
-rw-r--r--ansible/roles/setup/defaults/main.yml3
-rw-r--r--ansible/roles/setup/tasks/main.yml30
2 files changed, 33 insertions, 0 deletions
diff --git a/ansible/roles/setup/defaults/main.yml b/ansible/roles/setup/defaults/main.yml
new file mode 100644
index 00000000..e7e89721
--- /dev/null
+++ b/ansible/roles/setup/defaults/main.yml
@@ -0,0 +1,3 @@
+---
+ssh_dir: ~/.ssh
+offline_ssh_key_file_name: offline_ssh_key \ No newline at end of file
diff --git a/ansible/roles/setup/tasks/main.yml b/ansible/roles/setup/tasks/main.yml
new file mode 100644
index 00000000..5ffcbab9
--- /dev/null
+++ b/ansible/roles/setup/tasks/main.yml
@@ -0,0 +1,30 @@
+---
+- name: "Check and generate key if needed"
+ block:
+ - name: ssh dir
+ file:
+ path: "{{ ssh_dir }}"
+ state: directory
+ mode: 0700
+
+ - name: check ssh pub key exists
+ stat:
+ path: '{{ private_key }}.pub'
+ register: p
+
+ - name: generate ssh keys
+ command: ssh-keygen -f {{ private_key }} -t rsa -N ''
+ when: not p.stat.exists
+ vars:
+ private_key: "{{ ssh_dir }}/{{ offline_ssh_key_file_name }}"
+ delegate_to: localhost
+ run_once: true
+
+- name: Setup authorized_keys file
+ authorized_key:
+ user: root
+ state: present
+ key: "{{ lookup('file', public_key) }}"
+ become: true
+ vars:
+ public_key: "{{ ssh_dir }}/{{ offline_ssh_key_file_name }}.pub"