From c8b7821eb35b02ce9f8c16f35b4cfc3af46b0f5a Mon Sep 17 00:00:00 2001 From: Kris Lamoureux Date: Tue, 23 Jun 2020 21:59:47 -0400 Subject: [PATCH] Provision dockerbox in Vagrant and setup network --- Vagrantfile | 2 +- dev/dockerbox.yml | 11 +++++++++++ dev/host_vars/dockerbox.yml | 17 +++++++++++++++++ roles/base/files/network-interfaces.cfg | 10 ++++++++++ roles/base/tasks/main.yml | 14 ++++++++++++-- roles/base/templates/bridged-interface.cfg | 4 ---- roles/base/templates/static-interface.cfg | 4 ---- 7 files changed, 51 insertions(+), 11 deletions(-) create mode 100644 dev/dockerbox.yml create mode 100644 dev/host_vars/dockerbox.yml create mode 100644 roles/base/files/network-interfaces.cfg diff --git a/Vagrantfile b/Vagrantfile index 98c9690..77432b0 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -3,7 +3,7 @@ Vagrant.configure("2") do |config| config.vm.box = "debian/buster64" - config.vm.network :private_network, ip: "192.168.111.222" + config.vm.network "private_network", type: "dhcp" config.vm.synced_folder ".", "/vagrant", disabled: true # Machine Name diff --git a/dev/dockerbox.yml b/dev/dockerbox.yml new file mode 100644 index 0000000..88d8969 --- /dev/null +++ b/dev/dockerbox.yml @@ -0,0 +1,11 @@ +- name: Install Docker Box Server + hosts: all + become: true + vars_files: + - host_vars/dockerbox.yml + roles: + - ansible + - base + - docker + - jenkins + - prometheus diff --git a/dev/host_vars/dockerbox.yml b/dev/host_vars/dockerbox.yml new file mode 100644 index 0000000..d439b5e --- /dev/null +++ b/dev/host_vars/dockerbox.yml @@ -0,0 +1,17 @@ +# base +manage_network: false +network_type: static +ip_inter: eth1 +ip_addr: 192.168.1.2/24 +ip_gateway: 192.168.1.1 + +# docker +docker_user: vagrant + +# jenkins +jenkins_version: 2.229 + +# prometheus +prom_name: prometheus +prom_version: latest +prom_targets: "['127.0.0.1', '127.0.0.1:9100']" diff --git a/roles/base/files/network-interfaces.cfg b/roles/base/files/network-interfaces.cfg new file mode 100644 index 0000000..6aabea8 --- /dev/null +++ b/roles/base/files/network-interfaces.cfg @@ -0,0 +1,10 @@ +# Ansible managed + +# This file describes the network interfaces available on your system +# and how to activate them. For more information, see interfaces(5). + +source /etc/network/interfaces.d/* + +# The loopback network interface +auto lo +iface lo inet loopback diff --git a/roles/base/tasks/main.yml b/roles/base/tasks/main.yml index 0c0e10f..0641459 100644 --- a/roles/base/tasks/main.yml +++ b/roles/base/tasks/main.yml @@ -3,14 +3,24 @@ name: ["vim", "wget"] state: present +- name: Install network interfaces file + copy: + src: network-interfaces.cfg + dest: /etc/network/interfaces + owner: root + group: root + mode: '0644' + when: manage_network + - name: Install network interfaces template: src: "{{ network_type }}-interface.cfg" - dest: /etc/network/interfaces + dest: "/etc/network/interfaces.d/{{ ip_inter }}" notify: reboot_host + when: manage_network - name: Install bridge utilities apt: name: bridge-utils state: present - when: network_type == "bridged" + when: network_type == "bridged" and manage_network diff --git a/roles/base/templates/bridged-interface.cfg b/roles/base/templates/bridged-interface.cfg index dbd5fa3..7e2ee28 100644 --- a/roles/base/templates/bridged-interface.cfg +++ b/roles/base/templates/bridged-interface.cfg @@ -1,9 +1,5 @@ # {{ ansible_managed }} -# The loopback network interface -auto lo -iface lo inet loopback - # The primary network interface auto br1 iface br1 inet static diff --git a/roles/base/templates/static-interface.cfg b/roles/base/templates/static-interface.cfg index ec6c8b9..f7d04b2 100644 --- a/roles/base/templates/static-interface.cfg +++ b/roles/base/templates/static-interface.cfg @@ -1,9 +1,5 @@ # {{ ansible_managed }} -# The loopback network interface -auto lo -iface lo inet loopback - # The primary network interface auto {{ ip_inter }} iface {{ ip_inter }} inet static