This is a big one. Below are some feature highlights, and you'll find the full changelog at the bottom.
Huge thanks to everyone who contributed, through feedback, issues, PRs—and patience. All of those are super helpful and appreciated.
Also, the Garden team will be at KubeCon San Diego next week. Come swing by our booth and say hi if you're in the neighbourhood 🙂
Test and Task Artifacts
You can now use the artifacts
directive to store files that are generated by test and task runs. This is for example useful if you use JUnit, Cucumber, or other testing frameworks that generate test reports. The artifacts are stored under the .garden/artifacts
directory and you can also download them from the dashboard.
cert-manager Integration
Garden now integrates with cert-manager
which automates creating and renewing TLS certificates. We started with a limited set of options but plan to grow the feature if there is demand. Check out the cert-manager
guide for more details, and—as always—please give us feedback and feature requests!
Production Flag
You can now flag environments as production environments by setting production: true
in the environment config. This will protect against accidentally messing with your production environments, by prompting for confirmation before e.g. deploying or running tests in the environment.
The flag is also given to each provider, which may modify behaviour accordingly. For example, the kubernetes
provider will set the default number of replicas for container
services to 3 (unless specified by the user).
You can read more about how the kubernetes
provider handles production environments here. We would also highly appreciate feedback on the production settings! You can reach out via GitHub issues or on our Slack channel.
Other Improvements
Other honourable mentions include:
- Services are now deleted in dependency order.
- Faster initialisation and status checks (so your commands start faster, especially when latency is high).
- The project level
exclude
option is now used to optimize file watching—handy if you have large directories you don't want to watch for changes. Thanks @matuszeman for your contribution! ❤️✨ - Added an option for enabling BuildKit, and update the in-cluster docker daemon to 19.03.
- Fixed an issue where deleted files weren't removed from subsequent builds.
Changelog
Features
- implement production flag (e0bb7be4)
- allow exporting artifacts from task and test runs (a1e4c1c1)
- commands: add test/task artifacts to command result (63f245b2)
- dashboard: show artifacts in test/task result sidebar (770ff304)
- k8s: add
clusterDocker.enableBuildKit
option (c1886f55) - k8s: cert-manager integration (#1261) (21f2775b)
Bug Fixes
- displaced/wrong logging when setting up cert-manager (eef701d3)
- core: ensure deletes are synced when staging builds (6cb6a3af)
- examples: set correct context for demo-project (d5f82b53)
- k8s: helm status check now compares Garden version (28c59879)
- k8s: remove the tick (7fa781c2)
- k8s: don't match on version label when getting workload pods (f9b6b069)
- logger: parameters weren't being solved correctly (aa7d3fa5)
- sync: issue with build staging sync procedure on Windows (785d54f6)
- sync: fix intermittent concurrency issues while syncing directories (385b1dd1)
- watcher: use exclude options to optimize file watching (#1320) (aa82e899)
- windows: fix excludes and filename anchoring (b3539c37)
- windows: normalize path for sync temp directory (27617765)
Improvement
- core: delete services in dep order (7895c926)
- k8s: tune probes for build-sync pods (68ba9104)
- k8s: update in-cluster docker to 19.03.4 (a4fb4182)
- k8s: skip superfluous service endpoint check (93ee43c2)
- k8s: much faster init and status checks (cca55970)
- openfaas: updated faas-netes and made more configurable (4b188ee7)