Skip to content

benjdewan/pachelbel

Repository files navigation

Pachelbel

Build Status Go Report Card codebeat badge

pachelbel is designed to be an idempotent provisioning tool for IBM Compose deployments.

Usage

pachelbel is built atop the cobra CLI framework, so every one of these commands as help information built-in:

$ pachelbel --help
$ pachelbel provision --help
$ pachelbel deprovision --help
$ pachelbel version --help

pachelbel provision

The most complicated and powerful command, provision is used to create and/or modify existing Compose deployments. provision takes a list of yaml configuration files and/or directories as input and returns a single yaml configuration file containing connection information to those deployments as output.

The valuable aspect of this provision step is that it's idempotent. Re-running provision with the same inputs will always produce the same output.

The provision input schema

pachelbel provision is designed to read yaml configuration files. The YAML objects read in must adhere to the following schemas:

Each object is versioned, and the v2 schema does not yet support the functionality of the v1 schema, so the mixing of objects from different schemas is both supported and expected.

Checkout the the examples to see runnable input files as well as the commands to use them.

The provision output schema

Pachelbel's output schema is also a yaml file to be consumed by other tools in a configuration/deployment workflow. The schema is not currently strictly versioned.

pachelbel deprovision

This command deprovisions existing Compose deployments. It takes a mixed list of deployment names and deployment IDs as input parameters, resolves them to deployment objects (or drops them if no matching deployment exists), and then triggers deprovision API commands.

By default this command does not wait for the deprovision recipes to finish, but you can use the --wait flag to force it to.

This command has no output on success.

pachelbel version

This command prints the version.