This is an example AEM Hello World Custom Stack Provisioner artifact that will be set up as one of AEM AWS Stack Builder customisation points.
This artifact contains:
pre-common.sh
shell script which will be executed before component stack provisioningpost-common.sh
shell script which will be executed after component stack provisioning- Example Puppet module manifests in
modules/aem_helloworld
directory - Example InSpec tests which will check the result of the above Puppet module, the binary is available at
/opt/puppetlabs/puppet/bin/inspec
Here's an example log output of the post step:
The use of Puppet and InSpec here is just an example. You can use other tools like Ansible, or even plain shell script if need be. They can be installed either in Packer AEM source image or Packer AEM custom image provisioner.
To create artifact tar.gz file:
make package
The artifact will be written at stage/aem-helloworld-custom-stack-provisioner-<version>.tar.gz
Copy the tar.gz artifact file to AEM AWS Stack Builder, please note that the file must be (re)named to aem-custom-stack-provisioner.tar.gz
:
cp stage/aem-helloworld-custom-stack-provisioner-<version>.tar.gz <path/to/aem-aws-stack-builder>/stage/custom/aem-custom-stack-provisioner.tar.gz
If you are using Puppet, the following global facts are available:
Fact | Description |
---|---|
::component |
The component name, useful for identifying which image is being provisioned. |
If you need more information from the provisioning process, you can tap into the Hiera data by adding -hiera_config='/tmp/packer-puppet-masterless/hiera.yaml
flag to your Puppet apply call.