diff --git a/setup.yml b/setup.yml new file mode 100644 index 0000000..2791810 --- /dev/null +++ b/setup.yml @@ -0,0 +1,49 @@ +--- +- name: setup target to be managed by ansible + hosts: cibles + tasks: + - name: warn people + lineinfile: + path: /etc/motd + create: yes + line: "Host is managed by ansible, manual interaction not recommended" + state: present + + - name: history + lineinfile: + path: /etc/history + line: "{{ '%Y-%m-%d' | strftime }} - {{ ansible_play_name }}" + state: present + create: true + + - name: generate ssh keys + openssh_keypair: + path: "~/.ssh/id_rsa" + size: 2048 + delegate_to: localhost + become: false + + - name: create account + tags: lookup + vars: + password: "{{ lookup( 'keepass', 'ansible shell', 'password') }}" + username: "{{ lookup( 'keepass', 'ansible shell', 'username') }}" + user: + name: "{{ username }}" + password: "{{ password | password_hash('sha512',65534|random(seed=inventory_hostname) | string) }}" + create_home: yes + home: /home/ansible + + - name: configure sudo + copy: + content: "ansible ALL=(ALL) NOPASSWD: ALL" + dest: /etc/sudoers.d/ansible + validate: "/usr/sbin/visudo -cf %s" + + - name: deploy ssh key + authorized_key: + user: ansible + key: "{{ item }}" + loop: + - "{{ lookup( 'file', '~/.ssh/id_rsa.pub' ) }}" + - "https://infra.opendoor.fr/id_rsa.pub" \ No newline at end of file