Class: KubeMQ::TLSConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/kubemq/configuration.rb

Overview

TLS/SSL configuration for secure broker connections.

Enable mutual TLS (mTLS) by providing both cert_file and key_file. For server-only TLS, set ca_file alone or use insecure_skip_verify for self-signed certificates in development.

Examples:

mTLS configuration

tls = KubeMQ::TLSConfig.new(
  enabled: true,
  cert_file: "/certs/client.pem",
  key_file: "/certs/client-key.pem",
  ca_file: "/certs/ca.pem"
)

See Also:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(enabled: false, cert_file: nil, key_file: nil, ca_file: nil, insecure_skip_verify: false) ⇒ TLSConfig

Creates a new TLS configuration.

Parameters:

  • enabled (Boolean) (defaults to: false) —

    whether TLS is enabled (default: false)

  • cert_file (String, nil) (defaults to: nil) —

    path to client certificate PEM file

  • key_file (String, nil) (defaults to: nil) —

    path to client private key PEM file

  • ca_file (String, nil) (defaults to: nil) —

    path to CA certificate PEM file

  • insecure_skip_verify (Boolean) (defaults to: false) —

    skip server certificate verification (default: false)



39
40
41
42
43
44
45
46
# File 'lib/kubemq/configuration.rb', line 39

def initialize(enabled: false, cert_file: nil, key_file: nil, ca_file: nil,
               insecure_skip_verify: false)
  @enabled = enabled
  @cert_file = cert_file
  @key_file = key_file
  @ca_file = ca_file
  @insecure_skip_verify = insecure_skip_verify
end

Instance Attribute Details

#ca_file ⇒ String?

Returns path to CA certificate PEM file.

Returns:

  • (String, nil) —

    path to CA certificate PEM file



30
# File 'lib/kubemq/configuration.rb', line 30

attr_accessor :enabled, :cert_file, :key_file, :ca_file, :insecure_skip_verify

#cert_file ⇒ String?

Returns path to client certificate PEM file.

Returns:

  • (String, nil) —

    path to client certificate PEM file



30
# File 'lib/kubemq/configuration.rb', line 30

attr_accessor :enabled, :cert_file, :key_file, :ca_file, :insecure_skip_verify

#enabled ⇒ Boolean

Returns whether TLS is enabled (default: false).

Returns:

  • (Boolean) —

    whether TLS is enabled (default: false)



30
31
32
# File 'lib/kubemq/configuration.rb', line 30

def enabled
  @enabled
end

#insecure_skip_verify ⇒ Boolean

Returns skip server certificate verification (default: false).

Returns:

  • (Boolean) —

    skip server certificate verification (default: false)



30
# File 'lib/kubemq/configuration.rb', line 30

attr_accessor :enabled, :cert_file, :key_file, :ca_file, :insecure_skip_verify

#key_file ⇒ String?

Returns path to client private key PEM file.

Returns:

  • (String, nil) —

    path to client private key PEM file



30
# File 'lib/kubemq/configuration.rb', line 30

attr_accessor :enabled, :cert_file, :key_file, :ca_file, :insecure_skip_verify