module Nomad::Defaults

Constants

DEFAULT_POOL_SIZE

The default size of the connection pool

NOMAD_ADDRESS

The default nomad address. @return [String]

RETRIED_EXCEPTIONS

The set of exceptions that are detect and retried by default with `with_retries`

RETRY_ATTEMPTS

The default number of attempts. @return [Integer]

RETRY_BASE

The default backoff interval. @return [Integer]

RETRY_MAX_WAIT

The maximum amount of time for a single exponential backoff to sleep.

SSL_CIPHERS

The list of SSL ciphers to allow. You should not change this value unless you absolutely know what you are doing! @return [String]

Public Class Methods

address() click to toggle source

The address to communicate with Nomad. @return [String]

# File lib/nomad/defaults.rb, line 41
def address
  ENV["NOMAD_ADDR"] || NOMAD_ADDRESS
end
hostname() click to toggle source

The SNI host to use when connecting to Nomad via TLS. @return [String, nil]

# File lib/nomad/defaults.rb, line 47
def hostname
  ENV["NOMAD_TLS_SERVER_NAME"]
end
open_timeout() click to toggle source

The number of seconds to wait when trying to open a connection before timing out @return [String, nil]

# File lib/nomad/defaults.rb, line 54
def open_timeout
  ENV["NOMAD_OPEN_TIMEOUT"]
end
options() click to toggle source

The list of calculated options for this configurable. @return [Hash]

# File lib/nomad/defaults.rb, line 35
def options
  Hash[*Configurable.keys.map { |key| [key, public_send(key)] }.flatten]
end
pool_size() click to toggle source

The size of the connection pool to communicate with Nomad @return Integer

# File lib/nomad/defaults.rb, line 60
def pool_size
  if var = ENV["NOMAD_POOL_SIZE"]
    return var.to_i
  else
    DEFAULT_POOL_SIZE
  end
end
proxy_address() click to toggle source

The HTTP Proxy server address as a string @return [String, nil]

# File lib/nomad/defaults.rb, line 70
def proxy_address
  ENV["NOMAD_PROXY_ADDRESS"]
end
proxy_password() click to toggle source

The HTTP Proxy user password as a string @return [String, nil]

# File lib/nomad/defaults.rb, line 82
def proxy_password
  ENV["NOMAD_PROXY_PASSWORD"]
end
proxy_port() click to toggle source

The HTTP Proxy server port as a string @return [String, nil]

# File lib/nomad/defaults.rb, line 88
def proxy_port
  ENV["NOMAD_PROXY_PORT"]
end
proxy_username() click to toggle source

The HTTP Proxy server username as a string @return [String, nil]

# File lib/nomad/defaults.rb, line 76
def proxy_username
  ENV["NOMAD_PROXY_USERNAME"]
end
read_timeout() click to toggle source

The number of seconds to wait when reading a response before timing out @return [String, nil]

# File lib/nomad/defaults.rb, line 94
def read_timeout
  ENV["NOMAD_READ_TIMEOUT"]
end
ssl_ca_cert() click to toggle source

The path to the CA cert on disk to use for certificate verification @return [String, nil]

# File lib/nomad/defaults.rb, line 128
def ssl_ca_cert
  ENV["NOMAD_CACERT"]
end
ssl_ca_path() click to toggle source

The path to the directory on disk holding CA certs to use for certificate verification @return [String, nil]

# File lib/nomad/defaults.rb, line 141
def ssl_ca_path
  ENV["NOMAD_CAPATH"]
end
ssl_cert_store() click to toggle source

The CA cert store to use for certificate verification @return [OpenSSL::X509::Store, nil]

# File lib/nomad/defaults.rb, line 134
def ssl_cert_store
  nil
end
ssl_ciphers() click to toggle source

The ciphers that will be used when communicating with nomad over ssl You should only change the defaults if the ciphers are not available on your platform and you know what you are doing @return [String]

# File lib/nomad/defaults.rb, line 102
def ssl_ciphers
  ENV["NOMAD_SSL_CIPHERS"] || SSL_CIPHERS
end
ssl_pem_contents() click to toggle source

The raw contents (as a string) for the pem file. To specify the path to the pem file, use {#ssl_pem_file} instead. This value is preferred over the value for {#ssl_pem_file}, if set. @return [String, nil]

# File lib/nomad/defaults.rb, line 110
def ssl_pem_contents
  ENV["NOMAD_SSL_PEM_CONTENTS"]
end
ssl_pem_file() click to toggle source

The path to a pem on disk to use with custom SSL verification @return [String, nil]

# File lib/nomad/defaults.rb, line 116
def ssl_pem_file
  ENV["NOMAD_SSL_CERT"] || ENV["NOMAD_SSL_PEM_FILE"]
end
ssl_pem_passphrase() click to toggle source

Passphrase to the pem file on disk to use with custom SSL verification @return [String, nil]

# File lib/nomad/defaults.rb, line 122
def ssl_pem_passphrase
  ENV["NOMAD_SSL_CERT_PASSPHRASE"]
end
ssl_timeout() click to toggle source

The number of seconds to wait for connecting and verifying SSL @return [String, nil]

# File lib/nomad/defaults.rb, line 162
def ssl_timeout
  ENV["NOMAD_SSL_TIMEOUT"]
end
ssl_verify() click to toggle source

Verify SSL requests (default: true) @return [true, false]

# File lib/nomad/defaults.rb, line 147
def ssl_verify
  # Nomad CLI uses this envvar, so accept it by precedence
  if !ENV["NOMAD_SKIP_VERIFY"].nil?
    return false
  end

  if ENV["NOMAD_SSL_VERIFY"].nil?
    true
  else
    %w[t y].include?(ENV["NOMAD_SSL_VERIFY"].downcase[0])
  end
end
timeout() click to toggle source

A default meta-attribute to set all timeout values - individually set timeout values will take precedence @return [String, nil]

# File lib/nomad/defaults.rb, line 169
def timeout
  ENV["NOMAD_TIMEOUT"]
end