# Ansible role: Network [![Version](https://img.shields.io/badge/latest_version-1.0.0-green.svg)](https://git.yaegashi.fr/nishiki/ansible-role-network/releases) [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](https://git.yaegashi.fr/nishiki/ansible-role-network/src/branch/master/LICENSE) Configure network on Debian ## Requirements * Ansible >= 2.9 * Debian * Buster * Bullseye ## Role variables * `network_interfaces` - array with the interfaces ``` - interface: eth0 address: 192.168.1.10 netmask: 255.255.255.0 gateway: 192.168.1.1 routes: - subnet: 10.0.0.0/24 gateway: 192.168.1.50 - interface: eth1 dhcp: true ``` * `network_search_domains` - array with search domains ``` - company.loc - cie.local ``` * `network_hosts` - hash with hosts to add in /etc/hosts ``` test.local: 127.0.0.1 ``` * `network_nameservers` - array with the dns servers ``` - 8.8.8.8 - 1.1.1.1 ``` ## How to use ``` - hosts: server roles: - network ``` ## Development ### Test with molecule and docker * install libvirt on debian `apt install libvirt-dev qemu-system libvirt-clients libvirt-daemon-system` * install [vagrant](https://www.vagrantup.com/docs/installation) * install vagrant libvirt plusin `vagrant plugin install vagrant-libvirt` * install `python3` and `python3-pip` * install molecule and dependencies `pip3 install molecule python-vagrant molecule-vagrant ansible-lint pytest-testinfra yamllint` * run `molecule test` ## License ``` Copyright (c) 2021 Adrien Waksberg Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ```