Deploy OneAgent for Google App Engine apps
Google App Engine is a managed application platform that supports most modern languages. The Google App Engine "standard environment" type supports applications that run on Java, .NET, Node.js, Golang, and more. For custom Docker images, Google App Engine provides "flexible environment" support, so you can run custom Docker images in flexible environment mode.
Before you begin
You'll need to
- acquire DESK environment credentials.
- review the list of supported applications and versions.
Generate PaaS token
The first step is to get your environment ID and PaaS token for your DESK environment.
Integrate OneAgent into application images
To integrate OneAgent into a container deployment with a Dockerfile in Google App Engine flexible environment and activate instrumentation of your application, add the following commands to your current Dockerfile.
ARG DT_API_URL="https://<environmentID>.live.desk.com/api"
ARG DT_API_TOKEN="<token>"
ARG DT_ONEAGENT_OPTIONS="flavor=default&include=<technology1>&include=<technology2>"
ENV DT_HOME="/opt/desk/oneagent"
RUN mkdir -p "$DT_HOME" && \
wget -O "$DT_HOME/oneagent.zip" "$DT_API_URL/v1/deployment/installer/agent/unix/paas/latest?Api-Token=$DT_API_TOKEN&$DT_ONEAGENT_OPTIONS" && \
unzip -d "$DT_HOME" "$DT_HOME/oneagent.zip" && \
rm "$DT_HOME/oneagent.zip"
ENTRYPOINT [ "/opt/desk/oneagent/desk-agent64.sh" ]
CMD [ "executable", "param1", "param2" ] # the command of your application, e.g. java
Note: The commands above that use wget
and unzip
may fail if they aren't provided by the base image.
Regarding the code snippet above:
-
As it is shown in the code snippet, first, you need to define variables with default values using
ARG
instructions. -
Technology support is enabled via
include
parameters. Valid options forflavor=default
areall
,java
,apache
,nginx
,nodejs
,dotnet
,php
andgo
. Including specific technology-support options, rather than support for all technology options, results in a smaller OneAgent package. -
<environmentID>
should be replaced with your DESK environment ID. If you’re using DESK Managed, you need to provide your DESK Server URL (https://<YourDESKServerURL>/e/<environmentID>/api
). -
<token>
should be replaced with the PaaS token mentioned above.
Deploy the application image
After integrating the OneAgent to the application's Dockerfile you will need to deploy the application, e.g., with the gcloud
cli. For this switch to the app's directory that contains the Dockerfile
and the app.yaml
file, and run the following command.
$ gcloud app deploy
Google App Engine will take care of building the Docker image based on the Dockerfile
provided and thereby of downloading and installing the OneAgent code-modules into the application image.