Class: Mrsk::Commands::Traefik
- Defined in:
- lib/mrsk/commands/traefik.rb
Constant Summary collapse
- IMAGE =
"traefik:v2.9.9"- CONTAINER_PORT =
80
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #follow_logs(host:, grep: nil) ⇒ Object
- #info ⇒ Object
- #logs(since: nil, lines: nil, grep: nil) ⇒ Object
- #port ⇒ Object
- #remove_container ⇒ Object
- #remove_image ⇒ Object
- #run ⇒ Object
- #start ⇒ Object
- #stop ⇒ Object
Methods inherited from Base
#container_id_for, #initialize, #run_over_ssh
Constructor Details
This class inherits a constructor from Mrsk::Commands::Base
Instance Method Details
#follow_logs(host:, grep: nil) ⇒ Object
39 40 41 42 43 44 |
# File 'lib/mrsk/commands/traefik.rb', line 39 def follow_logs(host:, grep: nil) run_over_ssh pipe( docker(:logs, "traefik", "--timestamps", "--tail", "10", "--follow", "2>&1"), (%(grep "#{grep}") if grep) ).join(" "), host: host end |
#info ⇒ Object
29 30 31 |
# File 'lib/mrsk/commands/traefik.rb', line 29 def info docker :ps, "--filter", "name=^traefik$" end |
#logs(since: nil, lines: nil, grep: nil) ⇒ Object
33 34 35 36 37 |
# File 'lib/mrsk/commands/traefik.rb', line 33 def logs(since: nil, lines: nil, grep: nil) pipe \ docker(:logs, "traefik", (" --since #{since}" if since), (" --tail #{lines}" if lines), "--timestamps", "2>&1"), ("grep '#{grep}'" if grep) end |
#port ⇒ Object
54 55 56 |
# File 'lib/mrsk/commands/traefik.rb', line 54 def port "#{host_port}:#{CONTAINER_PORT}" end |
#remove_container ⇒ Object
46 47 48 |
# File 'lib/mrsk/commands/traefik.rb', line 46 def remove_container docker :container, :prune, "--force", "--filter", "label=org.opencontainers.image.title=Traefik" end |
#remove_image ⇒ Object
50 51 52 |
# File 'lib/mrsk/commands/traefik.rb', line 50 def remove_image docker :image, :prune, "--all", "--force", "--filter", "label=org.opencontainers.image.title=Traefik" end |
#run ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/mrsk/commands/traefik.rb', line 7 def run docker :run, "--name traefik", "--detach", "--restart", "unless-stopped", "--publish", port, "--volume", "/var/run/docker.sock:/var/run/docker.sock", *config.logging_args, *, IMAGE, "--providers.docker", "--log.level=DEBUG", *cmd_option_args end |
#start ⇒ Object
21 22 23 |
# File 'lib/mrsk/commands/traefik.rb', line 21 def start docker :container, :start, "traefik" end |
#stop ⇒ Object
25 26 27 |
# File 'lib/mrsk/commands/traefik.rb', line 25 def stop docker :container, :stop, "traefik" end |