commit ad41b5224a51a1486ca58f5e15f9e17a6267bbe8 Author: Thomas Constans Date: Tue Sep 22 15:42:05 2020 +0200 initial commit diff --git a/8_adhoc_to_playbook.odt b/8_adhoc_to_playbook.odt new file mode 100644 index 0000000..89e6ad8 Binary files /dev/null and b/8_adhoc_to_playbook.odt differ diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..0f4ef28 --- /dev/null +++ b/Readme.md @@ -0,0 +1,15 @@ +1er playbook +------------ + +*tâche*: rassembler des commandes adhoc dans un playbook + +*condition*: quand on veut pouvoir les réutiliser facilement + +*norme*: éditeur de texte, référence des modules ansible + +*Pratique:* Convertir les 3 commandes adhoc précédemment mises en place en playbook, associées aux machines du groupe *cibles*. + +_Prérequis_: + * avoir créé une paire de clé publique/privée RSA ssh à l'aide de la commande ssh-keygen (ou le module ansible openssh_keypair) + +Validation: le playbook s'exécute correctement sur nos cibles. À l'issue de son exécution, on peut se connecter en ssh sans mot de passe sur les cibles en utilisant le compte ansible. On peut faire un sudo -l sans avoir à fournir de mot de passe. \ No newline at end of file diff --git a/setup.yml b/setup.yml new file mode 100644 index 0000000..9aee355 --- /dev/null +++ b/setup.yml @@ -0,0 +1,44 @@ +--- +- name: setup target to be managed by ansible + hosts: cibles + tasks: + - name: warn people + lineinfile: + path: /etc/motd + 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 + user: + name: ansible + password: "{{ '123Soleil2020%' | password_hash('sha512') }}" + 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