Module: EcsCmd::Exec

Defined in:
lib/ecs_cmd/exec.rb

Class Method Summary collapse

Class Method Details

.docker_ps_task(task_family, sudo = true) ⇒ Object

docker ps command to get container id



38
39
40
41
42
43
44
# File 'lib/ecs_cmd/exec.rb', line 38

def docker_ps_task(task_family, sudo = true)
  if sudo == true
    "sudo docker ps -n 1 -q --filter name=#{Shellwords.shellescape(task_family)}"
  else
    "docker ps -n 1 -q --filter name=#{Shellwords.shellescape(task_family)}"
  end
end

.execute(task_family, ip, command, user = 'root', sudo = true) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/ecs_cmd/exec.rb', line 19

def execute(task_family, ip, command, user = 'root', sudo = true)
  cmd = if sudo == true
          "sudo docker exec -i -t -u #{user} `#{docker_ps_task(task_family)}` #{command}"
        else
          "docker exec -i -t -u #{user} `#{docker_ps_task(task_family)}` #{command}"
        end
  exec(ssh_cmd(ip) + " '#{cmd}' ")
end

.logs(task_family, ip, lines, sudo) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/ecs_cmd/exec.rb', line 28

def logs(task_family, ip, lines, sudo)
  cmd = if sudo == true
          "sudo docker logs -f --tail=#{lines} `#{docker_ps_task(task_family)}`"
        else
          "docker logs -f --tail=#{lines} `#{docker_ps_task(task_family)}`"
        end
  exec(ssh_cmd(ip) + " '#{cmd}' ")
end

.ssh(ip) ⇒ Object



15
16
17
# File 'lib/ecs_cmd/exec.rb', line 15

def ssh(ip)
  exec(ssh_cmd(ip))
end

.ssh_cmd(ip) ⇒ Object

move this to a config



10
11
12
13
# File 'lib/ecs_cmd/exec.rb', line 10

def ssh_cmd(ip)
  cmd = 'ssh -tt -o StrictHostKeyChecking=no '
  cmd << ip.to_s
end