The file is a configuration file and can be used to populate environmental variables or cloud environments. It should be generated at directory: /etc/heimdall.conf

It can contain different options which should be echoed out if necessary with syntax: "${optionName}=${optionValue}":

Option Name Description
cloudDetection If the manager should detect cloud services on startup
cloudOptions (Available when cloud Detection is disabled) For heimdall running on premise to allow using cloud services, initializes on startup
(none, aws, azure, gcp, oracle)
hdHost Hostname of management server
hdPort Port of the management server, generally 8087 or 8443
hdRole server | proxy
In AWS, use this as the name of an "AWS Secret" to store the configuration, protecting included passwords from being written to disk. To use, proper permissions must be set on the IAM role. This option provides two major benefits. First is that all passwords are stored in AWS Secrets, in an encrypted format. Second is that redeployment of a management server can be done with a configuration pre-populated, so there is no need to backup and restore configurations to account for failures. Simply terminate the old instance and a new instance with the same user-data will be created with the same configuration as the original.
hdPassword Login password for the management server
hdUser Login username for the management server, can be admin
javaOptions Any arbitrary options desired to be set
secure If the proxy should use HTTPS to connect to the manager
vdbName Exact name of the vdb to service

Example user data script:

echo "cloudDetection=true"
echo "cloudDetection=aws"
echo "hdHost=HostNameOfManagementServer"
echo "hdPort=8087"
echo "hdRole=server"
echo "hdPassword=secretSafeLongPassword"
echo "hdUser=admin"
echo "secure=false"
echo "vdbName=SQL_DB"
) > /etc/heimdall.conf
Once initialized, this configuration can be adjusted manually if necessary. Note, if the hdRole is set, then the instance will automatically allocate 80% of instance memory for the process (server or proxy). This can be tuned in the /etc/heimdall.conf as needed as well. These settings will effectively allow auto-scaling groups of proxies to be configured.

Please note: If building an AMI for auto-scaling, which may be used by multiple scaling groups with different configurations, it is suggested that after doing initial testing, the heimdall.conf be deleted so that user-data will be re-read to build the Heimdall configuration. This will leverage the user-data on each new initialization to build the configuration at startup.