Releases: geofffranks/spruce
spruce-release Release v1.8.5
Fixes
- Addressed an issue with output ordering when keys had
a mixture of text and numerics in them. See
go-yaml/yaml#194 for details
Acknowledgements
Many thanks to @qu1queee for discovering + reporting this, and
@prashantv for the fix!
spruce-release Release v1.8.4
Improvements
spruce
now supports theskip_verify
addition to the
~/.svtoken
file (safe 0.0.28+). That means that if
you target a vault with safe, and you tell safe to ignore
certificate errors, spruce will honor those settings.
spruce-release Release v1.8.3
Improvements
-
Environment variables can now be lowercase, allowing constructs
like(( grab $http_proxy ))
. Fixes #177 -
The
(( vault ))
operator handles paths with colons in them in a way
that matches how thesafe
binary operates. Both treat the text after the
last colon to be the key, and everything prior as the key. For example:(( vault "secret/path:to:my:value:key" )) # finds the `key` value inside `secret/path:to:my:value`
-
Forked our yaml parsers + applied a patch to resove go-yaml/yaml#75
spruce-release Release v1.8.2
Improvements
- Operator argument string literals can now contain
\n
,\r
and
\t
, with the expected results. Notably, this allows multiline
string pasting, which was impossible in previous versions. (#175)
New Features
-
Added the
--cherry-pick <yaml.data.path>
flag, to allow easier pruning of
everything except a specific pathThanks @HeavyWombat!
Fixes
- The
spruce-darwin-amd64
binary attached to the release is now
macOS Sierra compatible (it was built with golang 1.7.3)
spruce-release Release v1.8.1
Improvements
- Array operators are no longer required to be at zero-index
of arrays they're defined in. Elements that come prior
to an array merge operator are processed with the default merge
behavior. - Improved error messaging when elements are passed to
the array delete operator.
Fixes
- The
(( static_ips ))
operator has better dependency checking
when elements inside the network definiton's static IP range is
using a grab, or other operator. - The
(( join ))
operator now has dependency checking, so it
can resolve that its operands are resolved before joining them,
when working with elements of lists.
Thanks
The entirety of this release has been brought to us by @thomasmmitchell
spruce-release Release v1.8.0
New Features
- Added a
(( empty hash/array/string ))
operator for emptying out values.
Traditionally this could be done in the merge phase, by mergingnull
or~
on top of the value, and then merging an empty hash/array on top of that.
Now you can do it in a single swipe. Vroom.
Improvements
- New documentation for all the magical things you can now do with arrays!
Bug Fixes
- Fixed a bug with the
(( prune ))
operator (#158)
Thanks
Many thanks to @HeavyWombat and @thomasmmitchell for their work on this release!
spruce-release Release v1.7.0
New Features
- Added support for availability zone processing, in the
static_ips
operator. When using BOSH's AZ feature in
your manifest, you can now do things like
static_ips: (( static_ips(0, "z2:2", "z1:3") ))
to indicate
which IPs from which AZs you wish to use as static. - You can delete elements of an array at merge time via
(( delete "key-name" ))
or(( delete 1 ))
, to delete
elements with thename
value ofkey-name
, or index of1
.
Fixes
- Added some missing examples when manipulating arrays.
Notes
spruce
is now updated for golang 1.6 and beyond. The vendored dependencies have been moved into ./vendor
,
and a Makefile was added to ease testing/vetting excluding vendored libraries where appropriate.
Thank You!
Special thanks to @swisscom, @HeavyWombat, @JamesClonk, @qu1queee for all their hard work making
this release possible!
spruce-release Release v1.6.0
Improvements
-
Error messages from
(( param ... ))
operators are now
de-duplicated from(( grab ... ))
propagation, leading to more
clear direction with heavily parameterized BOSH manifests.
Fixes #129 -
Added
(( insert ... ))
operator to insert array entries at
a specific position in the target list. The operator behaves
similar to(( append ))
or(( prepend ))
, but allows to
specifiy either the desired insertion point by name
((( insert after "nats" ))
) or by index ((( insert after 4 ))
). -
The
(( append ))
,(( prepend ))
, and(( insert ... ))
operators are now allowed multiple times in a list. This provides the
flexibility to append, prepend, or insert elements using only one list:list: - (( prepend )) - The new first entry - (( append )) - The new last entry `` - Updated godep to use golang vendoring structure, in preparation for removal of `Godeps/_workspace` in golang 1.8.
spruce-release Release v1.5.0
New Features
- Added
(( file ... ))
operator to include file contents as text blocks to
allow file to be retained in it natural form.- Can use literal string or reference as argument
- Relative to path specified in
SPRUCE_FILE_BASE_PATH
environment variable,
or whatever directory spruce is run in if not set. - Absolute paths can also be set -- prefix with / to specify.
- Added
(( join "," meta.list ))
operator to join the values inmeta.list
with
the separator listed in the first-argument.
spruce-release Release v1.4.5
Fixes
More fixing of the static binary generation in CI