diff --git a/p2/Vagrantfile b/p2/Vagrantfile index e69de29..695f58a 100644 --- a/p2/Vagrantfile +++ b/p2/Vagrantfile @@ -0,0 +1,41 @@ +#sudo systemctl stop firewalld -*- mode: ruby -*- +# +# vi: set ft=ruby : + +def environ(key, default) + ENV[key] || default +end + +IOT_LOGIN = environ("USER", "kanel") +IOT_PROVIDER = environ("IOT_PROVIDER", "virtualbox") +XDG_RUNTIME_DIR = environ("XDG_RUNTIME_DIR", "unknown") +if XDG_RUNTIME_DIR == "unknown" + raise "XDG_RUNTIME_DIR is not set" +end + +# Here are the expected specifications: +# • The machine names must be the login of someone of your team. The hostname +# of the first machine must be followed by the capital letter S (like Server). The +# hostname of the second machine must be followed by SW (like ServerWorker). +# • Have a dedicated IP on the eth1 interface. The IP of the first machine (Server) +# will be 192.168.56.110, and the IP of the second machine (ServerWorker) will be +# 192.168.56.111. +# • Be able to connect with SSH on both machines with no password. + +Vagrant.configure("2") do |config| + config.vagrant.plugins = [] + + config.vm.box = "debian/bookworm64" + config.vm.provider "#{IOT_PROVIDER}" do |provider| + provider.cpus = 1 + provider.memory = 1024 + end + + config.vm.define "#{IOT_LOGIN}S" do |server| + server.vm.hostname = "#{IOT_LOGIN}S" + server.vm.network "private_network", ip: "192.168.56.110", auto_config: true + + server.vm.provision "shell", path: "setup-S.sh" + server.vm.provision "shell", path: "setup-hostfile.sh" + end +end diff --git a/p2/install-all.sh b/p2/install-all.sh new file mode 100644 index 0000000..10ee492 --- /dev/null +++ b/p2/install-all.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env sh + diff --git a/p2/setup-S.sh b/p2/setup-S.sh new file mode 100644 index 0000000..5d92d9a --- /dev/null +++ b/p2/setup-S.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env sh + +sudo apt update +sudo apt install curl -y + +echo "Launching k3s install" +curl -sfL https://get.k3s.io | sh -s - server --cluster-init --node-ip=192.168.56.110 diff --git a/p2/setup-hostfile.sh b/p2/setup-hostfile.sh new file mode 100644 index 0000000..9597855 --- /dev/null +++ b/p2/setup-hostfile.sh @@ -0,0 +1,3 @@ +echo "192.168.56.110 app1.com" | sudo tee -a "/etc/hosts" +echo "192.168.56.110 app2.com" | sudo tee -a "/etc/hosts" +echo "192.168.56.110 app3.com" | sudo tee -a "/etc/hosts"