wildfly
: Main class, includes all other classes.wildfly::external_facts
: Set external wildflty factswildfly::install
: Downloads and installs Wildfly from a remote source or a system package.wildfly::prepare
: Manages Wildfly requirements (user, group, dirs and packages)wildfly::secure_mgmt_api
: Manages secure management apiwildfly::service
: Manages Wildfly service.wildfly::service::systemd
: Wildfly systemd configurationwildfly::setup
: Manages Wildfly configuration required to run in service mode.
wildfly::cli
: Executes an arbitrary JBoss-CLI command `[node-type=node-name (/node-type=node-name)] : operation-name ['('[name=value [, name=value]]')'wildfly::config::app_user
: Manages an Application User (application-users.properties
) for Wildfly.wildfly::config::mgmt_user
: Manages a Management User (mgmt-users.properties
) for Wildfly.wildfly::config::module
: Manages a Wildfly module ($WILDFLY_HOME/modules
).wildfly::config::user
: Generic Wildfly user management.wildfly::config::user_groups
: Manages groups for a Management User (mgmt-groups.properties
).wildfly::config::user_roles
: Manages roles for an Application User (application-roles.properties
).wildfly::datasources::datasource
: Configures a datasourcewildfly::datasources::db_property
: Configures connection property in a databasewildfly::datasources::driver
: Configures a driverwildfly::datasources::xa_datasource
: Configures a xa_datasourcewildfly::deployment
: Manages a deployment (JAR, EAR, WAR) in Wildfly. This define is a wrapper forwildfly_deployment
that defaults to your local Wildfly instwildfly::domain::server_group
: Manages a domain server group.wildfly::host::server_config
: Manages a host server-config. This defined type should be used at a slave machine (considering domain mode). You can use this resource to remwildfly::jgroups::stack
: Configures jgroups stackswildfly::jgroups::stack::tcp
: Configures jgroups TCP-based stacks.wildfly::jgroups::stack::tcpgossip
: Configures a tcpgossip stack.wildfly::jgroups::stack::tcpping
: Configures a tcpping stack.wildfly::logging::category
: Configures a log categorywildfly::messaging::activemq::connection_factory
: Configures a connection factorywildfly::messaging::activemq::queue
: Configures a queuewildfly::messaging::activemq::topic
: Configures a topicwildfly::messaging::queue
: Configures a queuewildfly::messaging::topic
: Configures a topicwildfly::modcluster::config
: Configures modcluster subsystemwildfly::patch::offline
: Applies patches offline.wildfly::patch::online
: Applies patches online. Requires server restart.wildfly::reload
: Performs a system reload when a reload is requiredserver-state=reload-required
. This define is a wrapper forwildfly_restart
that defawildfly::resource
: Manages a Wildfly configuration resource: e.g/subsystem=datasources/data-source=MyDS or /subsystem=datasources/jdbc-driver=postgresql
. Vwildfly::restart
: Performs a full restart system when a restart is requiredserver-state=restart-required
. This define is a wrapper forwildfly_restart
twildfly::security::domain
: This is a defined resource type for creating a security domain Please also see: https://docs.jboss.org/author/display/WFLY9/Security+subsystewildfly::security::group_role_mapping
wildfly::security::ldap_realm
: This defined resource configures a (opiniated!!) LDAP security realm. Based on (among others): - https://access.redhat.com/documentation/en-wildfly::security::login_module
: This is the login-module configuration for a security domain Multiple login-modules can be specified for a single security domain. [*domain_wildfly::security::user_role_mapping
wildfly::system::property
: Configures a system propertywildfly::undertow::https
: Configures a connectorwildfly::web::connector
wildfly::web::ssl
wildfly_cli
: Executes JBoss-CLI commmandswildfly_deployment
: Manages JBoss deploymentwildfly_resource
: Manages JBoss resources like datasources, messaging, ssl, modcluster, etcwildfly_restart
: Manage JBoss restarts.
os_config
: Default OS configuration for a specific distribution and version.wildfly::objectify
: Converts a LIST of STRINGs and OBJECTs into an OBJECT of OBJECTs.wildfly::patch_args
: Generate args for JBoss-CLIpatch
command.wildfly::profile_path
: Transform a profile name to a JBoss-CLI profile path.wildfly::service_config
: Default service configuration for a specific distribution, version execution mode and initsystem.
Main class, includes all other classes.
The following parameters are available in the wildfly
class:
config
conf_file
conf_template
console_log
custom_init
distribution
dirname
domain_config
external_facts
gid
group
host_config
install_cache_dir
deploy_cache_dir
install_download_timeout
install_source
java_home
java_opts
java_xmx
java_xms
java_maxmetaspace_size
jboss_opts
manage_user
mgmt_user
mgmt_create_keystores
mgmt_keystore
mgmt_keystore_alias
mgmt_keystore_pass
mgmt_ssl_cert
mgmt_ssl_key
mode
mode_template
overlay_class
package_ensure
package_name
package_version
properties
remote_debug
remote_debug_port
remote_username
secret_value
secure_mgmt_api
service_ensure
service_enable
service_file
service_name
service_manage
shutdown_wait
startup_wait
systemd_template
uid
user
user_home
version
process_controller_java_opts
host_controller_java_opts
Data type: Wildfly::Config_file
Sets Wildfly configuration file for initialization when you're using 'standalone' mode.
Default value: 'standalone.xml'
Data type: Optional[Stdlib::Unixpath]
Sets a file to be used for service configuration.
Default value: undef
Data type: Optional[String]
Sets a template file for service configuration.
Default value: undef
Data type: Stdlib::Unixpath
Configures service log file.
Default value: '/var/log/wildfly/console.log'
Data type: Optional[String]
Sets a custom init script.
Default value: undef
Data type: Wildfly::Distribution
Sets the Wildfly distribution: 'wildfly' or 'jboss-eap'.
Default value: 'wildfly'
Data type: Stdlib::Unixpath
JBOSS_HOME
. i.e. The directory where your Wildfly will live.
Default value: '/opt/wildfly'
Data type: Wildfly::Config_file
Sets Wildfly configuration file for initialization when you're using 'domain' mode.
Default value: 'domain.xml'
Data type: Boolean
Whether it should deploy external facts.
Default value: false
Data type: Optional[Integer]
Sets managed group ID.
Default value: undef
Data type: String
Group to own JBOSS_HOME
. If manage_user
is true
, this group will be managed.
Default value: 'wildfly'
Data type: Wildfly::Config_file
Sets Wildfly Host configuration file for initialization when you're using 'domain' mode.
Default value: 'host.xml'
Data type: Stdlib::Unixpath
The directory to be used for wget cache.
Default value: '/var/cache/wget'
Data type: Stdlib::Unixpath
The directory to be used for deployment cache.
Default value: '/opt'
Data type: Integer
Sets the timeout for installer download.
Default value: 500
Data type:
Variant[Pattern[/^file:\/\//],
Pattern[/^puppet:\/\//],
Stdlib::Httpsurl, Stdlib::Httpurl,
Undef
]
Custom source of Wildfly tarball installer. Defaults to standard Wildfly repositories.
Default value: undef
Data type: Stdlib::Unixpath
Sets the JAVA_HOME
for Wildfly.
Default value: '/usr/java/default'
Data type: Variant[Undef, String, Array]
Sets JAVA_OPTS
, allowing to override several Java params, like Xmx
, Xms
and MaxMetaspaceSize
,
Default value: undef
Data type: String
Sets Java's -Xmx
parameter.
Default value: '512m'
Data type: String
Sets Java's -Xms
parameter.
Default value: '256m'
Data type: String
Sets Java's -XX:MaxMetaspaceSize
parameter.
Default value: '128m'
Data type: Optional[String]
Sets JBOSS_OPTS
, allowing to override several JBoss properties. It only works with Wildfly 8.2+.
Default value: undef
Data type: Boolean
Whether this module should manage wildfly user and group.
Default value: true
Data type: Struct[{ username => String, password => String }]
Hash containing a Wildfly's management user to be used internally.
Default value:
{
username => 'puppet',
password => fqdn_rand_string(30),
}
Data type: Boolean
Enables or disables the creation of keystores for TLS enabled ManagementRealm.
Default value: true
Data type: Stdlib::Unixpath
Path to a pre-defined keystore to be used for a TLS enabled ManagementRealm.
Default value: "${dirname}/${mode}/configuration/mgmt.jks"
Data type: String
The java keystore 'alias' to be used for a TLS enabled ManagementRealm.
Default value: 'mgmt'
Data type: String
The java keystore password to be used for a TLS enabled ManagementRealm.
Default value: 'changeit'
Data type: Optional[Stdlib::Unixpath]
Path to the certificate used for setting up the ManagementRealm keystore.
Default value: undef
Data type: Optional[Stdlib::Unixpath]
Path to the private key used for setting up the ManagementRealm keystore.
Default value: undef
Data type: Wildfly::Mode
Sets Wildfly execution mode will run, 'standalone' or 'domain'.
Default value: 'standalone'
Data type: String
Sets epp template for standalone.conf or domain.conf.
Default value: "wildfly/${mode}.conf"
Data type: Optional[String]
Sets a class to be applied between 'install' and 'setup' classes.
Default value: undef
Data type: String
Wheter it should manage required packages.
Default value: 'present'
Data type: Optional[String]
Sets Wildfly package name.
Default value: undef
Data type: Optional[String]
Sets Wildfly package version.
Default value: undef
Data type: Hash[Pattern[/^\w*(\.\w*-?\w*)*$/], String]
Sets properties for your service.
Default value:
{
'jboss.bind.address' => '0.0.0.0',
'jboss.bind.address.management' => '127.0.0.1',
'jboss.management.http.port' => '9990',
'jboss.management.https.port' => '9993',
'jboss.http.port' => '8080',
'jboss.https.port' => '8443',
'jboss.ajp.port' => '8009',
}
Data type: Boolean
Whether remote debug should be enabled.
Default value: false
Data type: Integer
Sets the port to be used by remote debug.
Default value: 8787
Data type: Optional[String]
Sets remote username in host config.
Default value: undef
Data type: Optional[String]
Sets the secret value in host config.
Default value: undef
Data type: Boolean
Setup and use HTTPS calls to the management API.
Default value: false
Data type: Boolean
Sets Wildfly's service 'ensure'.
Default value: true
Data type: Boolean
Sets Wildfly's service 'enable'.
Default value: true
Data type: Optional[Stdlib::Unixpath]
Sets a file to be used for service management.
Default value: undef
Data type: Optional[String]
Sets Wildfly's service 'name'.
Default value: undef
Data type: Boolean
Reload Wildfly's service when changed config.
Default value: true
Data type: Integer
Sets the time to wait for the process to be shutdown - sysvinit scripts only.
Default value: 30
Data type: Integer
Sets the time to wait for the process to be up - sysvinit scripts only.
Default value: 30
Data type: Optional[String]
Sets a custom systemd template.
Default value: undef
Data type: Optional[Integer]
Sets managed user ID.
Default value: undef
Data type: String
User to own JBOSS_HOME
. If manage_user
is true
, this user will be managed.
Default value: 'wildfly'
Data type: Stdlib::Unixpath
User home directory. Defaults to '/home/wildfly'
Default value: '/home/wildfly'
Data type: Pattern[/^(\d{1,}\.\d{1,}(\.\d{1,})?$)/]
Sets the Wildfly version managed in order to handle small differences among versions.
Default value: '9.0.2'
Data type: Variant[Undef, String, Array]
Default value: undef
Data type: Variant[Undef, String, Array]
Default value: undef
Set external wildflty facts
Downloads and installs Wildfly from a remote source or a system package.
Manages Wildfly requirements (user, group, dirs and packages)
Manages secure management api
Manages Wildfly service.
Wildfly systemd configuration
Manages Wildfly configuration required to run in service mode.
Executes an arbitrary JBoss-CLI command
[node-type=node-name (/node-type=node-name)*] : operation-name ['('[name=value [, name=value]*]')'] [{header (;header)*}]
.
This define is a wrapper for wildfly_cli
that defaults to your local Wildfly installation.
The following parameters are available in the wildfly::cli
defined type:
Data type: String
The actual command to execute.
Default value: $title
Data type: Optional[String]
If this parameter is set, then this cli
will only run if this command condition is met.
Default value: undef
Data type: Optional[String]
If this parameter is set, then this cli
will run unless this command condition is met.
Default value: undef
Data type: String
Wildfly's management user to be used internally.
Default value: $wildfly::mgmt_user['username']
Data type: String
The password for Wildfly's management user.
Default value: $wildfly::mgmt_user['password']
Data type: String
The IP address or FQDN of the JBoss Management service.
Default value: $wildfly::properties['jboss.bind.address.management']
Data type: String
The port of the JBoss Management service.
Default value: $wildfly::properties['jboss.management.http.port']
Data type: Boolean
Use https port or http port.
Default value: $wildfly::secure_mgmt_api
Data type: Optional[Boolean]
Default value: undef
Manages an Application User (application-users.properties
) for Wildfly.
The following parameters are available in the wildfly::config::app_user
defined type:
Data type: String
The user password.
Manages a Management User (mgmt-users.properties
) for Wildfly.
The following parameters are available in the wildfly::config::mgmt_user
defined type:
Data type: String
The user password.
Manages a Wildfly module ($WILDFLY_HOME/modules
).
The following parameters are available in the wildfly::config::module
defined type:
Data type:
Variant[
Pattern[/^\./],
Pattern[/^file:\/\//],
Pattern[/^puppet:\/\//],
Stdlib::Httpsurl,
Stdlib::Httpurl
]
Sets the source for this module, either a local file file://
, a remote one http://
or puppet://
.
Data type: String
Sets the EPP template to module.xml file. Default to 'wildfly/module.xml'.
Default value: 'wildfly/module.xml'
Data type: Array
Sets the dependencies for this module e.g. javax.transaction
.
Default value: []
Data type: Boolean
Whether this is a system (system/layers/base
) module or not.
Default value: true
Data type: Optional[String]
Sets a file source for module.xml. If set, template is ignored.
Default value: undef
Generic Wildfly user management.
The following parameters are available in the wildfly::config::user
defined type:
Data type: String
User password.
Data type: String
Name of config file.
Manages groups for a Management User (mgmt-groups.properties
).
The following parameters are available in the wildfly::config::user_groups
defined type:
Data type: String
List of groups to associate with this user.
Manages roles for an Application User (application-roles.properties
).
The following parameters are available in the wildfly::config::user_roles
defined type:
Data type: String
List of roles to associate with this user.
Configures a datasource
The following parameters are available in the wildfly::datasources::datasource
defined type:
Data type: Optional[Hash]
datasource config
Default value: undef
Data type: Optional[String]
for domain mode you need to set this parameter
Default value: undef
Configures connection property in a database
The following parameters are available in the wildfly::datasources::db_property
defined type:
Data type: String
datasource database
Data type: Optional[String]
datasource db property value
Default value: undef
Data type: Optional[String]
for domain mode you need to set this parameter
Default value: undef
Configures a driver
The following parameters are available in the wildfly::datasources::driver
defined type:
Data type: String
datasource driver
Data type: String
datasource driver module name
Data type: Optional[String]
datasource driver class name
Default value: undef
Data type: Optional[String]
datasource driver xa class name
Default value: undef
Data type: Optional[String]
for domain mode you need to set this parameter
Default value: undef
Configures a xa_datasource
The following parameters are available in the wildfly::datasources::xa_datasource
defined type:
Data type: Optional[Hash]
xa_datasource config
Default value: undef
Data type: Optional[String]
for domain mode you need to set this parameter
Default value: undef
Manages a deployment (JAR, EAR, WAR) in Wildfly.
This define is a wrapper for wildfly_deployment
that defaults to your local Wildfly installation.
The following parameters are available in the wildfly::deployment
defined type:
Data type: Enum[present, absent]
Whether the deployment should exist (present
) or not (absent
).
Default value: present
Data type:
Variant[
Pattern[/^file:\/\//],
Pattern[/^puppet:\/\//],
Stdlib::Httpsurl,
Stdlib::Httpurl
]
Sets the source for this deployment, either a local file file://
or a remote file http://
.
Data type: Optional[Integer]
Sets the timeout to deploy this resource.
Default value: undef
Data type: Optional[String]
Sets the target server-group
for this deployment.
Default value: undef
Data type: Hash
Sets operation-headers (e.g. { 'allow-resource-service-restart' => true, 'rollback-on-runtime-failure' => false, 'blocking-timeout' => 600}
) to be used when creating/destroying this deployment.
Default value: {}
Data type: String
Wildfly's management user to be used internally.
Default value: $wildfly::mgmt_user['username']
Data type: String
The password for Wildfly's management user.
Default value: $wildfly::mgmt_user['password']
Data type: String
The IP address or FQDN of the JBoss Management service.
Default value: $wildfly::properties['jboss.bind.address.management']
Data type: String
The port of the JBoss Management service.
Default value: $wildfly::properties['jboss.management.http.port']
Data type: Boolean
Use https port or http port.
Default value: $wildfly::secure_mgmt_api
Manages a domain server group.
The following parameters are available in the wildfly::domain::server_group
defined type:
Data type: Enum[present, absent]
Whether the resource should exist (present
) or not (absent
).
Default value: present
Data type: Optional[String]
Sets profile referenced by the server-group.
Default value: undef
Data type: Optional[String]
Sets socket-binding-group referenced by the server-group.
Default value: undef
Data type: Integer
Sets socket-binding-port-offset server-config port offset.
Default value: 0
Data type: String
Sets jvm name configured to the server-group.
Default value: 'default'
Data type: Hash
Sets jvm configurations like ,
etc.
Default value: {}
Manages a host server-config. This defined type should be used at a slave machine (considering domain mode). You can use this resource to remove default servers server-one and server-two (present at default host-slave.xml). If you removed the default server-groups in the domain controller (main-server-group and other-server-group) you'll need to ensure that the resources are applied after the Wildfly installation and before the module starts to setup Wildfly to enable and run the service (or the host controller service will not run at all because the servers are associated to server-groups that doesn't exist). For this case, use a overlay_class (wildfly::overlay_class param) or the following snippet:
wildfly::host::server_config { ['server-one', 'server-two']: ensure => absent, hostname => $hostname, username => $username, password => $password, require => Class['wildfly::install'], before => Class['wildfly::setup'], }
The following parameters are available in the wildfly::host::server_config
defined type:
ensure
server_group
offset
auto_start
wildfly_dir
host_config
hostname
username
password
controller_address
controller_mgmt_port
start_server_after_created
Data type: Enum[present, absent]
Whether the resource should exist (present
) or not (absent
).
Default value: present
Data type: Optional[String]
Sets server-group associated to server-config.
Default value: undef
Data type: Integer
Sets server-config port offset.
Default value: 0
Data type: Boolean
Sets server to autostart with JBoss Service.
Default value: true
Data type: Stdlib::Unixpath
JBOSS_HOME
. i.e. The directory where your Wildfly will live.
Default value: $wildfly::dirname
Data type: Optional[Wildfly::Config_file]
Sets Wildfly Host configuration file used for initialization in 'domain' mode.
Default value: $wildfly::host_config
Data type: Optional[String]
Name used to identify host using JBoss CLI (/host=${hostname}).
Default value: undef
Data type: Optional[String]
Username to connect to domain controller.
Default value: undef
Data type: Optional[String]
Password to connect to domain controller.
Default value: undef
Data type: Optional[String]
Domain controller address where the host will connect to configure the server-config.
Default value: $wildfly::properties['jboss.domain.master.address']
Data type: Integer
Sets domain controller management port.
Default value: 9990
Data type: Boolean
Sets if the server should be started right after created.
Default value: true
Configures jgroups stacks
The following parameters are available in the wildfly::jgroups::stack
defined type:
Data type: Array[Variant[Hash, String]]
List of protocols to use
Data type: Hash
Transport config hash.
Configures jgroups TCP-based stacks.
The following parameters are available in the wildfly::jgroups::stack::tcp
defined type:
Data type: Hash
TCP properties hash.
Configures a tcpgossip stack.
The following parameters are available in the wildfly::jgroups::stack::tcpgossip
defined type:
Data type: String
Comma delimited list of hosts to be contacted for initial membership.
Data type: Integer
Number of initial members.
Data type: Integer
Max time for socket creation. Default is 3000 msec.
Default value: 3000
Configures a tcpping stack.
The following parameters are available in the wildfly::jgroups::stack::tcpping
defined type:
Data type: String
Comma delimited list of hosts to be contacted for initial membership.
Data type: Integer
Number of initial members.
Data type: Integer
Max time for socket creation. Default is 3000 msec.
Default value: 3000
Data type: Integer
Number of additional ports to be probed for membership. A port_range of 0 does not probe additional ports. Example: initial_hosts=A[7800] port_range=0 probes A:7800, port_range=1 probes A:7800 and A:7801.
Default value: 0
Configures a log category
The following parameters are available in the wildfly::logging::category
defined type:
Data type: Enum['DEBUG', 'INFO', 'ERROR']
Log level
Default value: 'INFO'
Data type: Boolean
Wheter to use parent handlers or not
Default value: false
Data type: Optional[Array[String[1]]]
List of log handlers to use
Default value: undef
Data type: Optional[String]
For domain mode you need to set this parameter
Default value: undef
Configures a connection factory
The following parameters are available in the wildfly::messaging::activemq::connection_factory
defined type:
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Configures a queue
The following parameters are available in the wildfly::messaging::activemq::queue
defined type:
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Configures a topic
The following parameters are available in the wildfly::messaging::activemq::topic
defined type:
Data type: Any
Data type: Any
Default value: undef
Configures a queue
The following parameters are available in the wildfly::messaging::queue
defined type:
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Configures a topic
The following parameters are available in the wildfly::messaging::topic
defined type:
Data type: Any
Data type: Any
Default value: undef
Configures modcluster subsystem
The following parameters are available in the wildfly::modcluster::config
defined type:
advertise_socket
connector
type
excluded_contexts
balancer
load_balancing_group
proxy_list
proxies
proxy_url
sticky_session
target_profile
Data type: Any
Default value: 'modcluster'
Data type: Any
Default value: 'ajp'
Data type: Any
Default value: 'busyness'
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Applies patches offline.
The following parameters are available in the wildfly::patch::offline
defined type:
Data type: Stdlib::Unixpath
path to patch file.
Data type: Boolean
Whether it should solve all conflicts by overriding current files.
Default value: false
Data type: Array
List of files to be overridden.
Default value: []
Data type: Array
List of files to be preserved.
Default value: []
Applies patches online. Requires server restart.
The following parameters are available in the wildfly::patch::online
defined type:
Data type: Stdlib::Unixpath
path to patch file.
Data type: Boolean
Whether it should solve all conflicts by overriding current files.
Default value: false
Data type: Array
List of files to be overridden.
Default value: []
Data type: Array
List of files to be preserved.
Default value: []
Performs a system reload when a reload is required server-state=reload-required
.
This define is a wrapper for wildfly_restart
that defaults to your local Wildfly installation.
It is commonly used as a subscriber of a resource that requires reload.
The following parameters are available in the wildfly::reload
defined type:
Data type: Integer
Sets the number of retries to check if service is available.
Default value: 3
Data type: Integer
Sets the amount of time in seconds that this resource will wait for the service to be available before a attempt.
Default value: 10
Data type: String
Wildfly's management user to be used internally.
Default value: $wildfly::mgmt_user['username']
Data type: String
The password for Wildfly's management user.
Default value: $wildfly::mgmt_user['password']
Data type: String
The IP address or FQDN of the JBoss Management service.
Default value: $wildfly::properties['jboss.bind.address.management']
Data type: String
The port of the JBoss Management service.
Default value: $wildfly::properties['jboss.management.http.port']
Data type: Boolean
Use https port or http port.
Default value: $wildfly::secure_mgmt_api
Manages a Wildfly configuration resource: e.g /subsystem=datasources/data-source=MyDS or /subsystem=datasources/jdbc-driver=postgresql
.
Virtually anything in your configuration XML file that can be manipulated using JBoss-CLI could be managed by this defined type.
This define is a wrapper for wildfly_resource
that defaults to your local Wildfly installation.
The following parameters are available in the wildfly::resource
defined type:
ensure
recursive
undefine_attributes
content
operation_headers
profile
username
password
host
port
secure
Data type: Enum[present, absent]
Whether the resource should exist (present
) or not (absent
).
Default value: present
Data type: Boolean
Whether it should manage the resource recursively or not.
Default value: false
Data type: Boolean
Whether it should undefine attributes with undef value.
Default value: false
Data type: Hash
Sets the content/state of the target resource.
Default value: {}
Data type: Hash
Sets operation-headers (e.g. { 'allow-resource-service-restart' => true, 'rollback-on-runtime-failure' => false, 'blocking-timeout' => 600}
) to be used when creating/destroying this resource.
Default value: {}
Data type: Optional[String]
Sets the target profile to prefix resource name. Requires domain mode.
Default value: undef
Data type: String
Wildfly's management user to be used internally.
Default value: $wildfly::mgmt_user['username']
Data type: String
The password for Wildfly's management user.
Default value: $wildfly::mgmt_user['password']
Data type: String
The IP address or FQDN of the JBoss Management service.
Default value: $wildfly::properties['jboss.bind.address.management']
Data type: String
The port of the JBoss Management service.
Default value: $wildfly::properties['jboss.management.http.port']
Data type: Boolean
Use https port or http port.
Default value: $wildfly::secure_mgmt_api
Performs a full restart system when a restart is required server-state=restart-required
.
This define is a wrapper for wildfly_restart
that defaults to your local Wildfly installation.
It is commonly used as a subscriber of a resource that requires restart.
The following parameters are available in the wildfly::restart
defined type:
Data type: Integer
Sets the number of retries to check if service is available.
Default value: 3
Data type: Integer
Sets the amount of time in seconds that this resource will wait for the service to be available before a attempt.
Default value: 20
Data type: String
Wildfly's management user to be used internally.
Default value: $wildfly::mgmt_user['username']
Data type: String
The password for Wildfly's management user.
Default value: $wildfly::mgmt_user['password']
Data type: String
The IP address or FQDN of the JBoss Management service.
Default value: $wildfly::properties['jboss.bind.address.management']
Data type: String
The port of the JBoss Management service.
Default value: $wildfly::properties['jboss.management.http.port']
Data type: Boolean
Use https port or http port.
Default value: $wildfly::secure_mgmt_api
This is a defined resource type for creating a security domain Please also see: https://docs.jboss.org/author/display/WFLY9/Security+subsystem+configuration
[domain_name] Name of the security domain to be created on the Wildfly server.
[login_modules]
A hash with a specification of all login-modules to add to the domain.
Also see the documentation of wildfly::security::login_module
Example:
{ 'login-module-1' => {
domain_name => 'my-security-domain',
code => 'DirectDomain',
flag => 'required',
module_options => { realm => 'my-security-realm' }
},
'login-module-2' => {
...
}
}
The following parameters are available in the wildfly::security::domain
defined type:
Data type: String
Default value: $title
Data type: Hash
Default value: {}
The wildfly::security::group_role_mapping class.
The following parameters are available in the wildfly::security::group_role_mapping
defined type:
Data type: Any
Data type: Any
Default value: $title
Data type: Any
Default value: undef
This defined resource configures a (opiniated!!) LDAP security realm.
Based on (among others):
- https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6/html/Development_Guide/Add_a_New_Security_Realm.html
- https://docs.jboss.org/author/display/WFLY9/Security+Realms
- https://docs.jboss.org/author/display/WFLY9/The+native+management+API
- https://docs.jboss.org/author/display/WFLY9/Security+subsystem+configuration
- http://wildscribe.github.io/Wildfly/9.0.0.Final/core-service/management/security-realm/index.html
The realm created is a security realm that can be associated with a management interface and used
to control access to the management and/or application services.
This LDAP security realm uses LDAP as the user repository to determine who is trying to log
in (authentication).
The authorization in this LDAP realm performs a group search in the LDAP server, where the group
entry contains an attribute referencing it's members (member
attribute). A simple filter configuration
to identify the users distinguished name from their username is then used to create the mapping
between user and LDAP groups.
This configuration assumes the 'group-to-principal' and 'username-filter' to be used. Future versions
of this type might also allow 'principal-to-group' and 'advanced-filter'/'username-is-dn'. It does
not at this time. Also this module assumes the same type of cache to be used for both group and
username searches.
When using this security realm, you should also create group mappings in order to map
LDAP group names to the default Wildfly roles. See: wildfly_wrapper::ldap_group_mapping
.
[ldap_url] URL to connect to the LDAP server. E.g.: 'ldap://ldap.my.org:389'
[ldap_search_dn] DN to use to connect to LDAP. E.g. 'uid=appserver,cn=users,ou=services,o=my,c=org'
[ldap_search_credential] Password (plain text) to use to connect to LDAP. This is the password for the user specified in ldap_search_dn.
[ldap_user_base_dn] The context from where to start searching users. E.g. 'cn=users,ou=services,o=my,c=org'
[authorization_group_base_dn] The context from where to start searching for groups. E.g. 'cn=groups,ou=services,o=my,c=org'
[realm_name] The name of this LDAP Security Realm. Default: $title of this resource
[authentication_user_dn]
The name of the attribute which is the user's distinguished name. Default: dn
[authentication_username_attribute] The name of the attribute to search for the user. This filter will then perform a simple search where the username entered by the user matches the attribute specified here.
[authentication_username_load]
The name of the attribute that should be loaded from the authenticated users LDAP entry to
replace the username that they supplied, e.g. convert an e-mail address to an ID or correct
the case entered. Default: undef
[authentication_recursive]
Whether the search should be recursive. Default: false
[authentication_allow_empty_passwords]
Should empty passwords be accepted from the user being authenticated. Default: false
[authorization_group_name]
An enumeration to identify if groups should be referenced using a simple name or
their distinguished name. Defalt value: SIMPLE
[authorization_group_name_attribute]
Which attribute on a group entry is it's simple name. Default: cn
When setting to undef
the Wildfly default is used, which is: uid
[authorization_group_dn_attribute]
Which attribute on a group entry is it's distinguished name. Default: dn
[authorization_group_search_by]
Should searches be performed using simple names or distinguished names?
Default: DISTINGUISHED_NAME
[authorization_principal_attribute]
The attribute on the group entry that references the principal.
Default value: member
[authorization_group_recursive]
Should levels below the starting point be recursively searched?
Default: true
. When setting to undef
the Wildfly default will
be used which is: false
[authorization_group_iterative]
Should further searches be performed to identify groups that the groups identified
are a member of (groups of groups)? Default: false
[authorization_prefer_original_conn]
After following a referral should subsequent searches prefer the original connection
or use the connection of the last referral. Default: true
[authorization_user_name_attribute]
The attribute on the user entry that is their username. Default: uid
[authorization_user_dn_attribute]
The attribute on the user entry that contains their distinguished name.
Default value: dn
[authorization_user_force]
Authentication may have already converted the username to a distinguished name,
force this to occur again before loading groups. Default: false
[authorization_user_recursive]
Should levels below the starting point be recursively searched (e.g. sub ou's)?
Default: false
[apply_to_management_interface]
Apply the created security realm to the Wildfly management interface?
Default: false
[cache_type]
Defines which type of cache to use for previous username-filter results.
Valid values: by-search-time
or by-access-time
. Default: by-access-time
.
[max_cache_size]
The maximum size of the cache before the oldest items are removed to make room
for new entries. Default: 1000
When setting to undef
the Wildfly default will be used which is 0
(unlimited)
[cache_eviction_time]
The time in seconds until an entry should be evicted from the cache. Default: 900
[cache_failures]
Should failures be cached? Default: false
The following parameters are available in the wildfly::security::ldap_realm
defined type:
ldap_url
ldap_search_dn
ldap_search_credential
ldap_user_base_dn
authorization_group_base_dn
realm_name
authentication_username_attribute
authentication_recursive
authentication_allow_empty_passwords
authorization_group_name
authorization_group_name_attribute
authorization_group_dn_attribute
authorization_group_search_by
authorization_principal_attribute
authorization_group_recursive
authorization_group_iterative
authorization_prefer_original_conn
authorization_user_name_attribute
authorization_user_dn_attribute
authorization_user_force
authorization_user_recursive
apply_to_management_interface
cache_type
max_cache_size
cache_eviction_time
cache_failures
authentication_user_dn
authentication_username_load
Data type: String
Data type: String
Data type: String
Data type: String
Data type: String
Data type: String
Default value: $title
Data type: String
Default value: 'uid'
Data type: Boolean
Default value: true
Data type: Boolean
Default value: false
Data type: String
Default value: 'SIMPLE'
Data type: String
Default value: 'cn'
Data type: String
Default value: 'dn'
Data type: String
Default value: 'DISTINGUISHED_NAME'
Data type: String
Default value: 'member'
Data type: Boolean
Default value: true
Data type: Boolean
Default value: false
Data type: Boolean
Default value: true
Data type: String
Default value: 'uid'
Data type: String
Default value: 'dn'
Data type: Boolean
Default value: false
Data type: Boolean
Default value: false
Data type: Boolean
Default value: false
Data type: Enum['by-search-time', 'by-access-time']
Default value: 'by-access-time'
Data type: Integer[0]
Default value: 1000
Data type: Integer[0]
Default value: 900
Data type: Boolean
Default value: false
Data type: Optional[String]
Default value: undef
Data type: Optional[String]
Default value: undef
This is the login-module configuration for a security domain Multiple login-modules can be specified for a single security domain.
[domain_name] Name of the security domain to be created on the Wildfly server.
[code] Login module code to use. See: https://docs.jboss.org/author/display/WFLY9/Authentication+Modules
[flag]
The flag controls how the module participates in the overall procedure. Allowed values are:
requisite
, required
, sufficient
or optional
. Default: required
.
[module_options]
A hash of module options containing name/value pairs. E.g.:
{ 'name1' => 'value1', 'name2' => 'value2' }
or in Hiera:
module_options:
name1: value1
name2: value2
The following parameters are available in the wildfly::security::login_module
defined type:
Data type: String
Data type: String
Default value: $title
Data type: Enum['requisite', 'required', 'sufficient', 'optional']
Default value: 'required'
Data type: Hash
Default value: {}
The wildfly::security::user_role_mapping class.
The following parameters are available in the wildfly::security::user_role_mapping
defined type:
Data type: Any
Data type: Any
Default value: $title
Data type: Any
Default value: undef
Configures a system property
The following parameters are available in the wildfly::system::property
defined type:
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Configures a connector
The following parameters are available in the wildfly::undertow::https
defined type:
socket_binding
keystore_path
keystore_relative_to
keystore_password
key_alias
key_password
target_profile
enabled_protocols
enabled_cipher_suites
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
The wildfly::web::connector class.
The following parameters are available in the wildfly::web::connector
defined type:
Data type: Any
Data type: Any
Data type: Any
Data type: Any
Data type: Any
The wildfly::web::ssl class.
The following parameters are available in the wildfly::web::ssl
defined type:
Data type: Any
Data type: Any
Data type: Any
Data type: Any
Data type: Any
Data type: Any
Data type: Any
Default value: undef
Executes JBoss-CLI commmands
The following properties are available in the wildfly_cli
type.
Whether the command should be executed or not
Default value: true
The following parameters are available in the wildfly_cli
type.
The actual commmand to execute
Host of Management API. Defaults to 127.0.0.1
Default value: 127.0.0.1
If this parameter is set, then CLI command will only run if this command returns false
JBoss Management User Password
Management port. Defaults to 9990
Default value: 9990
The specific backend to use for this wildfly_cli
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
Valid values: true
, false
, yes
, no
If this parameter is set, then CLI command will only run if the resource was notified
Default value: false
Use TLS to connect with the management API
Default value: false
Valid values: true
, false
, yes
, no
If this parameter is set, then CLI command will only run if resource is present
Default value: false
If this parameter is set, then CLI command will only run if this command returns true
JBoss Management User
Manages JBoss deployment
The following properties are available in the wildfly_deployment
type.
SHA1 of deployed content
Default value: ''
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
The following parameters are available in the wildfly_deployment
type.
Host of Management API. Defaults to 127.0.0.1
Default value: 127.0.0.1
namevar
Deployable name
Operation headers.
JBoss Management User Password
Management port. Defaults to 9990
Default value: 9990
The specific backend to use for this wildfly_deployment
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
Use TLS to connect with the management API
Default value: false
Deployment target server-group. Domain mode only.
Deployment source file. (e.g. /tmp/file.war)
Operation timeout. Defaults to 120
Default value: 300
JBoss Management User
Manages JBoss resources like datasources, messaging, ssl, modcluster, etc
The following properties are available in the wildfly_resource
type.
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
Resource state
The following parameters are available in the wildfly_resource
type.
namevar
Host of Management API. Defaults to 127.0.0.1
Default value: 127.0.0.1
Operation headers.
JBoss Management User Password
namevar
JBoss Resource Path
namevar
Management port. Defaults to 9990
Default value: 9990
The specific backend to use for this wildfly_resource
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
Recursively manage resource. Defaults to false
Default value: false
Use TLS to connect with the management API
Default value: false
JBoss Management User
Manage JBoss restarts.
The following properties are available in the wildfly_restart
type.
Whether the restart should be executed or not
Default value: true
The following parameters are available in the wildfly_restart
type.
Host of Management API. Defaults to 127.0.0.1
Default value: 127.0.0.1
namevar
Informational name
JBoss Management User Password
Management port. Defaults to 9990
Default value: 9990
The specific backend to use for this wildfly_restart
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
Whether the server should only reload instead of restarting.
Default value: false
Number of times it will check if server is running after a restart
Default value: 3
Use TLS to connect with the management API
Default value: false
JBoss Management User
Amount of time (in seconds) that it will wait before next attempt
Default value: 10
Type: Puppet Language
Default OS configuration for a specific distribution and version.
Default OS configuration for a specific distribution and version.
Returns: Hash[String, String]
OS configuration: user, group, dirname and console_log.
Data type: String
Wildfly distribution: 'wildfly' or 'jboss-eap'.
Data type: String
Wildfly version.
Type: Ruby 4.x API
Converts a LIST of STRINGs and OBJECTs into an OBJECT of OBJECTs.
Converts a LIST of STRINGs and OBJECTs into an OBJECT of OBJECTs.
Returns: Hash
Data type: Array[Variant[String, Hash[String, Any]]]
Type: Puppet Language
Generate args for JBoss-CLI patch
command.
wildfly::patch_args(Stdlib::Unixpath $source, Boolean $override_all, Array $override, Array $preserve)
Generate args for JBoss-CLI patch
command.
Returns: String
args for patch command.
Data type: Stdlib::Unixpath
path to patch file.
Data type: Boolean
Whether it should solve all conflicts by overriding current files.
Data type: Array
List of files to be overridden.
Data type: Array
List of files to be preserved.
Type: Puppet Language
Transform a profile name to a JBoss-CLI profile path.
Transform a profile name to a JBoss-CLI profile path.
Returns: String
a profile path or an empty path.
Data type: Optional[String]
name of the profile (e.g. full, full-ha, ha)
Type: Puppet Language
Default service configuration for a specific distribution, version execution mode and initsystem.
Default service configuration for a specific distribution, version execution mode and initsystem.
Returns: Hash[String, String]
service configuration: name, configuration file and template and bundled init scripts.
Data type: String
Wildfly distribution: 'wildfly' or 'jboss-eap'.
Data type: String
Wildfly version.
Data type: String
Wildfly execution mode will run, 'standalone' or 'domain'.
The Wildfly::Config_file data type.
Alias of Pattern[/^\w*(-?\w*)*\.xml$/]
The Wildfly::Distribution data type.
Alias of Enum['wildfly', 'jboss-eap']
The Wildfly::Mode data type.
Alias of Enum['standalone', 'domain']