What's Changed
This release adds two new features/improvements:
Deployment Auto Discovery
You can use the new auto-discovery feature to automatically deploy your stacks/projects from a directory structure.
Enable it with auto_discover: true, you can specify the directory to be scanned with the working_dir setting.
Doco-CD will then scan the directory for sub-directories that contain docker-compose.y(a)ml or compose.y(a)ml files and use the name of the sub-directory as the stack name (similiar to the name deploy setting).
See the wiki for more information: https://github.com/kimdre/doco-cd/wiki/Deploy-Settings#auto-discover-settings
For example with a file structure like this
.doco-cd.yml
apps/
├── wordpress/
│ ├── docker-compose.yml
│ └── .env
├── nginx/
│ ├── docker-compose.yaml
│ └── configs/
│ └── nginx.conf
└── misc/
└── image.png
and a .doco-cd.yml with the following content:
working_dir: apps/
auto_discover: truedoco-cd would deploy 2 stacks to the docker host:
- wordpress
- nginx
Remote env files when deploying from a remote repository
A new syntax has been added to the env_files deploy setting.
If repository_url is set to deploy from a different repo, you can use the remote:<filepath> syntax to specify, that the dotenv file is located in the remote repository and should be loaded from there. Entries/Keys, that appear in multiple files, get overwritten by the next occurrence and remote dotenv files have higher priority than local ones.
See the wiki for more information: https://github.com/kimdre/doco-cd/wiki/Deploy-Settings#from-remote-repository
For example:
# base.env
TEST=base
HELLO=world# test.env in remote repository
TEST=changedrepository_url: <url to repo>
env_files:
- base.env
- remote:test.envWould result in
TEST=changed
HELLO=world✨ Features
🌟 Improvements
- fix(secret-provider): improve 1Password client handling by @kimdre in #773
- feat(config): allow propagation of local env files when using a remote repository by @kimdre in #777
📦 Dependencies
- chore(deps): update golang:1.25.4 docker digest to e68f6a0 by @renovate[bot] in #763
- fix(deps): update aws-sdk-go-v2 monorepo by @renovate[bot] in #764
- fix(deps): update aws-sdk-go-v2 monorepo by @renovate[bot] in #768
- fix(deps): update module golang.org/x/net to v0.47.0 by @renovate[bot] in #769
- chore(deps): pin codespell-project/actions-codespell action to 406322e by @renovate[bot] in #771
- chore(deps): update github/codeql-action digest to 014f16e by @renovate[bot] in #774
- chore(deps): update module golang.org/x/tools to v0.39.0 by @renovate[bot] in #775
📚 Miscellaneous
- ci: move spelling errors check job to test.yaml by @kimdre in #765
- ci: improve spelling errors job by @kimdre in #767
Full Changelog: v0.49.0...v0.50.0