Since we adopted the latest Cloud Foundry version anynines users are able to use a completely rewritten version of its command line client (CLI). Read how to install the new client and how to use the this client. If you used the old CLI version before you might be interested in the differences between the old version (v5) and the new one (v6). Here we go, a roundup:
Easy to install
The new client is an executable binary which you can download for your operation system. You don’t have to install a Ruby runtime anymore. This guide shows you the simple steps to install the cf client on your operation system.
The user experience has improved, all command executions are now significantly faster.
cf console and cf tunnel removed temporarily
The sub-commands console and tunnel which provided you a way to run administrative tasks (e.g. database migrations) are removed in the new CLI. There will be a replacement for these features in the future, but for now you can choose between two workarounds. One uses the custom start command to run arbitrary commands and the other one uploads a web application which provides you a command line inside your browser.
Using the logs sub-commands enables you to follow the log outputs from all application instances.
All cf sub-commands are now shorter and most commands have a single letter alias.
Interaction is reduced
Only the cf login and optionally the command to create user-provided services uses prompts. This enables you to use the cf client in bash scripts.
Options more consistent
Never do required arguments have flags whereas optional arguments always have flags.
Only push reads manifest files
In the new CLI version only the push commands looks for a manifest file in the current directory. Note that the new CLI does not create a manifest after pushing an application for the first time. If you want to describe your application deployment in a manifest you will have to create the file explicitly.
manifest.yml service section changes
If you are using the new CLI (v6) with manifest files created by the old CLI (v5) you will have to make a slight edit to the manifest concerning the service section. Currently you just have to specify the name of the existing service instances. Plan configuration is not possible anymore. This requires for the service to exist already when pushing the application. Have a look at this example manifest to get an idea of how yours should ideally look like:
--- applications: - name: show-the-new-cli memory: 512M instances: 1 host: show-the-new-cli domain: de.a9sapp.eu path: . services: - mysql-instancename
This may look like a restriction and indeed the new CLI gives up some interaction features but it enables the usage in bash scripts which can be used for further deployment automation.