-
Notifications
You must be signed in to change notification settings - Fork 0
/
Vagrantfile
48 lines (44 loc) · 1.27 KB
/
Vagrantfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# Versão da sintaxe do Vagrantfile
VAGRANTFILE_API_VERSION = "2"
# Nome do Projeto
PROJECT_NAME = "Teste API Cursos"
# Função para substituir os acentos e caracteres especiais
# Código baseado no 'gist' de: https://gist.github.com/lfzawacki/6223816
def remove_accents(string)
accents = {
['á','à','â','ä','ã'] => 'a',
['é','è','ê','ë'] => 'e',
['í','ì','î','ï'] => 'i',
['ó','ò','ô','ö','õ'] => 'o',
['ú','ù','û','ü'] => 'u',
['ç'] => 'c',
['ñ'] => 'n'
}
accents.each do |accent, replacement|
accent.each do |letter|
string = string.gsub(letter, replacement)
end
end
string
end
# Função para padronizar o nome das VMs
def vagrant_name(name)
name = name.split(" ").map { |word| remove_accents(word.downcase) }.join("-") + "-vm"
name
end
Vagrant.configure("2") do |config|
# Vagrant box
config.vm.box = "debian/bullseye64"
#
# Configurando a VM
config.vm.provider "virtualbox" do |v|
v.memory = 1024 # Especifique a quantidade de memória (1024 = 1GB)
v.name = vagrant_name(PROJECT_NAME)
end
#
# Script de provisionamento
config.vm.provision "shell", path: "provisioner.sh"
#
# Configurando o 'workdir' do Vagrant
config.ssh.extra_args = ["-t", "cd /vagrant; bash --login"]
end