https://github.com/cloudfoundry-community/makemespiffy
Convert a flat BOSH manifest for something into a set of Spiff templates.
https://github.com/cloudfoundry-community/makemespiffy
Last synced: 9 months ago
JSON representation
Convert a flat BOSH manifest for something into a set of Spiff templates.
- Host: GitHub
- URL: https://github.com/cloudfoundry-community/makemespiffy
- Owner: cloudfoundry-community
- License: mit
- Created: 2015-05-08T07:00:34.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2015-05-08T07:08:34.000Z (about 11 years ago)
- Last Synced: 2025-10-03T13:47:56.608Z (9 months ago)
- Language: Ruby
- Homepage:
- Size: 137 KB
- Stars: 7
- Watchers: 10
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
Make Me Spiffy
==============
Convert a flat BOSH manifest for something into a set of Spiff templates.
This is being developed to help migrate flat BOSH manifests into a standardised Concourse pipeline that could deploy anything.
Usage
-----
Given a BOSH manifest `manifest.yml`, run the command multiple times to extract data into spiff templates:
```
makemespiffy manifest.yml name environment/name.yml meta.name
```
This will take the root level key `name` from `manifest.yml` and replace it with `(( meta.name ))`.
```
name: manifest-name
```
Becomes:
```yaml
meta:
name: (( merge ))
name: (( meta.name ))
```
It will also create `environment/name.yml` (if not yet created) and add the extracted value:
```yaml
meta:
name: manifest-name
```
Multiple fields can be extracted into the same target file.
Reference items from lists by their `name:` field (like `spiff` itself does):
```
makemespiffy manifest.yml "jobs.runner_z1.instances" environment/scaling.yml meta.instances.runner_z1
```
Complex objects can be extracted too:
```
makemespiffy manifest.yml "networks.cf1.subnets" environment/networking.yml meta.subnets.cf1
```
Installation
------------
```
gem install makemespiffy
```