Advertisement
nlozovan

Untitled

Sep 7th, 2021
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.68 KB | None | 0 0
  1. # -*- mode: ruby -*-
  2. # vi: set ft=ruby :
  3.  
  4. Vagrant.configure("2") do |config|
  5.  
  6. # Forward host machine SSH agent to guest machine
  7. config.ssh.forward_agent = true
  8.  
  9. if Vagrant.has_plugin?("vagrant-vbguest") then
  10. config.vbguest.auto_update = false
  11. end
  12.  
  13. # Redis Server
  14. config.vm.define "redis" do |redis|
  15. redis.vm.hostname = 'redis'
  16. redis.vm.network :private_network, ip: "192.168.56.103"
  17.  
  18. redis.vm.synced_folder "~/dev/ansible-pixieset/", "/ansible", owner: "root", group: "root"
  19.  
  20. # Docker provider
  21. redis.vm.provider :docker do |d, override|
  22. override.vm.box = nil
  23. d.image = "registry.gitlab.com/group-flosites/pixieset-docker-infra:ansible-redis"
  24. d.remains_running = true
  25. d.has_ssh = true
  26. d.privileged = true
  27. # d.volumes = ["/sys/fs/cgroup:/sys/fs/cgroup:ro", "~/.ssh/id_rsa:/root/id_rsa"]
  28. end
  29.  
  30. redis.vm.provision "ansible_local" do |ansible|
  31. ansible.playbook = "/ansible/dev-redis.yml"
  32. ansible.become = true
  33. ansible.install = true
  34. ansible.compatibility_mode = "2.0"
  35. end
  36. end
  37.  
  38. # MySQL 5.7 server
  39. config.vm.define "db57" do |db57|
  40. # db57.vm.box = "ubuntu/xenial64"
  41. db57.vm.hostname = 'db57'
  42. # db57.vm.box_url = "ubuntu/xenial64"
  43. db57.vm.network :private_network, ip: "192.168.56.110", docker_network__internal: false
  44.  
  45. db57.vm.synced_folder "~/dev/ansible-pixieset/", "/ansible",
  46. owner: "root", group: "root"
  47.  
  48. db57.vm.provider :docker do |d, override|
  49. override.vm.box = nil
  50. d.image = "registry.gitlab.com/group-flosites/pixieset-docker-infra:ansible-db57"
  51. d.remains_running = true
  52. d.has_ssh = true
  53. d.privileged = true
  54. d.volumes = ["/sys/fs/cgroup:/sys/fs/cgroup:ro"]
  55.  
  56. # RUN ABOVE COMMAND IN CONTAINER IF SSH NOT CONNECTING (while using "ansible-db-16:latest" image)
  57. # mkdir -p -m0755 /var/run/sshd && systemctl restart ssh.service
  58. # mkdir -p -m0755 /var/run/sshd && service ssh start
  59. end
  60.  
  61. db57.vm.provision "ansible_local" do |ansible|
  62. ansible.playbook = "/ansible/dev-db57.yml"
  63. ansible.become = true
  64. ansible.install = true
  65. ansible.compatibility_mode = "2.0"
  66. ansible.extra_vars = { ansible_python_interpreter:"/usr/bin/python3" }
  67. end
  68. end
  69.  
  70. # Web Server for Client Gallery App
  71. config.vm.define "web" do |web|
  72.  
  73. web.vm.hostname = 'web'
  74. web.vm.network :private_network, ip: "192.168.56.101", dns: "8.8.8.8"
  75.  
  76. web.vm.synced_folder "~/dev/pixieset/", "/home/pixieset/public/pixieset.com/public/pixieset",
  77. owner: "www-data", group: "www-data"
  78. web.vm.synced_folder "~/dev/ansible-pixieset/", "/ansible",
  79. owner: "root", group: "root"
  80. web.vm.synced_folder "~/.aws/", "/var/www/.aws", create: true,
  81. owner: "www-data", group: "www-data"
  82. web.vm.synced_folder "~/.
  83. aws/", "/home/vagrant/.aws", create: true
  84.  
  85. web.vm.provider :docker do |d, override|
  86. override.vm.box = nil
  87. d.image = "registry.gitlab.com/group-flosites/pixieset-docker-infra:arm64"
  88. # mkdir -p -m0755 /var/run/php && systemctl restart php7.0-fpm.service
  89. d.remains_running = true
  90. d.has_ssh = true
  91. d.privileged = true
  92. d.volumes = ["/sys/fs/cgroup:/sys/fs/cgroup:ro"]
  93.  
  94. d.create_args = [
  95. "--add-host", "localhost web pixieset.local accounts.pixieset.local cg.internal.pixieset.local idp.internal.pixieset.local: 127.0.0.1",
  96. "--add-host", "dashboard.portfolio.local pw.internal.pixieset.local: 192.168.56.106",
  97. "--add-host", "mwa.local mwa.internal.pixieset.local: 192.168.56.107",
  98. "--add-host", "cs.internal.pixieset.local: 192.168.56.109",
  99. "--add-host", "studio.local sm.internal.pixieset.local: 192.168.56.111",
  100. "--platform", "linux/arm64"
  101. ]
  102. d.ports = ["8081:80", "8082:443"]
  103. end
  104.  
  105. web.vm.provision "ansible_local" do |ansible|
  106. ansible.playbook = "/ansible/dev-web.yml"
  107. ansible.become = true
  108. ansible.install = true
  109. ansible.compatibility_mode = "2.0"
  110. end
  111. end
  112.  
  113. # Web Server for Portfolio Website
  114. config.vm.define "portfolio", autostart: false do |portfolio|
  115.  
  116. portfolio.vm.hostname = 'portfolio'
  117. portfolio.vm.network :private_network, ip: "192.168.56.106", dns: "8.8.8.8"
  118.  
  119. portfolio.vm.synced_folder "~/dev/portfolio/src", "/home/pixieset/public/portfolio",
  120. owner: "www-data", group: "www-data"
  121. portfolio.vm.synced_folder "~/dev/ansible-pixieset/", "/ansible",
  122. owner: "root", group: "root"
  123. portfolio.vm.synced_folder "~/.aws/", "/var/www/.aws", create: true,
  124. owner: "www-data", group: "www-data"
  125. portfolio.vm.synced_folder "~/.aws/", "/home/vagrant/.aws", create: true
  126.  
  127. portfolio.vm.provider :docker do |d, override|
  128. override.vm.box = nil
  129. d.image = "registry.gitlab.com/group-flosites/pixieset-docker-infra:arm64"
  130. d.remains_running = true
  131. d.has_ssh = false
  132. d.privileged = true
  133. d.volumes = ["/sys/fs/cgroup:/sys/fs/cgroup:ro"]
  134. # mkdir -p -m0755 /var/run/php && systemctl restart php7.4-fpm.service
  135. # /usr/lib/tmpfiles.d/sshd.conf
  136.  
  137. d.create_args = [
  138. "--add-host", "localhost portfolio portfolio.local dashboard.portfolio.local pw.internal.pixieset.local: 127.0.0.1",
  139. "--add-host", "pixieset.local accounts.pixieset.local cg.internal.pixieset.local idp.internal.pixieset.local: 192.168.56.101",
  140. "--add-host", "mwa.local mwa.internal.pixieset.local: 192.168.56.107",
  141. "--add-host", "cs.internal.pixieset.local: 192.168.56.109"
  142. ]
  143. d.ports = ["8083:80", "8084:443"]
  144. end
  145.  
  146. portfolio.vm.provision "ansible_local" do |ansible|
  147. ansible.playbook = "/ansible/dev-web-portfolio.yml"
  148. ansible.become = true
  149. ansible.install = true
  150. ansible.compatibility_mode = "2.0"
  151. end
  152. end
  153.  
  154.  
  155. # Centralized Services
  156. config.vm.define "centralizedservices" do |centralizedservices|
  157.  
  158. centralizedservices.vm.hostname = 'centralizedservices'
  159. centralizedservices.vm.network :private_network, ip: "192.168.56.109"
  160.  
  161. centralizedservices.vm.synced_folder "~/dev/centralized-services/src", "/home/pixieset/public/centralized-services",
  162. owner: "www-data", group: "www-data"
  163. centralizedservices.vm.synced_folder "~/dev/ansible-pixieset", "/ansible",
  164. owner: "root", group: "root"
  165. centralizedservices.vm.synced_folder "~/.aws/", "/var/www/.aws", create: true,
  166. owner: "www-data", group: "www-data"
  167. centralizedservices.vm.synced_folder "~/.aws/", "/home/vagrant/.aws", create: true
  168.  
  169. centralizedservices.vm.provider :docker do |d, override|
  170. override.vm.box = nil
  171. d.image = "registry.gitlab.com/group-flosites/pixieset-docker-infra:ansible-cs"
  172. d.remains_running = true
  173. d.has_ssh = true
  174. d.privileged = true
  175. d.volumes = ["/sys/fs/cgroup:/sys/fs/cgroup:ro"]
  176.  
  177. d.create_args = [
  178. "--add-host", "localhost centralizedservices cs.internal.pixieset.local: 127.0.0.1",
  179. "--add-host", "pixieset.local accounts.pixieset.local cg.internal.pixieset.local idp.internal.pixieset.local: 192.168.56.101",
  180. "--add-host", "dashboard.portfolio.local pw.internal.pixieset.local: 192.168.56.106",
  181. "--add-host", "mwa.local mwa.internal.pixieset.local: 192.168.56.107",
  182. "--add-host", "studio.local sm.internal.pixieset.local: 192.168.56.111"
  183. ]
  184. end
  185.  
  186. centralizedservices.vm.provision "ansible_local" do |ansible|
  187. ansible.playbook = "/ansible/dev-centralizedservices.yml"
  188. ansible.become = true
  189. ansible.install = true
  190. ansible.compatibility_mode = "2.0"
  191. end
  192. end
  193. # end of the configuration
  194. end
  195.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement