Nested deployment configurations with Auto-Discovery
You can now add additional, nested deployment configurations when use the auto-discovery feature to override the base-deployment configuration for a specifc project/stack. For more info see the documentation for Nested config overrides.
🚨 Breaking Changes to Settings in the Deployment Configuration
This Release introduces a configuration schema cleanup in the deployment settings for consistency with other settings, adds flexible shorthand syntax, and updates auto-discovery label handling in Docker Container.
Important
You need to change the following values:
- Replace the following in your
.doco-cd.ymlfiles:auto_discoverandauto_discover_opts->auto_discovery(merged together to one object)destroyanddestroy_opts->destroy(merged together to one object)build_opts->build(Renamed)
- Consider recreating containers that use the legacy
cd.doco.deployment.auto_discoverDocker label to migrate tocd.doco.deployment.auto_discoveryin the next convenient moment.
Changes
Unified Config Objects
- Auto-discovery config is now unified:
auto_discoverandauto_discover_optsare replaced by a singleauto_discoveryobject:auto_discovery.enabledauto_discovery.depthauto_discovery.delete
- Destroy config is now unified:
destroy(boolean) anddestroy_optsare replaced by a singledestroyobject:destroy.enableddestroy.remove_volumesdestroy.remove_imagesdestroy.remove_dir
Renamed Fields for Build settings
build_opts has been renamed to build:
build:
force_image_pull: true
no_cache: true
args:
MY_ARG: valueBoolean Shorthand Support
auto_discovery, destroy, and reconciliation now accept either a boolean or a full object, enabling a concise shorthand:
# Shorthand (uses default options)
auto_discovery: true
destroy: true
reconciliation: false
# Full object (for customization)
auto_discovery:
enabled: true
depth: 2
delete: falseDocker Label Changes
By renaming the auto_discovery deploy setting, I also changed their Container labels. The old labels are deprecated but still supported to prevent unnecessary redeployments/container recreations:
- New labels:
cd.doco.deployment.auto_discoveryandcd.doco.deployment.auto_discovery.delete - Deprecation handling: Legacy
auto_discoverlabels are still read as a fallback for existing containers, and a deprecation warning is logged, prompting migration.
What's Changed
🚨 Breaking Changes
✨ Features
🌟 Improvements
- refactor(external-secrets): seperate caching logic in 1password provider by @kimdre in #1304
- refactor(config): reorganize config package by @kimdre in #1310
- feat(reconciliation): add post-destroy stage and skip logic for reconciliation by @kimdre in #1312
- refactor(deploy-config): rename 'enable' to 'enabled' for consistency by @kimdre in #1313
📦 Dependencies
- chore(deps): update actions/add-to-project action to v2 by @renovate[bot] in #1302
- chore(deps): update dependency zensical to v0.0.40 by @renovate[bot] in #1301
- chore(deps): update module mvdan.cc/gofumpt to v0.10.0 by @renovate[bot] in #1308
- chore(deps): update docker/github-builder digest to d4bb88e by @renovate[bot] in #1307
📚 Miscellaneous
New Contributors
Full Changelog: v0.84.0...v0.85.0