Skip to content

Releases: geofffranks/spruce

spruce-release Release v1.8.5

17 Nov 16:10
Compare
Choose a tag to compare

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

14 Nov 14:46
Compare
Choose a tag to compare

Improvements

  • spruce now supports the skip_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

10 Nov 19:42
Compare
Choose a tag to compare

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 the safe 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

29 Oct 01:32
Compare
Choose a tag to compare

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 path

    Thanks @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

14 Sep 20:18
Compare
Choose a tag to compare

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

06 Sep 19:28
Compare
Choose a tag to compare

New Features

  • Added a (( empty hash/array/string )) operator for emptying out values.
    Traditionally this could be done in the merge phase, by merging null 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

09 Aug 17:47
Compare
Choose a tag to compare

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 the name value of key-name, or index of 1.

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

06 Jul 13:19
Compare
Choose a tag to compare

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

21 Jun 18:38
Compare
Choose a tag to compare

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 in meta.list with
    the separator listed in the first-argument.

spruce-release Release v1.4.5

16 Jun 11:46
Compare
Choose a tag to compare

Fixes

More fixing of the static binary generation in CI