module EcsCmd::Exec

Public Class Methods

docker_ps_task(task_family, sudo = true) click to toggle source

docker ps command to get container id

# 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) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# File lib/ecs_cmd/exec.rb, line 15
def ssh(ip)
  exec(ssh_cmd(ip))
end
ssh_cmd(ip) click to toggle source

move this to a config

# File lib/ecs_cmd/exec.rb, line 10
def ssh_cmd(ip)
  cmd = 'ssh -tt -o StrictHostKeyChecking=no '
  cmd << ip.to_s
end