Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- mode: ruby -*-
- # vi: set ft=ruby :
- Vagrant.configure("2") do |config|
- # Forward host machine SSH agent to guest machine
- config.ssh.forward_agent = true
- if Vagrant.has_plugin?("vagrant-vbguest") then
- config.vbguest.auto_update = false
- end
- # Redis Server
- config.vm.define "redis" do |redis|
- redis.vm.hostname = 'redis'
- redis.vm.network :private_network, ip: "192.168.56.103"
- redis.vm.synced_folder "~/dev/ansible-pixieset/", "/ansible", owner: "root", group: "root"
- # Docker provider
- redis.vm.provider :docker do |d, override|
- override.vm.box = nil
- d.image = "registry.gitlab.com/group-flosites/pixieset-docker-infra:ansible-redis"
- d.remains_running = true
- d.has_ssh = true
- d.privileged = true
- # d.volumes = ["/sys/fs/cgroup:/sys/fs/cgroup:ro", "~/.ssh/id_rsa:/root/id_rsa"]
- end
- redis.vm.provision "ansible_local" do |ansible|
- ansible.playbook = "/ansible/dev-redis.yml"
- ansible.become = true
- ansible.install = true
- ansible.compatibility_mode = "2.0"
- end
- end
- # MySQL 5.7 server
- config.vm.define "db57" do |db57|
- # db57.vm.box = "ubuntu/xenial64"
- db57.vm.hostname = 'db57'
- # db57.vm.box_url = "ubuntu/xenial64"
- db57.vm.network :private_network, ip: "192.168.56.110", docker_network__internal: false
- db57.vm.synced_folder "~/dev/ansible-pixieset/", "/ansible",
- owner: "root", group: "root"
- db57.vm.provider :docker do |d, override|
- override.vm.box = nil
- d.image = "registry.gitlab.com/group-flosites/pixieset-docker-infra:ansible-db57"
- d.remains_running = true
- d.has_ssh = true
- d.privileged = true
- d.volumes = ["/sys/fs/cgroup:/sys/fs/cgroup:ro"]
- # RUN ABOVE COMMAND IN CONTAINER IF SSH NOT CONNECTING (while using "ansible-db-16:latest" image)
- # mkdir -p -m0755 /var/run/sshd && systemctl restart ssh.service
- # mkdir -p -m0755 /var/run/sshd && service ssh start
- end
- db57.vm.provision "ansible_local" do |ansible|
- ansible.playbook = "/ansible/dev-db57.yml"
- ansible.become = true
- ansible.install = true
- ansible.compatibility_mode = "2.0"
- ansible.extra_vars = { ansible_python_interpreter:"/usr/bin/python3" }
- end
- end
- # Web Server for Client Gallery App
- config.vm.define "web" do |web|
- web.vm.hostname = 'web'
- web.vm.network :private_network, ip: "192.168.56.101", dns: "8.8.8.8"
- web.vm.synced_folder "~/dev/pixieset/", "/home/pixieset/public/pixieset.com/public/pixieset",
- owner: "www-data", group: "www-data"
- web.vm.synced_folder "~/dev/ansible-pixieset/", "/ansible",
- owner: "root", group: "root"
- web.vm.synced_folder "~/.aws/", "/var/www/.aws", create: true,
- owner: "www-data", group: "www-data"
- web.vm.synced_folder "~/.
- aws/", "/home/vagrant/.aws", create: true
- web.vm.provider :docker do |d, override|
- override.vm.box = nil
- d.image = "registry.gitlab.com/group-flosites/pixieset-docker-infra:arm64"
- # mkdir -p -m0755 /var/run/php && systemctl restart php7.0-fpm.service
- d.remains_running = true
- d.has_ssh = true
- d.privileged = true
- d.volumes = ["/sys/fs/cgroup:/sys/fs/cgroup:ro"]
- d.create_args = [
- "--add-host", "localhost web pixieset.local accounts.pixieset.local cg.internal.pixieset.local idp.internal.pixieset.local: 127.0.0.1",
- "--add-host", "dashboard.portfolio.local pw.internal.pixieset.local: 192.168.56.106",
- "--add-host", "mwa.local mwa.internal.pixieset.local: 192.168.56.107",
- "--add-host", "cs.internal.pixieset.local: 192.168.56.109",
- "--add-host", "studio.local sm.internal.pixieset.local: 192.168.56.111",
- "--platform", "linux/arm64"
- ]
- d.ports = ["8081:80", "8082:443"]
- end
- web.vm.provision "ansible_local" do |ansible|
- ansible.playbook = "/ansible/dev-web.yml"
- ansible.become = true
- ansible.install = true
- ansible.compatibility_mode = "2.0"
- end
- end
- # Web Server for Portfolio Website
- config.vm.define "portfolio", autostart: false do |portfolio|
- portfolio.vm.hostname = 'portfolio'
- portfolio.vm.network :private_network, ip: "192.168.56.106", dns: "8.8.8.8"
- portfolio.vm.synced_folder "~/dev/portfolio/src", "/home/pixieset/public/portfolio",
- owner: "www-data", group: "www-data"
- portfolio.vm.synced_folder "~/dev/ansible-pixieset/", "/ansible",
- owner: "root", group: "root"
- portfolio.vm.synced_folder "~/.aws/", "/var/www/.aws", create: true,
- owner: "www-data", group: "www-data"
- portfolio.vm.synced_folder "~/.aws/", "/home/vagrant/.aws", create: true
- portfolio.vm.provider :docker do |d, override|
- override.vm.box = nil
- d.image = "registry.gitlab.com/group-flosites/pixieset-docker-infra:arm64"
- d.remains_running = true
- d.has_ssh = false
- d.privileged = true
- d.volumes = ["/sys/fs/cgroup:/sys/fs/cgroup:ro"]
- # mkdir -p -m0755 /var/run/php && systemctl restart php7.4-fpm.service
- # /usr/lib/tmpfiles.d/sshd.conf
- d.create_args = [
- "--add-host", "localhost portfolio portfolio.local dashboard.portfolio.local pw.internal.pixieset.local: 127.0.0.1",
- "--add-host", "pixieset.local accounts.pixieset.local cg.internal.pixieset.local idp.internal.pixieset.local: 192.168.56.101",
- "--add-host", "mwa.local mwa.internal.pixieset.local: 192.168.56.107",
- "--add-host", "cs.internal.pixieset.local: 192.168.56.109"
- ]
- d.ports = ["8083:80", "8084:443"]
- end
- portfolio.vm.provision "ansible_local" do |ansible|
- ansible.playbook = "/ansible/dev-web-portfolio.yml"
- ansible.become = true
- ansible.install = true
- ansible.compatibility_mode = "2.0"
- end
- end
- # Centralized Services
- config.vm.define "centralizedservices" do |centralizedservices|
- centralizedservices.vm.hostname = 'centralizedservices'
- centralizedservices.vm.network :private_network, ip: "192.168.56.109"
- centralizedservices.vm.synced_folder "~/dev/centralized-services/src", "/home/pixieset/public/centralized-services",
- owner: "www-data", group: "www-data"
- centralizedservices.vm.synced_folder "~/dev/ansible-pixieset", "/ansible",
- owner: "root", group: "root"
- centralizedservices.vm.synced_folder "~/.aws/", "/var/www/.aws", create: true,
- owner: "www-data", group: "www-data"
- centralizedservices.vm.synced_folder "~/.aws/", "/home/vagrant/.aws", create: true
- centralizedservices.vm.provider :docker do |d, override|
- override.vm.box = nil
- d.image = "registry.gitlab.com/group-flosites/pixieset-docker-infra:ansible-cs"
- d.remains_running = true
- d.has_ssh = true
- d.privileged = true
- d.volumes = ["/sys/fs/cgroup:/sys/fs/cgroup:ro"]
- d.create_args = [
- "--add-host", "localhost centralizedservices cs.internal.pixieset.local: 127.0.0.1",
- "--add-host", "pixieset.local accounts.pixieset.local cg.internal.pixieset.local idp.internal.pixieset.local: 192.168.56.101",
- "--add-host", "dashboard.portfolio.local pw.internal.pixieset.local: 192.168.56.106",
- "--add-host", "mwa.local mwa.internal.pixieset.local: 192.168.56.107",
- "--add-host", "studio.local sm.internal.pixieset.local: 192.168.56.111"
- ]
- end
- centralizedservices.vm.provision "ansible_local" do |ansible|
- ansible.playbook = "/ansible/dev-centralizedservices.yml"
- ansible.become = true
- ansible.install = true
- ansible.compatibility_mode = "2.0"
- end
- end
- # end of the configuration
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement