* feat(repo): Add dependabot * fix(ci): clean up * fix(gh-actions): pin to sha * fix(lint): fixing yaml lint * feat(repo): Add dependabot * fix(vagrant): up retry count to 60 because gh actions are sloooooow
80 lines
3.1 KiB
Ruby
Executable File
80 lines
3.1 KiB
Ruby
Executable File
# -*- mode: ruby -*-
|
|
# vi: set ft=ruby :
|
|
|
|
Vagrant.configure("2") do |config|
|
|
# General configuration
|
|
config.vm.box = "generic/ubuntu2204"
|
|
config.vm.synced_folder ".", "/vagrant", disabled: true
|
|
config.ssh.insert_key = false
|
|
|
|
config.vm.provider :virtualbox do |v|
|
|
v.memory = 2048
|
|
v.cpus = 2
|
|
v.linked_clone = true
|
|
end
|
|
|
|
# Control Node 1
|
|
config.vm.define "control1" do |control1|
|
|
control1.vm.hostname = "control1"
|
|
control1.vm.network "private_network", ip: "192.168.30.38"
|
|
end
|
|
|
|
# Control Node 2
|
|
config.vm.define "control2" do |control2|
|
|
control2.vm.hostname = "control2"
|
|
control2.vm.network "private_network", ip: "192.168.30.39"
|
|
end
|
|
|
|
# Control Node 3
|
|
config.vm.define "control3" do |control3|
|
|
control3.vm.hostname = "control3"
|
|
control3.vm.network "private_network", ip: "192.168.30.40"
|
|
end
|
|
|
|
# Worker Node 1
|
|
config.vm.define "node1" do |node1|
|
|
node1.vm.hostname = "node1"
|
|
node1.vm.network "private_network", ip: "192.168.30.41"
|
|
end
|
|
|
|
# Worker Node 2
|
|
config.vm.define "node2" do |node2|
|
|
node2.vm.hostname = "node2"
|
|
node2.vm.network "private_network", ip: "192.168.30.42"
|
|
end
|
|
|
|
config.vm.provision "ansible",type: "ansible", run: "never" do |ansible|
|
|
ansible.playbook = "../site.yml"
|
|
ansible.limit = "all"
|
|
ansible.groups = {
|
|
"master" => ["control1", "control2", "control3"],
|
|
"node" => ["node1", "node2"],
|
|
"k3s_cluster:children" => ["master", "node"],
|
|
"k3s_cluster:vars" => {"k3s_version" => "v1.24.3+k3s1",
|
|
"ansible_user" => "vagrant",
|
|
"systemd_dir" => "/etc/systemd/system",
|
|
"flannel_iface" => "eth1",
|
|
"apiserver_endpoint" => "192.168.30.222",
|
|
"k3s_token" => "supersecret",
|
|
"extra_server_args" => "--node-ip={{ ansible_eth1.ipv4.address }} --flannel-iface={{ flannel_iface }} --no-deploy servicelb --no-deploy traefik",
|
|
"extra_agent_args" => "--flannel-iface={{ flannel_iface }}",
|
|
"kube_vip_tag_version" => "v0.5.0",
|
|
"metal_lb_speaker_tag_version" => "v0.13.4",
|
|
"metal_lb_controller_tag_version" => "v0.13.4",
|
|
"metal_lb_ip_range" => "192.168.30.80-192.168.30.90",
|
|
"retry_count" => "60"}
|
|
}
|
|
ansible.host_vars = {
|
|
"control1" => {
|
|
"server_init_args" => "--cluster-init --token {{ k3s_token }} {{ extra_server_args | default('') }}"
|
|
},
|
|
"control2" => {
|
|
"server_init_args" => "--server https://192.168.30.38:6443 --token {{ k3s_token }} {{ extra_server_args | default('') }}"
|
|
},
|
|
"control3" => {
|
|
"server_init_args" => "--server https://192.168.30.38:6443 --token {{ k3s_token }} {{ extra_server_args | default('') }}"
|
|
}
|
|
}
|
|
end
|
|
end
|