Deployment Properties
Each system in a deployment has a set of properties that contains Arcus and user defined values for use in the configuration and execution of Systems. These allow for customization in software and test assets.
Contents
Arcus properties are values generated on each run. These include:
- Run specific information (e.g. username, cloud technology, etc.)
- User defined properties are set in the Deployment builder (can be added/edited at Deployment Launch)
- Per System specific information (e.g. hostname, IP address, operation system, etc.)
- System specific values are keyed off the role name assigned to the System when the Scenario was built.
Both Arcus and user defined properties are combined and made available under the Properties tab on the Deployment Run screen and in files on each Systems. A sample deployment.properties is listed below.
Location
The properties files live in (with XXXXX being the Deployment id):
- Windows:
c:\cons3rt-agent\run\DeploymentXXXXX
- Linux:
/opt/cons3rt-agent/run/DeploymentXXXXX
However at runtime they can be accessed using the DEPLOYMENT_HOME environment variable (see below)
Formats
The deployment properties are available in three formats on all systems:
- Windows Powershell:
deployment-properties.ps1
- Linux:
deployment-properties.sh
- Standard Java Properties:
deployment.properties
Other Variables and Properties
Standardized Deployment Properties
Environment Variables
Arcus specific Environment Variables are set and available to install scripts at runtime to use in Software and Test assets.
Environment Variables can be leveraged to:
- Grab media files from the asset
- Launch additional code (e.g. Puppet manifests)
- Set conditional logic based on Role name
- Grab custom properties or deployment properties
- Identify a cloud provider specific value
Click the link to see more information on Environment Variables
Custom Properties
Custom Properties are used to provide properties to your asset install scripts that can be used for a variety of use cases:
- Dynamically pass a git branch to an asset that clones source code
- Set log level for an application
- Provide credential information
Some Elastic Test Tools (ETTs) like Nessus and HP Fortify allow users to customize their scans using Custom Properties.
Click the link to see more information on Custom Properties
Sourcing
Below are examples of how to make variables defined in deployment properties available to an asset:
- Windows:
Import-Module $env:DEPLOYMENT_HOME\deployment-properties.ps1
- Linux:
source $DEPLOYMENT_HOME/deployment-properties.sh
Sample Deployment Properties
# ==== Begin deployment.properties ====
#Properties file for Deployment
cons3rt.deployment.id=1277
cons3rt.deployment.name=My Deployment
cons3rt.deploymentRun.id=5528
cons3rt.deploymentRun.name=DTL DEV TEST
cons3rt.fap.deployment.machine.<CONS3RT_ROLE_NAME>.interface<#>.internalIp
cons3rt.fap.deployment.machine.<CONS3RT_ROLE_NAME>.<network name>.subnetIdentifier
cons3rt.fap.deployment.machine.hostname.RoleName=dr5528d1277v0
cons3rt.fap.deployment.machine.isMaster.RoleName=true
cons3rt.fap.deployment.machine.isProvisionable.RoleName=true
cons3rt.fap.deployment.machine.isVirtual.RoleName=true
cons3rt.fap.deployment.machine.osFamily.RoleName=UBUNTU
cons3rt.fap.deployment.machine.template.RoleName=vApp_ubuntu_14.04_x64
cons3rt.fap.deployment.numMachines=1
cons3rt.user=my.username
customProperty1=myvalue1
customProperty2=myvalue2
# ==== End deployment.properties ====
More Help
Review this process with our video tutorials: