ytt

YAML templating tool that works on YAML structure instead of text

APACHE-2.0 License

Stars
1.6K
Committers
73

Bot releases are hidden (Show)

ytt - v0.34.0

Published by pivotaljohn over 3 years ago

✨ What's new

  • (experimental) Enhancements to Schema (#283):
    • Schema can be overlay'ed #294
    • Schema node can be annotated to allow any type #315
  • Accept Data Values as a plain YAML file #381 (pre-release)

🐛 Bug Fixes

  • (experimental) Fixes to Schema (#283):
    • Integer Data Value from overlay'ed Starlark expression type checks successfully #394
    • Mismatched Type Error omits "found" portion of error message when Data Value's value comes from a Starlark expression #393

📂 Files Checksum

a874395924e670f2c89160efeffc35b94a9bcf4e515e49935cb1ceb22be7f08a  ./ytt-darwin-amd64
9be18b3c6f2d6d5c270e69e2c696250f064039b640ae5d76c80e1c3c2b3b680a  ./ytt-darwin-arm64
49741ac5540fc64da8566f3d1c9538f4f0fec22c62b8ba83e5e3d8efb91ee170  ./ytt-linux-amd64
6a3011af3597d978896290de9e2bc9a6ed5154595abb79e758869f50b6c7f02a  ./ytt-linux-arm64
16a2007775d50247981b9007db52f7ef4414fa19c3748b47940aab117bba3900  ./ytt-windows-amd64.exe
ytt - v0.33.0

Published by pivotaljohn over 3 years ago

✨ What's new

  • add parse() function to the @ytt:url module that eases parsing URLs (per RFC 3986). #366
  • (experimental) In Schema, when type checking fails due to providing a collection when expecting a scalar, a useful error message is now provided. #351

🔈 Callouts

Thanks to

  • Hanlin Shi @hanlins — for contributing an entire new function to our url module (described, above).

📂 Files Checksum

7783d2b8a2087b18179674685dcac0de463cdc50269c676dbd365c590114d0ba  ./ytt-darwin-amd64
afa1020ba17b6adafb9a40e53701089fa0b2bbd12ee71b78baaa41ece1138922  ./ytt-darwin-arm64
de20cb812f6c5f66feeb66cfcc82607d21c2b726cb54cfd0eaddd112f062e5ca  ./ytt-linux-amd64
cbdccb39ba051d8136180ca90d9de95e6605302575566e5399e468c346a7ccd7  ./ytt-linux-arm64
576cad089cdbf8e952c2f0e0bc877138ade4298f45c3e97859aabd18abd7a67e  ./ytt-windows-amd64.exe
ytt - v0.32.0

Published by gcheadle-vmware over 3 years ago

✨ What's new

  • Array items are appended by default during overlay #301
  • Allow null values to be overlayed #322
  • Skip processing plain YAML files marked as template #324
  • arm64 architecture support, binaries included below #346
  • Experimental schema support: #103
    • Use feature flag --enable-experiment-schema to enable
    • Use schema file as a base for Data Values #265
    • Support using schema in ytt libraries #269
    • Schema supports float types #352
    • Schema type-checks command line data values #353
    • For those curious, check out schema_test.go for details of what exactly is supported

🚀 Improvements

  • Add warning when non YAML file is provided without output options #264
  • Improved error message when overlaying docsets #264
  • Support multiple exclude file marks #369

🔈 Callouts

  • Added informational ytt YouTube video to README: Adrian Sales @adriens

📂 Files Checksum

bfd60b38f74fd532e99cff2d2d309aea1b1e00d9d5faaf414ebd30ea9c1a7a43  ./ytt-darwin-amd64
42470495f35fbbe66a0c40ab516519839448475e0e24477b1f33f69d38834175  ./ytt-darwin-arm64
1a8f30e0b86b9daa649433e6092a4a1c6fc9c88400b6842af357c7380924bbc6  ./ytt-linux-amd64
95e5bf9c1c4d972edfa656311ed3ce6b6d745638aad94003bee5807736fe32e3  ./ytt-linux-arm64
bfe937df42faa81e42c49bab3e68e836eae981d7591669f410d2bbf1d2d71bae  ./ytt-windows-amd64.exe
ytt - v0.31.0

Published by cari-lynn almost 4 years ago

✨ What's new

  • Added a code of conduct
  • YAML merge operator (<<:) is now supported
  • Add --implicit-map-key-overrides to configure whether implicit map keys overrides are allowed
  • library module supports configuration options: ['alias', 'ignore_unknown_comments', 'implicit_map_key_overrides', 'implicit-map-key-overrides', 'strict']
  • The regexp module now supports replace function #191
  • Structs are iterable and can use index notation #208
  • Experimental schema support: #103

🚀 Improvements

  • Make overlay error order deterministic #256 Thanks to Hanlin Shi @hanlins
  • Playground example adding a map to an array #236 Thanks to Ankur Sethi @amalagaura
  • Improved error messages for plain yaml comments #226
  • Improved warning message when templates are not rendered to output #132

🔈 Callouts

Thanks to

  • docs improvements: @stoned, German Lashevich @Zebradil, and Jaskanwal Pawar @jspawar

For helping out with this release

📂 Files Checksum

bf85381a12954793d5a18f252579cb1bc043aada2c34ac0974e2ab8cf03a1de3  ./ytt-darwin-amd64
32e7cdc38202b49fe673442bd22cb2b130e13f0f05ce724222a06522d7618395  ./ytt-linux-amd64
7259acfee248fa027b0843399abad1a1dee839b568eb08edd967fb18e100a91c  ./ytt-windows-amd64.exe
ytt - v0.30.0

Published by cppforlife about 4 years ago

  • Disable YAML line folding to avoid surprising users
  • Fix use of / within load paths on Windows
a1a56c3292e355b9891b2c4ce7525d78f0e1ffd8630b856d300e9a7f383e707c  ./ytt-darwin-amd64
456e58c70aef5cd4946d29ed106c2b2acbb4d0d5e99129e526ecb4a859a36145  ./ytt-linux-amd64
338648d23ca77aba4ea02d96fb17916245121e208f7631042337fad10e56ffc5  ./ytt-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

ytt - v0.28.0

Published by cppforlife over 4 years ago

  • [breaking] Rename --output-directory to --dangerous-emptied-output-directory flag (docs)
    • This was done to more clearly indicate that output directory is cleared before use
  • Add --output-files flag to write out output files into existing directory (docs)
  • Add when= keyword argument to overlay/match to conditionally match
  • Add ability to specify data values for libraries (docs)
  • Error if extra args are given to a ytt command
be16d964964d17b463984d72ed2ec62b691b675441b38ab3ed6ea97f3fc73645  ./ytt-darwin-amd64
52c36853999a378f21f9cf93a443e4d0e405965c3b7d2b8e499ed5fd8d6873ab  ./ytt-linux-amd64
5754d48571de4464fc61ad764e3023e0896f6a2db5567abfb8d89ddfc417dd62  ./ytt-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

ytt - v0.27.2

Published by cppforlife over 4 years ago

  • Provide actual scalar values to overlay/match matchers
    • Previously scalars were wrapped in yamlfragment (similar to maps, and arrays)
0e1ee9487e09ce2f2e18be6637f69e41af2158ff3cb53737d5607b55f0326659  ./ytt-darwin-amd64
64bcc36df4270e3413fd26b68683a353089c3b15c411904307e93c12f80556ab  ./ytt-linux-amd64
ae749687b5a076e0e8ac8c02620d018c65b0bebce29fe5a35f6db05f0a36ae4f  ./ytt-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

ytt - v0.27.1

Published by cppforlife over 4 years ago

  • Revert data.list() and data.read(...) breaking change introduced in v0.27.0
    • instead introduce data.list("/") and data.read("/...") to access content relative to library root
f1c86e48452e9e2be8ffa9ad0fb53bfcf431fd70821f9f261418a72844163d66  ./ytt-darwin-amd64
b53674a21d99576b8d69483113e1ec73d9a3ed7381170a421c9afcf8aa551f15  ./ytt-linux-amd64
319c1099a46732ce82e9755a25d9b18e1de3733e42ee374278bf4bdef440cee6  ./ytt-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

ytt - v0.27.0

Published by cppforlife over 4 years ago

  • Fix overlay.map_key() to be correctly equivalent to by="..."
  • [fix] [breaking] data.list() and data.read(...) return results in context of library root
    • potentially breaking as previously provided functions only iterated over "current" directory unlike data.values which was built based on data/values from the entire library
96cc4cd6131849964feebf0b82ed4302453af015a6b0edfb29a3af672ad6715d  ./ytt-darwin-amd64
addd3f27dbffca09a8c7e7610e48dc53d127b08a91eb2b1097544327a6629a8c  ./ytt-linux-amd64
d3332913be93caadfef4cec66bb360e67c5f61c656a788c8daa93178ff487de4  ./ytt-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

ytt - v0.26.0

Published by cppforlife over 4 years ago

  • Add examples/helm-ytt-post-renderer
  • Add a proposals folder with some notes about first proposal: schemas
  • Support accessing yamlfragments with accessors similar to maps and arrays (docs)
  • Allow to access to yamlfrag functionality within overlay/match or overlay/replace
  • Fix panic on errors from line 1 of .star files
  • Error early if a @ytt library module is not found
  • Add ytt library for asserting on minimum ytt version (docs)
  • Plumb matching multiple map items (docs)
  • Support + to indicate missing_ok within data values passed in via cmd line args
  • Use overlay/replace for each data value specified in cmd line or env var
  • Add overlay.(and|or|not)_op to support basic logic operations
  • Allow process substitution as file input on linux even though it is a non-existent symlink
  • Support various output formats via -o for --data-values-inspect and --files-inspect results
  • Switch to go modules
  • Add --version flag in addition to version cmd
  • --output-directory flag now creates destination directory entirely before creating it again

Improvements to error messages:

  • hint user at upgrading ytt if builtin ytt library module is missing
  • hint about having extra end keyword
  • hint problem with null/nil/none vs None
  • hint at missing ":" after if/for/def
  • hint problem with true/false vs True/False
  • improve error message for loading non-library files
  • hint at getattr(...) for struct field programmatic access
  • when overlay fails expectations, report position of matches
  • improve text templating error message hinting to use str(...)
9275cd3033ec0276d0428cb73d4b5de87720491fc3261a1183a14d9344d8bfc6  ./ytt-darwin-amd64
ea740f72a1825c00eabf83bfd6cb366adf4b2486992603d6850fac8487e92d8f  ./ytt-linux-amd64
1bc2d856ebc5b3d4085fbf470b5793ddc551dff9325458d801e4b9202c2fbb20  ./ytt-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

ytt - v0.25.0

Published by cppforlife over 4 years ago

  • Improve 3 error messages when working with libraries and overlays
84a5aa9a9d5c3b67f21136542ecb73aa2c809298094fea21edffb4d2a0cb2f0d  ./ytt-darwin-amd64
2ccd2c74fea87748515ed3fd74cd45c31f91472fabadf42e6a958f52312e3b47  ./ytt-linux-amd64
e8d6cadb6b875adff3cc3bd33c5da82323466999511dcac28a04e1c895d05c8e  ./ytt-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

ytt - v0.24.0

Published by cppforlife almost 5 years ago

dad9e162745fe2e394b3b8c798182357e5cb4caedba57d2ce0aafda6c6520418  ./ytt-darwin-amd64
c3f1d4f04108ac1626c9b9036c7d4e407d4ff09f2577953ad72b6dc7adadbd39  ./ytt-linux-amd64
871b096337ec54648dd8c9c5ff4d6ae3308036c07005eafa4d57d5a6ce0fdac6  ./ytt-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

ytt - v0.23.0

Published by cppforlife almost 5 years ago

  • Added @ytt:library module to allow programmatic evaluation of libraries (doc)
    • This feature enables easier reuse of configuration when gluing multiple components together
    • See ytt library module example in the playground
f246ad0d41aff28fd2be1d2b95f2e974d6221bde869c9f430021a4f882822ee9  ./ytt-darwin-amd64
a6ef8df88c3b18044842c984f05d2e4472b3f354d42a63d3497757123e1fe108  ./ytt-linux-amd64
17a910e2857aac653b1c43709c71c7eaa64a40745cfe99603bb4935d0fcef220  ./ytt-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

ytt - v0.22.0

Published by cppforlife almost 5 years ago

b9e1f2fcfc760fbb35967cafa82078bdf331c04a7b0dcb550cdbc2d8250e6308  ./ytt-darwin-amd64
7143f8c1300ae13fd7b5ed53abc02867a86b6329afaa85413eb767eddf189639  ./ytt-linux-amd64
1b09cb3a8cb346f853147da0b937685662113afdb63963deb055c6ef0dbce345  ./ytt-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

ytt - v0.21.0

Published by cppforlife about 5 years ago

  • Fix hasattr for data.values when key is not there (issue https://github.com/k14s/ytt/issues/56)
  • [experimental] Enhance strict mode to catch missing newline before document start
    • example of such mistaken YAML observed in the wild
05bc4510c3212d3926bf431456fdbeedf635158d4e0e225ec028dce71ff638d7  ./ytt-darwin-amd64
88c755c31a4d85d0bdb7a32e7ee34a93c45222a14f4f6204ce65e0da8875452f  ./ytt-linux-amd64
6197c5a0c19c96c3252b1dc548e2add4a6b52fb0340c784143c4e1749a7199c5  ./ytt-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

ytt - v0.20.0

Published by cppforlife about 5 years ago

569191402672a42c5919feb1caad5a13fb41c01b2d849467211d32f66fd7d426  ./ytt-darwin-amd64
a5759302fe28157cda0c9015d41d1b6901f0f03ae184f168dd40521012426219  ./ytt-linux-amd64
f44f6a0644526a5dea3203030531f172de90633110320643b4f4ce23902ca35f  ./ytt-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

ytt - v0.19.0

Published by cppforlife about 5 years ago

  • Add struct.encode and struct.decode methods (doc)
    • May be useful when working with data.values to obtain plain map or list values
  • Add via=Function keyword arg for @overlay/replace annotation (doc)
    • Useful to programmatically build on old and new values being replaced
      • Example: overlay that prefixes values with some string
b64726d2ad5cb6edd31f4614f3e8bdb07bf6238466cd73a5104bc868afd04b70  ./ytt-darwin-amd64
9a2e5660db970c76a7cadfbcf145b65119854aa3f259550335ae8485a2b8f160  ./ytt-linux-amd64
6913debdbfa3e31fb158abbea51b45e61170f56571ccf33084471b8e47016752  ./ytt-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

ytt - v0.18.0

Published by cppforlife about 5 years ago

  • Add --allow-symlink-destination and --dangerous-allow-all-symlink-destinations flags
    • May be useful when ytt is used with bazel (bazel uses symlinks extensively)
    • Also useful for ytt -f config.yml=<(echo 123) as on Linux /dev/fd/x is a symlink
  • [breaking] Removed deprecated -R flag (-f has been recursive by default for some time)
812b19e007ff1e5a54a8923cd311b73a580ca823f60be53338addd2657d32212  ./ytt-darwin-amd64
86fdeb00432079209ddec7e2a780f8c8d3faa71dd9f87aed439bb134f0dcfb10  ./ytt-linux-amd64
9bed915a6d4c437d14ac7a85a1bb725f2d09c5eb9c233a6839849afb24b746b6  ./ytt-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

ytt - v0.17.0

Published by cppforlife about 5 years ago

  • [breaking] Switched --data-value and --data-value-env to interpret values as strings by default (doc)
    • to get previous behaviour use explicit --data-value-yaml or --data-value-env-yaml
  • [breaking] Changed --output to --output-directory flag, and --output-type to --output
    • this is more consistent with other common CLIs (e.g. -o json works as expected now)
  • [breaking] Disabled text templating in YAML strings by default (doc)
    • add @yaml/text-templated-strings annotation to enable text templating for a YAML node
    • this makes ytt compatible by default with YAML documents that use (@ in values, e.g. for JSON path
  • Added ability to use text templating in map item keys
    • now key_(@= i @): #@ i would work (though see item above on how to enable this)
  • Support specifying filename for piped files via ytt -f file.yml=<(...)
  • Improved error message for reserved keywords
  • Changed backtrace format in errors to show file pos on each shown line
  • Fixed use of annotations in a loop
  • [experimental] Add --strict mode for YAML parsing (doc)
  • [experimental] First pass at fixing YAML anchors with sequences
    • annotations do not quire work within anchored content
91a9dd9de10773b9f938e7b4e4f8169176caaff199d73cede67a07c96d4badd7  ./ytt-darwin-amd64
c7dbed3ce2008ee2fb5f2fadef999b3aa7853ff960daf9c3b8b54831b448effe  ./ytt-linux-amd64
e639909feba750726095282d9e4150f99ef5f81bf78facf1da44f2d53eca89f4  ./ytt-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)

ytt - v0.16.0

Published by cppforlife about 5 years ago

e6345524ca9229d42828a2cd700557ced1d61f00655a09c9e2f1535c49dfd52b  ./ytt-darwin-amd64
611f0d0113a5b003021294ba97fdd2db3da5e85f33dc79122eaea3128ebe7d89  ./ytt-linux-amd64
912ce7a5729c414786e6b7cb1c938b62f08693ee15dd0c4b95c451817740d763  ./ytt-windows-amd64.exe

(Installation instructions: https://k14s.io/#install-from-github-release)