Dockerfile Endpoint for CI Integration

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 .

 

 

 

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.