Class: EtFullSystem::DockerCommand
- Inherits:
-
Thor
- Object
- Thor
- EtFullSystem::DockerCommand
- Defined in:
- lib/et_full_system/cli/docker.rb
Overview
!/usr/bin/env ruby frozen_string_literal: true
Instance Method Summary collapse
- #admin_env ⇒ Object
- #api_env ⇒ Object
- #bootstrap ⇒ Object
- #ccd_export_env ⇒ Object
- #compose(*args) ⇒ Object
- #disable_admin ⇒ Object
- #disable_api ⇒ Object
- #disable_atos_api ⇒ Object
- #disable_ccd_export ⇒ Object
- #disable_et1 ⇒ Object
- #disable_et3 ⇒ Object
- #enable_admin ⇒ Object
- #enable_api ⇒ Object
- #enable_atos_api ⇒ Object
- #enable_ccd_export ⇒ Object
- #enable_et1 ⇒ Object
- #enable_et3 ⇒ Object
- #et1_env ⇒ Object
- #et3_env ⇒ Object
- #invoker(*args) ⇒ Object
- #local_admin(port) ⇒ Object
- #local_api(port) ⇒ Object
- #local_ccd_export ⇒ Object
- #local_et1(port) ⇒ Object
- #local_et3(port) ⇒ Object
- #local_service(service, port) ⇒ Object
- #reset ⇒ Object
- #restart_admin ⇒ Object
- #restart_api ⇒ Object
- #restart_atos_api ⇒ Object
- #restart_ccd_export ⇒ Object
- #restart_et1 ⇒ Object
- #restart_et3 ⇒ Object
- #service_env(service) ⇒ Object
- #setup ⇒ Object
- #update_service_url(service, url) ⇒ Object
Instance Method Details
#admin_env ⇒ Object
114 115 116 |
# File 'lib/et_full_system/cli/docker.rb', line 114 def admin_env service_env('admin') end |
#api_env ⇒ Object
102 103 104 |
# File 'lib/et_full_system/cli/docker.rb', line 102 def api_env service_env('api') end |
#bootstrap ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/et_full_system/cli/docker.rb', line 12 def bootstrap unbundled do cmd = File.absolute_path('../../../shell_scripts/docker_bootstrap.sh', __dir__) puts cmd exec(cmd) end end |
#ccd_export_env ⇒ Object
90 91 92 |
# File 'lib/et_full_system/cli/docker.rb', line 90 def ccd_export_env service_env('et_ccd_export') end |
#compose(*args) ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/et_full_system/cli/docker.rb', line 32 def compose(*args) unbundled do gem_root = File.absolute_path('../../..', __dir__) cmd = "UID=#{Process.uid} GEM_VERSION=#{EtFullSystem::VERSION} LOCALHOST_FROM_DOCKER_IP=#{host_ip} docker-compose -f #{gem_root}/docker/docker-compose.yml #{args.join(' ')}" puts cmd exec(cmd) end end |
#disable_admin ⇒ Object
191 192 193 |
# File 'lib/et_full_system/cli/docker.rb', line 191 def disable_admin run_on_local("disable_admin") end |
#disable_api ⇒ Object
186 187 188 |
# File 'lib/et_full_system/cli/docker.rb', line 186 def disable_api run_on_local("disable_api") end |
#disable_atos_api ⇒ Object
181 182 183 |
# File 'lib/et_full_system/cli/docker.rb', line 181 def disable_atos_api run_on_local("disable_atos_api") end |
#disable_ccd_export ⇒ Object
176 177 178 |
# File 'lib/et_full_system/cli/docker.rb', line 176 def disable_ccd_export run_on_local("disable_ccd_export") end |
#disable_et1 ⇒ Object
171 172 173 |
# File 'lib/et_full_system/cli/docker.rb', line 171 def disable_et1 run_on_local("disable_et1") end |
#disable_et3 ⇒ Object
196 197 198 |
# File 'lib/et_full_system/cli/docker.rb', line 196 def disable_et3 run_on_local("disable_et3") end |
#enable_admin ⇒ Object
161 162 163 |
# File 'lib/et_full_system/cli/docker.rb', line 161 def enable_admin run_on_local("enable_admin") end |
#enable_api ⇒ Object
156 157 158 |
# File 'lib/et_full_system/cli/docker.rb', line 156 def enable_api run_on_local("enable_api") end |
#enable_atos_api ⇒ Object
151 152 153 |
# File 'lib/et_full_system/cli/docker.rb', line 151 def enable_atos_api run_on_local("enable_atos_api") end |
#enable_ccd_export ⇒ Object
146 147 148 |
# File 'lib/et_full_system/cli/docker.rb', line 146 def enable_ccd_export run_on_local("enable_ccd_export") end |
#enable_et1 ⇒ Object
141 142 143 |
# File 'lib/et_full_system/cli/docker.rb', line 141 def enable_et1 run_on_local("enable_et1") end |
#enable_et3 ⇒ Object
166 167 168 |
# File 'lib/et_full_system/cli/docker.rb', line 166 def enable_et3 run_on_local("enable_et3") end |
#et1_env ⇒ Object
79 80 81 |
# File 'lib/et_full_system/cli/docker.rb', line 79 def et1_env service_env('et1') end |
#et3_env ⇒ Object
127 128 129 |
# File 'lib/et_full_system/cli/docker.rb', line 127 def et3_env service_env('et3') end |
#invoker(*args) ⇒ Object
42 43 44 |
# File 'lib/et_full_system/cli/docker.rb', line 42 def invoker(*args) run_on_local("invoker #{args.join(' ')}") end |
#local_admin(port) ⇒ Object
107 108 109 110 111 |
# File 'lib/et_full_system/cli/docker.rb', line 107 def local_admin(port) local_service('admin', port) disable_admin puts "Admin is now expected to be hosted on port #{port} on your machine. To configure your environment, run 'et_full_system docker admin_env > .env'" end |
#local_api(port) ⇒ Object
95 96 97 98 99 |
# File 'lib/et_full_system/cli/docker.rb', line 95 def local_api(port) local_service('api', port) disable_api puts "api is now expected to be hosted on port #{port} on your machine. Also, you must provide your own sidekiq. To configure your environment, run 'et_full_system docker api_env > .env'" end |
#local_ccd_export ⇒ Object
84 85 86 87 |
# File 'lib/et_full_system/cli/docker.rb', line 84 def local_ccd_export run_on_local('disable_ccd_export') puts "ccd_export is now expected to be running on your machine. To configure your environment, run 'et_full_system docker ccd_export_env > .env'" end |
#local_et1(port) ⇒ Object
71 72 73 74 75 |
# File 'lib/et_full_system/cli/docker.rb', line 71 def local_et1(port) local_service('et1', port) disable_et1 puts "ET1 is now expected to be hosted on port #{port} on your machine. To configure your environment, run 'et_full_system docker et1_env > .env'" end |
#local_et3(port) ⇒ Object
119 120 121 122 123 |
# File 'lib/et_full_system/cli/docker.rb', line 119 def local_et3(port) local_service('et3', port) disable_et3 puts "ET3 is now expected to be hosted on port #{port} on your machine. To configure your environment, run 'et_full_system docker et3_env > .env'" end |
#local_service(service, port) ⇒ Object
66 67 68 |
# File 'lib/et_full_system/cli/docker.rb', line 66 def local_service(service, port) update_service_url(service, local_service_url(port)) end |
#reset ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/et_full_system/cli/docker.rb', line 47 def reset unbundled do gem_root = File.absolute_path('../../..', __dir__) cmd = "UID=#{Process.uid} GEM_VERSION=#{EtFullSystem::VERSION} LOCALHOST_FROM_DOCKER_IP=#{host_ip} docker-compose -f #{gem_root}/docker/docker-compose.yml down -v" puts cmd next unless system(cmd) cmd = "UID=#{Process.uid} GEM_VERSION=#{EtFullSystem::VERSION} LOCALHOST_FROM_DOCKER_IP=#{host_ip} docker-compose -f #{gem_root}/docker/docker-compose.yml build --no-cache" puts cmd next unless system(cmd) self.class.start(['setup']) end end |
#restart_admin ⇒ Object
216 217 218 |
# File 'lib/et_full_system/cli/docker.rb', line 216 def restart_admin run_on_local("restart_admin") end |
#restart_api ⇒ Object
206 207 208 |
# File 'lib/et_full_system/cli/docker.rb', line 206 def restart_api run_on_local("restart_api") end |
#restart_atos_api ⇒ Object
221 222 223 |
# File 'lib/et_full_system/cli/docker.rb', line 221 def restart_atos_api run_on_local("restart_atos_api") end |
#restart_ccd_export ⇒ Object
226 227 228 |
# File 'lib/et_full_system/cli/docker.rb', line 226 def restart_ccd_export run_on_local("restart_ccd_export") end |
#restart_et1 ⇒ Object
201 202 203 |
# File 'lib/et_full_system/cli/docker.rb', line 201 def restart_et1 run_on_local("restart_et1") end |
#restart_et3 ⇒ Object
211 212 213 |
# File 'lib/et_full_system/cli/docker.rb', line 211 def restart_et3 run_on_local("restart_et3") end |
#service_env(service) ⇒ Object
132 133 134 135 136 137 138 |
# File 'lib/et_full_system/cli/docker.rb', line 132 def service_env(service) result = run_on_local("service_env #{service}", return_output: true) replace_db_host_port(result) replace_redis_host_port(result) replace_smtp_host_port(result) puts result end |
#setup ⇒ Object
21 22 23 24 25 26 27 28 29 |
# File 'lib/et_full_system/cli/docker.rb', line 21 def setup unbundled do gem_root = File.absolute_path('../../..', __dir__) cmd = "/bin/bash --login -c \"cd /home/app/full_system && et_full_system docker bootstrap && et_full_system local setup --in-docker-compose\"" compose_cmd = "UID=#{Process.uid} GEM_VERSION=#{EtFullSystem::VERSION} LOCALHOST_FROM_DOCKER_IP=#{host_ip} docker-compose -f #{gem_root}/docker/docker-compose.yml run --rm et #{cmd}" puts compose_cmd exec(compose_cmd) end end |
#update_service_url(service, url) ⇒ Object
61 62 63 |
# File 'lib/et_full_system/cli/docker.rb', line 61 def update_service_url(service, url) run_on_local("update_service_url #{service} #{url}") end |