From bf2678ee44accaedd057e00df2c94c372ce4a8ae Mon Sep 17 00:00:00 2001 From: Thomas Constans Date: Thu, 17 Nov 2022 23:00:25 +0100 Subject: [PATCH] initial commit --- Readme.md | 11 +++++ apache.yml | 6 +++ tco.apache_abrd4/.travis.yml | 29 ++++++++++++ tco.apache_abrd4/README.md | 41 +++++++++++++++++ tco.apache_abrd4/defaults/main.yml | 2 + tco.apache_abrd4/handlers/main.yml | 6 +++ tco.apache_abrd4/meta/main.yml | 52 +++++++++++++++++++++ tco.apache_abrd4/tasks/main.yml | 65 +++++++++++++++++++++++++++ tco.apache_abrd4/templates/index.txt | 1 + tco.apache_abrd4/templates/vhost.conf | 24 ++++++++++ tco.apache_abrd4/tests/inventory | 2 + tco.apache_abrd4/tests/test.yml | 5 +++ tco.apache_abrd4/vars/centos.yml | 7 +++ tco.apache_abrd4/vars/debian.yml | 7 +++ tco.apache_abrd4/vars/main.yml | 2 + 15 files changed, 260 insertions(+) create mode 100644 Readme.md create mode 100644 apache.yml create mode 100644 tco.apache_abrd4/.travis.yml create mode 100644 tco.apache_abrd4/README.md create mode 100644 tco.apache_abrd4/defaults/main.yml create mode 100644 tco.apache_abrd4/handlers/main.yml create mode 100644 tco.apache_abrd4/meta/main.yml create mode 100644 tco.apache_abrd4/tasks/main.yml create mode 100644 tco.apache_abrd4/templates/index.txt create mode 100644 tco.apache_abrd4/templates/vhost.conf create mode 100644 tco.apache_abrd4/tests/inventory create mode 100644 tco.apache_abrd4/tests/test.yml create mode 100644 tco.apache_abrd4/vars/centos.yml create mode 100644 tco.apache_abrd4/vars/debian.yml create mode 100644 tco.apache_abrd4/vars/main.yml diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..fb26a80 --- /dev/null +++ b/Readme.md @@ -0,0 +1,11 @@ +# Role apache + +Utilisez ce role comme base pour les ateliers de ce jour + +Récupérez le via la commande + +```bash +cd +git clone https://infra.opendoor.fr/git/tom/abr_day4.git + +``` \ No newline at end of file diff --git a/apache.yml b/apache.yml new file mode 100644 index 0000000..5990d7a --- /dev/null +++ b/apache.yml @@ -0,0 +1,6 @@ +--- +- name: install apache via ansible playbook + hosts: all + + roles: + - tco.apache_abrd3 \ No newline at end of file diff --git a/tco.apache_abrd4/.travis.yml b/tco.apache_abrd4/.travis.yml new file mode 100644 index 0000000..36bbf62 --- /dev/null +++ b/tco.apache_abrd4/.travis.yml @@ -0,0 +1,29 @@ +--- +language: python +python: "2.7" + +# Use the new container infrastructure +sudo: false + +# Install ansible +addons: + apt: + packages: + - python-pip + +install: + # Install ansible + - pip install ansible + + # Check ansible version + - ansible --version + + # Create ansible.cfg with correct roles_path + - printf '[defaults]\nroles_path=../' >ansible.cfg + +script: + # Basic role syntax check + - ansible-playbook tests/test.yml -i tests/inventory --syntax-check + +notifications: + webhooks: https://galaxy.ansible.com/api/v1/notifications/ \ No newline at end of file diff --git a/tco.apache_abrd4/README.md b/tco.apache_abrd4/README.md new file mode 100644 index 0000000..bd3befa --- /dev/null +++ b/tco.apache_abrd4/README.md @@ -0,0 +1,41 @@ +Role Name +========= + +Install apache, + +Requirements +------------ + +None + +Role Variables +-------------- + +apache_server_name: no default +apache_document_root: no default + +see also files in vars subdirectory + +Dependencies +------------ + +None + +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 + roles: + - tco.apache_abrd3 + +License +------- + +BSD + +Author Information +------------------ + +Thomas C diff --git a/tco.apache_abrd4/defaults/main.yml b/tco.apache_abrd4/defaults/main.yml new file mode 100644 index 0000000..e3ebd83 --- /dev/null +++ b/tco.apache_abrd4/defaults/main.yml @@ -0,0 +1,2 @@ +--- +# defaults file for tco.apache_abrd3 diff --git a/tco.apache_abrd4/handlers/main.yml b/tco.apache_abrd4/handlers/main.yml new file mode 100644 index 0000000..e379e4e --- /dev/null +++ b/tco.apache_abrd4/handlers/main.yml @@ -0,0 +1,6 @@ +--- +# handlers file for tco.apache_abrd3 + - name: restart apache + ansible.builtin.service: + name: "{{ apache_service_name }}" + state: restarted diff --git a/tco.apache_abrd4/meta/main.yml b/tco.apache_abrd4/meta/main.yml new file mode 100644 index 0000000..c572acc --- /dev/null +++ b/tco.apache_abrd4/meta/main.yml @@ -0,0 +1,52 @@ +galaxy_info: + author: your name + description: your role description + company: your company (optional) + + # If the issue tracker for your role is not on github, uncomment the + # next line and provide a value + # issue_tracker_url: http://example.com/issue/tracker + + # Choose a valid license ID from https://spdx.org - some suggested licenses: + # - BSD-3-Clause (default) + # - MIT + # - GPL-2.0-or-later + # - GPL-3.0-only + # - Apache-2.0 + # - CC-BY-4.0 + license: license (GPL-2.0-or-later, MIT, etc) + + min_ansible_version: 2.1 + + # If this a Container Enabled role, provide the minimum Ansible Container version. + # min_ansible_container_version: + + # + # Provide a list of supported platforms, and for each platform a list of versions. + # If you don't wish to enumerate all versions for a particular platform, use 'all'. + # To view available platforms and versions (or releases), visit: + # https://galaxy.ansible.com/api/v1/platforms/ + # + # platforms: + # - name: Fedora + # versions: + # - all + # - 25 + # - name: SomePlatform + # versions: + # - all + # - 1.0 + # - 7 + # - 99.99 + + galaxy_tags: [] + # List tags for your role here, one per line. A tag is a keyword that describes + # and categorizes the role. Users find roles by searching for tags. Be sure to + # remove the '[]' above, if you add tags to this list. + # + # NOTE: A tag is limited to a single word comprised of alphanumeric characters. + # Maximum 20 tags per role. + +dependencies: [] + # List your role dependencies here, one per line. Be sure to remove the '[]' above, + # if you add dependencies to this list. diff --git a/tco.apache_abrd4/tasks/main.yml b/tco.apache_abrd4/tasks/main.yml new file mode 100644 index 0000000..61745e5 --- /dev/null +++ b/tco.apache_abrd4/tasks/main.yml @@ -0,0 +1,65 @@ +--- +# tasks file for tco.apache_abrd3 + - name: import OS variables + include_vars: "{{ ansible_distribution | lower }}.yml" + + - name: install apache + ansible.builtin.package: + name: "{{ apache_package_name }}" + state: present + + - name: conf httpd + template: + src: vhost.conf + dest: "{{ apache_config_dir }}/vhost.conf" + mode: 0640 + owner: root + group: "{{ apache_group }}" + notify: restart apache + + - meta: flush_handlers + + - name: activate apache + service: + name: "{{ apache_service_name }}" + enabled: yes + state: restarted + + - name: setup firewall + block: + - name: install firewalld packages + yum: + name: + - python3-firewall + - firewalld + state: present + + - name: enable firewalld service + service: + name: firewalld + enabled: true + state: started + + - name: open firewall port + firewalld: + service: "{{ item }}" + permanent: yes + immediate: yes + state: enabled + loop: + - http + - https + ignore_errors: true + when: ansible_distribution == 'CentOS' + + - name: create documentroot + file: + name: "{{ apache_document_root }}{{ apache_server_name }}/" + state: directory + + - name: copy index file + template: + src: index.txt + dest: "{{ apache_document_root }}{{ apache_server_name }}/index.html" + mode: 0644 + diff --git a/tco.apache_abrd4/templates/index.txt b/tco.apache_abrd4/templates/index.txt new file mode 100644 index 0000000..fda9779 --- /dev/null +++ b/tco.apache_abrd4/templates/index.txt @@ -0,0 +1 @@ +

hello World {{ apache_server_name }}

\ No newline at end of file diff --git a/tco.apache_abrd4/templates/vhost.conf b/tco.apache_abrd4/templates/vhost.conf new file mode 100644 index 0000000..fcacf9e --- /dev/null +++ b/tco.apache_abrd4/templates/vhost.conf @@ -0,0 +1,24 @@ + + ServerName {{ apache_server_name }} + ServerAlias www.{{ apache_server_name }} + ServerAlias {{ inventory_hostname }} + DocumentRoot {{ apache_document_root }}{{ apache_server_name }} + CustomLog {{ apache_log_dir }}/{{ apache_server_name }}_access.log combined + ErrorLog {{ apache_log_dir }}/{{ apache_server_name }}_error.log + + Options none + Allowoverride none + Require all denied + + + + Require all granted + + + Options indexes + AuthName "stop" + AuthType Basic + AuthUserFile {{ apache_config_dir }}/passwd + require valid-user + + diff --git a/tco.apache_abrd4/tests/inventory b/tco.apache_abrd4/tests/inventory new file mode 100644 index 0000000..878877b --- /dev/null +++ b/tco.apache_abrd4/tests/inventory @@ -0,0 +1,2 @@ +localhost + diff --git a/tco.apache_abrd4/tests/test.yml b/tco.apache_abrd4/tests/test.yml new file mode 100644 index 0000000..f7e1e84 --- /dev/null +++ b/tco.apache_abrd4/tests/test.yml @@ -0,0 +1,5 @@ +--- +- hosts: localhost + remote_user: root + roles: + - tco.apache_abrd3 diff --git a/tco.apache_abrd4/vars/centos.yml b/tco.apache_abrd4/vars/centos.yml new file mode 100644 index 0000000..02e5123 --- /dev/null +++ b/tco.apache_abrd4/vars/centos.yml @@ -0,0 +1,7 @@ +#/home/formation/sib_10_premier_playbook/centos.yml +apache_package_name: httpd +apache_service_name: httpd +apache_log_dir: /var/log/httpd/ +apache_config_dir: /etc/httpd/conf.d/ +apache_group: apache +apache_user: apache diff --git a/tco.apache_abrd4/vars/debian.yml b/tco.apache_abrd4/vars/debian.yml new file mode 100644 index 0000000..0ca8154 --- /dev/null +++ b/tco.apache_abrd4/vars/debian.yml @@ -0,0 +1,7 @@ +#/home/formation/sib_10_premier_playbook/debian.yml +apache_package_name: apache2 +apache_service_name: apache2 +apache_log_dir: /var/log/apache2/ +apache_config_dir: /etc/apache2/sites-enabled/ +apache_group: www-data +apache_user: www-data diff --git a/tco.apache_abrd4/vars/main.yml b/tco.apache_abrd4/vars/main.yml new file mode 100644 index 0000000..c150cef --- /dev/null +++ b/tco.apache_abrd4/vars/main.yml @@ -0,0 +1,2 @@ +--- +# vars file for tco.apache_abrd3