From c67039d1935df01aea47d6aa743b2ab4c446f7aa Mon Sep 17 00:00:00 2001 From: adjoly Date: Wed, 27 Aug 2025 20:25:30 +0200 Subject: [PATCH] =?UTF-8?q?=E3=80=8C=F0=9F=8F=97=EF=B8=8F=E3=80=8D=20wip(p?= =?UTF-8?q?2):=20working=20Vagrantfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- p2/Vagrantfile | 41 +++++++++++++++++++++++++++++++++++++++++ p2/install-all.sh | 2 ++ p2/setup-S.sh | 7 +++++++ p2/setup-hostfile.sh | 3 +++ 4 files changed, 53 insertions(+) create mode 100644 p2/install-all.sh create mode 100644 p2/setup-S.sh create mode 100644 p2/setup-hostfile.sh 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"