Adobe Experience Manager (also known as AEM, formerly CQ5) is an enterprise content management system offered by Adobe. This puppet module provides a set of tools to ease the tasks of installing, configuring and maintaining AEM instances.
What the AEM Puppet module affects:
- AEM Installation files and directories
- Service configuration and startup files
- Listened-to ports
Note: This module modifies AEM installation directories and configuration files, overwriting any existing configurations. AEM configurations should be managed by Puppet, as unmanaged configuration files may cause unexpected behaviour.
AEM uses Ruby-based providers, so you must enable pluginsync. Java is also required to be installed on the system. Finally, due to the AEM platform being proprietary, this module does not provide the installation jar file; it must be provided by the consumer.
A minimal AEM configuration is specified as:
aem::instance { 'aem' :
source => '/path/to/aem-quickstart.jar',
}
For more options and detailed explanations, please see the Puppet AEM Wiki.
- Public Classes
- Public Defines
- Define: aem::agent::replication
- Define: aem::agent::replication::flush
- Define: aem::agent::replication::publish
- Define: aem::agent::replication::reverse
- Define: aem::agent::replication::static
- Define: aem::crx::package
- Define: aem::dispatcher::farm
- Define: aem::instance
- Define: aem::license
- Define: aem::osgi::config
- Define: aem::service
- Public Types
- Private Defines
- Private Types
Installs and configures a specified AEM Dispatcher module. For more details and examples see the wiki.
Note: Currently only Apache HTTP is supported by this module.
Optional. Changes the state of the dispatcher configuration. Valid options: present
or absent
. Default: present
.
Optional. Sets the DispatcherDelcineRoot value for the dispatcher configuration. Valid options: 0
, 1
, off
or on
. Default: off
.
Optional. Sets the name of the dispatcher in the root dispatcher farm file. Valid options: any string.
Optional. Sets the group for file ownership. Valid options: any valid group. Default: Apache's root group.
Optional. Sets the name and location of the dispatcher log file. Valid options: any fully qualified file name. Default: /dispatcher.log.
Optional. Sets the log level for dispatcher logging. Valid options: 0
, 1
, 2
, 3
, 4
, error
, warn
, info
, debug
, trace
. Default: warn
.
Required. Specifies which dispatcher module will be loaded. Valid options: any absolute path to file.
Optional. Sets the DispatcherPassError value for the dispatcher configuration. Valid options: any string. Default: 0
.
Optional. Sets the DispatcherUseProcessedURL value for the dispatcher configuration. Valid options: 0
, 1
, off
or on
. Default: off
.
Optional. Sets the user for file ownership. Valid options: any valid user. Default: root
.
Creates a replication Agent. Provides support for all AEM Replication agent options. For more details and examples, see the wiki. For information on AEM Replications agents, see the documentation.
Namevar. Required. Specifies the name of this replication agent. The name must only contain letters and numbers. This will be the node name when it is created.
Required. The title of the replication agent. This can be different than the name
.
Optional. Changes the state of the replication agent. Valid options: present
or absent
. Default: present
.
Optional. The AEM/System user which is used to perform the replication actions.
Optional. Sets the replication batch enabled flag. Valid options: true
or false
.
Optional. Sets the replication batch wait time. Valid options: any positive integer.
Optional. Sets the replication batch trigger size. Valid options: any positive integer.
Optional. Set's the description for the agent. The default value is always part of the value. Default: **Managed by Puppet. Any changes made will be overwritten**
Optional. Sets whether or not the agent is enabled. Valid options: true
or false
. Default: true
.
Optional. Set's whether or not to overwrite the current password values. For more details, see the Sling Resource type's force_paswords parameter. Password properties for this type are proxy_password
and transfport_pasword
. Valid options: true
or false
. Default: false
.
Required. Sets the directory in which AEM exists. Valid options: any absolute path.
Optional. Sets the log level of the agent. Valid options: debug
, info
, error
. Default: info
.
Required. The password for authenticating to AEM.
Optional. Sets the connection close flag . Valid options: true
or false
.
Optional. Sets the connection timeout. Valid options: any positive integer.
Optional. Sets the list of additional headers for the HTTP Request. Valid options: String or Array of Strings.
Optional. Sets the HTTP method to use for the replication request.
Optional. Sets the network interface to use for the replication request.
Optional. Sets the socket timeout. Valid options: any positive integer.
Optional. Sets the HTTP version (e.g. 1.1) to use for the replication request.
Optional. Sets the host for a proxy connection.
Optional. Sets the NLTM Domain for a proxy connection.
Optional. Sets the NLTM host for a proxy connection.
Optional. Sets the password for a proxy connection.
Optional. Sets the port for a proxy connection. Valid options: any positive integer.
Optional. Sets the user for a proxy connection.
Required. The Sling resource type for this replication agent.
Optional. Sets the retry delay. Valid options: any positive integer.
Optional. Sets whether or not this is a reverse replication agent. Valid options: true
or false
.
Required. Sets the runmode for persisting the Replication agent.
Required if ensure
is present. Sets the serialization type.
Optional. Sets the directory for the output of a static replication agent. Valid options: any absolute path.
Optional. Sets the static replication agent's configuration.
Required if ensure
is present. Sets the template resource for this replication agent.
Optional. Sets the timeout, in seconds, when waiting for a response. Valid options: any positive integer. Default: 60
.
Optional. Sets whether or not to allow expired certs on the connection. Valid options: true
or false
.
Optional. Sets the transport NLTM domain.
Optional. Sets the transport NLTM host.
Optional. Sets the password for authentication to the remote system.
Optional. Sets whether or to enable SSL on the transport. Valid options: true
or false
.
Opional. Sets the URI for the remote system.
Optional. Sets the user for authentication to the remote system.
Optional. Sets the Ignore default flag. Valid options: true
or false
.
Optional. Sets the No Status Update flag. Valid options: true
or false
.
Optional. Sets the No Versioning flag. Valid options: true
or false
.
Optional. Sets the On Distribute flag. Valid options: true
or false
.
Optional. Sets the On Modification flag. Valid options: true
or false
.
Optional. Sets the On Receive flag. Valid options: true
or false
.
Optional. Sets the On/Off Time reached flag. Valid options: true
or false
.
Required. The username for authenticating to AEM.
Creates a Flush replication agent. This definition has a limited property set based on the parameters typically required for this type of agent. For more details and examples, see the wiki. For information on AEM Replications agents, see the documentation.
Namevar. Required. Specifies the name of this replication agent. The name must only contain letters and numbers. This will be the node name when it is created.
Required. The title of the replication agent. This can be different than the name
.
Optional. Changes the state of the replication agent. Valid options: present
or absent
. Default: present
.
Optional. The AEM/System user which is used to perform the replication actions.
Optional. Set's the description for the agent. The default value is always part of the value. Default: **Managed by Puppet. Any changes made will be overwritten**
Optional. Sets whether or not the agent is enabled. Valid options: true
or false
. Default: true
.
Optional. Set's whether or not to overwrite the current password values. For more details, see the Sling Resource type's force_paswords parameter. Password properties for this type are proxy_password
and transfport_pasword
. Valid options: true
or false
. Default: false
.
Required. Sets the directory in which AEM exists. Valid options: any absolute path.
Optional. Sets the log level of the agent. Valid options: debug
, info
, error
. Default: info
.
Required. The password for authenticating to AEM.
Optional. Sets the list of additional headers for the HTTP Request. Valid options: String or Array of Strings. Default: [ 'CQ-Action:{action}', 'CQ-Handle:{path}', 'CQ-Path: {path}' ]
.
Optional. Sets the HTTP method to use for the replication request. Default: GET
Required. Sets the runmode for persisting the Replication agent.
Optional. Sets the timeout, in seconds, when waiting for a response. Valid options: any positive integer. Default: 60
.
Optional. Sets whether or not to allow expired certs on the connection. Valid options: true
or false
.
Optional. Sets the password for authentication to the remote system.
Optional. Sets whether or to enable SSL on the transport. Valid options: true
or false
.
Opional. Sets the URI for the remote system.
Optional. Sets the user for authentication to the remote system.
Optional. Sets the Ignore default flag. Valid options: true
or false
.
Optional. Sets the No Status Update flag. Valid options: true
or false
.
Optional. Sets the No Versioning flag. Valid options: true
or false
.
Optional. Sets the On Distribute flag. Valid options: true
or false
.
Optional. Sets the On Modification flag. Valid options: true
or false
.
Optional. Sets the On Receive flag. Valid options: true
or false
.
Optional. Sets the On/Off Time reached flag. Valid options: true
or false
.
Required. The username for authenticating to AEM.
Creates a Publish replication agent. This definition has a limited property set based on the parameters typically required for this type of agent. For more details and examples, see the wiki. For information on AEM Replications agents, see the documentation.
Namevar. Required. Specifies the name of this replication agent. The name must only contain letters and numbers. This will be the node name when it is created.
Required. The title of the replication agent. This can be different than the name
.
Optional. Changes the state of the replication agent. Valid options: present
or absent
. Default: present
.
Optional. The AEM/System user which is used to perform the replication actions.
Optional. Set's the description for the agent. The default value is always part of the value. Default: **Managed by Puppet. Any changes made will be overwritten**
Optional. Sets whether or not the agent is enabled. Valid options: true
or false
. Default: true
.
Optional. Set's whether or not to overwrite the current password values. For more details, see the Sling Resource type's force_paswords parameter. Password properties for this type are proxy_password
and transfport_pasword
. Valid options: true
or false
. Default: false
.
Required. Sets the directory in which AEM exists. Valid options: any absolute path.
Optional. Sets the log level of the agent. Valid options: debug
, info
, error
. Default: info
.
Required. The password for authenticating to AEM.
Required. Sets the runmode for persisting the Replication agent.
Optional. Sets the timeout, in seconds, when waiting for a response. Valid options: any positive integer. Default: 60
.
Optional. Sets whether or not to allow expired certs on the connection. Valid options: true
or false
.
Optional. Sets the password for authentication to the remote system.
Optional. Sets whether or to enable SSL on the transport. Valid options: true
or false
.
Opional. Sets the URI for the remote system.
Optional. Sets the user for authentication to the remote system.
Optional. Sets the Ignore default flag. Valid options: true
or false
.
Optional. Sets the No Status Update flag. Valid options: true
or false
.
Optional. Sets the No Versioning flag. Valid options: true
or false
.
Optional. Sets the On Distribute flag. Valid options: true
or false
.
Optional. Sets the On Modification flag. Valid options: true
or false
.
Optional. Sets the On Receive flag. Valid options: true
or false
.
Optional. Sets the On/Off Time reached flag. Valid options: true
or false
.
Required. The username for authenticating to AEM.
Creates a Reverse replication agent. This definition has a limited property set based on the parameters typically required for this type of agent. For more details and examples, see the wiki. For information on AEM Replications agents, see the documentation.
Namevar. Required. Specifies the name of this replication agent. The name must only contain letters and numbers. This will be the node name when it is created.
Required. The title of the replication agent. This can be different than the name
.
Optional. Changes the state of the replication agent. Valid options: present
or absent
. Default: present
.
Optional. The AEM/System user which is used to perform the replication actions.
Optional. Set's the description for the agent. The default value is always part of the value. Default: **Managed by Puppet. Any changes made will be overwritten**
Optional. Sets whether or not the agent is enabled. Valid options: true
or false
. Default: true
.
Optional. Set's whether or not to overwrite the current password values. For more details, see the Sling Resource type's force_paswords parameter. Password properties for this type are proxy_password
and transfport_pasword
. Valid options: true
or false
. Default: false
.
Required. Sets the directory in which AEM exists. Valid options: any absolute path.
Optional. Sets the log level of the agent. Valid options: debug
, info
, error
. Default: info
.
Required. The password for authenticating to AEM.
Optional. Sets the HTTP method to use for the reverse replication request. Default: GET
Required. Sets the runmode for persisting the Replication agent.
Optional. Sets the timeout, in seconds, when waiting for a response. Valid options: any positive integer. Default: 60
.
Optional. Sets whether or not to allow expired certs on the connection. Valid options: true
or false
.
Optional. Sets the password for authentication to the remote system.
Optional. Sets whether or to enable SSL on the transport. Valid options: true
or false
.
Opional. Sets the URI for the remote system.
Optional. Sets the user for authentication to the remote system.
Required. The username for authenticating to AEM.
Creates a Static replication agent. This definition has a limited property set based on the parameters typically required for this type of agent. For more details and examples, see the wiki. For information on AEM Replications agents, see the documentation.
Namevar. Required. Specifies the name of this replication agent. The name must only contain letters and numbers. This will be the node name when it is created.
Required. The title of the replication agent. This can be different than the name
.
Required. Changes the state of the replication agent. Valid options: present
or absent
. Default: present
.
Optional. The AEM/System user which is used to perform the replication actions.
Optional. Sets the static replication agent's configuration.
Optional. Set's the description for the agent. The default value is always part of the value. Default: **Managed by Puppet. Any changes made will be overwritten**
Optional. Sets the directory for the output of a static replication agent. Valid options: any absolute path.
Optional. Sets whether or not the agent is enabled. Valid options: true
or false
. Default: true
.
Required. Sets the directory in which AEM exists. Valid options: any absolute path.
Optional. Sets the log level of the agent. Valid options: debug
, info
, error
. Default: info
.
Required. The password for authenticating to AEM.
Optional. Sets the retry delay. Valid options: any positive integer.
Required. Sets the runmode for persisting the Replication agent.
Required. The username for authenticating to AEM.
Manages an AEM CRX Package; allows for saving packages via a file (in the crx-quickstart/install directory) or posted to the CRX Package Manager API. For examples, see the wiki.
Namevar. Required.
Required. Changes the state of this CRX Package.
present
: Uploaded but not installed; if installed will uninstall.installed
: Uploaded and installed; Equivalent topresent
when type ==file
. (Default)purged
: Uninstalled, then removed from the package manager. Equivalent toabsent
when type ==file
.absent
: Removed from the package manager.
Optional. Sets the group for file ownership. Valid options: any valid group. Default: aem
.
Required. Sets the directory in which AEM exists. Valid options: any absolute path.
Required if type == api
. The CRX Package group.
Required if type == api
. The CRX Package name.
Required if type == api
. The CRX Package group.
Required if type == api
. Sets the password of the CRX Package Manager API user. Valid options: any valid password.
Required. Sets the source package file to use. Valid options: any absolute path to file.
Required. Sets the means by which to persist the package. Valid options: api
or file
. api
will use API client to the CRX Package Manager. file
will copy the package file in the crx-quickstart/install folder.
Optional. Sets the user for file ownership. Valid options: any valid user. Default: aem
.
Required if type == api
. Sets the user for accessing the CRX Package Manager API. Valid options: any valid user.
Optional. Setting to false will stop this define managing the Ruby and rubygems installs. This is necessary if these are managed via another way, like systempackages for example.
Default: true
.
Optional. Timeout value for AEM to finish the install and reply with an OK state. Default: 60(seconds).
Configures a single farm instance within the Dispatcher. For more details and examples, see the wiki.
Required. Changes the state of this dispatcher farm configuration. Valid options: present
or absent
. Default: present
.
Optional. Sets the cache /allowAuthorized rule. Valid options: 0
or 1
.
Optional. Sets the cache /allowedClients section. Valid options: Hash, or Array of Hashes. Default:
{
'type' => 'allow',
'glob' => '*',
}
Optional. Sets the /auth_checker section. Valid options: Hash. Example
{
url => '/bin/permissioncheck',
filter => [
{
'type' => 'allow',
'glob' => '*',
}
],
headers => [
{
'type' => 'allow',
'glob' => '*',
}
],
}
Optional. Sets the cache /headers section. Valid options: String or Array of Strings.
Optional. Sets the cache /rules section. Valid options: Hash, or Array of Hashes. Default:
{
'type' => 'deny',
'glob' => '*',
}
Optional. Sets the cache /enableTTL rule. Valid options: 0
or 1
.
Optional. Sets the /clientheaders rule. Valid options: String or Array of Strings. Default: *
Required. Sets the cache /docroot rule. Valid options: any absolute path.
Optional. Sets the /failover rule. Valid options: 0
or 1
.
Optional. Sets the /fiters section. Valid options: Hash, or Array of Hashes. Default:
{
'type' => 'allow',
'glob' => '*',
}
Optional. Sets the cache /grace rule. Valid options: any positive integer.
Optional. Sets the cache /ignoreUrlParams section. Valid options: Hash, or Array of Hashes.
Optional. Sets the cache /invalidate section. Valid options: Hash, or Array of Hashes. Default:
[
{
'type' => 'allow',
'glob' => '*',
}
]
Optional. Sets the cache /invalidateHandler rule. Valid options: any absolute path to file.
Optional. Defines a priority for the resulting farm configuration to be included in the global dispatcher farm configuration. Farms with a lower priority will be included first. Farms with the same priority will be included in alphabetical order. Valid options are integers from 0
to 99
. Default value: 0
Optional. Sets the /propagateSyndPost rule. Valid options: 0
or 1
.
Optional. Sets the /renders section. Valid options: Hash, or Array of Hashes. Default:
{
'hostname' => 'localhost',
'port' => 4503,
}
Optional. Sets the /numberOfRetries rule. Valid options: any positive integer.
Optional. Sets the /retryDelay rule. Valid options: any positive integer.
Optional. Sets the cache /serveStaleOnError rule. Valid options: 0
or 1
.
Optional. Sets the /sessionmanagement section. Valid options: Hash of values.
Optional. Sets the cache /statfile rule. Valid options: any absolute path to file.
Optional. Sets the cache /statfileslevel rule. Valid options: any integer >= 0.
Optional. Sets the /statistics section. Valid options: Hash of values.
Optional. Sets the /stickyConnectionsFor rule or /stickyConnectionsFor section based on value.. Valid options: String or Array of Strings.
Optional. Sets the /unavailablePenalty rule. Valid options: any positive integer.
Optional. Sets the /vanity_urls section. Valid options: Hash of values.
Optional. Sets the /virtualhosts section. Valid options: String or Array of Strings. Default: *
.
Installs an AEM instance into your system. For more details and examples see the wiki.
When this type is declared with the default options, Puppet:
- Unpacks the specified AEM jar file.
- Configures the AEM start scripts with the default configuration options.
- Starts AEM for the first time to ensure repository creation.
- Shuts AEM down to create a consistent state.
- Defines and starts an AEM Service for the instance.
See Beginning with AEM for the minimum configuration required to create an AEM installation. It is suggested that you customize the AEM definion with the following parameters, as the default parameters are not recommended for production.
Parameters within aem::instance
:
Namevar. Required. Specifies the name of the AEM instance.
Optional. Changes the state of the AEM instance. Valid options: present
or absent
. Default: present
.
Optional. Specifies the URL context root for the AEM application. Sling documentation. Valid options: any valid URI path. Defaults to /
.
Optional. Specifies the port on which to listen for remote debugging connections. Setting this will add the following JVM options: -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=<<port>>
Valid options: any port number.
Optional. Sets the group for installation. Valid options: any valid group. Default: aem
.
Optional. Sets the directory in which AEM will be installed. Valid options: any absolute path. Default: /opt/aem
.
Optional. Specifies options for the JVM memory. This is separated from the JVM opts to simplify configurations. Valid options: any valid JVM parameter string. Default: -Xmx1024m
.
Optional. Specifies options to pass to the JVM. Valid options: any valid JVM parameter string. Default: None. The following string is always passed, and cannot be overwritten: -server -Djava.awt.headless=true
Optional. Sets whether or not this instance will manage the defined group. Valid options: true
or false
. Default: true
.
Optional. Sets whether or not this instance will manage the defined home directory. Valid options: true
or false
. Default: true
.
Optional. Sets whether or not this instance will manage the defined user. Valid options: true
or false
. Default: true
.
Optional. Creates file type definitions of aem::osgi::config
which will be applied prior to initial AEM start. The structure can either be a hash of the properties, or a Hash specifying the pid and the properties. If only properties are specified, the key is expected to be the pid. Valid options: Hash or Array of Hash configurations.
Optional. Specifies the port on which AEM will listen. Valid options: any valid port. Default: 4502. Sling documentation
Optional. Sets the array of runmodes to apply to the AEM instance. Do not use this to set options available via type
configuration, or a sample_content
state. Valid options: any string array. AEM documentation.
Optional. Sets whether or not to include the sample content (e.g. Geometrixx). Valid options: true
or false
. Default: true
. AEM Documentation.
Optional. Hash. Sets the service options, pretty much only used for the systemd implementation. Default:
{
'TimeoutStopSec' => '4min',
'KillSignal' => 'SIGCONT',
'PrivateTmp' => true
}
Optional. Sets the wait period between checks for installation completion. When monitoring the system for up state, this is the wait period between checks. Value is specified in seconds. Valid options: any number. Default: 10
.
Required. Sets the source jar file to use, provided by user. Valid options: any absolute path to file.
Optional. Changes the state of the service on the system, defining whether or not the service starts at system boot and/or is currently running. Valid options:
enabled
: Start at boot & currently running (Default)disabled
: Not started at boot & not currently running.running
: Not started at boot but is currently running.unmanaged
: Don't manage it with service manager, running state is arbitrary.
Optional. Sets the timeout allowed for startup monitoring. If the installation doesn't finish by the timeout, an error will be generated. Value is specified in seconds. Valid option: any number. Default: 600
(10 minutes).
Optional. Specifies the AEM installation type. Valid options: author
or publish
. Default: author
. AEM documentation
Optional. Sets the user for installation. Valid options: any valid user. Default: aem
.
Optional. Sets the version of AEM. Informational only, does not affect installation or resource management. Valid options: any semantic version.
Manages an AEM License file. Provides a convenient tool for managing the license file contents without needing to know the structure. For examples, see the wiki.
Parameters within aem::license
:
Namevar. Required. Specifies the name of the AEM license.
Optional. Changes the state of the AEM license. Valid options: present
or absent
. Default: present
.
Optional. Specifies the customer name for the license file. Valid options: any string
Optional. Sets the group for file ownership. Valid options: any valid group. Default: aem
.
Required. Sets the directory in which the license will be placed. Valid options: any absolute path.
Required. Sets the license key for AEM. Valid options: any string.
Optional. Sets the user for file ownership. Valid options: any valid user. Default: aem
.
Optional. Sets the version of AEM for the license file contents. Valid options: any string.
Manages an AEM OSGi Configuration; allows for saving Service/Component configurations via a file or posted to the Felix Web Console. For examples, see the wiki.
Parameters within aem::osgi::config
:
Namevar. Required. Specifies the name of the AEM OSGi Configuration. This should be the Service PID. Apache Felix Documentation
Optional. Changes the state of the AEM OSGi configuration. A value of absent
will delete the configuration. Valid options: present
or absent
. Default: present
.
Optional. Sets the group for file ownership. Valid options: any valid group. Default: aem
.
Required if type == console
. Determine how to handle properties which are configured in the console, but not provided. See wiki for examples. Valid options: merge
or remove
.
Required. Sets the directory in which AEM exists. Valid options: any absolute path.
Required if type == console
. Sets the password of the OSGI console user. Valid options: any valid password.
Required. Sets the configuration properties to persist. Valid options: a hash of values.
Required. Sets the means by which to persist the configuration. Valid options: console
or file
. console
will use API calls to the OSGi Web Console. file
will persist to a properties file in the crx-quickstart/install folder.
Optional. Sets the user for file ownership. Valid options: any valid user. Default: aem
.
Required if type == console
. Sets the user for accessing the OSGI console. Valid options: any valid user.
Manages the AEM daemon. Creating a definition for this is not necessary unless the aem::instance
's manage_service is false. For examples, see the wiki
Parameters within aem::service
:
Namevar. Required. Specifies the name of the AEM Service.
Optional. Changes the state of the AEM Service within puppet. Valid options: present
or absent
. Default: present
.
Optional. Sets the group for file ownership. Valid options: any valid group. Default: aem
.
Required. Sets the directory in which the AEM instance exists, necessary for service configuration definition. Valid options: any absolute path.
Optional. Changes the state of the service on the system, defining whether or not the service starts at system boot and/or is currently running. Valid options:
enabled
: Start at boot & currently running (Default)disabled
: Not started at boot & not currently running.running
: Not started at boot but is currently running.unmanaged
: Don't manage it with service manager, running state is arbitrary.
Optional. Sets the user for file ownership. Valid options: any valid user. Default: aem
.
Namevar. Required. The name of this resource. A unique name or the fully qualified path to the resource in the repository.
Required. Changes the state of the Sling resource definition. Valid options: present
or absent
.
Optiona. Flag to specify whether or not to update password properties, they are submitted regardless of current state. Setting this will cause an update each time the agent runs.
Optional. Determine how to handle properties which are specified in the repository, but not not provided. See wiki for examples. Valid options: ignore
or remove
. Default: ingore
.
Required. Sets the directory in which AEM exists. Valid options: any absolute path.
Optional. Properties to ignore when comparing repository values against those provided. Valid options: Array of values. Default: ['jcr:created', 'jcr:createdBy', 'cq:lastModified', 'cq:lastModifiedBy']
Optional. Specifies the fully qualified path to the resource in the repository.
Required. The password for authentication to AEM.
Optional. List of resource properties which should be ignored as passwords unless force_passwords
is true. Valid options: Array of values.
Optional. List of properties which cannot be updated. They will be persisted when creating, but ignored during updates. Valid options: Array of values. Default: ['jcr:primaryType']
.
Required. The username for authentication to AEM.
Optional. Hash of properties to store in the repository. Sub hashes are created as children nodes. Hashes can be nested to an arbitrary depth. See wiki for examples. Valid options: Hash of values.
Optional. Sets the timeout, in seconds, when waiting for a response. Valid options: any positive integer. Default: 120
.
This define sets up the start templates to ensure the AEM instance executes with the correct state.
This define is used to manage CRX Packages which are of type file
.
This define is used to manage OSGi Configurations which are of type file
.
This define unpacks the AEM Quickstart jar for preparation to configure.
This custom type manages CRX Packages which are of type api
.
This custom type starts the AEM instance to create the base repository, monitors for it's initialization, then shuts the system down.
This custom type manages OSGi Configurations which are of type console
.
The aem::dispatcher
class requires the Puppet Apache module; however since the use of this class is optional, this dependency is not declared explicitly.
This module has been tested on:
- CentOS 7, 7.2
- Ubuntu 12.04*, 14.04
- Debian 7.8*, 8.2
See Known Issues
This module has been tested with the following AEM versions:
- 6.0
- 6.1
- 6.2
Using the OSGi Configuration options require a Minimum ruby version of 1.9.x.
It is up to the consumer to ensure that the correct version of Java is installed based on the AEM version. See AEM Documentation for compatibility.
Defining an AEM resource as absent will remove the instance from the system, regardless of whether or not it was originally managed by puppet.
Ubuntu 12.04 ships with Ruby 1.8.x; therefore the OSGi configurations acceptance tests fail.
There is an oddity with the aem::service
support on Debian: even though specifying a valid status sends the correct parameters to the underlying service resource, the service is not enabled, nor do state changes occur correctly. Acceptance tests on those Virtual Machines fail for issues with service management. See issue #36.
This module in its early stages, any updates or feature additions are welcome.
Please make sure you do not include any AEM Installer jars in PRs.
I ask that prior to creating PR for a new feature, unit and acceptance tests exist to ensure it's operation. Running all of the AEM acceptance tests take time, so be prepared. To assist with acceptance testing, there are a number of Beaker configurations. For more information, see the Beaker project's documentation.
To run the AEM acceptance tests, for all features against all boxes:
$ spec/acceptance/runall_aem.sh
Use the Dispatcher w/o SSL
To run just the Dispatcher acceptance tests:
$ bundle exec rspec spec/accpetance/dispatcher_acceptance_spec.rb