crowdsec/test/ansible/vagrant/wizard/common

68 lines
1.9 KiB
Ruby

# vim: set ft=ruby:
# frozen_string_literal: true
def find_ansible_cfg
path = Pathname.new(Dir.pwd)
until path.root?
ansible_cfg = path + 'ansible.cfg'
return path if ansible_cfg.exist?
path = path.parent
end
nil # return nil if not found
end
Vagrant.configure('2') do |config|
config.vm.define 'wizard'
if ARGV.any? { |arg| arg == 'up' || arg == 'provision' }
unless ENV['DB_BACKEND']
$stderr.puts "\e[31mThe DB_BACKEND environment variable is not defined. Please set up the environment and try again.\e[0m"
exit 1
end
end
config.vm.provision 'shell', path: 'bootstrap' if File.exist?('bootstrap')
config.vm.synced_folder '.', '/vagrant', disabled: true
config.vm.provider :libvirt do |libvirt|
libvirt.cpus = 4
libvirt.memory = 4096
end
path = find_ansible_cfg
if !path
puts "ansible.cfg not found"
end
config.vm.provision 'ansible' do |ansible|
ansible.config_file = (path + 'ansible.cfg').to_s
ansible.playbook = (path + 'provision_dependencies.yml').to_s
ansible.compatibility_mode = "2.0"
end
config.vm.provision 'ansible' do |ansible|
ansible.config_file = (path + 'ansible.cfg').to_s
ansible.playbook = (path + 'provision_test_suite.yml').to_s
ansible.compatibility_mode = "2.0"
end
config.vm.provision 'ansible' do |ansible|
ansible.config_file = (path + 'ansible.cfg').to_s
ansible.playbook = (path + 'prepare_tests.yml').to_s
ansible.compatibility_mode = "2.0"
end
config.vm.provision 'ansible' do |ansible|
ansible.config_file = (path + 'ansible.cfg').to_s
ansible.playbook = (path + 'debug_tools.yml').to_s
ansible.compatibility_mode = "2.0"
end
config.vm.provision 'ansible' do |ansible|
ansible.config_file = (path + 'ansible.cfg').to_s
ansible.playbook = (path + 'run_wizard_tests.yml').to_s
ansible.compatibility_mode = "2.0"
end
end