github garden-io/garden v0.11.4

latest releases: 0.12.71, edge-bonsai, 0.12.70...
4 years ago

This release contains some exciting new features. First and foremost, the much requested support for volumes. Garden now has a persistentvolumeclaim module type (supported by the kubernetes provider) that other modules, tasks, and tests can reference. You can even use it to together with RWX storage classes (assuming your cluster setup allows for it) to share data between multiple modules or replicas of the same module. Check out this section of our docs for more details.

We've also added a create command that makes it easier to get started with new projects or adding new modules to an existing project. It will even attempt to guess the correct module type if the directory where the module is being created is not empty.

The command creates a project or module garden.yml file and populates it with all available fields, their descriptions, and examples. Most fields are commented out by default so that you can easily uncomment what you need.

Screenshot 2020-02-21 at 12 08 16

We've also made some big performance improvements to the task graph which allows batches of tasks to run in parallel, whereas they would previously be queued, and added support for disabling result caching for tasks that support it.

And finally, a big thank you to @jmaroeder, @J0sh0nat0r, @davidjeddy for their contributions to this release! ❤️

Changelog

Features

  • add persistentvolumeclaim module type and volumes for containers (4d6bfeed)
  • allow disabling result caching for tasks that support it (1d58eb8b)
  • cli: add garden create project/module commands (def652cb)
  • core: improved task graph concurrency (1a2f69ae)
  • distribution: add container image baked with AWS CLI (adb9ab20)
  • template: add optional suffix, to allow undefined values (1eb0a926)

Bug Fixes

  • Windows: don't always install docker-for-windows (11c1dfc7)
  • cli: minor fixes for garden create module command (97afb223)
  • core: ensure task outputs are logged to terminal + fix test (f4b5dfcd)
  • core: fix to task deps for DeployTask (9b35d744)
  • core: allow referencing disabled providers in template strings (fca3bd85)
  • core: tasks should not implicitly run when getting service status (9ab9d8a6)
  • core: fix concurrency bug in task graph (500ccc25)
  • core: remove StageBuildTask from GetServiceStatusTask dependencies (a89d2e54)
  • k8s: include imagePullSecrets when running task and test Pods (10df10e9)
  • k8s: fix handling of missing sh when copying artifacts from pods (d0698b41)
  • k8s: fix build-sync Pod crash loop issue (86ee925c)
  • k8s: imagePullSecrets weren't copied to the project namespace (86174f9d)
  • k8s: don't throw error when test/task artifact is missing after run (8a246231)
  • k8s: fixed handling of timeouts when artifacts are being copied (ff4097b1)
  • k8s: retrieving logs would sometimes fail after deployment rollback (0409e68b)
  • k8s: tasks and tests would sometimes return empty logs (d0b025c3)
  • task-graph: don't re-run failed tasks (1eda1d10)
  • task-graph: fix to dependant cancellation (626f1093)
  • terraform: include module check for terraform init (183f66a9)
  • terraform: increase init timeout (#1594) (0ddcca23)
  • terraform: ensure correct init root is validate + add logs (da87fd19)

Improvements

  • cli: output error details to console with log level 5 (0c69b6ed)
  • k8s: use deploymentRegistry with in-cluster building (ef2ab151)
  • maven-container: add useDefaultDockerfile field (1d741f35)
  • template: allow using objects as tests in conditionals (98f06895)
  • template: better error when a template key is not found (b2589de8)

Code Refactoring

  • wrap all Joi schemas in callbacks to avoid circular dep issues (b3228667)
  • dashboard: use immer for setting ui state (15c116c5)

Don't miss a new garden release

NewReleases is sending notifications on new releases.