Class: Kamal::Cli::Healthcheck

Inherits:
Base
  • Object
show all
Defined in:
lib/kamal/cli/healthcheck.rb

Defined Under Namespace

Modules: Poller

Instance Method Summary collapse

Methods inherited from Base

exit_on_failure?, #initialize

Constructor Details

This class inherits a constructor from Kamal::Cli::Base

Instance Method Details

#performObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/kamal/cli/healthcheck.rb', line 5

def perform
  on(KAMAL.primary_host) do
    begin
      execute *KAMAL.healthcheck.run
      Poller.wait_for_healthy { capture_with_info(*KAMAL.healthcheck.status) }
    rescue Poller::HealthcheckError => e
      error capture_with_info(*KAMAL.healthcheck.logs)
      error capture_with_pretty_json(*KAMAL.healthcheck.container_health_log)
      raise
    ensure
      execute *KAMAL.healthcheck.stop, raise_on_non_zero_exit: false
      execute *KAMAL.healthcheck.remove, raise_on_non_zero_exit: false
    end
  end
end