diff --git a/playbooks/install_nginx.yml b/playbooks/install_nginx.yml new file mode 100644 index 0000000..6d265a6 --- /dev/null +++ b/playbooks/install_nginx.yml @@ -0,0 +1,15 @@ +- hosts: nginx + become: true + tasks: + - name: Install nginx + package: + name: nginx + state: present + update_cache: yes + notify: restart nginx + + handlers: + - name: restart nginx + ansible.builtin.service: + name: nginx + state: restarted \ No newline at end of file diff --git a/self_service.sh b/self_service.sh new file mode 100755 index 0000000..0734860 --- /dev/null +++ b/self_service.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +copy_template() { + cp -f ../../templates/$1 ./$2 +} + +read -p "Klantnaam: " customerName +mkdir -p ./customers/$customerName && cd $_ + +read -p "Ip: " ipAddr +echo -e "[nginx]\n$ipAddr" > ./inventory + +copy_template ./Vagrantfile.template ./Vagrantfile +sed -i "s/#{customerName}/$customerName/" ./Vagrantfile +sed -i "s/#{ipAddr}/$ipAddr/" ./Vagrantfile + +copy_template ./ansible.cfg.template ./ansible.cfg + +mkdir -p ./.ssh/ +ssh-keygen -t rsa -b 2048 -f ./.ssh/id_rsa + +vagrant up +ansible all -m ping +ansible-playbook --ask-become-pass ./../../playbooks/install_nginx.yml + +firefox $ipAddr diff --git a/templates/Vagrantfile.template b/templates/Vagrantfile.template new file mode 100644 index 0000000..5ae1495 --- /dev/null +++ b/templates/Vagrantfile.template @@ -0,0 +1,18 @@ +Vagrant.configure("2") do |config| + config.ssh.insert_key = false + config.ssh.private_key_path = ["./.ssh/id_rsa","~/.vagrant.d/insecure_private_key"] + + config.vm.define "#{customerName}-bloated-debian-web01" do |web01| + web01.vm.box = "ubuntu/focal64" + web01.vm.hostname = "#{customerName}-bloated-debian-web01" + + web01.vm.network :private_network, ip: "#{ipAddr}" # "192.168.56.12" + + web01.vm.provision "file", source: "./.ssh/id_rsa.pub", destination: "~/.ssh/authorized_keys" + web01.vm.provider "virtualbox" do |vb| + vb.memory = "1024" + vb.gui = false + vb.name = "#{customerName}-bloated-debian-web01" + end + end +end diff --git a/templates/ansible.cfg.template b/templates/ansible.cfg.template new file mode 100644 index 0000000..d701c67 --- /dev/null +++ b/templates/ansible.cfg.template @@ -0,0 +1,4 @@ +[defaults] +private_key_file = "./.ssh/id_rsa" +remote_user = "vagrant" +inventory = ./inventory \ No newline at end of file