This repository has been archived on 2020-11-04. You can view files and clone it, but cannot push or open issues or pull requests.
ansible.basics/README.md

94 lines
3.8 KiB
Markdown
Raw Normal View History

# Basics
1. [Overview](#overview)
2. [Role Variables](#role-variables)
3. [Example Playbook](#example-playbook)
4. [Configuration](#configuration)
* [Hosts](#hosts)
5. [Development](#development)
6. [License](#license)
7. [Author Information](#author-information)
## Overview
Manage some basics configuration for IPR's servers.
## Role Variables
* **basics__domain**: Domain to use [default: `{{ ansible_domain }}`].
* **basics__hosts_localhost_manage**: If the localhost (127.0.0.1) line should be managed [default: `false`].
* **basics__hosts_localhost_content**: Content of the localhost (127.0.0.1) line [default: `localhost.localdomain localhost`].
* **basics__hosts_ipv4_manage**: If the ipv4 address line should be managed [default: `false`].
* **basics__hosts_ipv4_content**: Content of the ipv4 address line [default: `{{ ansible_hostname }}.{{ basics__domain }} {{ ansible_hostname }}`].
* **basics__proxmox_*disable**: Allow to disable the management of some files by Proxmox for LXC containers [default: `[]`].
2018-05-15 10:21:21 +02:00
* **basics__resolvconf_packages**: List of Resolvconf packages to install [default: `resolvconf`].
* **basics__resolvconf_enabled**: Enable or disable support for Resolvconf [default: `False`].
* **basics__resolvconf_domains**: List of domains used as search suffixes with Resolvconf [default: `{{ ansible_domain }}`].
* **basics__resolvconf_nameservers**: List of nameservers to use to resolv host names with Resolvconf [default: `{{ ansible_dns.nameservers }}`].
2018-05-15 11:15:39 +02:00
* **basics__resolvconf_service_name**: The Resolvconf service name to manage [default: `resolvconf`].
## Example Playbook
* If you want to manage both localhost (127.0.0.1) and permanent IP (ipv4) lines:
``` yml
- hosts: serverXYZ
roles:
- role: ipr-cnrs.basics
2018-01-12 10:39:22 +01:00
basics__hosts_localhost_manage: true
basics__hosts_ipv4_manage: true
```
2018-01-12 10:39:22 +01:00
* If the domain is not defined on the remote host, you should set the `basics__domain` variable:
``` yml
- hosts: serverXYZ
roles:
- role: ipr-cnrs.basics
basics__domain: 'mydomain.org'
basics__hosts_ipv4_manage: true
2018-01-12 10:39:22 +01:00
````
## Configuration
### Hosts
Ensure to have the correct fqdn and hostname in /etc/hosts:
- You can define the domain if it's not correct on the remote host.
- You can choose to define the localhost (127.0.0.1) line content.
- You can choose to define the permanent ip (ipv4) line content.
- All other lines that contains hostname without this permanent ip address will be removed.
For LXC containers, you also have the possibility to disable the management of some files (/etc/hosts,…) by Proxmox. See [Proxmox wiki about LXC][wiki proxmox lxc].
2018-05-15 10:21:21 +02:00
## Resolvconf
* If specified, Resolvconf is installed to fix the domain's informations given by the DHCP server.
* Configure a default configuration file with the given informations (list of domains and nameservers).
2018-05-15 11:15:39 +02:00
* Ensure to restart the service if any modification in configuration file.
2018-05-15 10:21:21 +02:00
## Development
This source code comes from our [Gogs instance][basics source] and the [Github repo][basics github] exist just to be able to send the role to Ansible Galaxy…
But feel free to send issue/PR here :)
Thanks to this [hook][gogs to github hook], Github automatically got updates from our [Gogs instance][basics source] :)
## License
[WTFPL][wtfpl website]
## Author Information
Jérémy Gardais
* Source: [on IPR's Gogs][basics source]
* [IPR][ipr website] (Institut de Physique de Rennes)
[gogs to github hook]: https://stackoverflow.com/a/21998477
[basics source]: https://git.ipr.univ-rennes1.fr/cellinfo/ansible.basics
[basics github]: https://github.com/ipr-cnrs/basics
[wtfpl website]: http://www.wtfpl.net/about/
[ipr website]: https://ipr.univ-rennes1.fr/
[wiki proxmox lxc]: https://pve.proxmox.com/wiki/Linux_Container#_guest_operating_system_configuration