Skip to content

Docker image

Docker image (klas-devtools)

The klas-devtools image is defined in dev-tools/Dockerfile and contains all tools needed to build, cross-compile, and test KLAS:

  • Build toolchain (CMake, compilers, Boost, Paho MQTT, sdbus-c++)
  • Cross-compilation SDKs (Raspbian, Yocto/Welma)
  • Python 3 + virtual environment support
  • Pluma testing framework (installed in /pluma-venv)
  • mosquitto-clients, glab, and other integration-test utilities

Credentials and secrets

Sensitive credentials (GitLab job token, SSH key for Pluma) are passed into the build using Docker build secrets, not --build-arg. This ensures no credentials are baked into any image layer.

In the pipeline, the secrets file is created automatically from CI variables. See CI/CD for instructions on building the image locally.

Update Dockerfile flow

  • Create a dedicated branch from the branch develop
  • Checkout the new branch and update the Dockerfile
  • Create a merge request to develop
  • Wait for develop's build to be finished
  • Enjoy the new image with other branches