diff --git a/firewalld.yml b/firewalld.yml new file mode 100644 index 0000000..019e756 --- /dev/null +++ b/firewalld.yml @@ -0,0 +1,7 @@ +--- +- hosts: localhost + connection: local + become: yes + + roles: + - firewalld diff --git a/roles/firewalld/README.md b/roles/firewalld/README.md new file mode 100644 index 0000000..40dbd6b --- /dev/null +++ b/roles/firewalld/README.md @@ -0,0 +1,26 @@ +# Rôle awx +*** +Rôle awx: Configuration d'un serveur AWX avec k3s. + +## Tables des matières + 1. [Que fait le rôle AWX ?] + 2. [Connexion à l'interface WEB du serveur AWX] + +**AWX** est l'application développée par **RedHat** permettant de lancer des playbooks **ansible** depuis une interface web évoluée plutôt qu'en ligne de commande. **AWX** utlise kubernetes mise en oeuvre ici avec **k3s**. + +## Que fait le rôle AWX ? +Le rôle **awx** installe et configure un serveur **AWX** avec **k3s** pour cela le role: +- Installe **k3s** en spécifiant l'adresse IP ainsi que l'interface d'écoute +- Clone le dépot **Github** **awx-on-k3s** +- Procéde au déploiement du pod **awx-operator** +- Génére un certifiacat auto-signé utlisée par le serveur **AWX** en utilisant **OpenSSL** +- Edite le fichier awx.yaml afin d'y indique le nom d'hote du serveur en accord avec le nom utlisé par les certificats +- Déploie le serveur **AWX** +- Test l'accésibilité du serveur **AWX**. + +### Connexions à l'interface WEB du serveur AWX ### +Une fois le role **awx** terminé il est possible de se connecter à l'interface web duserveur depuis un navigateur. +S'assurer que votre machine puisse résoudre **s-awx.gsb.lan** +- Se connecter sur : **https://s-awx.gsb.lan** +- Utlisateur: **admin** / Mot de passe: **Ansible123!** + diff --git a/roles/firewalld/tasks/main.yml b/roles/firewalld/tasks/main.yml new file mode 100644 index 0000000..a3de9fe --- /dev/null +++ b/roles/firewalld/tasks/main.yml @@ -0,0 +1,91 @@ +--- +- name: Installation de firewalld + apt: + state: present + name: + - firewalld + +- name: affectation de l'interface enp0s3 a la zone external + ansible.posix.firewalld: + zone: external + interface: enp0s3 + permanent: true + state: enabled + +- name: affectation de l'interface enp0s8 a la zone external + ansible.posix.firewalld: + zone: internal + interface: enp0s8 + permanent: true + state: enabled + +- name: FirewallD rules pour la zone internal + firewalld: + zone: internal + permanent: yes + immediate: yes + service: "{{ item }}" + state: enabled + with_items: + - http + - https + - dns + - ssh + - rdp + +- name: FirewallD rules pour la zone internal + firewalld: + zone: external + permanent: yes + immediate: yes + service: "{{ item }}" + state: enabled + with_items: + - ssh + - rdp + #- ansible.posix.firewalld: + # zone: internal + # service: http + # permanent: true + # state: enabled + + #- ansible.posix.firewalld: + # zone: internal + # service: dns + # permanent: true + #state: enabled + +#- ansible.posix.firewalld: +# zone: internal +# service: ssh +# permanent: true +# state: enabled + + #- ansible.posix.firewalld: + # zone: internal + # service: rdp + #permanent: true + #state: enabled + + +- ansible.posix.firewalld: + zone: internal + port: 8080/tcp + permanent: true + state: enabled + +- ansible.posix.firewalld: + zone: external + port: 3389/tcp + permanent: true + state: enabled + +- ansible.posix.firewalld: + port_forward: + - port: 3389 + proto: tcp + toaddr: "192.168.99.6" + toport: 3389 + state: enabled + immediate: yes + diff --git a/s-adm.yml b/s-adm.yml index 897fa9c..be74f9d 100644 --- a/s-adm.yml +++ b/s-adm.yml @@ -10,8 +10,9 @@ - dnsmasq - squid - ssh-backup-key-gen + - awx-user # - local-store - - zabbix-cli +# - zabbix-cli ## - syslog-cli - post # - goss diff --git a/s-awx.yml b/s-awx.yml index 2f177c6..f91aac4 100644 --- a/s-awx.yml +++ b/s-awx.yml @@ -6,6 +6,7 @@ - base - goss - ssh-cli + - awx-user #- awx # - zabbix-cli - journald-snd