Skip to content
Cloud Foundry CLI plugin to detect if an app doesn't match the manifest
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
fixtures
scripts
vendor
.gitignore
.travis.yml
LICENSE
README.md
antifreeze.go
antifreeze_test.go
glide.lock
glide.yaml

README.md

Antifreeze

Build Status

Cloud Foundry CLI plugin to detect if an app has unexpected ENV vars or services bound which are missing from the manifest. Eliminate the snowflake!

Doubleplusgood with Autopilot, a CF CLI plugin for zero downtime application deploys, which demands an up-to-date manifest file.

Installation

# For MacOS:
cf install-plugin https://github.com/odlp/antifreeze/releases/download/v0.4.0/antifreeze-darwin

# For Linux
cf install-plugin https://github.com/odlp/antifreeze/releases/download/v0.4.0/antifreeze-linux

# For Windows
cf install-plugin https://github.com/odlp/antifreeze/releases/download/v0.4.0/antifreeze.exe

Alternatively download the latest release and place the binary on your path, e.g. /usr/local/bin/antifreeze. Then run:

cf install-plugin /usr/local/bin/antifreeze

Or if you have go installed:

go get -u github.com/odlp/antifreeze
cf install-plugin $GOPATH/bin/antifreeze

Usage

cf check-manifest your-app-name -f manifest.yml

When your app has unexpected ENV vars or services you'll see output like this:

Running check-manifest...

App 'your-app-name' has unexpected ENV vars (missing from manifest ./manifest.yml):
- SNOW_FLAKE_VAR

App 'your-app-name' has unexpected services (missing from manifest ./manifest.yml):
- surprise-service

And the check-manifest command will exit with a non-zero status.

Example with Autopilot

Your deployment script could include:

#!/bin/bash

set -e

cf check-manifest your-app-name -f manifest.yml
cf zero-downtime-push your-app-name -f manifest.yml

Development

Clone the project & run the following:

./scripts/setup

Then you can run tests:

./scripts/test

And build & install locally to give any changes a spin:

./scripts/install-local
You can’t perform that action at this time.