Skip to content

doco-cd

v0.85.0 Breaking

This release includes 4 breaking changes for platform teams planning a safe upgrade.

Published 28d Deployment Automation
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ci-cd devops docker docker-swarm doco-cd gitops
+2 more
swarm-mode webhook

Summary

AI summary

Configuration schema cleanup requires renaming auto_discover, destroy_opts, and build_opts in .doco-cd.yml.

Full changelog

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.yml files:
    • auto_discover and auto_discover_opts -> auto_discovery (merged together to one object)
    • destroy and destroy_opts -> destroy (merged together to one object)
    • build_opts -> build (Renamed)
  • Consider recreating containers that use the legacy cd.doco.deployment.auto_discover Docker label to migrate to cd.doco.deployment.auto_discovery in the next convenient moment.

Changes

Unified Config Objects

  • Auto-discovery config is now unified: auto_discover and auto_discover_opts are replaced by a single auto_discovery object:
    • auto_discovery.enabled
    • auto_discovery.depth
    • auto_discovery.delete
  • Destroy config is now unified: destroy (boolean) and destroy_opts are replaced by a single destroy object:
    • destroy.enabled
    • destroy.remove_volumes
    • destroy.remove_images
    • destroy.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: value

Boolean 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: false

Docker 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_discovery and cd.doco.deployment.auto_discovery.delete
  • Deprecation handling: Legacy auto_discover labels are still read as a fallback for existing containers, and a deprecation warning is logged, prompting migration.

What's Changed

🚨 Breaking Changes

  • refactor(deploy-config): configuration schema cleanup by @kimdre in https://github.com/kimdre/doco-cd/pull/1306

✨ Features

  • feat(deploy-config): add support for nested deployment configuration by @kimdre in https://github.com/kimdre/doco-cd/pull/1305

🌟 Improvements

  • refactor(external-secrets): seperate caching logic in 1password provider by @kimdre in https://github.com/kimdre/doco-cd/pull/1304
  • refactor(config): reorganize config package by @kimdre in https://github.com/kimdre/doco-cd/pull/1310
  • feat(reconciliation): add post-destroy stage and skip logic for reconciliation by @kimdre in https://github.com/kimdre/doco-cd/pull/1312
  • refactor(deploy-config): rename 'enable' to 'enabled' for consistency by @kimdre in https://github.com/kimdre/doco-cd/pull/1313

📦 Dependencies

  • chore(deps): update actions/add-to-project action to v2 by @renovate[bot] in https://github.com/kimdre/doco-cd/pull/1302
  • chore(deps): update dependency zensical to v0.0.40 by @renovate[bot] in https://github.com/kimdre/doco-cd/pull/1301
  • chore(deps): update module mvdan.cc/gofumpt to v0.10.0 by @renovate[bot] in https://github.com/kimdre/doco-cd/pull/1308
  • chore(deps): update docker/github-builder digest to d4bb88e by @renovate[bot] in https://github.com/kimdre/doco-cd/pull/1307

📚 Miscellaneous

  • Update 'remove_dir' setting description for clarity by @mikeage in https://github.com/kimdre/doco-cd/pull/1311

New Contributors

  • @mikeage made their first contribution in https://github.com/kimdre/doco-cd/pull/1311

Full Changelog: https://github.com/kimdre/doco-cd/compare/v0.84.0...v0.85.0

Breaking Changes

  • auto_discover and auto_discover_opts replaced by a single `auto_discovery` object (with fields enabled, depth, delete).
  • destroy boolean and destroy_opts replaced by a single `destroy` object (with fields enabled, remove_volumes, remove_images, remove_dir).
  • `build_opts` renamed to `build` in the configuration schema.
  • Docker label `cd.doco.deployment.auto_discover` deprecated; migrate to `cd.doco.deployment.auto_discovery`.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track doco-cd

Get notified when new releases ship.

Sign up free

About doco-cd

Docker Compose Continuous Deployment

All releases →

Related context

Earlier breaking changes

  • v0.89.0 Deployment now requires a .doco-cd.yml config file.

Beta — feedback welcome: [email protected]