/mantra

mantra - Manifest Transfromation for BOSH

Primary LanguageRubyApache License 2.0Apache-2.0

Mantra - मंत्र

Build Status

Description

Mantra (/ˈmæntrə/, abr. Manifest Transformation for BOSH) is a tool to ease work with BOSH manifests.

It allows to perform such routines as:

  • find manifest parts
  • extract cloud config for BOSH v2 from your BOSH v1 manifest
  • convert you BOSH v1 manifest to BOSH v2 manifest
  • convert your manifest into bosh-cli templates with
    • extracted passwords
  • and much more

Mantra tends to be an easily extendable tool, so you can add new commands and transforms by yourself. If you need have any questions or suggestions feel free to create an issue on Github or contact me directly.

Concepts

While some actions performed on manifest can be automated, anther require special configuration and extra knowledges about source manifes. Here is a small glossery that I use:

Transformation Manifest - config file that describes how your manifest should be udpated.

Source Manifest - your source BOSH manifest, if you run templatizers on source manifest they can change it.

Target Manifest - manifest that will contain extracted template properties, to restore source manifest you'll need to run merge tool with resulting source manifest.

Transform - a ruby class that declares how specific transformation should be done.

One more concept: no nokogiri and native dependencies.

Dependencies

Ruby.

How to install

gem install mantra

Examples

Run tests

rake

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/mantra. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.