Skip to content

patarra/chef-glassfish

 
 

Repository files navigation

Description

Build Status

The glassfish cookbook installs and configures the GlassFish application server and the OpenMQ message broker bundled with the GlassFish application server. The cookbook also defines resources to create and configure GlassFish application domains and OpenMQ broker instances.

A sample project with a Vagrantfile that launches a glassfish instance is available in chef-glassfish-example project.

Requirements

Platform:

  • Ubuntu

Cookbooks:

  • java
  • authbind
  • archive
  • cutlery
  • runit (Recommended but not required)

Attributes

  • node['glassfish']['user'] - GlassFish User: The user that GlassFish executes as. Defaults to glassfish.
  • node['glassfish']['group'] - GlassFish Admin Group: The group allowed to manage GlassFish domains. Defaults to glassfish-admin.
  • node['glassfish']['version'] - Version: The version of the GlassFish install package. Defaults to 4.0.
  • node['glassfish']['variant'] - variant: The variant of the GlassFish install package. Usually payara or glassfish. Defaults to glassfish.
  • node['glassfish']['package_url'] - Package URL: The url to the GlassFish install package. Defaults to nil.
  • node['glassfish']['base_dir'] - GlassFish Base Directory: The base directory of the GlassFish install. Defaults to /usr/local/glassfish.
  • node['glassfish']['install_dir'] - GlassFish Install Directory: The directory into which glassfish is actually installed. Defaults to nil.
  • node['glassfish']['remove_domains_dir_on_install'] - A flag determining whether we should remove the domains directory. Defaults to true.
  • node['glassfish']['domains_dir'] - GlassFish Domain Directory: The directory containing all the domain instance data and configuration. Defaults to /srv/glassfish.
  • node['glassfish']['domains'] - GlassFish Domain Definitions: A map of domain definitions that drive the instantiation of a domain. Defaults to Mash.new.
  • node['openmq']['extra_libraries'] - Extract libraries for the OpenMQ Broker: A list of URLs to jars that are added to brokers classpath. Defaults to Mash.new.
  • node['openmq']['instances'] - GlassFish OpenMQ Broker Definitions: A map of broker definitions that drive the instantiation of a OpenMQ broker. Defaults to Mash.new.
  • node['openmq']['var_home'] - GlassFish OpenMQ Broker Directory: The directory containing all the broker instance data and configuration. Defaults to /var/omq.

Recipes

glassfish::attribute_driven_domain

Configures 0 or more GlassFish domains using the glassfish/domains attribute.

The attribute_driven_domain recipe interprets attributes on the node and defines the resources described in the attributes.

A typical approach is to define the configuration for the entire application on the node and include the recipe. Another approach using a vagrant file is to set the json attribute such as;

  chef.json = {
        "java" => {
            "install_flavor" => "oracle",
            "jdk_version" => 7,
            "oracle" => {
                "accept_oracle_download_terms" => true
            }
        },
        "glassfish" => {
            "version" => "4.0.1",
            "package_url" => "http://dlc.sun.com.edgesuite.net/glassfish/4.0.1/promoted/glassfish-4.0.1-b01.zip",
            "base_dir" => "/usr/local/glassfish",
            "domains_dir" => "/usr/local/glassfish/glassfish/domains",
            "domains" => {
                "myapp" => {
                    "config" => {
                        "min_memory" => 1024,
                        "max_memory" => 1024,
                        "max_perm_size" => 256,
                        "port" => 7070,
                        "admin_port" => 4848,
                        "username" => "adminuser",
                        "password" => "adminpw",
                        "master_password" => "mykeystorepassword",
                        "remote_access" => false,
                        "jvm_options" => ["-DMYAPP_CONFIG_DIR=/usr/local/myapp/config", "-Dcom.sun.enterprise.tools.admingui.NO_NETWORK=true"],
                        "secure" => false
                    },
                    'extra_libraries' => {
                        'realm' => {
                          'type' => 'common',
                          'url' => 'https://s3.amazonaws.com/somebucket/lib/realm.jar',
                          'requires_restart' => true
                        },
                        'jdbcdriver' => {
                          'type' => 'common',
                          'url' => 'https://s3.amazonaws.com/somebucket/lib/mysql-connector-java-5.1.25-bin.jar'
                        },
                        'encryption' => {
                          'type' => 'common',
                          'url' => 'https://s3.amazonaws.com/somebucket/lib/jasypt-1.9.0.jar'
                        }
                    },
                    'threadpools' => {
                      'thread-pool-1' => {
                        'maxthreadpoolsize' => 200,
                        'minthreadpoolsize' => 5,
                        'idletimeout' => 900,
                        'maxqueuesize' => 4096
                      },
                      'http-thread-pool' => {
                        'maxthreadpoolsize' => 200,
                        'minthreadpoolsize' => 5,
                        'idletimeout' => 900,
                        'maxqueuesize' => 4096
                      },
                      'admin-pool' => {
                        'maxthreadpoolsize' => 50,
                        'minthreadpoolsize' => 5,
                        'maxqueuesize' => 256
                      }
                    },
                    'iiop_listeners' => {
                      'orb-listener-1' => {
                        'enabled' => true,
                        'iiopport' => 1072,
                        'securityenabled' => false
                      }
                    },
                    'context_services' => {
                      'concurrent/MyAppContextService' => {
                        'description' => 'My Apps ContextService'
                      }
                    },
                    'managed_thread_factories' => {
                      'concurrent/myThreadFactory' => {
                        'threadpriority' => 12,
                        'description' => 'My Thread Factory'
                      }
                    },
                    'managed_executor_services' => {
                      'concurrent/myExecutorService' => {
                        'threadpriority' => 12,
                        'description' => 'My Executor Service'
                      }
                    },
                    'managed_scheduled_executor_services' => {
                      'concurrent/myScheduledExecutorService' => {
                        'corepoolsize' => 12,
                        'description' => 'My Executor Service'
                      }
                    },
                    'jdbc_connection_pools' => {
                        'RealmPool' => {
                            'config' => {
                                'datasourceclassname' => 'com.mysql.jdbc.jdbc2.optional.MysqlDataSource',
                                'restype' => 'javax.sql.DataSource',
                                'isconnectvalidatereq' => 'true',
                                'validationmethod' => 'auto-commit',
                                'ping' => 'true',
                                'description' => 'Realm Pool',
                                'properties' => {
                                   'Instance' => "jdbc:mysql://devdb.somecompany.com:3306/realmdb",
                                   'ServerName' => "devdb.somecompany.com",
                                   'User' => 'realmuser',
                                   'Password' => 'realmpw',
                                   'PortNumber' => '3306',
                                   'DatabaseName' => 'realmdb'
                                }
                            },
                            'resources' => {
                                'jdbc/Realm' => {
                                    'description' => 'Resource for Realm Pool',
                                }
                            }
                        },
                        'AppPool' => {
                            'config' => {
                                'datasourceclassname' => 'com.mysql.jdbc.jdbc2.optional.MysqlDataSource',
                                'restype' => 'javax.sql.DataSource',
                                'isconnectvalidatereq' => 'true',
                                'validationmethod' => 'auto-commit',
                                'ping' => 'true',
                                'description' => 'App Pool',
                                'properties' => {
                                  'Instance' => "jdbc:mysql://devdb.somecompany.com:3306/appdb",
                                  'ServerName' => "devdb.somecompany.com",
                                  'User' => 'appuser',
                                  'Password' => 'apppw',
                                  'PortNumber' => '3306',
                                  'DatabaseName' => 'appdb'
                                }
                            },
                            'resources' => {
                                'jdbc/App' => {
                                    'description' => 'Resource for App Pool',
                                }
                            }
                        }
                    },
                    'realms' => {
                        'custom-realm' => {
                            'classname' => 'com.somecompany.realm.CustomRealm',
                            'jaas-context' => 'customRealm',
                            'properties' => {
                                'jaas-context' => 'customRealm',
                                'datasource' => 'jdbc/Realm',
                                'groupQuery' => 'SELECT ...',
                                'passwordQuery' => 'SELECT ...'
                            }
                         }
                    },
                    'realm_types' => {
                        'customRealm' => 'com.somecompany.realm.CustomLoginModule'
                    },
                    'deployables' => {
                        'myapp' => {
                            'url' => 'https://s3.amazonaws.com/somebucket/apps/app.war',
                            'context_root' => '/'
                         }
                    },
                    "custom_resources" => {
                      "env/myapp/timeout" => {
                        "restype" => "java.lang.Long",
                        "value" => 300000
                      },
                      "env/myapp/mykey" => "123",
                      "env/myapp/someString" => "XYZ"
                    }
                }
            }
        }

glassfish::attribute_driven_mq

Configures 0 or more GlassFish OpenMQ brokers using the openmq/instances attribute.

The attribute_driven_mq recipe interprets attributes on the node and defines the resources described in the attributes.

glassfish::default

Downloads, and extracts the glassfish binaries, creates the glassfish user and group.

Does not create any Application Server or Message Broker instances. This recipe is not typically included directly but is included transitively through either glassfish::attribute_driven_domain or glassfish::attribute_driven_mq.

glassfish::search_driven_domain

Configures 0 or more GlassFish domains using search to generate the configuration.

Resources

glassfish_admin_object

Actions

  • create: Default action.
  • delete:

Attribute Parameters

  • jndi_name:
  • raname:
  • restype:
  • enabled: Defaults to true.
  • target: Defaults to "server".
  • classname: Defaults to nil.
  • description: Defaults to nil.
  • properties: Defaults to {}.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_asadmin

Asadmin is the command line application used to manage a GlassFish application server. Typically this resource is used when there is not yet a resource defined in this cookbook for executing an underlying command on the server.

Actions

  • run: Execute the command. Default action.

Attribute Parameters

  • command: The command to execute.
  • returns: A return code or an array of return codes that are considered successful completions. Defaults to 0.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

Examples

# List all the domains on the server
glassfish_asadmin "list-domains" do
   domain_name 'my_domain'
end

glassfish_auth_realm

Actions

  • create: Default action.
  • delete:

Attribute Parameters

  • realm_name:
  • target: Defaults to "server".
  • classname:
  • jaas_context: Defaults to nil.
  • assign_groups: Defaults to nil.
  • properties: Defaults to {}.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_connector_connection_pool

Actions

  • create: Default action.
  • delete:

Attribute Parameters

  • pool_name:
  • description: Defaults to nil.
  • raname:
  • connectiondefinition:
  • steadypoolsize: Defaults to nil.
  • maxpoolsize: Defaults to nil.
  • maxwait: Defaults to nil.
  • poolresize: Defaults to nil.
  • idletimeout: Defaults to nil.
  • leaktimeout: Defaults to nil.
  • validateatmostonceperiod: Defaults to nil.
  • maxconnectionusagecount: Defaults to nil.
  • creationretryattempts: Defaults to nil.
  • creationretryinterval: Defaults to nil.
  • isconnectvalidatereq: Defaults to nil.
  • failconnection: Defaults to nil.
  • leakreclaim: Defaults to nil.
  • lazyconnectionenlistment: Defaults to nil.
  • lazyconnectionassociation: Defaults to nil.
  • associatewiththread: Defaults to nil.
  • matchconnections: Defaults to nil.
  • ping: Defaults to nil.
  • pooling: Defaults to nil.
  • properties: Defaults to {}.
  • transactionsupport:
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_connector_resource

Actions

  • create: Default action.
  • delete:

Attribute Parameters

  • resource_name:
  • poolname:
  • enabled: Defaults to true.
  • target: Defaults to "server".
  • objecttype: Defaults to nil.
  • description: Defaults to nil.
  • properties: Defaults to {}.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_context_service

Actions

  • create: Default action.
  • delete:

Attribute Parameters

  • jndi_name:
  • target: Defaults to "server".
  • enabled: Determines whether container contexts are propagated to threads. If set to true, the contexts specified in the --contextinfo option are propagated. If set to false, no contexts are propagated and the --contextinfo option is ignored. Defaults to true.
  • contextinfoenabled: Defaults to true.
  • contextinfo: Descriptive details about the resource. Defaults to "Classloader,JNDI,Security,WorkArea".
  • description:
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_custom_resource

Actions

  • create: Default action.
  • delete:

Attribute Parameters

  • jndi_name:
  • target: Defaults to "server".
  • restype: Defaults to "java.lang.String".
  • factoryclass: Defaults to "org.glassfish.resources.custom.factory.PrimitivesAndStringFactory".
  • enabled: Defaults to true.
  • description: Defaults to nil.
  • properties: Defaults to {}.
  • value: Defaults to nil.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_deployable

Actions

  • deploy: Default action.
  • disable:
  • enable:
  • undeploy:

Attribute Parameters

  • component_name:
  • version: Defaults to nil.
  • target: Defaults to "server".
  • url: Defaults to nil.
  • enabled: Defaults to true.
  • type: Defaults to nil.
  • context_root: Defaults to nil.
  • virtual_servers: Defaults to [].
  • generate_rmi_stubs: Defaults to false.
  • availability_enabled: Defaults to false.
  • lb_enabled: Defaults to true.
  • keep_state: Defaults to false.
  • verify: Defaults to false.
  • precompile_jsp: Defaults to true.
  • async_replication: Defaults to true.
  • properties: Defaults to {}.
  • descriptors: Defaults to {}.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_domain

Creates a GlassFish application domain, creates an OS-level service and starts the service.

Actions

  • create: Create the domain, enable and start the associated service. Default action.
  • destroy: Stop the associated service and delete the domain directory and associated artifacts.

Attribute Parameters

  • min_memory: Defaults to 512.
  • max_memory: The amount of heap memory to allocate to the domain in MiB. Defaults to 512.
  • max_perm_size: The amount of perm gen memory to allocate to the domain in MiB. Defaults to 96.
  • max_stack_size: The amount of stack memory to allocate to the domain in KiB. Defaults to 350.
  • port: The port on which the HTTP service will bind. Defaults to 8080.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • extra_jvm_options: An array of extra arguments to pass the JVM. Defaults to [].
  • java_agents: An array of javaagent arguments to pass the JVM. Defaults to [].
  • env_variables: A hash of environment variables set when running the domain. Defaults to {}.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • master_password: Password used to access the keystore. Defaults to password if unset. Defaults to nil.
  • password: Password to use when communicating with the domain. Must be set if username is set. Defaults to nil.
  • password_file: The file in which the password is saved. Should be set if username is set. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • logging_properties: A hash of properties that will be merged into logging.properties. Use this to send logs to syslog or graylog. Defaults to {}.
  • realm_types: A map of names to realm implementation classes that is merged into the default realm types. Defaults to {}.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.
  • init_style: The init system used to run the service. Defaults to "upstart".

Examples

# Create a basic domain that logs to a central graylog server
glassfish_domain "my_domain" do
  port 80
  admin_port 8103
  extra_libraries ['https://github.com/downloads/realityforge/gelf4j/gelf4j-0.9-all.jar']
  logging_properties {
    "handlers" => "java.util.logging.ConsoleHandler, gelf4j.logging.GelfHandler",
    ".level" => "INFO",
    "java.util.logging.ConsoleHandler.level" => "INFO",
    "gelf4j.logging.GelfHandler.level" => "ALL",
    "gelf4j.logging.GelfHandler.host" => 'graylog.example.org',
    "gelf4j.logging.GelfHandler.defaultFields" => '{"environment": "' + node.chef_environment + '", "facility": "MyDomain"}'
  }
end

glassfish_iiop_listener

Actions

  • create: Default action.
  • delete:

Attribute Parameters

  • iioplistener_id:
  • target: Defaults to "server".
  • listeneraddress: Either the IP address or the hostname (resolvable by DNS).
  • iiopport: The IIOP port number. Defaults to 1072.
  • securityenabled: If set to true, the IIOP listener runs SSL. You can turn SSL2 or SSL3 ON or OFF and set ciphers using an SSL element. The security setting globally enables or disables SSL by making certificates available to the server instance. Defaults to false.
  • enabled: If set to true, the IIOP listener is enabled at runtime. Defaults to true.
  • properties: Optional attribute name/value pairs for configuring the IIOP listener. Defaults to {}.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_javamail_resource

Actions

  • create: Default action.
  • delete:

Attribute Parameters

  • jndi_name:
  • target: Defaults to "server".
  • mailhost:
  • mailuser:
  • fromaddress:
  • storeprotocol:
  • storeprotocolclass:
  • transprotocol:
  • transprotocolclass:
  • debug: Defaults to nil.
  • enabled: Defaults to true.
  • description: Defaults to nil.
  • properties: Defaults to {}.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_jdbc_connection_pool

Actions

  • create: Default action.
  • delete:

Attribute Parameters

  • pool_name:
  • datasourceclassname: Defaults to nil.
  • initsql: Defaults to nil.
  • sqltracelisteners: Defaults to nil.
  • driverclassname: Defaults to nil.
  • validationclassname: Defaults to nil.
  • validationtable: Defaults to nil.
  • steadypoolsize: Defaults to nil.
  • maxpoolsize: Defaults to nil.
  • maxwait: Defaults to nil.
  • poolresize: Defaults to nil.
  • idletimeout: Defaults to nil.
  • validateatmostonceperiod: Defaults to nil.
  • leaktimeout: Defaults to nil.
  • statementleaktimeout: Defaults to nil.
  • creationretryattempts: Defaults to nil.
  • creationretryinterval: Defaults to nil.
  • statementtimeout: Defaults to nil.
  • maxconnectionusagecount: Defaults to nil.
  • statementcachesize: Defaults to nil.
  • isisolationguaranteed: Defaults to nil.
  • isconnectvalidatereq: Defaults to nil.
  • failconnection: Defaults to nil.
  • allownoncomponentcallers: Defaults to nil.
  • nontransactionalconnections: Defaults to nil.
  • statmentleakreclaim: Defaults to nil.
  • leakreclaim: Defaults to nil.
  • lazyconnectionenlistment: Defaults to nil.
  • lazyconnectionassociation: Defaults to nil.
  • associatewiththread: Defaults to nil.
  • matchconnections: Defaults to nil.
  • ping: Defaults to nil.
  • pooling: Defaults to nil.
  • wrapjdbcobjects: Defaults to nil.
  • description: Defaults to nil.
  • properties: Defaults to {}.
  • restype: Defaults to nil.
  • isolationlevel:
  • validationmethod:
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_jdbc_resource

Actions

  • create: Default action.
  • delete:

Attribute Parameters

  • resource_name:
  • connectionpoolid:
  • enabled: Defaults to true.
  • target: Defaults to "server".
  • description: Defaults to nil.
  • properties: Defaults to {}.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_jms_resource

Actions

  • create: Default action.
  • delete:

Attribute Parameters

  • name:
  • target: Defaults to "server".
  • restype: Defaults to "javax.jms.Queue".
  • enabled: Defaults to true.
  • description: Defaults to nil.
  • properties: Defaults to {}.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_library

Actions

  • add: Default action.
  • remove:

Attribute Parameters

  • url:
  • library_type: Defaults to "common".
  • upload: Defaults to true.
  • requires_restart: Defaults to false.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.
  • init_style: The init system used to run the service. Defaults to "upstart".

glassfish_managed_executor_service

Actions

  • create: Default action.
  • delete:

Attribute Parameters

  • jndi_name:
  • target: Defaults to "server".
  • enabled: Determines whether container contexts are propagated to threads. If set to true, the contexts specified in the --contextinfo option are propagated. If set to false, no contexts are propagated and the --contextinfo option is ignored. Defaults to true.
  • contextinfoenabled: Defaults to true.
  • contextinfo: Descriptive details about the resource. Defaults to "Classloader,JNDI,Security,WorkArea".
  • description:
  • threadpriority: Specifies the priority to assign to created threads. Defaults to 5.
  • longrunningtasks: Specifies whether the resource should be used for long-running tasks. If set to true, long-running tasks are not reported as stuck. Defaults to false.
  • hungafterseconds: Specifies the number of seconds that a task can execute before it is considered unresponsive. If the value is 0 tasks are never considered unresponsive. Defaults to 0.
  • corepoolsize: Specifies the number of threads to keep in a thread pool, even if they are idle. Defaults to 0.
  • maximumpoolsize: Specifies the maximum number of threads that a thread pool can contain. Defaults to 2147483647.
  • keepaliveseconds: Specifies the number of seconds that threads can remain idle when the number of threads is greater than corepoolsize. Defaults to 60.
  • threadlifetimeseconds: Specifies the number of seconds that threads can remain in a thread pool before being purged, regardless of whether the number of threads is greater than corepoolsize or whether the threads are idle. The value of 0 means that threads are never purged. Defaults to 0.
  • taskqueuecapacity: Specifies the number of submitted tasks that can be stored in the task queue awaiting execution. Defaults to 2147483647.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_managed_scheduled_executor_service

Actions

  • create: Default action.
  • delete:

Attribute Parameters

  • jndi_name:
  • target: Defaults to "server".
  • enabled: Determines whether container contexts are propagated to threads. If set to true, the contexts specified in the --contextinfo option are propagated. If set to false, no contexts are propagated and the --contextinfo option is ignored. Defaults to true.
  • contextinfoenabled: Defaults to true.
  • contextinfo: Descriptive details about the resource. Defaults to "Classloader,JNDI,Security,WorkArea".
  • description:
  • threadpriority: Specifies the priority to assign to created threads. Defaults to 5.
  • longrunningtasks: Specifies whether the resource should be used for long-running tasks. If set to true, long-running tasks are not reported as stuck. Defaults to false.
  • hungafterseconds: Specifies the number of seconds that a task can execute before it is considered unresponsive. If the value is 0 tasks are never considered unresponsive. Defaults to 0.
  • corepoolsize: Specifies the number of threads to keep in a thread pool, even if they are idle. Defaults to 0.
  • keepaliveseconds: Specifies the number of seconds that threads can remain idle when the number of threads is greater than corepoolsize. Defaults to 60.
  • threadlifetimeseconds: Specifies the number of seconds that threads can remain in a thread pool before being purged, regardless of whether the number of threads is greater than corepoolsize or whether the threads are idle. The value of 0 means that threads are never purged. Defaults to 0.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_managed_thread_factory

Actions

  • create: Default action.
  • delete:

Attribute Parameters

  • jndi_name:
  • target: Defaults to "server".
  • enabled: Determines whether container contexts are propagated to threads. If set to true, the contexts specified in the --contextinfo option are propagated. If set to false, no contexts are propagated and the --contextinfo option is ignored. Defaults to true.
  • contextinfoenabled: Defaults to true.
  • contextinfo: Descriptive details about the resource. Defaults to "Classloader,JNDI,Security,WorkArea".
  • description:
  • threadpriority: Specifies the priority to assign to created threads. Defaults to 5.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_mq

Creates an OpenMQ message broker instance, creates an OS-level service and starts the service.

Actions

  • create: Create the message broker instance, enable and start the associated service. Default action.
  • destroy: Stop the associated service and delete the instance directory and associated artifacts.

Attribute Parameters

  • max_memory: The amount of heap memory to allocate to the domain in MiB. Defaults to 512.
  • max_stack_size: The amount of stack memory to allocate to the domain in KiB. Defaults to 250.
  • instance: The name of the broker instance.
  • users: A map of users to passwords for interacting with the service. Defaults to {}.
  • access_control_rules: An access control list of patterns to users. Defaults to {}.
  • logging_properties: A hash of properties that will be merged into logging.properties. Use this to send logs to syslog or graylog. Defaults to {"handlers"=>"java.util.logging.ConsoleHandler", ".level"=>"INFO", "java.util.logging.ConsoleHandler.level"=>"INFO"}.
  • config: A map of key-value properties that are merged into the OpenMQ configuration file. Defaults to {}.
  • queues: A map of queue names to queue properties. Defaults to {}.
  • topics: A map of topic names to topic properties. Defaults to {}.
  • jmx_admins: A map of username to password for read-write JMX admin interface. Ignored unless jmx_port is specified. Defaults to {}.
  • jmx_monitors: A map of username to password for read-only JMX admin interface. Ignored unless jmx_port is specified. Defaults to {}.
  • admin_user: The user in the users map that is used during administration. Defaults to "imqadmin".
  • port: The port for the portmapper to bind. Defaults to 7676.
  • admin_port: The port on which admin service will bind. Defaults to 7677.
  • jms_port: The port on which jms service will bind. Defaults to 7678.
  • jmx_port: The port on which jmx service will bind. If not specified, no jmx service will be exported. Defaults to nil.
  • stomp_port: The port on which the stomp service will bind. If not specified, no stomp service will execute. Defaults to nil.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.
  • init_style: The init system used to run the service. Defaults to "upstart".

Examples

# Create a basic mq broker instance
glassfish_mq "MessageBroker" do
  port 80
  jmx_port 8089
  jmx_admins { 'admin' => 'secret1' }
  jmx_monitors { 'monitoring_system' => 'secret2' }
  logging_properties {
    "handlers" => "java.util.logging.ConsoleHandler, gelf4j.logging.GelfHandler",
      ".level" => "INFO",
      "java.util.logging.ConsoleHandler.level" => "INFO",
      "gelf4j.logging.GelfHandler.level" => "ALL",
      "gelf4j.logging.GelfHandler.host" => 'graylog.example.org',
      "gelf4j.logging.GelfHandler.defaultFields" => '{"environment": "' + node.chef_environment + '", "facility": "MyInstance"}'
  }
  users { 'MyApp' => 'MyAppsPassword', 'MyOtherApp' => 'S3Cr37' }
  queues { 'MySystem.MyMessageQueue' => {'XMLSchemaURIList' => 'http://example.com/...'} }
  access_control_rules {
    'queue.MySystem.MyMessageQueue.browse.allow.user' => '*',
      'queue.MySystem.MyMessageQueue.produce.allow.user' => 'MyApp',
      'queue.MySystem.MyMessageQueue.consume.allow.user' => 'MyOtherApp'
  }
end

glassfish_mq_destination

Creates or deletes a queue or a topic in an OpenMQ message broker instance.

Actions

  • create: Create the destination. Default action.
  • destroy: Destroy the destination.

Attribute Parameters

  • destination_name: The name of the destination.
  • queue: True if the destination is a queue, false for a topic.
  • config: The configuration settings for queue. Valid properties include those exposed by JMX. Also supports the key 'schema' containing a URL which expands to 'validateXMLSchemaEnabled=true' and 'XMLSchemaURIList=$uri'. Defaults to {}.
  • host: The host of the OpenMQ message broker instance.
  • port: The port of the portmapper service in message broker instance.
  • username: The username used to connect to message broker. Defaults to "imqadmin".
  • passfile: The filename of a property file that contains a password for admin user set using the property "imq.imqcmd.password".
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

Examples

# Create a queue destination
glassfish_destination "MySystem.MyMessageQueue" do
  queue true
  config {'schema' => 'http://example.org/MyMessageFormat.xsd'}
  host "localhost"
  port 7676
  username 'imqadmin'
  passfile '/etc/omq/omqadmin.pass'
end

glassfish_mq_ensure_running

Ensures that a OpenMQ message broker instance has had a chance to finish starting before proceeding.

Actions

  • run: Block until the broker has come online. Default action.

Attribute Parameters

  • host: The host on which the broker runs.
  • port: The port on which the broker listens.

Examples

# Wait for OpenMQ broker to start
glassfish_mq_ensure_running "wait for broker" do
  host "localhost"
  port 7676
end

glassfish_property

Actions

  • set: Default action.

Attribute Parameters

  • key:
  • value:
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_resource_adapter

Actions

  • create: Default action.
  • delete:

Attribute Parameters

  • resource_adapter_name:
  • threadpoolid: Defaults to nil.
  • objecttype: Defaults to nil.
  • properties: Defaults to {}.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

glassfish_secure_admin

Enable or disable secure admin flag on the GlassFish server which enables/disables remote administration.

Actions

  • enable: Enable remote access/secure admin. Default action.
  • disable: Disable remote access/secure admin.

Attribute Parameters

  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.
  • init_style: The init system used to run the service. Defaults to "upstart".

Examples

glassfish_secure_admin "My Domain Remote Access" do
   action :enable
end

glassfish_thread_pool

Actions

  • create: Default action.
  • delete:

Attribute Parameters

  • threadpool_id:
  • target: Defaults to "server".
  • maxthreadpoolsize: Specifies the maximum number of threads the pool can contain. Defaults to 5.
  • minthreadpoolsize: Specifies the minimum number of threads in the pool. These are created when the thread pool is instantiated. Defaults to 2.
  • idletimeout: Specifies the amount of time in seconds after which idle threads are removed from the pool. Defaults to 900.
  • maxqueuesize: Specifies the maximum number of messages that can be queued until threads are available to process them for a network listener or IIOP listener. A value of -1 specifies no limit. Defaults to 4096.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.
  • init_style: The init system used to run the service. Defaults to "upstart".

glassfish_web_env_entry

Set a value that can be retrieved as a web env entry in a particular web application. This resource is idempotent and will not set the entry if it already exists and has the same value. Nil values can be specified. The java type of the value must also be specified.

Actions

  • set: Set the value as entry. Default action.
  • unset: Remove the entry.

Attribute Parameters

  • webapp: The name of the web application name.
  • name: The key name of the web env entry.
  • type: The java type name of env entry. Defaults to "java.lang.String".
  • value: The value of the entry. Defaults to nil.
  • description: A description of the entry. Defaults to nil.
  • domain_name: The name of the domain.
  • terse: Use terse output from the underlying asadmin. Defaults to false.
  • echo: If true, echo commands supplied to asadmin. Defaults to true.
  • username: The username to use when communicating with the domain. Defaults to nil.
  • password_file: The file in which the password must be stored assigned to appropriate key. Defaults to nil.
  • secure: If true use SSL when communicating with the domain for administration. Defaults to false.
  • admin_port: The port on which the web management console is bound. Defaults to 4848.
  • system_user: The user that the domain executes as. Defaults to node['glassfish']['user'] if unset. Defaults to nil.
  • system_group: The group that the domain executes as. Defaults to node['glassfish']['group'] if unset. Defaults to nil.

Examples

glassfish_web_env_entry "Set IntegrationServerURL" do
   domain_name 'my_domain'
   name 'IntegrationServerURL'
   value 'http://example.com/Foo'
   type 'java.lang.String'
end

License and Maintainer

Maintainer:: Peter Donald

License:: Apache 2.0

About

A cookbook for managing GlassFish

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 98.7%
  • Other 1.3%