What's Changed
Periodic reconciliation
doco-cd now runs automatic reconciliation of deployed services to restore their desired state.
You can find more information on the Deploy Config wiki page:
Tip
To keep a service/container stopped, you need to scale it down in you docker compose config, see Removing a container service.
Note
Currently this is done in a fixed interval. In the future it is planned to trigger this by listening on specific events from the Docker daemon.
Shallow cloning
Shallow cloning is now supported to
- speed up syncs
- reduce network usage and the size of cloned repositories on the filesystem
You can enable shallow cloning in two ways:
- Globally in the App Config with the
GIT_CLONE_DEPTHenv var - Per deployment in the Deploy Config with the
git_depthsetting (overrides the global config)
Setting these settings to 0 means "no depth limit" for global, and "use global value" for deploy config.
Note
- If a requested tag/SHA is not reachable in current shallow history, doco-cd deepens automatically before trying a full fetch.
- Changing depth on an existing local repo triggers an automatic re-clone to keep repository state consistent.
Usage overview
- Set global default:
GIT_CLONE_DEPTH=1for shallow clone behavior across deployments.GIT_CLONE_DEPTH=0for full clone behavior.
- Override per deployment with
git_depth:git_depth: 1to force shallow for that deployment.git_depth: 0to use globalGIT_CLONE_DEPTH.
✨ Features
- feat: periodic reconciliation for webhook and poll by @qianlongzt in #1208
- feat(git): add support for shallow clones with configurable depth by @kimdre in #1251
🌟 Improvements
- fix(swarm): implement retry logic for service update to handle "update out of sequence" errors by @qianlongzt in #1242
- fix: normalize error messages in
no such imagechecks by @kimdre in #1250
🐛 Bug Fixes
- fix(external-secrets): prevent webhook body corruption during template rendering in newRequest by @kimdre in #1247
📦 Dependencies
- fix(deps): update module github.com/docker/cli to v29.4.1+incompatible by @renovate[bot] in #1240
- fix(deps): update module github.com/moby/moby/api to v1.54.2 by @renovate[bot] in #1241
- fix(deps): update module github.com/moby/moby/client to v0.4.1 by @renovate[bot] in #1244
- fix(deps): update module github.com/go-git/go-git/v5 to v5.18.0 by @renovate[bot] in #1245
- chore(deps): update dependency zensical to v0.0.34 by @renovate[bot] in #1243
- chore(deps): update golang:1.26.2 docker digest to 1e598ea by @renovate[bot] in #1252
📚 Miscellaneous
- docs: fix links in README.md by @andriibratanin in #1246
New Contributors
- @andriibratanin made their first contribution in #1246
Full Changelog: v0.81.0...v0.82.0