Skip to content

Latest commit

 

History

History
50 lines (45 loc) · 3.61 KB

File metadata and controls

50 lines (45 loc) · 3.61 KB

devkit.json Configuration

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.

Configuration Parameters

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.

Example

{
    "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.*"
                }
            }
        }
    }
}