Class: Nonnative::ConfigurationReadiness

Inherits:
Object
  • Object
show all
Defined in:
lib/nonnative/configuration_readiness.rb

Overview

Readiness check configuration for a managed process.

Readiness is optional. When present, each check declares a kind and explicit endpoint details to poll after TCP readiness succeeds.

Constant Summary collapse

KINDS =
%w[http grpc].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value) ⇒ ConfigurationReadiness

Returns a new instance of ConfigurationReadiness.

Parameters:

  • value (Hash, #to_h)

    readiness check attributes



24
25
26
27
28
29
30
31
32
# File 'lib/nonnative/configuration_readiness.rb', line 24

def initialize(value)
  attributes = value.respond_to?(:to_h) ? value.to_h : value
  self.kind = attribute(attributes, :kind)&.to_s
  self.port = attribute(attributes, :port)
  self.path = attribute(attributes, :path)
  self.service = attribute(attributes, :service)

  validate!
end

Instance Attribute Details

#kindString

Returns readiness check kind.

Returns:

  • (String)

    readiness check kind



12
13
14
# File 'lib/nonnative/configuration_readiness.rb', line 12

def kind
  @kind
end

#pathString

Returns path-only HTTP readiness path.

Returns:

  • (String)

    path-only HTTP readiness path



18
19
20
# File 'lib/nonnative/configuration_readiness.rb', line 18

def path
  @path
end

#portInteger

Returns process readiness port.

Returns:

  • (Integer)

    process readiness port



15
16
17
# File 'lib/nonnative/configuration_readiness.rb', line 15

def port
  @port
end

#serviceString

Returns gRPC health service name.

Returns:

  • (String)

    gRPC health service name



21
22
23
# File 'lib/nonnative/configuration_readiness.rb', line 21

def service
  @service
end

Instance Method Details

#grpc?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/nonnative/configuration_readiness.rb', line 38

def grpc?
  kind == 'grpc'
end

#http?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/nonnative/configuration_readiness.rb', line 34

def http?
  kind == 'http'
end