Class: MintPress::HAProxy::Backend

Inherits:
Object
  • Object
show all
Includes:
Mixins::Properties
Defined in:
src/haproxy/lib/haproxy/config.rb

Overview

A backend stanza — defines the pool of servers that serve requests.

Properties (Read/Write)

  • #mode ⇒ String (Default Value: 'http')
    'Proxying mode: "http" for layer-7 or "tcp" for layer-4 pass-through'

    Property Attributes
    • default'http'
    • allowed_values%w[http tcp],
    
    
    71
    # File 'src/haproxy/lib/haproxy/config.rb', line 71
    
    property :mode, type: String, default: 'http', allowed_values: %w[http tcp], description: 'Proxying mode: "http" for layer-7 or "tcp" for layer-4 pass-through'
  • #balance ⇒ String (Default Value: 'roundrobin')
    'Load balancing algorithm, e.g. "roundrobin", "leastconn", "source"'

    Property Attributes
    • default'roundrobin'
    
    
    72
    # File 'src/haproxy/lib/haproxy/config.rb', line 72
    
    property :balance, type: String, default: 'roundrobin', description: 'Load balancing algorithm, e.g. "roundrobin", "leastconn", "source"'
  • #maxconn ⇒ Integer
    'Maximum number of concurrent connections queued to this backend'

    Property Attributes
    
    
    73
    # File 'src/haproxy/lib/haproxy/config.rb', line 73
    
    property :maxconn, type: Integer, description: 'Maximum number of concurrent connections queued to this backend'
  • #servers ⇒ Hash (Default Value: {})
    'Map of server_name => BackendServer objects that make up this backend pool'

    Property Attributes
    • default{}
    
    
    74
    # File 'src/haproxy/lib/haproxy/config.rb', line 74
    
    property :servers, type: Hash, default: {}, description: 'Map of server_name => BackendServer objects that make up this backend pool'
  • #options ⇒ Array (Default Value: [])
    'HAProxy option directives added to the stanza, e.g. ["httpchk GET /health", "forwardfor"]'

    Property Attributes
    • default[]
    
    
    75
    # File 'src/haproxy/lib/haproxy/config.rb', line 75
    
    property :options, type: Array, default: [], description: 'HAProxy option directives added to the stanza, e.g. ["httpchk GET /health", "forwardfor"]'
  • #extra ⇒ Array (Default Value: [])
    'Verbatim configuration lines appended to the backend stanza for directives not covered by other properties'

    Property Attributes
    • default[]
    
    
    76
    # File 'src/haproxy/lib/haproxy/config.rb', line 76
    
    property :extra, type: Array, default: [], description: 'Verbatim configuration lines appended to the backend stanza for directives not covered by other properties'

Properties (Read Only)

Constant Summary

Constants included from MintLogger

MintLogger::DEBUG, MintLogger::ERROR, MintLogger::FATAL, MintLogger::INFO, MintLogger::UNKNOWN, MintLogger::VERBOSE, MintLogger::WARN

Instance Attribute Summary

Attributes included from Mixins::Properties

#autopush_set_cache, #dynamic_create, #harvest_on_access, #harvest_undefined_only, #harvested, #tree_root

Instance Method Summary collapse

Methods included from Mixins::Properties

#[], #[]=, #add_validate_report_result, #armour_set_property, #array_contains?, #array_is_a?, #check_autopush, #check_stack_overflow, #clone_property_object, #cloner_handle_single_property, #coerce_single, #contains_as_string?, #display_validate_report_result, #double_initialize?, #dump_to_hash, #find_parent, #find_parent_by_identity, #generate_accessor_functions, #get_canonical_renamed, #get_from_opts, #get_my_name, #get_property, #get_property_item, #has?, included, #initialize_validate_report, #inspect, #is_cloned_object?, #is_mintpress_object?, #is_probably_canonical?, #is_set?, #local_debug, #local_info, #local_verbose, #mintpress_property_definitions, #place_object_by_identity, #process_properties, #prop_set?, #property, #property_definitions, #property_details, #property_is_simple_object?, #push_root!, #require_property, #require_update, #retrieve_docstring, #sanitize, #set_map_dirty, #set_property, #set_property_item, #show_short_array, #strip_defaults!, #synchronize, #uncloned_property_definitions, #update_map, #validate, #validate_generic, #validate_properties, #validate_property, #validate_required, #version_allowed?, #weakref

Methods included from MintLogger::Utils::Common

#boolean_val, #has_value?, #no_value?, #nvl, #path_as_symbol, #ruby_level_to_send

Constructor Details

#initialize(opts = {}) ⇒ Backend

Returns a new instance of Backend.