Releases: meshcloud/collie-cli
v0.27.0
What's Changed
New Features
- Support defining custom platforms by @gregorzavodnik in #293
- Added support for foundation-level modules. These are a useful addition to platform-level modules. @JohannesRudolph in #297
- New "collie foundation docs" command by @JohannesRudolph in #297
- Added opentofu support by @JohannesRudolph in #296
Breaking Changes
Docs V2
The "collie foundation docs" command no longer generates documentation using logic built into collie-cli.
The new "v2" approach for generating docs using collie leverages
terragrunt with a foundation-level terraform module that builds
the documentation. This approach is more versatile and more performant
- uses terraform_remote_state to quickly download documentation_md output
from all platform modules, which is much faster than any other approach
we tried before (see #271) - the terraform module can freely implement templating, ie symlinking
the documentation site generator templates to enable docs hot reloading - users have better control to work natively with the documentation generator
of their choice, because logic is moved out of collie-cli
The terraform module that we will make available on collie-hub for now unfortunately
no longer has support for generating kit module documentation. However
we have found that there's little value in generating kit module documentation
outside of the collie-hub use case, as most cloud foundation teams want
to generate documentation for their application teams and are content with
re-viewing terraform module documentation directly off the README.md files
in git.
Removed collie kit compile
The "collie kit compile" command is no longer part of collie-cli.
We figured out this use case is better served by tools like pre-commit-terraform
https://github.com/antonbabenko/pre-commit-terraform?tab=readme-ov-file#terraform_validate
which includes more robust handling of terraform's quirks. Given that
there are better solutions out there, we think it's best to remove this
feature from collie and focus our resources on unique features.
See #296 for more details
Fixes and other Changes
- fix: "detected no test modules" error in "foundation test --module" by @JohannesRudolph in #288
- chore: remove unused wiki-images by @JohannesRudolph in #295
- chore: upgrade nix shell to using a nix flake by @JohannesRudolph in #294
- chore: upgrade to deno 1.45 by @JohannesRudolph in #298
New Contributors
- @gregorzavodnik made their first contribution in #293
Full Changelog: v0.26.0...v0.27.0
v0.26.0
What's Changed
- chore: upgrade to deno 1.41, cliffy v1.0 rc3 and std lib to 0.216. This significantly reduces the size of collie binaries. by @JohannesRudolph in #285
- feat: skip selecting foundations if repo only has a single one by @JohannesRudolph in #284
- feat: collie test command. This adds a workflow for running
terraform test
in dedicated terragrunt configurations by @JohannesRudolph in #286 - feat: force collie to exit when receiving second interrupt from user by @JohannesRudolph in #287
- feature/drop deno unstable by @JohannesRudolph in #280
Full Changelog: v0.25.0...v0.26.0
v0.25.0
Important Changes
collie-cli now uses the latest tagged version of the collie-hub repo if not set differently via collie/config.json
What's Changed
- chore: typo in compliance description by @florianow in #274
- Update issue templates by @JohannesRudolph in #279
- Feature/colliehub version tag by @florianow in #281
- Feature/colliehub version tag by @florianow in #283
Full Changelog: v0.24.0...v0.25.0
v0.24.0
Important Changes
Unfortunately we decided to remove the fast documentation output collection introduced in v0.23.0 as it did prove unreliable in practice. No changes are necessary to your collie repositories. Subscribe to #273 to follow our search for a better alternative.
What's Changed
- chore: adding expose=true collie kit apply by @florianow in #270
- feat: remove "foundation docs" fast output collection mode by @JohannesRudolph in #271
Full Changelog: v0.23.0...v0.24.0
v0.23.0
Upgrade Instructions
This is not a strictly "breaking", but highly recommended change. When running collie foundation docs
collie needs to fetch the documentation_md
output from all terraform modules in your platforms. This can be quite slow, so collie tried to parallelize this process, which unfortunately leads to bugs described in #265
Collie will now default to a serial execution (safe by default) and optionally activates a faster mode supported by terragrunt run-all
if your platform.hcl
has the following required terragrunt hook
terraform {
before_hook "collie_info" {
commands = ["apply", "plan", "output"]
execute = ["echo", "--- BEGIN COLLIE PLATFORM MODULE OUTPUT: ${path_relative_to_include()} ---"]
}
}
This hook helps collie parse the output correctly and as a nice side-effect, we also find it enhances the readability of logs.
What's Changed
- Remove collie kit bundle by @JohannesRudolph in #261
- feat: add validation to verify control and kit module ids in "new" by @JohannesRudolph in #264
- feature/debug documentation update errors by @JohannesRudolph in #266
Full Changelog: v0.22.2...v0.23.0
v0.22.2
What's Changed
- test: add a test for parsing compliance control paths by @JohannesRudolph in #258
- fix: consistently use posix paths for links generated in docs markdown by @JohannesRudolph in #260
Full Changelog: v0.22.1...v0.22.2
v0.22.1
What's Changed
Fixes
- Fix parsing of collie config object ids on windows by @JohannesRudolph in #252
- Fix: improve collie repository file scanning robustness by @JohannesRudolph in #254
CI pipeline improvements
- chore: add macos e2e test by @florianow in #251
- feature/simplify build by @JohannesRudolph in #253
- chore: fix nix install unfree packages in ci by @JohannesRudolph in #255
- Feature/fix nix install by @JohannesRudolph in #256
- chore: use a nix-shell action that supports unfree packages... by @JohannesRudolph in #257
New Contributors
- @florianow made their first contribution in #251
Full Changelog: v0.22.0...v0.22.1
v0.22.0
What's Changed
- fix: ignore collie cache in .gitignore generated by 'init' by @JohannesRudolph in #246
- feat: pass --preview and --build as simple flags to foundation docs by @JohannesRudolph in #247
- upgrade to deno v1.37 by @JohannesRudolph in #248
- Feature/e2e tests by @JohannesRudolph in #249
Full Changelog: v0.21.1...v0.22.0
v0.21.1
What's Changed
- fix: crash on windows due to invalid signal handling by @JohannesRudolph in #245
Full Changelog: v0.21.0...v0.21.1
v0.21.0
What's Changed
- Feature/ask for foundation name by @felixzieger in #232
- fix: don't crash running collie info outside of a git repo by @JohannesRudolph in #233
- feat: configure collie repo with LF line endings by @JohannesRudolph in #235
- fix: when exiting collie via SIGTERM or SIGINT wait for subprocesses by @JohannesRudolph in #236
- Feature/fix foundation docs from subdir by @JohannesRudolph in #239
- chore: upgrade default.nix by @JohannesRudolph in #240
- fix: correctly detect npm 10 as supported by @JohannesRudolph in #241
- feat: add a --build switch to foundation docs by @JohannesRudolph in #242
- Remove module.hcl from fallback templates generated by "kit apply" by @JohannesRudolph in #243
- fix: "foundation new" should not prompt when stdout is not a tty by @JohannesRudolph in #244
Full Changelog: v0.20.0...v0.21.0