The devkit.json file is the central configuration file for the DevKit. It
allows you to customize various aspects of the toolkit, primarily focusing on
Docker image management and dependency versions.
| Path | Type | Description |
|---|---|---|
docker |
Object | Top-level configuration section for Docker settings. |
docker.registry |
Object | Configuration for the container registry where images are stored. |
docker.registry.host |
String | The hostname of the container registry (e.g., us-docker.pkg.dev). |
docker.registry.project |
String | The project ID within the registry (e.g., my-project). |
docker.registry.repository |
String | The repository name within the project (e.g., my-repo). |
docker.registry.namespace |
String | The sub-namespace for Docker images. It will be prepended with devkit/. Defaults to devkit/ if not specified. |
docker.run |
List | A list of additional commands or arguments (usage depends on context). |
docker.images |
Map | A dictionary where keys are image names (e.g., build-env, build-env-debian) and values are their specific configurations. |
docker.images.<image_name> |
Object | Configuration for a specific Docker image. |
docker.images.<image_name>.keys |
Map | A map of GPG keys to add. Keys are identifiers, values are URLs to the public key. Passed as EXTRA_KEYS build arg. |
docker.images.<image_name>.repositories |
Map | A map of package repositories to add. Keys are identifiers, values are repository URLs. Passed as EXTRA_REPOSITORIES build arg. |
docker.images.<image_name>.packages |
Map | A map of extra packages to install. Keys are package names, values are version strings (e.g., 1.11.*). Passed as EXTRA_PACKAGES build arg. |
{
"docker": {
"registry": {
"host": "us-docker.pkg.dev",
"project": "my-project",
"repository": "my-repo",
"namespace": "demo"
},
"images": {
"build-env": {
"keys": {
"hashicorp": "https://apt.releases.hashicorp.com/gpg"
},
"repositories": {
"hashicorp": "https://apt.releases.hashicorp.com"
},
"packages": {
"terraform": "1.11.*"
}
}
}
}
}