diff --git a/Vagrantfile b/Vagrantfile index 7c55a7a..78b0f4d 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -6,11 +6,26 @@ VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = ENV.fetch("VAGRANT_BOX", 'centos7') - proxy = ENV['http_proxy'] || ENV['HTTP_PROXY'] if proxy config.vm.provision 'shell', path: 'utils/proxy.sh', args: [proxy] end - config.vm.network :forwarded_port, guest: 443, host: 8443 + config.vm.define 'integration' do |integration| + integration.vm.network 'private_network', ip: '10.1.1.1' + end + config.vm.define 'email' do |email| + email.vm.network 'private_network', ip: '10.1.1.2' + end + config.vm.define 'social' do |social| + social.vm.network 'private_network', ip: '10.1.1.3' + end + config.vm.define 'database' do |database| + database.vm.network 'private_network', ip: '10.1.1.4' + end + config.vm.define 'reverseproxy' do |reverseproxy| + reverseproxy.vm.network 'private_network', ip: '10.1.1.5' + reverseproxy.vm.network 'forwarded_port', guest: 80, host: 8080 + reverseproxy.vm.network 'forwarded_port', guest: 443, host: 8443 + end end diff --git a/config/roles/database_server.rb b/config/roles/database_server.rb new file mode 100644 index 0000000..9ea89f7 --- /dev/null +++ b/config/roles/database_server.rb @@ -0,0 +1,3 @@ +name 'database_server' +description 'Database server' +run_list 'recipe[postgresql]' diff --git a/config/roles/email_server.rb b/config/roles/email_server.rb new file mode 100644 index 0000000..4da627e --- /dev/null +++ b/config/roles/email_server.rb @@ -0,0 +1,3 @@ +name 'database_server' +description 'E-mail server' +run_list 'recipe[postfix]' diff --git a/config/roles/reverse_proxy_server.rb b/config/roles/reverse_proxy_server.rb new file mode 100644 index 0000000..e37d5a3 --- /dev/null +++ b/config/roles/reverse_proxy_server.rb @@ -0,0 +1,3 @@ +name 'database_server' +description 'Reverse proxy server' +run_list 'recipe[varnish]' diff --git a/config/roles/social_server.rb b/config/roles/social_server.rb new file mode 100644 index 0000000..1a5e11c --- /dev/null +++ b/config/roles/social_server.rb @@ -0,0 +1,3 @@ +name 'database_server' +description 'Social networking server' +run_list 'recipe[noosfero]' diff --git a/cookbooks/basics/recipes/default.rb b/cookbooks/basics/recipes/default.rb index 3e8b1f1..f804a58 100644 --- a/cookbooks/basics/recipes/default.rb +++ b/cookbooks/basics/recipes/default.rb @@ -1,4 +1,5 @@ package 'vim' +package 'rsyslog' if node['platform'] == 'centos' cookbook_file '/etc/yum.repos.d/softwarepublico.key' do diff --git a/cookbooks/colab/recipes/default.rb b/cookbooks/colab/recipes/default.rb index 52bb272..16f38a8 100644 --- a/cookbooks/colab/recipes/default.rb +++ b/cookbooks/colab/recipes/default.rb @@ -10,3 +10,7 @@ if node['platform'] == 'centos' end package 'colab' + +service 'colab' do + action :start +end diff --git a/nodes.yaml b/nodes.yaml index 62ab4ad..93f505c 100644 --- a/nodes.yaml +++ b/nodes.yaml @@ -1,4 +1,34 @@ -vagrant@default: +vagrant@integration: run_list: - role[server] - role[integration_server] + peers: &PEERS + integration: 10.1.1.1 + email: 10.1.1.2 + social: 10.1.1.3 + database: 10.1.1.4 + reverseproxy: 10.1.1.5 +vagrant@email: + run_list: + - role[server] + - role[email_server] + peers: + <<: *PEERS +vagrant@social: + run_list: + - role[server] + - role[social_server] + peers: + <<: *PEERS +vagrant@database: + run_list: + - role[server] + - role[database_server] + peers: + <<: *PEERS +vagrant@reverseproxy: + run_list: + - role[server] + - role[reverse_proxy_server] + peers: + <<: *PEERS -- libgit2 0.21.2