diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..6a63a20 --- /dev/null +++ b/Readme.md @@ -0,0 +1,21 @@ +## Rôles + +**Tâche**: Écrire un rôle + +**Condition**: pour améliorer l'organisation et la maintenance de nos playbooks + +**Norme**: ansible-galaxy, vim + +## Pratique: + +Convertir en un rôle nommé "apache" le 1er playbook mis au point lors de l'atelier "handlers". + +Vous pouvez récupérer ce playbook via la commande: +```bash +git clone -b solution https://infra.opendoor.fr/git/tom/sib_12_handlers +``` + + +## Performance + +Le playbook s'exécute correctement, le rôle est joué sur les machines cibles diff --git a/apache.yml b/apache.yml new file mode 100644 index 0000000..961d639 --- /dev/null +++ b/apache.yml @@ -0,0 +1,5 @@ +--- +- hosts: centos + name: install apache from role + roles: + - tco.apache \ No newline at end of file diff --git a/setup/defaults/main.yml b/setup/defaults/main.yml deleted file mode 100644 index 75c4251..0000000 --- a/setup/defaults/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -# defaults file for setup \ No newline at end of file diff --git a/setup/handlers/main.yml b/setup/handlers/main.yml deleted file mode 100644 index 29dbaa7..0000000 --- a/setup/handlers/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -# handlers file for setup \ No newline at end of file diff --git a/setup/tasks/main.yml b/setup/tasks/main.yml deleted file mode 100644 index 456bc69..0000000 --- a/setup/tasks/main.yml +++ /dev/null @@ -1,52 +0,0 @@ - - name: warn people - tags: wip - lineinfile: - path: /etc/motd - line: "Host is managed by ansible, manual interaction not recommended" - state: present - - - name: history - tags: wip - lineinfile: - path: /etc/history - line: "{{ '%Y-%m-%d' | strftime }} - {{ ansible_play_name }}" - state: present - create: true - -# ansible localhost -u formation -m openssh_keypair -a "path=/home/formation/.ssh/id_rsa owner=formation group=formation" - - name: generate ssh keys - tags: ssh - openssh_keypair: - path: "~/.ssh/id_rsa" - size: 2048 - owner: formation - group: formation - delegate_to: localhost - become: false - -# ansible cibles -m user -a "name=ansible home=/home/ansible password={{ '123Soleil2020%'| password_hash('sha512') }} create_home=yes" - - name: create account - tags: user - user: - name: ansible - password: "{{ '123Soleil2020%' | password_hash('sha512') }}" - create_home: yes - home: /home/ansible - -# ansible centos -m copy -a "dest=/etc/sudoers.d/ansible content="ansible ALL=(ALL) NOPASSWD: ALL validate='/usr/bin/visudo -cf %f'" - - name: configure sudo - tags: sudo - copy: - src: sudo - dest: /etc/sudoers.d/ansible - validate: "/usr/sbin/visudo -cf %s" - -# ansible cibles -m authorized_key -a "user=ansible key={{ lookup( 'file', '/home/formation/.ssh/id_rsa.pub') }}" - - name: deploy ssh key - tags: ssh - 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 diff --git a/setup/vars/main.yml b/setup/vars/main.yml deleted file mode 100644 index 0905b6c..0000000 --- a/setup/vars/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -# vars file for setup \ No newline at end of file diff --git a/setup_role.yml b/setup_role.yml deleted file mode 100644 index 11ebb3d..0000000 --- a/setup_role.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- name: setup target to be managed by ansible using setup role - hosts: cibles - roles: - - setup \ No newline at end of file diff --git a/setup/.travis.yml b/tco.apache/.travis.yml similarity index 100% rename from setup/.travis.yml rename to tco.apache/.travis.yml diff --git a/setup/README.md b/tco.apache/README.md similarity index 84% rename from setup/README.md rename to tco.apache/README.md index f782480..346405f 100644 --- a/setup/README.md +++ b/tco.apache/README.md @@ -1,7 +1,7 @@ Role Name ========= -Setup a host for ansible management +Install apache Requirements ------------ @@ -23,9 +23,9 @@ Example Playbook Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too: - - hosts: servers + - hosts: centos roles: - - setup + - tco.apache License ------- diff --git a/tco.apache/defaults/main.yml b/tco.apache/defaults/main.yml new file mode 100644 index 0000000..85867ad --- /dev/null +++ b/tco.apache/defaults/main.yml @@ -0,0 +1,2 @@ +--- +# defaults file for tco.apache \ No newline at end of file diff --git a/setup/files/sudo b/tco.apache/files/sudo similarity index 100% rename from setup/files/sudo rename to tco.apache/files/sudo diff --git a/tco.apache/handlers/main.yml b/tco.apache/handlers/main.yml new file mode 100644 index 0000000..dd4f03e --- /dev/null +++ b/tco.apache/handlers/main.yml @@ -0,0 +1,6 @@ +--- +# handlers file for tco +- name: restart apache + service: + name: httpd + state: restarted \ No newline at end of file diff --git a/setup/meta/main.yml b/tco.apache/meta/main.yml similarity index 100% rename from setup/meta/main.yml rename to tco.apache/meta/main.yml diff --git a/tco.apache/tasks/main.yml b/tco.apache/tasks/main.yml new file mode 100644 index 0000000..cb5a165 --- /dev/null +++ b/tco.apache/tasks/main.yml @@ -0,0 +1,39 @@ +--- +- name: install apache + yum: + name: httpd + state: latest + +- name: conf httpd + template: + src: vhost.conf + dest: /etc/httpd/conf.d/vhost.conf + mode: 0640 + owner: root + group: apache + notify: restart apache + +- name: activate apache + service: + name: httpd + enabled: yes + state: started + +- name: open firewall port + firewalld: + service: http + permanent: yes + immediate: yes + state: enabled + ignore_errors: yes + +- name: create documentroot + file: + name: /var/www/html/orsys.fr + state: directory + +- name: create index file + template: + src: index.txt + dest: /var/www/html/orsys.fr/index.html + mode: 0644 \ No newline at end of file diff --git a/tco.apache/templates/index.txt b/tco.apache/templates/index.txt new file mode 100644 index 0000000..949801e --- /dev/null +++ b/tco.apache/templates/index.txt @@ -0,0 +1 @@ +Hello World diff --git a/tco.apache/templates/vhost.conf b/tco.apache/templates/vhost.conf new file mode 100644 index 0000000..0556a2c --- /dev/null +++ b/tco.apache/templates/vhost.conf @@ -0,0 +1,16 @@ + + ServerName orsys.fr + ServerAlias www.orsys.fr + DocumentRoot /var/www/html/orsys.fr/ + CustomLog /var/log/httpd/orsys.fr_access.log combined + ErrorLog /var/log/httpd/orsys.fr_error.log + + Options none + Allowoverride none + Require all denied + + + + Require all granted + + \ No newline at end of file diff --git a/setup/tests/inventory b/tco.apache/tests/inventory similarity index 100% rename from setup/tests/inventory rename to tco.apache/tests/inventory diff --git a/setup/tests/test.yml b/tco.apache/tests/test.yml similarity index 76% rename from setup/tests/test.yml rename to tco.apache/tests/test.yml index c1e233b..497a40f 100644 --- a/setup/tests/test.yml +++ b/tco.apache/tests/test.yml @@ -2,4 +2,4 @@ - hosts: localhost remote_user: root roles: - - setup \ No newline at end of file + - tco.apache \ No newline at end of file diff --git a/tco.apache/vars/main.yml b/tco.apache/vars/main.yml new file mode 100644 index 0000000..7c7d28e --- /dev/null +++ b/tco.apache/vars/main.yml @@ -0,0 +1,2 @@ +--- +# vars file for tco.apache \ No newline at end of file