class ReceptorController::Client::Configuration

Attributes

client_id_header[RW]

x-rh-receptor-controller-client-id header for authentication with receptor controller (replaces x-rh-identity)

connection_status_path[RW]

Path to connection status requests

controller_host[R]

Host name of cloud receptor controller

controller_scheme[R]

Scheme of cloud receptor controller

job_path[RW]

Path to sending directive requests

pre_shared_key[RW]

x-rh-receptor-controller-psk header for authentication with receptor controller (replaces x-rh-identity)

queue_auto_ack[RW]

Kafka message auto-ack (default false)

queue_host[RW]

Kafka host name

queue_max_bytes[RW]

Kafka topic max bytes received in one response

queue_persist_ref[RW]

Kafka topic grouping (if nil, all subscribes receives all messages)

queue_port[RW]

Kafka port

queue_topic[RW]

Kafka topic name for cloud receptor controller's responses

response_timeout[RW]

Timeout for how long successful request waits for response

response_timeout_poll_time[RW]

Interval between timeout checks

Public Class Methods

default() click to toggle source
# File lib/receptor_controller/client/configuration.rb, line 59
def self.default
  @@default ||= new
end
new() { |self| ... } click to toggle source
# File lib/receptor_controller/client/configuration.rb, line 37
def initialize
  @controller_scheme = 'http'
  @controller_host   = 'localhost:9090'

  @connection_status_path = '/connection/status'
  @job_path               = '/job'
  @pre_shared_key         = nil
  @client_id_header       = 'topological-inventory'

  @queue_auto_ack    = true
  @queue_host        = nil
  @queue_max_bytes   = nil
  @queue_persist_ref = "receptor-client.#{SecureRandom.uuid}"
  @queue_port        = nil
  @queue_topic       = 'platform.receptor-controller.responses'

  @response_timeout           = 2.minutes
  @response_timeout_poll_time = 10.seconds # TODO: use Concurrent::TimerTask

  yield(self) if block_given?
end

Public Instance Methods

configure() { |self| ... } click to toggle source
# File lib/receptor_controller/client/configuration.rb, line 63
def configure
  yield(self) if block_given?
end
connection_status_url() click to toggle source
# File lib/receptor_controller/client/configuration.rb, line 81
def connection_status_url
  File.join(controller_url, connection_status_path)
end
controller_host=(host) click to toggle source
# File lib/receptor_controller/client/configuration.rb, line 72
def controller_host=(host)
  # remove http(s):// and anything after a slash
  @controller_host = host.sub(/https?:\/\//, '').split('/').first
end
controller_scheme=(scheme) click to toggle source
# File lib/receptor_controller/client/configuration.rb, line 67
def controller_scheme=(scheme)
  # remove :// from scheme
  @controller_scheme = scheme.sub(/:\/\//, '')
end
controller_url() click to toggle source
# File lib/receptor_controller/client/configuration.rb, line 77
def controller_url
  "#{controller_scheme}://#{controller_host}".sub(/\/+\z/, '')
end
job_url() click to toggle source
# File lib/receptor_controller/client/configuration.rb, line 85
def job_url
  File.join(controller_url, job_path)
end