This project is a self-hostable application that provides a service broker that proxies Dynatrace SaaS/Managed credentials to applications. This is typically useful for on-premise deployments of Cloud Foundry that wish to easily bind to Dynatrace SaaS or Managed clusters. In order to facilitate self-hosting, the application is designed to work in Cloud Foundry.
The application is written in Java and packaged as a self executable JAR file. This enables it to run in anywhere that Java is available. Building the application (required for deployment) requires Maven.
The following instructions assume that you have an account on a Cloud Foundry cluster and installed the cf
command line tool.
In order to automate the deployment process as much as possible, the project contains a Cloud Foundry manifest. To deploy run the following commands:
$ mvn -Dmaven.test.skip=true clean install
$ cf push
Since the application is designed to work in a PaaS environment, all configuration is done with environment variables.
The DYNATRACE_SERVICE_PLANS
value contains the JSON payload to connect to Dynatrace SaaS/Managed.
This payload consists of environmentid
, apitoken
, apiurl
, skiperrors
, and networkzone
values to connect to Dynatrace SaaS/Managed.
Key | Description |
---|---|
environmentid |
Your Dynatrace environment ID is the unique identifier of your Dynatrace environment. You can find it in the deploy Dynatrace section within your environment. |
apitoken |
The token for integrating your Dynatrace environment with Cloud Foundry. You can find it in the deploy Dynatrace section within your environment. |
apiurl |
(Optional) The base URL of the Dynatrace API. If you are using Dynatrace Managed you will need to set this property to https://<your-managed-server-url>/e/<environmentId>/api . If you are using Dynatrace SaaS you don't need to set this property. |
skiperrors |
(Optional) Skips errors during download of the OneAgent. |
networkzone |
(Optional) Assign Network Zone to the OneAgent. |
Environment variable | Description |
---|---|
DYNATRACE_SERVICE_PLANS |
The JSON payload for connecting to Dynatrace SaaS/Managed. |
SECURITY_USER_NAME |
The username that the Cloud Foundry Cloud Controller should use to authenticate. This can be any value. |
SECURITY_USER_PASSWORD |
The password that the Cloud Foundry Cloud Controller should use to authenticate. This can be any value |
Sample JSON payload
DYNATRACE_SERVICE_PLANS: '{"A":{"name":"A","environmentid":"kwlxxxxx","apitoken":"xxxxxxxxxxx","apiurl":"https://yourmanagedcluster.com/api","skiperrors":"false","networkzone":"xxxxx"},"B":{"name":"B","environmentid":"pdexxxxx","apitoken":"yyyyyyyyyyyyy","apiurl":"https://yourmanagedcluster.com/api","skiperrors":"true","networkzone":"yyyyy"}}'
The project is set up as a Maven project and doesn't have any special requirements beyond that.
The project is released under version 2.0 of the Apache License.