Deployment Properties

Deployment Properties

Each system in a deployment has a set of properties that contains CONS3RT and user defined values for use in the configuration and execution of Systems. These allow for customization in software and test assets.

Contents

CONS3RT 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 CONS3RT 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

Environment Variables

CONS3RT 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

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 ====
#Mon Feb 23 09:59:25 EST 2015
#Mon Feb 23 10:07:30 EST 2015
#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.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 ====