test: add remote runner vagrant scenario
This commit is contained in:
Vendored
+62
@@ -0,0 +1,62 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
uptimelink_root = ENV.fetch('UPTIMELINK_ROOT', File.expand_path('..', __dir__))
|
||||
controller_ip = ENV.fetch('UPTIMELINK_VAGRANT_CONTROLLER_IP', '192.168.56.10')
|
||||
runner_ip = ENV.fetch('UPTIMELINK_VAGRANT_RUNNER_IP', '192.168.56.11')
|
||||
controller_port = ENV.fetch('UPTIMELINK_VAGRANT_CONTROLLER_PORT', '8080')
|
||||
runner_id = ENV.fetch('UPTIMELINK_VAGRANT_RUNNER_ID', 'vagrant-runner-1')
|
||||
runner_token = ENV.fetch('UPTIMELINK_VAGRANT_RUNNER_TOKEN', 'vagrant-token')
|
||||
target_port = ENV.fetch('UPTIMELINK_VAGRANT_TARGET_PORT', '18081')
|
||||
|
||||
Vagrant.configure('2') do |config|
|
||||
config.vm.box = ENV.fetch('UPTIMELINK_VAGRANT_BOX', 'bento/ubuntu-24.04')
|
||||
|
||||
config.vm.synced_folder '.', '/vagrant', disabled: true
|
||||
config.vm.synced_folder uptimelink_root, '/uptime.link',
|
||||
type: 'rsync',
|
||||
owner: 'vagrant',
|
||||
group: 'vagrant',
|
||||
rsync__auto: false,
|
||||
rsync__exclude: [
|
||||
'.git/',
|
||||
'.nogit/',
|
||||
'.vagrant/',
|
||||
'node_modules/',
|
||||
'**/.git/',
|
||||
'**/.nogit/',
|
||||
'**/.vagrant/',
|
||||
'**/node_modules/',
|
||||
'**/.cache/',
|
||||
'**/.pnpm-store/',
|
||||
'**/dist/',
|
||||
'**/dist_*/',
|
||||
]
|
||||
|
||||
config.vm.provider 'virtualbox' do |vb|
|
||||
vb.cpus = ENV.fetch('UPTIMELINK_VAGRANT_CPUS', '2').to_i
|
||||
vb.memory = ENV.fetch('UPTIMELINK_VAGRANT_MEMORY', '2048').to_i
|
||||
end
|
||||
|
||||
config.vm.provider 'libvirt' do |lv|
|
||||
lv.cpus = ENV.fetch('UPTIMELINK_VAGRANT_CPUS', '2').to_i
|
||||
lv.memory = ENV.fetch('UPTIMELINK_VAGRANT_MEMORY', '2048').to_i
|
||||
end
|
||||
|
||||
config.vm.define 'controller', primary: true do |controller|
|
||||
controller.vm.hostname = 'uptime-controller'
|
||||
controller.vm.network 'private_network', ip: controller_ip
|
||||
controller.vm.provision 'shell', path: 'scripts/provision-common.sh'
|
||||
end
|
||||
|
||||
config.vm.define 'runner' do |runner|
|
||||
runner.vm.hostname = 'uptime-runner'
|
||||
runner.vm.network 'private_network', ip: runner_ip
|
||||
runner.vm.provision 'shell', path: 'scripts/provision-common.sh'
|
||||
runner.vm.provision 'shell', path: 'scripts/provision-runner.sh', env: {
|
||||
'UPTIMELINK_CONTROLLER_URL' => "http://#{controller_ip}:#{controller_port}",
|
||||
'UPTIMELINK_RUNNER_ID' => runner_id,
|
||||
'UPTIMELINK_RUNNER_TOKEN' => runner_token,
|
||||
'UPTIMELINK_TARGET_PORT' => target_port,
|
||||
}
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user