Add power to follow logs on app and traefik
This commit is contained in:
@@ -57,6 +57,14 @@ class Mrsk::Commands::App < Mrsk::Commands::Base
|
||||
*command
|
||||
end
|
||||
|
||||
def follow_logs(host:, grep: nil)
|
||||
run_over_ssh pipe(
|
||||
current_container_id,
|
||||
"xargs docker logs -t -n 10 -f 2>&1",
|
||||
("grep '#{grep}'" if grep)
|
||||
).join(" "), host: host
|
||||
end
|
||||
|
||||
def console(host:)
|
||||
exec_over_ssh "bin/rails", "c", host: host
|
||||
end
|
||||
@@ -79,7 +87,7 @@ class Mrsk::Commands::App < Mrsk::Commands::Base
|
||||
|
||||
private
|
||||
def exec_over_ssh(*command, host:)
|
||||
"ssh -t #{config.ssh_user}@#{host} '#{run_exec(*command, interactive: true).join(" ")}'"
|
||||
run_over_ssh run_exec(*command, interactive: true).join(" "), host: host
|
||||
end
|
||||
|
||||
def service_filter
|
||||
|
||||
@@ -23,5 +23,9 @@ module Mrsk::Commands
|
||||
def docker(*args)
|
||||
args.compact.unshift :docker
|
||||
end
|
||||
|
||||
def run_over_ssh(command, host:)
|
||||
"ssh -t #{config.ssh_user}@#{host} '#{command}'"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -24,12 +24,17 @@ class Mrsk::Commands::Traefik < Mrsk::Commands::Base
|
||||
docker :ps, "--filter", "name=traefik"
|
||||
end
|
||||
|
||||
def logs(since: nil, lines: nil)
|
||||
docker :logs, "traefik",
|
||||
(" --since #{since}" if since),
|
||||
(" -n #{lines}" if lines),
|
||||
"-t",
|
||||
"2>&1"
|
||||
def logs(since: nil, lines: nil, grep: nil)
|
||||
pipe \
|
||||
docker(:logs, "traefik", (" --since #{since}" if since), (" -n #{lines}" if lines), "-t", "2>&1"),
|
||||
("grep '#{grep}'" if grep)
|
||||
end
|
||||
|
||||
def follow_logs(host:, grep: nil)
|
||||
run_over_ssh pipe(
|
||||
docker(:logs, "traefik", "-t", "-n", "10", "-f", "2>&1"),
|
||||
("grep '#{grep}'" if grep)
|
||||
).join(" "), host: host
|
||||
end
|
||||
|
||||
def remove_container
|
||||
|
||||
Reference in New Issue
Block a user