Genesis v2.7.9-rc3 Release Notes

Release Date: 2020-06-16 // almost 4 years ago
  • ๐Ÿš€ Release Candidate v2.7.9-rc3

    โœ… rc1 and rc2 were internal testing only

    ๐Ÿ‘Œ Improvements

    ๐Ÿ‘ Expanded config support. Kits can now specify which configs are required
    and for what hook scripts. This allows for custom cloud and runtime configs
    to be validated and used for information. Furthermore, cloud config can now
    be used during the new script to check if the required keys are present or
    even propose values that can be added.

    ๐Ÿ’… This is done using one of the following two styles:

    --- # kit.yml required_configs style 1
    required_configs:
      - cloud
      - runtime
      - runtime@thiskit
    
    --- # kit.yml required configs style 2
    required_configs:
      cloud: true
      runtime: [blueprint new]
      funky: false
    

    ๐Ÿ’… In the first style, all hooks will require the listed configurations. In
    ๐Ÿ’… the second style, cloud config will always be required, runtime will
    ๐Ÿ–จ only be required when processing blueprint and new hooks, and funky
    will never be required.

    0๏ธโƒฃ By default, if no required_configs block is specified, only cloud config
    ๐Ÿ–จ is requred when processing blueprint, and no other hooks. This is
    effectively the previous behaviour.

    Added move_secrets_to_credhub bash helper function

    move_secrets_to_credhub src_path:key dst_path

    ๐Ÿšš This will move a secret under the environments Vault area to the
    environments credhub area. Do not include the secrets base before the
    ๐Ÿš€ src_path, or the bosh env/deployment prefix before the dst_path.

    โž• Added ccq and rcq helper functions that allow jq queries directly on
    provided cloud config and runtime config structures.

    ๐Ÿ› Bug Fixes

    ๐Ÿš€ Kit releases that preceed the current version by 30 or more releases are no
    longer reported as non-existant.

    โœ… Compiled kits no longer contain the spec tests and kit devtools, as they
    aren't needed to use the kit.

    ๐Ÿ‘Œ Improved details given when hooks fail, specifically when blueprint fails
    ๐Ÿ”€ to determine which manifest fragments are requied for merging

    Don't populate missing maybe params

    When a parameter is conditionally available, the maybe: parameter
    dereference would prevent errors if the parameter was missing, but it would
    leave an empty string as the value. This changes that behaviour to drop the
    key or the array element that was being set to the missing parameter.