How it works
Digger stores a high-level, cloud-agnostic representation of your stack in the
dgctl.json
file.The
dgctl.json
file has a list of blocks. Each block represents a piece of infrastructure and produces Terraform for its provisioning.You can change behaviour of blocks by either changing their template (
target
) to a different repo, or by adding your custom Terraform into the overrides
folder in the block's directory.

Q: Why
dgctl.json
and per-block config.json
are split?A: Single large config file quickly becomes unmanageable. Example:
serverless.yml
TODO: figure out the right abstraction for things like CloudWatch that spans across multiple blocks. For now it is part of the block but that's not clean.
Last modified 1mo ago