github garden-io/garden 0.12.34

latest releases: edge-bonsai, 0.13.43, 0.13.42...
2 years ago

Garden 0.12.34 is out! 🎉

This release adds more template helpers, in addition to several bug fixes and improvements.

Many thanks to @mattpolzin and @Orzelius for their contributions to this release.

Happy hacking!

Shared secrets that can be copied into each namespace

Thanks to @mattpolzin, this release introduces a new configuration field for the kubernetes provider (copySecrets) that can be used to specify arbitrary secrets that should be copied to each deployed environment.

This is very similar to imagePullSecrets but it can be very useful to copy arbitrary secrets into namespaces so that, for example, all developers can share a secret needed to authenticate with AWS S3 or Azure Blob Storage.

--skip-dependencies CLI option

Added a --skip-dependencies CLI option for the deploy and test commands.

When used with the deploy command, the specified services are deployed, but any additional services or tasks that they depend on are skipped.

This can be useful e.g. when your stack has already been deployed, and you want to deploy a subset of services in dev mode without redeploying any service dependencies that may have changed since you last deployed.

Similarly, for the test command, this option skips deploying/running any runtime dependencies of the requested test suites (not recommended for CI, but can be useful during inner-loop development in certain scenarios).

${datetime.*} template context

The datetime field is now available in all template contexts. It provides the following keys:

  • ${datetime.now}: The current UTC date and time, at the time of template resolution, in
  • ${datetime.today}: The current UTC date, at the time of template resolution, in ISO-8601
  • ${datetime.timestamp}: The current UTC Unix timestamp (in seconds), at the time of template
    resolution.

${git.commitHash} and  {git.originUrl} template fields

  • ${git.commitHash} resolves to current Git commit hash, if available.
    • Resolves to an empty string if the repository has no commits.
    • When using remote sources, the hash used is that of the project/top-level repository (the one that contains the project configuration).
    • The hash is resolved at the start of the Garden command's execution, and is not updated if the current commit changes during the command's execution (which could happen, for example, when using watch-mode commands).
  • ${git.originUrl} resolves to the remote origin URL of the project's Git repository.
    • When using remote sources, the URL is that of the project/top-level repository (the one that contains the project configuration).

Watch-mode errors shown in watch footer

When a task fails during a watch-mode command's execution, the footer now indicates that one or more tasks failed (instead of saying "Waiting for code changes...").

This has been asked for by several users, who felt that indicating an error in the footer makes it clearer that something went wrong as the tasks were being processed.

Changelog

Features

  • config: add ${datetime.*}  template context (78cd007f)
  • config: add ${git.commitHash} and  {git.originUrl} template fields (246b9f67)
  • core: add --skip-dependencies CLI option (94ab87f2)
  • k8s: arbitrary shared secrets (11d43b8c)
  • template: add indent helper function (c90ec372)

Improvements

  • core: show error in watch footer (01fb0ddf)

Bug Fixes

  • cli: get rid of EPIPE error and OOM check (f950755b)
  • core: properly handle sparse build deps (2fb8a119)
  • docs: fix a typo in the how garden works doc (fdc2e0d4)
  • docs: fix a typo in the using-garden-in-ci doc (4ec4280b)
  • docs: fix typos in the in-cluster building doc (1fe693a9)
  • docs: fix a typo in the hot-reload doc (d27b3672)
  • docs: fix typos in the dontainer modules doc (fdd68352)
  • docs: fix typos in the code sync dev doc (b110866c)
  • docs: fix a typo in the project init doc (7b60d45e)
  • docs: fix a typo in the stack-graph.md doc (474301d9)
  • docs: fix a typo in welcome.md docs (ad1af886)
  • k8s: better handling for long log lines (cc0ad52a)
  • k8s: fix rollout status check for Recreate (bcd2df2d)
  • k8s: fix issues with mutagen symlink directory (7c57b69c)
  • k8s: allow any style of path for kubeconfig field (6e6d4c45)
  • template: template string in helper arguments weren't resolved (0157fe0d)

Don't miss a new garden release

NewReleases is sending notifications on new releases.