Garden 0.13.31 is out! 🎉
This is a maintenance release that includes some bug fixes, features, and improvements, performance optimizations, and version updates for some bundled tools.
Many thanks to @ManAnRuck for the contributions to this release!
Notable Changes
Partial Module Resolution
In #6002 we implemented a feature flag to allow partial module resolution for build
, deploy
, test
and run
commands.
The feature is available when 2 conditions hold:
- the corresponding feature flag is enabled:
GARDEN_ENABLE_PARTIAL_RESOLUTION=true
- Garden
build
,deploy
,test
orrun
command is executed with explicitly defined action names
Example:
GARDEN_ENABLE_PARTIAL_RESOLUTION=true garden deploy backend
Please note, that if you have module-based configs, then the Test
action names will have synthetic names in the form of ${moduleName}-${testName}
.
You can always get the list of all actions by running the command:
garden get actions
or, by using one of the action kind-specific convenience commands:
garden get builds
garden get deploys
garden get runs
garden get tests
Windows: Current directory not added to PATH
implicitly anymore
Since Garden 0.13.31 we export the environment variable NoDefaultCurrentDirectoryInExePath
when spawning child processes on Windows. This prevents child processes from implicitly considering the current directory as part of the PATH
.
This prevents an issue with tools written in Go. Since Go 1.19 the os/exec
module errors unless the PATH
resolution results in an absolute path for improved security. See also https://go.dev/blog/path-security
We export NoDefaultCurrentDirectoryInExePath
to make sure Garden behaviour on Windows is consistent with other platforms, like MacOS and Linux, where the current directory is not implicitly considered as part of the PATH
.
Assets
Download the Garden binary for your platform from below or simply run garden self-update
if you already have it installed.
- Garden v0.13.31 for Alpine AMD64 (tar.gz)
- Garden v0.13.31 for Linux AMD64 (tar.gz)
- Garden v0.13.31 for Linux ARM64 (tar.gz)
- Garden v0.13.31 for MacOS AMD64 (tar.gz)
- Garden v0.13.31 for MacOS ARM64 (tar.gz)
- Garden v0.13.31 for Windows AMD64 (.zip)
Changelog
0.13.31 (2024-06-03)
Features
- allow custom args in
kubectl apply
for kubernetes deployments (#6107) (85ab8e263) - images: add multi-platform images for garden deployed services (#6072) (76fa956d0)
- template: add date template helper functions (#5997) (39d239661)
Bug Fixes
garden publish
command to respectpublishId
(#6052) (e30ab0ba5)- actions: return all outputs of an action as a json string (#6067) (7c60c6b1b)
- commands: use statusOnly provider resolution for several read-only commands (#6063) (c6bc3d788)
- core: issue with partial module resolution and module templates (#6073) (78f4d35e1)
- docs: actualize
cloud secrets update
command description (#6104) (daec250b1) - images: download tools with correct
TARGETARCH
for multi-platform images (#6079) (5a216f9ec) - k8s: prevent exec auth script errors on Windows (#6120) (066798720)
- modules: another fix for the experimental partial module resolution (#6105) (974de64be)
- provider: allow initialising providers without write ops for validation command (#6051) (2321ae8d6)
- secrets: skip already existing secrets while creating (#6099) (65ceb7c0d)
- terraform: prevent deadlock by consuming stdout (#6037) (3640b4edd)
Bundled Tool Version Updates
- helm: update version to
3.15.1
(#6123) (17f5e0cb8) - kubectl: update version to
1.30.1
(#6122) (2ece3d194)
Improvements
- cli: more detailed logging in
cloud secret
commands (#6065) (20742f4f1) - helm: use
--wait
when deploying (#6078) (7a68373a1) - k8s: allow volume mounts in runners (#6112) (bac234b59)
Performance Improvements
- cli: avoid unnecessary module resolution when filtering by name (#6002) (86c885f42)
- cli: improve cli startup performance using v8 cache (#6049) (7d8034b3b)