From 4ad25f705716b8216f026a16415bb1e315efdeeb Mon Sep 17 00:00:00 2001 From: Jeltz Date: Wed, 5 Apr 2023 00:18:41 +0200 Subject: [PATCH] hostname: add role --- playbooks/hostname.yml | 8 ++++++++ roles/hostname/defaults/main.yml | 24 ++++++++++++++++++++++++ roles/hostname/tasks/main.yml | 14 ++++++++++++++ roles/hostname/templates/hosts.j2 | 7 +++++++ 4 files changed, 53 insertions(+) create mode 100755 playbooks/hostname.yml create mode 100644 roles/hostname/defaults/main.yml create mode 100644 roles/hostname/tasks/main.yml create mode 100644 roles/hostname/templates/hosts.j2 diff --git a/playbooks/hostname.yml b/playbooks/hostname.yml new file mode 100755 index 0000000..c31344e --- /dev/null +++ b/playbooks/hostname.yml @@ -0,0 +1,8 @@ +#!/usr/bin/env ansible-playbook +--- +- hosts: + - pve_network + - vm_network + roles: + - hostname +... diff --git a/roles/hostname/defaults/main.yml b/roles/hostname/defaults/main.yml new file mode 100644 index 0000000..47ea332 --- /dev/null +++ b/roles/hostname/defaults/main.yml @@ -0,0 +1,24 @@ +--- +hostname__fqdn: "{{ inventory_hostname }}" +hostname__hosts: + - name: + - localhost + - "{{ hostname__fqdn }}" + - "{{ hostname__fqdn.split('.') | first }}" + address: + - 127.0.0.1 + - ::1 + - name: + - ip6-localhost + - ip6-loopback + address: + - ::1 + - name: + - ip6-allnodes + address: + - ff02::1 + - name: + - ip6-allrouters + address: + - ff02::2 +... diff --git a/roles/hostname/tasks/main.yml b/roles/hostname/tasks/main.yml new file mode 100644 index 0000000..c469f5f --- /dev/null +++ b/roles/hostname/tasks/main.yml @@ -0,0 +1,14 @@ +--- +- name: Set hostname + hostname: + name: "{{ hostname__fqdn }}" + use: systemd + +- name: Configure /etc/hosts + template: + src: hosts.j2 + dest: /etc/hosts + owner: root + group: root + mode: u=rw,g=r,o=r +... diff --git a/roles/hostname/templates/hosts.j2 b/roles/hostname/templates/hosts.j2 new file mode 100644 index 0000000..30ab544 --- /dev/null +++ b/roles/hostname/templates/hosts.j2 @@ -0,0 +1,7 @@ +{{ ansible_managed | comment }} + +{% for item in hostname__hosts %} +{% for addr in item.address %} +{{ addr }} {{ item.name | join(" ") }} +{% endfor %} +{% endfor %}