Sha256: da8366277c405634a7d164b0549cd452aa8c6557f7c6ffe4916dcd4e793592eb

Contents?: true

Size: 951 Bytes

Versions: 12

Compression:

Stored size: 951 Bytes

Contents

module Vidar
  class DeployStatus
    INITIAL_SLEEP = 2
    SLEEP = 10
    MAX_TRIES = 30

    attr_reader :namespace, :filter, :max_tries

    def initialize(namespace:, filter: nil, max_tries: MAX_TRIES)
      @namespace = namespace
      @filter = filter
      @max_tries = max_tries
    end

    def wait_until_up
      tries = 0

      sleep(INITIAL_SLEEP)

      until pod_set.any?
        tries += 1
        sleep(SLEEP)
        if tries > max_tries
          break
        end
      end
    end

    def wait_until_completed
      tries = 0

      sleep(INITIAL_SLEEP)

      until pod_set.deployed?
        tries += 1
        sleep(SLEEP)
        if tries > max_tries
          break
        end
      end
    end

    def success?
      return false unless last_pod_set

      last_pod_set.success?
    end

    def last_pod_set
      @pod_set
    end

    def pod_set
      @pod_set = K8s::PodSet.new(namespace:, filter:)
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
vidar-1.14.0 lib/vidar/deploy_status.rb
vidar-1.13.4 lib/vidar/deploy_status.rb
vidar-1.13.3 lib/vidar/deploy_status.rb
vidar-1.13.2 lib/vidar/deploy_status.rb
vidar-1.13.1 lib/vidar/deploy_status.rb
vidar-1.13.0 lib/vidar/deploy_status.rb
vidar-1.13.0.rc1 lib/vidar/deploy_status.rb
vidar-1.12.1 lib/vidar/deploy_status.rb
vidar-1.12.0 lib/vidar/deploy_status.rb
vidar-1.11.0 lib/vidar/deploy_status.rb
vidar-1.10.0 lib/vidar/deploy_status.rb
vidar-1.5.0 lib/vidar/deploy_status.rb