You can specify wildcard and glob patterns in digger.yml to include multiple directories into a project. A common use case for this is if you have multiple environment folders and they import from a common modules
directory:
development/
main.tf
production/
main.tf
modules/
shared_moduleA/
dev_only_module/
Patterns starting with .
(e.g., ./modules/**
or ../modules/**
) are resolved relative to the project directory. All other patterns are resolved relative to the digger.yml location.
If you wanted to trigger plans for all modules/
folder in both dev and prod projects you would include them in the include_patterns
key. Similarly you put anything which you want to ignore in the exclude_patterns
key ( exclude takes precedence over includes).
Example using patterns relative to project directory:
projects:
- name: dev
dir: ./development
include_patterns: ["../modules/**"] # Resolved from ./development/
workflow: default_workflow
- name: prod
dir: ./production
include_patterns: ["../modules/**"] # Resolved from ./production/
exclude_patterns: ["../modules/dev_only_module/**"]
Example using patterns relative to digger.yml location:
projects:
- name: dev
dir: ./development
include_patterns: ["modules/**"] # Resolved from digger.yml location
workflow: default_workflow
- name: prod
dir: ./production
include_patterns: ["modules/**"]
exclude_patterns: ["modules/dev_only_module/**"]