class EtFullSystem::Cli::Docker::ServerCommand
Constants
- BEFORE_BOOT_SCRIPT
Public Instance Methods
down(*args)
click to toggle source
# File lib/et_full_system/cli/docker/server.rb, line 54 def down(*args) unbundled do gem_root = File.absolute_path('../../../..', __dir__) cmd = "GEM_VERSION=#{EtFullSystem::VERSION} LOCALHOST_FROM_DOCKER_IP=#{host_ip} docker-compose -f #{gem_root}/docker/docker-compose.yml down #{args.join(' ')}" puts cmd exec(cmd) end end
up(*args)
click to toggle source
# File lib/et_full_system/cli/docker/server.rb, line 18 def up(*args) unbundled do server_args = [] server_args << "--minimal" if options.minimal? server_args << "--without=#{options[:without].join(' ')}" unless options[:without].empty? env_vars = ["SERVER_ARGS='#{server_args.join(' ')}'"] env_vars << "LOCALHOST_FROM_DOCKER_IP=#{host_ip}" env_vars << "RECORD_VIDEO=#{options.record_video?}" if options.ccd_docker? env_vars << "CCD_AUTH_BASE_URL=http://#{options.ccd_docker_host}:4502" env_vars << "CCD_IDAM_BASE_URL=http://#{options.ccd_docker_host}:5000" env_vars << "CCD_DATA_STORE_BASE_URL=http://#{options.ccd_docker_host}:4452" env_vars << "CCD_DOCUMENT_STORE_BASE_URL=http://#{options.ccd_docker_host}:4506" env_vars << "CCD_GATEWAY_API_URL=http://#{options.ccd_docker_host}:3453" env_vars << "CCD_DOCUMENT_STORE_URL_REWRITE=#{options.ccd_docker_host}:4506:dm-store:8080" env_vars << "CCD_SIDAM_USERNAME=m@m.com" env_vars << "CCD_SIDAM_PASSWORD=Pa55word11" env_vars << "CCD_GENERATE_ETHOS_CASE_REFERENCE=true" end extra_args = [] if options.with_test? && options.use_selenium? extra_args.concat(["--scale chrome=#{options.chrome_instances}"]) extra_args.concat(["--scale firefox=#{options.firefox_instances}"]) else extra_args.concat(['--scale selenium-hub=0', '--scale chrome=0', '--scale firefox=0']) end env_vars << "DB_PORT=#{ENV.fetch('DB_PORT', EtFullSystem.is_port_open?(5432) ? 0 : 5432)}" env_vars << "REDIS_PORT=#{ENV.fetch('REDIS_PORT', EtFullSystem.is_port_open?(6379) ? 0 : 6379)}" gem_root = File.absolute_path('../../../..', __dir__) cmd = "GEM_VERSION=#{EtFullSystem::VERSION} #{env_vars.join(' ')} docker-compose -f #{gem_root}/docker/docker-compose.yml up #{(extra_args + args).join(' ')}" puts cmd exec(cmd) end end
Private Instance Methods
host_ip()
click to toggle source
# File lib/et_full_system/cli/docker/server.rb, line 73 def host_ip result = JSON.parse `docker network inspect \`docker network list | grep docker_et_full_system | awk '{print $1}'\`` result.first.dig('IPAM', 'Config').first['Gateway'] end
unbundled(&block)
click to toggle source
# File lib/et_full_system/cli/docker/server.rb, line 67 def unbundled(&block) method = Bundler.respond_to?(:with_unbundled_env) ? :with_unbundled_env : :with_original_env Bundler.send(method, &block) end