Releases: kimdre/doco-cd
v0.77.0-rc.2
What's Changed
🌟 Improvements
- fix(docker): ignore changes outside repo by @qianlongzt in #1170
📦 Dependencies
📚 Miscellaneous
- chore(git): remove unused function by @qianlongzt in #1171
Full Changelog: v0.77.0-rc.1...v0.77.0-rc.2
v0.77.0-rc.1
What's Changed
When using docker compose with configs, secrets or bind mounts, changes to these resources will trigger a recreation of the service containers by default. To avoid this, you can set the new cd.doco.deployment.recreate.ignore service label to a YAML list of scopes that should be ignored for recreation.
More info in the wiki: https://github.com/kimdre/doco-cd/wiki/Deploy-Settings#service-labels
✨ Features
- feat(docker): add recreate ignore label to skip recreate by @qianlongzt in #1158
📦 Dependencies
- chore(deps): update github/codeql-action digest to 3869755 by @renovate[bot] in #1154
- fix(deps): update module github.com/docker/compose/v5 to v5.1.1 by @renovate[bot] in #1155
- chore(deps): update golang:1.26.1 docker digest to 595c784 by @renovate[bot] in #1160
- fix(deps): update module github.com/infisical/go-sdk to v0.6.9 by @renovate[bot] in #1161
- chore(deps): update codecov/codecov-action action to v5.5.4 by @renovate[bot] in #1165
- fix(deps): update aws-sdk-go-v2 monorepo by @renovate[bot] in #1166
- chore(deps): update github/codeql-action digest to c10b806 by @renovate[bot] in #1167
- chore(deps): update codecov/codecov-action action to v6 by @renovate[bot] in #1168
Full Changelog: v0.76.0...v0.77.0-rc.1
v0.76.0
What's Changed
This Release adds a new API endpoint to manually trigger Poll jobs.
See also in the wiki.
| Endpoint | Method | Description | Query Parameters |
|---|---|---|---|
/v1/api/poll/run |
POST | Trigger a poll run for all polling targets in the body (JSON). | - wait (boolean, default: true): Wait for the poll run to finish before responding. |
The request body must be a JSON array of poll configurations, each containing at least a url field containing the Git clone URL to the repository.
The fields run_once and interval will be ignored for poll runs triggered via the API, as they are only relevant for the scheduled poll runs.
Example Request
Minimal example using the default settings:
curl --request POST \
--url 'https://cd.example.com/v1/api/poll/run?wait=true' \
--header 'content-type: application/json' \
--header 'x-api-key: your-api-key' \
--data '[
{
"url": "https://github.com/your/repo.git",
}
]'Example with custom reference and inline deployment configuration:
curl --request POST \
--url 'https://cd.example.com/v1/api/poll/run?wait=true' \
--header 'content-type: application/json' \
--header 'x-api-key: your-api-key' \
--data '[
{
"url": "https://github.com/your/repo.git",
"reference": "dev",
"deployments": [
{
"name": "my-app",
"working_dir": "/app",
"env_files": [
".env"
]
}
]
}
]'✨ Features
🌟 Improvements
- fix(decryption): prevent path traversal in bind mount directories by @kimdre in #1150
- fix(filesystem): improve path traversal detection checks by @kimdre in #1152
📦 Dependencies
Full Changelog: v0.75.0...v0.76.0
v0.76.0-rc.2
v0.76.0-rc.1
What's Changed
This PR adds a new API endpoint to manually trigger Poll jobs.
See also in the wiki.
| Endpoint | Method | Description | Query Parameters |
|---|---|---|---|
/v1/api/poll/run |
POST | Trigger a poll run for all polling targets in the body (JSON). | - wait (boolean, default: true): Wait for the poll run to finish before responding. |
The request body must be a JSON array of poll configurations, each containing at least a url field containing the Git clone URL to the repository.
The fields run_once and interval will be ignored for poll runs triggered via the API, as they are only relevant for the scheduled poll runs.
Example Request
Minimal example using the default settings:
curl --request POST \
--url 'https://cd.example.com/v1/api/poll/run?wait=true' \
--header 'content-type: application/json' \
--header 'x-api-key: your-api-key' \
--data '[
{
"url": "https://github.com/your/repo.git",
}
]'Example with custom reference and inline deployment configuration:
curl --request POST \
--url 'https://cd.example.com/v1/api/poll/run?wait=true' \
--header 'content-type: application/json' \
--header 'x-api-key: your-api-key' \
--data '[
{
"url": "https://github.com/your/repo.git",
"reference": "dev",
"deployments": [
{
"name": "my-app",
"working_dir": "/app",
"env_files": [
".env"
]
}
]
}
]'✨ Features
🌟 Improvements
📦 Dependencies
Full Changelog: v0.75.0...v0.76.0-rc.1
v0.75.0
What's Changed
More bug fixes and minor improvements.
Fixed the issue with bind mounts throwing an symlink target X escapes the repository root Y.
🌟 Improvements
- refactor(decryption): simplify file decryption logic by @kimdre in #1145
- refactor(git): pass custom env vars for variable interpolation directly by @kimdre in #1141
📦 Dependencies
📚 Miscellaneous
Full Changelog: v0.74.0...v0.75.0
v0.74.0
What's Changed
This release improves the change detection and file decryption.
🌟 Improvements
- test(compose): add retry logic for "No such image" errors in stack deployment tests by @kimdre in #1127
- fix(webhook): prevent concurrent webhook events for the same repository by @kimdre in #1131
- fix(compose): decrypt project files before loading compose project by @kimdre in #1133
- refactor(Dockerfile): optimize build context by @kimdre in #1139
- fix(decryption): improve file decryption logic and tracking for compose projects by @kimdre in #1138
- refactor(git): use WalkDir instead of Walk for symlink collection by @kimdre in #1140
🐛 Bug Fixes
- fix(docker): fix change detect error by @qianlongzt in #1137
📦 Dependencies
- chore(deps): update docker/github-builder digest to 61b16ec by @renovate[bot] in #1128
- chore(deps): update github/codeql-action digest to b1bff81 by @renovate[bot] in #1129
- chore(deps): update docker/dockerfile:1 docker digest to 4a43a54 by @renovate[bot] in #1135
- chore(deps): update docker/github-builder digest to 7031322 by @renovate[bot] in #1136
Full Changelog: v0.73.2...v0.74.0
v0.74.0-rc.1
What's Changed
🌟 Improvements
- fix(webhook): prevent concurrent webhook events for the same repository by @kimdre in #1131
- fix(compose): decrypt project files before loading compose project by @kimdre in #1133
📦 Dependencies
- chore(deps): update docker/github-builder digest to 61b16ec by @renovate[bot] in #1128
- chore(deps): update github/codeql-action digest to b1bff81 by @renovate[bot] in #1129
📚 Miscellaneous
- test(compose): add retry logic for "No such image" errors in stack deployment tests by @kimdre in #1127
Full Changelog: v0.73.2...v0.74.0-rc.1
v0.73.2
v0.73.1
What's Changed
This version fixes errors with certain field types in the Docker Compose specification when hashing the compose configuration for the change detection logic.
🐛 Bug Fixes
📦 Dependencies
- chore(deps): update gcr.io/distroless/base-debian13 docker digest to b051042 by @renovate[bot] in #1122
Full Changelog: v0.73.0...v0.73.1