Skip to content

Releases: kimdre/doco-cd

v0.57.0

21 Dec 11:32
5966582

Choose a tag to compare

What's Changed

SSH cloning support

Okay, I said v0.55.0 was the last release this year but I still had some time, so I implemented the SSH support for repository cloning. See the new app settings to define the SSH private key for cloning:

  • SSH_PRIVATE_KEY -> the private key used for SSH cloning
  • SSH_PRIVATE_KEY_FILE -> file containing the private key
  • SSH_PRIVATE_KEY_PASSPHRASE -> passphrase for the private key (if key was generated with a passphrase)
  • SSH_PRIVATE_KEY_PASSPHRASE_FILE -> file containing the passphrase

Also see Setup SSH Key in the wiki for a short tutorial how to generate and use a SSH key.

In the poll settings, you can then define a SSH clone url as the url value (e.g. git@github.com:kimdre/doco-cd.git)

Healthcheck

Also in v0.56.0 I changed the container healthcheck command but I forgot to mention it in the release. If you have the healthcheck test key set in your docker-compose.yml, please change it so that the correct healthcheck command is being used.

healthcheck:
-   test: [ "CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:80/v1/health" ]  # Also change the port here if you change the default HTTP_PORT env var
+   test: [ "CMD", "/doco-cd", "healthcheck" ]

✨ Features

  • feat(git): add SSH support for repository cloning by @kimdre in #897

📦 Dependencies

  • chore(deps): update docker/setup-buildx-action digest to 8d2750c by @renovate[bot] in #903

Full Changelog: v0.56.0...v0.57.0

v0.56.0

19 Dec 13:07
3e2ae82

Choose a tag to compare

What's Changed

🌟 Improvements

  • fix(compose): optimize unused image identification and pruning logic by @kimdre in #890
  • feat(set): introduce generic set data structure by @kimdre in #895
  • feat(healthcheck): implement own health check by @kimdre in #898
  • feat: respect .gitignore when decrypting files by @clstb in #900

📦 Dependencies

  • chore(deps): update github/codeql-action digest to 5d4e8d1 by @renovate[bot] in #887
  • fix(deps): update aws-sdk-go-v2 monorepo by @renovate[bot] in #888

📚 Miscellaneous

  • test: change dummy SOPS_AGE_KEY for encryption/decryption tests by @kimdre in #901

New Contributors

Full Changelog: v0.55.0...v0.56.0

v0.55.0

16 Dec 22:34
30e4dc8

Choose a tag to compare

What's Changed

This release will probably be the last one this year.
It contains lots of tweaks, improvements and preparations for upcoming features.

The force_image_pull deploy flag now checks for new images in the new pre-deploy stage without triggering a redeployment every time. This should reduce the noise in the logs and notifications.

Thank you all for your support.
Enjoy your holidays and have a great start to the new year! 🎉

🌟 Improvements

  • fix(notification): include stack name in message title by @kimdre in #860
  • fix(notification): display short commit hash in notification metadata by @kimdre in #865
  • feat(stages): separat deployment logic into stages by @kimdre in #842
  • fix(compose): improve logic for forced image pulls by @kimdre in #883
  • fix: improve repository locking mechanism by @kimdre in #884
  • fix(config): support paths for compose files by @UnknownHero in #885

📦 Dependencies

  • chore(deps): update docker base image to Debian 13 by @kimdre in #835
  • chore(deps): update golang:1.25.5 docker digest to 68ee6df by @renovate[bot] in #863
  • chore(deps): update aquasecurity/trivy-action digest to df65449 by @renovate[bot] in #862
  • fix(deps): update aws-sdk-go-v2 monorepo by @renovate[bot] in #864
  • chore(deps): update codecov/codecov-action action to v5.5.2 by @renovate[bot] in #867
  • chore(deps): update golang:1.25.5 docker digest to a22b2e6 by @renovate[bot] in #866
  • fix(deps): update aws-sdk-go-v2 monorepo by @renovate[bot] in #868
  • chore(deps): update aquasecurity/trivy-action digest to 83690f7 by @renovate[bot] in #870
  • chore(deps): update module golang.org/x/tools to v0.40.0 by @renovate[bot] in #869
  • chore(deps): update aquasecurity/trivy-action digest to 22438a4 by @renovate[bot] in #872
  • chore(deps): update busybox:1.37-uclibc docker digest to 9eab68f by @renovate[bot] in #874
  • chore(deps): update github/codeql-action digest to 1b168cd by @renovate[bot] in #875
  • chore(deps): update busybox:1.37-uclibc docker digest to 48a4462 by @renovate[bot] in #877
  • fix(deps): update module github.com/aws/aws-sdk-go-v2/service/secretsmanager to v1.41.0 by @renovate[bot] in #878
  • chore(deps): update github artifact actions (major) by @renovate[bot] in #879
  • chore(deps): update golang:1.25.5 docker digest to 36b4f45 by @renovate[bot] in #880
  • fix(deps): update module github.com/infisical/go-sdk to v0.6.3 by @renovate[bot] in #881

📚 Miscellaneous

  • refactor(webhook): rename security header vars for SCM providers by @kimdre in #859

New Contributors

Full Changelog: v0.54.1...v0.55.0

v0.54.1

07 Dec 18:05
9a9696d

Choose a tag to compare

What's Changed

🐛 Bug Fixes and Security

  • fix: update external repository path to use source instead of destination by @kimdre in #857
  • fix: incorrect remote repository paths by @kimdre in #858

📦 Dependencies

  • chore(deps): update github/codeql-action digest to cf1bb45 by @renovate[bot] in #854

📚 Miscellaneous

Full Changelog: v0.54.0...v0.54.1

v0.54.0

05 Dec 17:41
509298e

Choose a tag to compare

What's Changed

  • This release fixes a bug that caused a re-deployment loop in Swarm mode with replicated services.
  • You can now run a image prune on your Swarm nodes after a deployment. Use the deploy setting prune_images (boolean, default: true) to toggle the image prune feature. If enabled, a job service runs on all Swarm nodes that executes a docker image prune.

🐛 Bug Fixes and Security

  • fix(swarm): retrieve labels from replicated services by @kimdre in #850

🌟 Improvements

  • feat(swarm): add support for running Swarm jobs and pruning images by @kimdre in #839

📦 Dependencies

  • chore(deps): update softprops/action-gh-release digest to a06a81a by @renovate[bot] in #838
  • chore(deps): update github/codeql-action digest to fe4161a by @renovate[bot] in #840
  • chore(deps): update actions/checkout action to v6.0.1 by @renovate[bot] in #844
  • chore(deps): update actions/checkout digest to 8e8c483 by @renovate[bot] in #843
  • chore(deps): update gcr.io/distroless/base-debian12 docker digest to f5a3067 by @renovate[bot] in #846
  • chore(deps): update dependency golang to v1.25.5 by @renovate[bot] in #847
  • fix(deps): update aws-sdk-go-v2 monorepo by @renovate[bot] in #848
  • chore(deps): update golangci/golangci-lint-action action to v9.2.0 by @renovate[bot] in #849

📚 Miscellaneous

  • refactor: rename api package to restapi and update references by @kimdre in #845

Full Changelog: v0.53.0...v0.54.0

v0.54.0-rc.1

05 Dec 11:44
a7a8188

Choose a tag to compare

v0.54.0-rc.1 Pre-release
Pre-release

What's Changed

🌟 Improvements

  • feat(swarm): add support for running Swarm jobs and pruning images by @kimdre in #839

Bugfixes

  • fix(swarm): retrieve labels from replicated services by @kimdre in #850

📦 Dependencies

  • chore(deps): update softprops/action-gh-release digest to a06a81a by @renovate[bot] in #838
  • chore(deps): update github/codeql-action digest to fe4161a by @renovate[bot] in #840
  • chore(deps): update actions/checkout action to v6.0.1 by @renovate[bot] in #844
  • chore(deps): update actions/checkout digest to 8e8c483 by @renovate[bot] in #843
  • chore(deps): update gcr.io/distroless/base-debian12 docker digest to f5a3067 by @renovate[bot] in #846
  • chore(deps): update dependency golang to v1.25.5 by @renovate[bot] in #847
  • fix(deps): update aws-sdk-go-v2 monorepo by @renovate[bot] in #848
  • chore(deps): update golangci/golangci-lint-action action to v9.2.0 by @renovate[bot] in #849

📚 Miscellaneous

  • refactor: rename api package to restapi and update references by @kimdre in #845

Full Changelog: v0.53.0...v0.54.0-rc.1

v0.53.0

30 Nov 21:12
5664b33

Choose a tag to compare

What's Changed

doco-cd will now try to prune images, that are no longer in use after a deployment. Images, that are still in use by other containers, will be ignored/skipped.
You can use the prune_images (boolean, default: true) deploy setting to toggle this behaviour.

See the wiki: https://github.com/kimdre/doco-cd/wiki/Deploy-Settings

✨ Features

  • feat(compose): prune images after deployment by @kimdre in #837

Full Changelog: v0.52.0...v0.53.0

v0.52.0

30 Nov 15:16
a689871

Choose a tag to compare

What's Changed

  • The SCM/Git provider Gogs is now officially supported.
  • Fixed some issues that caused re-deployment loops for the same commit. For this there is now also a detection in place, that does a forced redeployment when such a loop is happening.
    There is also a new envivonment variable MAX_DEPLOYMENT_LOOP_COUNT (default: 2) to specify, when the detection should trigger a forced redeployment on consecutive deployments. Set the option to 0, to disable the detection logic.
  • The symlink handling was further improved.

✨ Features

  • feat(webhook): add Gogs as supported Git provider by @kimdre in #825

🌟 Improvements

  • fix(notification): improve error handling by @kimdre in #823
  • fix(deployment): implement detection and handling of infinite redeployment loops by @kimdre in #833
  • fix(deployment): improve deployment loop detection by @kimdre in #834
  • fix(git): enhance HasChangesInSubdir to support symlink resolution by @kimdre in #804

📦 Dependencies

  • chore(deps): update github/codeql-action digest to fdbfb4d by @renovate[bot] in #818
  • chore(deps): update busybox:1.37-uclibc docker digest to e58014d by @renovate[bot] in #817
  • chore(deps): update ubuntu/squid:latest docker digest to 6a097f6 by @renovate[bot] in #819
  • fix(deps): update aws-sdk-go-v2 monorepo by @renovate[bot] in #820
  • chore(deps): update docker/metadata-action digest to c299e40 by @renovate[bot] in #821
  • fix(deps): update module github.com/go-git/go-git/v5 to v5.16.4 by @renovate[bot] in #822
  • chore(deps): update golangci/golangci-lint-action action to v9.1.0 by @renovate[bot] in #829
  • fix(deps): update module github.com/infisical/go-sdk to v0.6.2 by @renovate[bot] in #828
  • chore(deps): update actions/checkout action to v6 by @renovate[bot] in #832
  • fix(deps): update module github.com/openbao/openbao/api/v2 to v2.5.0 by @renovate[bot] in #831

Full Changelog: v0.51.1...v0.52.0

v0.52.0-rc.1

28 Nov 16:15
56927e4

Choose a tag to compare

v0.52.0-rc.1 Pre-release
Pre-release

What's Changed

Add Gogs as supported Git provider

✨ Features

  • feat(webhook): add Gogs as supported Git provider by @kimdre in #825

🌟 Improvements

  • fix(notification): improve error handling by @kimdre in #823

📦 Dependencies

  • chore(deps): update github/codeql-action digest to fdbfb4d by @renovate[bot] in #818
  • chore(deps): update busybox:1.37-uclibc docker digest to e58014d by @renovate[bot] in #817
  • chore(deps): update ubuntu/squid:latest docker digest to 6a097f6 by @renovate[bot] in #819
  • fix(deps): update aws-sdk-go-v2 monorepo by @renovate[bot] in #820
  • chore(deps): update docker/metadata-action digest to c299e40 by @renovate[bot] in #821
  • fix(deps): update module github.com/go-git/go-git/v5 to v5.16.4 by @renovate[bot] in #822

Full Changelog: v0.51.1...v0.52.0-rc.1

v0.51.1

25 Nov 18:37
f4e7406

Choose a tag to compare

What's Changed

External Secrets - OpenBao

You can now specify the namespace to get secrets or certs from OpenBao by specifying it as the first element of the reference syntax.
By default, the root namespace is used (root), but you can specify a different namespace by adding it as the first part of the reference.

A valid key-value secret reference should use the syntax: kv:<namespace(optional)>:<secretEngine>:<secretName>:<key>
A valid PKI certificate reference should use the syntax: pki:<namespace(optional)>:<secretEngine>:<commonName>

Example:

kv:prod-secrets:db-prod:username → Fetches the username key from the db-prod key-value secret in the prod-secrets secret engine in the root namespace.
kv:root:prod-secrets:db-prod:username → Same as above, explicitly specifying the root namespace.

See also the wiki: https://github.com/kimdre/doco-cd/wiki/External-Secrets#openbao

🐛 Bug Fixes and Security

  • fix(auto-discovery): fix cloneUrl comparison for auto-delete in webhook logic by @kimdre in #812

🌟 Improvements

  • feat(openbao): support optional namespace in secret references by @kimdre in #811

📦 Dependencies

  • chore(deps): update golang:1.25.4 docker digest to 6981837 by @renovate[bot] in #806
  • fix(deps): update aws-sdk-go-v2 monorepo by @renovate[bot] in #807

Full Changelog: v0.51.0...v0.51.1