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.
# 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
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.
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
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