[INFO] Créer le role #1
60
README.md
60
README.md
@ -1,3 +1,59 @@
|
|||||||
# role_modele
|
# role_etc_hosts
|
||||||
|
|
||||||
Modèle
|
Gérer le fichier /etc/hosts
|
||||||
|
|
||||||
|
## Variables
|
||||||
|
|
||||||
|
### etc_hosts_local
|
||||||
|
|
||||||
|
Liste de nom d'hôte attaché à 127.0.0.1.
|
||||||
|
|
||||||
|
<span style="text-decoration: underline">Valeur par défaut:</span> aucune
|
||||||
|
|
||||||
|
### etc_hosts_specifics
|
||||||
|
|
||||||
|
Liste de ligne à ajouter à `/etc/hosts`.
|
||||||
|
|
||||||
|
<span style="text-decoration: underline">Valeur par défaut:</span> aucune
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple d'utilisation
|
||||||
|
|
||||||
|
### inventory.yml
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
|
||||||
|
all:
|
||||||
|
hosts:
|
||||||
|
host1.ykn.local:
|
||||||
|
host2.ykn.local:
|
||||||
|
children:
|
||||||
|
dnsservers:
|
||||||
|
hosts:
|
||||||
|
dnsmasq1.ykn.local:
|
||||||
|
dnsmasq2.ykn.local:
|
||||||
|
```
|
||||||
|
|
||||||
|
### host_vars/host1.ykn.local.yml
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
|
||||||
|
etc_hosts_local:
|
||||||
|
- www.ykn.fr
|
||||||
|
|
||||||
|
etc_hosts_specifics:
|
||||||
|
- 192.168.50.200 gitea.ykn.fr
|
||||||
|
```
|
||||||
|
|
||||||
|
### playbook.yml
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
|
||||||
|
- hosts: 'all'
|
||||||
|
roles:
|
||||||
|
- name: etc_hosts
|
||||||
|
```
|
||||||
|
5
defaults/main.yml
Normal file
5
defaults/main.yml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
# defaults file for etc_hosts
|
||||||
|
|
||||||
|
etc_hosts_local: []
|
||||||
|
etc_hosts_specifics: []
|
2
handlers/main.yml
Normal file
2
handlers/main.yml
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
# handlers file for etc_hosts
|
@ -1,7 +1,7 @@
|
|||||||
galaxy_info:
|
galaxy_info:
|
||||||
namespace: ykn
|
namespace: ykn
|
||||||
author: pulsar89.5
|
author: pulsar89.5
|
||||||
description: Rôle modèle
|
description: Gérer le fichier /etc/hosts
|
||||||
|
|
||||||
license: GPL-3.0-or-later
|
license: GPL-3.0-or-later
|
||||||
|
|
||||||
|
9
tasks/main.yml
Normal file
9
tasks/main.yml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
# tasks file for etc_hosts
|
||||||
|
|
||||||
|
- name: Déployer le fichier /etc/hosts
|
||||||
|
ansible.builtin.template:
|
||||||
|
mode: u=rw,g=r,o=r
|
||||||
|
src: hosts.j2
|
||||||
|
dest: /etc/hosts
|
||||||
|
become: true
|
28
templates/hosts.j2
Normal file
28
templates/hosts.j2
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# {{ ansible_managed }}
|
||||||
|
|
||||||
|
{%- if inventory_hostname != inventory_hostname_short %}
|
||||||
|
{%- set host = inventory_hostname ~ ' ' ~ inventory_hostname_short %}
|
||||||
|
{%- else %}
|
||||||
|
{% set host = inventory_hostname_short %}
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
{%- if etc_hosts_local | length > 0 %}
|
||||||
|
{% set line = host ~ ' ' ~ (etc_hosts_local | join(' ')) %}
|
||||||
|
{%- else %}
|
||||||
|
{% set line = host %}
|
||||||
|
{%- endif +%}
|
||||||
|
|
||||||
|
127.0.0.1 {{ line }} localhost
|
||||||
|
|
||||||
|
# The following lines are desirable for IPv6 capable hosts
|
||||||
|
::1 {{ line }} localhost ip6-localhost ip6-loopback
|
||||||
|
fe00::0 ip6-localnet
|
||||||
|
ff00::0 ip6-mcastprefix
|
||||||
|
ff02::1 ip6-allnodes
|
||||||
|
ff02::2 ip6-allrouters
|
||||||
|
ff02::3 ip6-allhosts
|
||||||
|
|
||||||
|
{% if etc_hosts_specifics | length > 0 %}
|
||||||
|
# The following lines are specified by instance configuration
|
||||||
|
{{ etc_hosts_specifics | join('\n') }}
|
||||||
|
{% endif %}
|
Loading…
Reference in New Issue
Block a user