Customize the base image for your pipelines.
Chalk’s runs your feature pipelines on Docker images. If your code relies only on the resolvers and data definitions you define, using Chalk’s base image with no modification is a good option. However, if you require additional dependencies, you’ll need to specify how to install and manage them.
You can specify build options on a per-environment basis, and you can provide a default set of configuration for environments that do not have explicit configuration values.
Chalk can install extra dependencies with pip.
By default, Chalk looks for a file named
requirements.txt in the base
of your project.
However, you can override this location or specify requirements
files per-environment in the
chalk.yaml file located at the base
of your repo.
project: my-project-id environments: default: runtime: python310 requirements: ./requirements.txt dockerfile: Dockerfile prod: requirements: ./requirements-prod.txt
You may have dependencies that cannot be expressed through
For those dependencies, you need to customize the base image Chalk uses
to run your pipelines.
Chalk allows you to specify a custom Dockerfile
that will be used to build a base image for your deploys.
project: my-project-id environments: default: dockerfile: ./Dockerfile prod: dockerfile: ./DockerfileProd
You build any Debian-based image that you like, with a few requirements:
pythonmust be on the path
pipmust be on the path
Chalk is responsible for mounting your code into the image, and for installing your requirements with pip.
The Python version for a Chalk project is set at the project level.
The version is set with the
.chalk.yml file in your project repo.
Today, Chalk accepts only
python310 as the value for
but as the platform supports more runtimes, more values will
be allowed here.
project: my-project-id environments: default: runtime: python310 prod: runtime: python310