Deepfactor currently provides three different ways to instrument and run your containers. Please browse to the /terminal-instrumentation
page your portal and review the procedures to integrate with Kubernetes, Docker run, or Docker build.
If instrumenting a container image itself works best with your CI/CD and testing, please note the following capability.
The Deepfactor API exposes an endpoint to generate a Dockerfile that instruments a container image with the Deepfactor runtime. The OpenAPI documentation for this endpoint and optional query parameters is available at:
/api-docs/index.html#/instrumentation/GetDockerfileEndpoint
The endpoint can generate a Dockerfile that can instrument multiple application images. For example, the API can be used to pre-fill a custom build Dockerfile that includes the image, app, and component name. The latest 2.1 Dockerfile.df without now excepts most API parameters also as docker –build-arg options on the command line.
The GNU C Library project provides the core libraries for the GNU system and GNU/Linux systems, as well as many other systems that use Linux as the kernel.
example:
For DF_API_TOKEN, visit your portal’s /admin/api_tokens
endpoint. (e.g. https://myportal/admin/api_tokens)
export DF_API_TOKEN=... curl -q -H "Authorization: Bearer ${DF_API_TOKEN}" ' https://myportal/api/services/v1/instrumentation/dockerfiles?include-api-token=false' | jq -r .data.file_data > Dockerfile.df
For DF_RUN_TOKEN, visit your portal’s /terminal-instrumentation
endpoint. (e.g. https://myportal/terminal-instrumentation and click on the Docker menu item.)
export DF_RUN_TOKEN=... export APP_IMAGE=psiinon/bodgeit; # DF_COMPONENT is now optional, default is imageName without tag export DF_COMPONENT="tomcat"; docker build -t ${APP_IMAGE}-df -f Dockerfile.glibc.generic.df --build-arg "DF_RUN_TOKEN=${DF_RUN_TOKEN}" --build-arg "APP_IMAGE=${APP_IMAGE}" --build-arg "DF_APP_NAME=my application" --build-arg "DF_COMPONENT=${DF_COMPONENT}" --build-arg "APP_IMAGE_ID=`docker inspect ${APP_IMAGE} --format '{{.Id}}'`" --no-cache .