Class: ForgeRock::DirectoryServices::ProxyServer

Inherits:
ServerBase
  • Object
show all
Includes:
Utils, IdentityPlatform::Utils, MintLogger, MintPress::Mixins::Properties
Defined in:
src/forgerock/lib/forgerock/directory/proxy-server.rb

Properties (Read/Write)

  • #directories ⇒ Array of ⇒ ForgeRock::DirectoryServices::DirectoryServer (Default Value: [])
    An array of ForgeRock::DirectoryServices::DirectoryServer objects that will be passed as a --staticPrimaryServer

    Property Attributes
    • default[]
    
    
    33
    # File 'src/forgerock/lib/forgerock/directory/proxy-server.rb', line 33
    
    property :directories, type: ForgeRock::DirectoryServices::DirectoryServer, array: true, default: []
  • #load_balancing_algorithm ⇒ String (Default Value: 'affinity')
    Algorithm to use to load balance between servers. Available algorithms are 'affinity, least-requests' Default value: affinity

    Property Attributes
    • allowed_values[ 'affinity', 'least-requests' ]
    • default'affinity'
    • requiredtrue
    
    
    38
    # File 'src/forgerock/lib/forgerock/directory/proxy-server.rb', line 38
    
    property :loadBalancingAlgorithm, type: String, allowed_values: [ 'affinity', 'least-requests' ], default: 'affinity', required: true
  • #proxy_user_bind_dn ⇒ String (Default Value: "cn=proxy")
    The bind DN for forwarding LDAP requests to remote servers. This bind DN must be present on all the remote servers Default value: cn=proxy

    Property Attributes
    • default"cn=proxy"
    • requiredtrue
    
    
    43
    # File 'src/forgerock/lib/forgerock/directory/proxy-server.rb', line 43
    
    property :proxyUserBindDn, type: String, default: "cn=proxy", required: true
  • #proxy_user_bind_password ⇒ Mint::Secret
    Password associated with the proxy bind DN. The bind password must be the same on all the remote servers

    Property Attributes
    • fromString
    • requiredtrue
    
    
    46
    # File 'src/forgerock/lib/forgerock/directory/proxy-server.rb', line 46
    
    property :proxyUserBindPassword, type: Mint::Secret, from: String, required: true
  • #proxy_user_bind_password_file ⇒ Pathname
    Path to a file containing the password associated with the proxy bind DN. The bind password must be the same on all the remote servers

    Property Attributes
    • fromString
    
    
    49
    # File 'src/forgerock/lib/forgerock/directory/proxy-server.rb', line 49
    
    property :proxyUserBindPasswordFile, type: Pathname, from: String
  • #proxy_using_ssl ⇒ [ TrueClass, FalseClass ] (Default Value: false)
    Use SSL to secure communications with remote servers

    Property Attributes
    • defaultfalse
    
    
    51
    # File 'src/forgerock/lib/forgerock/directory/proxy-server.rb', line 51
    
    property :proxyUsingSsl, type: [ TrueClass, FalseClass ], default: false
  • #proxy_using_start_tls ⇒ [ TrueClass, FalseClass ] (Default Value: false)
    Use Start TLS to secure communication with remote servers

    Property Attributes
    • defaultfalse
    
    
    53
    # File 'src/forgerock/lib/forgerock/directory/proxy-server.rb', line 53
    
    property :proxyUsingStartTls, type: [ TrueClass, FalseClass ], default: false
  • #replication_bind_dn ⇒ String
    The bind DN for periodically reading replication server configurations. The bind DN must be present on all replication servers and directory servers, it must be able to read the server configuration

    Property Attributes
    
    
    58
    # File 'src/forgerock/lib/forgerock/directory/proxy-server.rb', line 58
    
    property :replicationBindDn, type: String
  • #replication_bind_password ⇒ Mint::Secret
    The bind password for periodically reading replication server configurations. The bind password must be the same on all replication and directory servers

    Property Attributes
    • fromString
    
    
    62
    # File 'src/forgerock/lib/forgerock/directory/proxy-server.rb', line 62
    
    property :replicationBindPassword, type: Mint::Secret, from: String
  • #replication_bind_password_file ⇒ Pathname
    Path to a file containing the bind password for periodically reading replication server configurations. The bind password must be the same on all replication and directory servers

    Property Attributes
    • fromString
    
    
    66
    # File 'src/forgerock/lib/forgerock/directory/proxy-server.rb', line 66
    
    property :replicationBindPasswordFile, type: Pathname, from: String
  • #replication_preferred_group_id ⇒ Integer
    Replication domain group ID number of directory server replicas to contact when available before contacting other replicas. If this option is not specified then all replicas will be treated the same

    Property Attributes
    
    
    70
    # File 'src/forgerock/lib/forgerock/directory/proxy-server.rb', line 70
    
    property :replicationPreferredGroupId, type: Integer
  • #replication_server ⇒ String
    Replication server to contact periodically in order to discover backend servers. Multiple replication servers may be provided by using this option multiple times

    Property Attributes
    
    
    74
    # File 'src/forgerock/lib/forgerock/directory/proxy-server.rb', line 74
    
    property :replicationServer, type: String
  • #static_primary_server ⇒ Array of ⇒ String (Default Value: Proc.new { # If we have passed in r = [] if self.directories.length > 0 self.directories.each do | d | if d.is_a?(ForgeRock::DirectoryServices::DirectoryServer) r << "#{d.hostname}:#{d.ldapPort}" unless d.hostname.nil? or d.ldapPort.nil? end end end r })
    Static server to contact when available before contacting secondary servers. Multiple servers may be provided by using this option multiple times

    Property Attributes
    • defaultProc.new { # If we have passed in r = [] if self.directories.length > 0 self.directories.each do | d | if d.is_a?(ForgeRock::DirectoryServices::DirectoryServer) r << "#{d.hostname}:#{d.ldapPort}" unless d.hostname.nil? or d.ldapPort.nil? end end end r }
    
    
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    # File 'src/forgerock/lib/forgerock/directory/proxy-server.rb', line 78
    
    property :staticPrimaryServer, type: String, array: true, default: Proc.new { 
      # If we have passed in 
      r = [] 
      if self.directories.length > 0
        self.directories.each do | d |
          if d.is_a?(ForgeRock::DirectoryServices::DirectoryServer)
            r << "#{d.hostname}:#{d.ldapPort}" unless d.hostname.nil? or d.ldapPort.nil?
          end
        end
      end
      r
    }
  • #static_secondary_server ⇒ Array of ⇒ String (Default Value: [])
    Static server to contact when all primary servers are unavailable. Multiple servers may be provided by using this option multiple times

    Property Attributes
    • default[]
    
    
    92
    # File 'src/forgerock/lib/forgerock/directory/proxy-server.rb', line 92
    
    property :staticSecondaryServer, type: String, array: true, default: []
  • #installation ⇒ ForgeRock::DirectoryServices::Installation
    OPENDJ installation

    Property Attributes
    
    
    32
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 32
    
    property :installation, type: ForgeRock::DirectoryServices::Installation
  • #java_home ⇒ Pathname (Default Value: Proc.new { self.installation.java_home })
    OPENDJ_JAVA_HOME - automatically derived from the installation if it is provided

    Property Attributes
    • fromString
    • requiredtrue
    • defaultProc.new { self.installation.java_home }
    
    
    35
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 35
    
    property :java_home, type: Pathname, from: String, required: true, default: Proc.new { self.installation.java_home }
  • #opendj_home ⇒ Pathname (Default Value: Proc.new { self.installation.opendj_home })
    OPENDJ_HOME - automatically derived from the installation if it is provided

    Property Attributes
    • fromString
    • requiredtrue
    • defaultProc.new { self.installation.opendj_home }
    
    
    37
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 37
    
    property :opendj_home, type: Pathname, from: String, required: true, default: Proc.new { self.installation.opendj_home }
  • #heap_min ⇒ String (Default Value: '-Xms256m')

    Property Attributes
    • requiredtrue
    • default'-Xms256m'
    
    
    39
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 39
    
    property :heap_min, type: String, required: true, default: '-Xms256m'
  • #heap_max ⇒ String (Default Value: '-Xmx256m')

    Property Attributes
    • requiredtrue
    • default'-Xmx256m'
    
    
    40
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 40
    
    property :heap_max, type: String, required: true, default: '-Xmx256m'
  • #host ⇒ MintPress::Infrastructure::Host (Default Value: Proc.new { r = nil if self.get_property(:installation) and self.installation.host.is_a?(MintPress::Infrastructure::Host) r = self.installation.host end r })

    Property Attributes
    • defaultProc.new { r = nil if self.get_property(:installation) and self.installation.host.is_a?(MintPress::Infrastructure::Host) r = self.installation.host end r }
    • requiredtrue
    • no_backreftrue
    • paralleltrue
    • disposition:requires
    
    
    42
    43
    44
    45
    46
    47
    48
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 42
    
    property :host, type: MintPress::Infrastructure::Host, default: Proc.new { 
      r = nil
      if self.get_property(:installation) and self.installation.host.is_a?(MintPress::Infrastructure::Host)
          r = self.installation.host
      end 
      r 
    }, required: true, no_backref: true, parallel: true, disposition: :requires
  • #admin_connector_port ⇒ Integer (Default Value: 4444)
    Port on which the Administration Connector should listen for communication

    Property Attributes
    • default4444
    • requiredtrue
    
    
    51
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 51
    
    property :adminConnectorPort, type: Integer, default: 4444, required: true
  • #root_user_dn ⇒ String (Default Value: "cn=Directory Manager")
    DN for the initial root user for the Directory Server Default value: cn=Directory Manager

    Property Attributes
    • default"cn=Directory Manager"
    • requiredtrue
    
    
    54
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 54
    
    property :rootUserDn, type: String, default: "cn=Directory Manager", required: true
  • #root_user_password ⇒ Mint::Secret
    Password for the initial root user for the Directory Server

    Property Attributes
    • fromString
    • requiredtrue
    
    
    56
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 56
    
    property :rootUserPassword, type: Mint::Secret, from: String, required: true
  • #hostname ⇒ String (Default Value: Proc.new { r = nil if self.get_property(:installation) and self.get_property(:installation).is_a?(ForgeRock::DirectoryServices::Installation) r = self.installation.host.fqdn end r })
    The fully-qualified directory server host name that will be used when generating self-signed certificates for LDAP SSL/StartTLS, the administration connector, and replication

    Property Attributes
    • defaultProc.new { r = nil if self.get_property(:installation) and self.get_property(:installation).is_a?(ForgeRock::DirectoryServices::Installation) r = self.installation.host.fqdn end r }
    • requiredtrue
    
    
    61
    62
    63
    64
    65
    66
    67
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 61
    
    property :hostname, type: String, default: Proc.new { 
      r = nil
      if self.get_property(:installation) and self.get_property(:installation).is_a?(ForgeRock::DirectoryServices::Installation)
        r = self.installation.host.fqdn
      end 
      r 
    }, required: true
  • #instance_path ⇒ Pathname (Default Value: Proc.new { self.installation.opendj_home })
    Path were the instance should be set up Default value:

    Property Attributes
    • fromString
    • requiredtrue
    • defaultProc.new { self.installation.opendj_home }
    
    
    72
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 72
    
    property :instancePath, type: Pathname, from: String, required: true, default: Proc.new { self.installation.opendj_home }
  • #base_dn ⇒ Array of ⇒ String (Default Value: [])

    Property Attributes
    • default[]
    
    
    74
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 74
    
    property :baseDn, type: String, array: true, default: []
  • #http_port ⇒ Integer
    Port on which the server should listen for HTTP communication

    Property Attributes
    
    
    80
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 80
    
    property :httpPort, type: Integer
  • #https_port ⇒ Integer
    Port on which the server should listen for HTTPS communication

    Property Attributes
    
    
    82
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 82
    
    property :httpsPort, type: Integer
  • #ldap_port ⇒ Integer
    Port on which the Directory Server should listen for LDAP communication

    Property Attributes
    
    
    84
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 84
    
    property :ldapPort, type: Integer
  • #ldaps_port ⇒ Integer
    Port on which the Directory Server should listen for LDAPS communication. The LDAPS port will be configured and SSL will be enabled only if this argument is explicitly specified

    Property Attributes
    
    
    88
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 88
    
    property :ldapsPort, type: Integer
  • #enable_start_tls ⇒ [ TrueClass, FalseClass ] (Default Value: false)
    Enable StartTLS to allow secure communication with the server using the LDAP port

    Property Attributes
    • defaultfalse
    
    
    92
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 92
    
    property :enableStartTls, type: [ TrueClass, FalseClass ], default: false
  • #cert_nickname ⇒ String
    Generic and global props available below here Nickname of a keystore entry containing a certificate that the server should use when negotiating secure connections using StartTLS or SSL. Multiple keystore entries may be provided by using this option multiple times

    Property Attributes
    
    
    99
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 99
    
    property :certNickname, type: String
  • #monitor_user_dn ⇒ String (Default Value: "uid=Monitor")
    DN of the default user allowed to query monitoring information Default value: uid=Monitor

    Property Attributes
    • default"uid=Monitor"
    
    
    102
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 102
    
    property :monitorUserDn, type: String, default: "uid=Monitor"
  • #monitor_user_password ⇒ Mint::Secret
    Password of the default user allowed to query monitoring information

    Property Attributes
    • fromString
    
    
    104
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 104
    
    property :monitorUserPassword, type: Mint::Secret, from: String
  • #do_not_start ⇒ [ TrueClass, FalseClass ] (Default Value: false)
    Do not start the server when the configuration is completed

    Property Attributes
    • defaultfalse
    
    
    106
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 106
    
    property :doNotStart, type: [ TrueClass, FalseClass ], default: false
  • #key_store_password ⇒ Mint::Secret
    Keystore cleartext password

    Property Attributes
    • fromString
    
    
    108
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 108
    
    property :keyStorePassword, type: Mint::Secret, from: String
  • #skip_port_check ⇒ [ TrueClass, FalseClass ] (Default Value: false)
    Skip the check to determine whether the specified ports are usable

    Property Attributes
    • defaultfalse
    
    
    110
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 110
    
    property :skipPortCheck, type: [ TrueClass, FalseClass ], default: false
  • #use_java_key_store ⇒ Pathname
    Path of a JKS keystore containing the certificate(s) that the server should use when negotiating secure connections using StartTLS or SSL

    Property Attributes
    • fromString
    
    
    113
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 113
    
    property :useJavaKeyStore, type: Pathname, from: String
  • #use_jce_key_store ⇒ Pathname
    Path of a JCEKS keystore containing the certificate(s) that the server should use when negotiating secure connections using StartTLS or SSL

    Property Attributes
    • fromString
    
    
    116
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 116
    
    property :useJceKeyStore, type: Pathname, from: String
  • #use_pkcs11_key_store ⇒ Pathname
    Use certificate(s) in a PKCS#11 token that the server should use when accepting SSL-based connections or performing StartTLS negotiation

    Property Attributes
    • fromString
    
    
    119
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 119
    
    property :usePkcs11KeyStore, type: Pathname, from: String
  • #use_pkcs12_key_store ⇒ Pathname
    Path of a PKCS#12 keystore containing the certificate(s) that the server should use when negotiating secure connections using StartTLS or SSL

    Property Attributes
    • fromString
    
    
    122
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 122
    
    property :usePkcs12KeyStore, type: Pathname, from: String
  • #use_java_trust_store ⇒ Pathname
    Use existing JKS truststore file to trust the remote server certificates

    Property Attributes
    • fromString
    
    
    124
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 124
    
    property :useJavaTrustStore, type: Pathname, from: String
  • #use_jce_trust_store ⇒ Pathname
    Use existing JCEKS truststore file to trust the remote server certificates

    Property Attributes
    • fromString
    
    
    126
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 126
    
    property :useJceTrustStore, type: Pathname, from: String
  • #use_jvm_trust_store ⇒ [ TrueClass, FalseClass ] (Default Value: false)
    Use the JVM truststore to trust certificates from other replication servers in the topology Default: false

    Property Attributes
    • defaultfalse
    
    
    129
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 129
    
    property :useJvmTrustStore, type: [ TrueClass, FalseClass ], default: false
  • #use_pkcs12_trust_store ⇒ Pathname
    Use existing PKCS12 truststore file to trust the remote server certificates

    Property Attributes
    • fromString
    
    
    131
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 131
    
    property :usePkcs12TrustStore, type: Pathname, from: String
  • #trust_store_password ⇒ Mint::Secret
    Truststore cleartext password

    Property Attributes
    • fromString
    
    
    133
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 133
    
    property :trustStorePassword, type: Mint::Secret, from: String
  • #trust_store_password_file ⇒ Pathname
    Path to a file containing the truststore password

    Property Attributes
    • fromString
    
    
    135
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 135
    
    property :trustStorePasswordFile, type: Pathname, from: String
  • #trust_all ⇒ [ TrueClass, FalseClass ] (Default Value: false)
    Trust all server SSL certificates

    Property Attributes
    • defaultfalse
    
    
    137
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 137
    
    property :trustAll, type: [ TrueClass, FalseClass ], default: false
  • #production_mode ⇒ [ TrueClass, FalseClass ] (Default Value: false)
    Harden default configuration for production use.

    Property Attributes
    • defaultfalse
    
    
    143
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 143
    
    property :productionMode, type: [ TrueClass, FalseClass ], default: false
  • #java_properties ⇒ Hash of (Default Value: {})
    Java Properties here are key value pairs and will be defined in java.properties in the #{instance_path}/config/java.properties location

    Property Attributes
    • default{}
    
    
    146
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 146
    
    property :java_properties, hash: true, default: {}
  • #tool_properties ⇒ Hash of (Default Value: {})
    Tool Properties here are key value pairs and will be defined in tools.properties in the #{instance_path}/config/tools.properties location

    Property Attributes
    • default{}
    
    
    149
    # File 'src/forgerock/lib/forgerock/directory/server-base.rb', line 149
    
    property :tool_properties, hash: true, default: {}

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 MintPress::Mixins::Properties

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

Instance Method Summary collapse

Methods included from Utils

#addrate, #backup, #dsconfig, #dsreplication, #encode_password, #export_ldif, #import_ldif, #ldapcompare, #ldapdelete, #ldapmodify, #ldappasswordmodify, #ldapsearch, #ldifmodify, #ldifsearch, #manage_account, #manage_tasks, #start_ds, #stop_ds, #transport

Methods included from MintPress::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

Methods inherited from ServerBase

#clobber, #exist?, #exists?, #harvest, #running?, #start, #status, #stop, #to_hash

Constructor Details

#initialize(opts = {}) ⇒ ProxyServer

Returns a new instance of ProxyServer.

Instance Method Details

#configurevoid

This method returns an undefined value.

Configure the ForgeRock Proxy Services instance

#usageObject