Added self-service script (for webserver)
This commit is contained in:
parent
dd3fa5f344
commit
d92076dacd
15
playbooks/install_nginx.yml
Normal file
15
playbooks/install_nginx.yml
Normal file
@ -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
|
25
self_service.sh
Executable file
25
self_service.sh
Executable file
@ -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
|
18
templates/Vagrantfile.template
Normal file
18
templates/Vagrantfile.template
Normal file
@ -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
|
4
templates/ansible.cfg.template
Normal file
4
templates/ansible.cfg.template
Normal file
@ -0,0 +1,4 @@
|
||||
[defaults]
|
||||
private_key_file = "./.ssh/id_rsa"
|
||||
remote_user = "vagrant"
|
||||
inventory = ./inventory
|
Loading…
x
Reference in New Issue
Block a user