4.7. Extended Example: Provisioning and Content Deployments (Bundles)
Allowing content to be deployed to a resource using the bundle system is enabled by defining allowed target locations for content to be provisioned to.
As with drift configuration, bundle configuration identifies the target location based on information in one of four areas:
- fileSystem, which is any directory on the machine local to the resource
- pluginConfiguration, which is defined property in the resource plug-in, like a home directory
- resourceConfiguration, a resource configuration property
- measurementTrait, a trait that is gathered about the resource
That area is the value name in the bundle definition. The actual value is the value context.
Example 4.25. A Single Bundle Base Directory
<bundle-target> <destination-base-dir name="Root File System" description="The top root directory on the platform (/)" > <value-context>fileSystem</value-context> <value-name>/</value-name> </destination-base-dir> </bundle-target>
The potential target locations, the <destination-base-dir>, are presented to users as options when they are provisioning a bundle. Users can deploy a bundle to any, user-defined directory beneath that base directory, but they cannot deploy to a location outside that directory. If users will reasonably want to provision content to multiple directories, then each directory needs to be added to the <bundle-target> definition.
Example 4.26. Multiple Bundle Base Directories
<bundle-target> <destination-base-dir name="Install Directory" description="The top directory where the JBossAS Server is installed. "> <value-context>pluginConfiguration</value-context> <value-name>homeDir</value-name> </destination-base-dir> <destination-base-dir name="Profile Directory" description="The profile configuration directory."> <value-context>pluginConfiguration</value-context> <value-name>serverHomeDir</value-name> </destination-base-dir> </bundle-target>
NOTE
There can be only one bundle definition for a resource type, but it can define multiple locations where content is allowed to be deployed.