README ¶
Getting Started | Download | Known Issues | Bugs/Feature Requests | Plugin Development | Contributing
Cloud Foundry CLI
Cloud Foundry CLI is the official command line client for Cloud Foundry.
Latest help of each command is here (or run cf help
);
Currently, there are two versions of the cf CLI in development:
- the supported v6 cf CLI. See here for more information.
- v7 beta cf CLI which is currently in development and will be in beta mode until it is completely backed by the v3 API. See here for more information.
Important Note: The v6 CF CLI supports as far back as CF Release v284/CF Deployment v1.7.0 (CAPI Release: 1.46.0 (APIs 2.100.0 and 3.35.0). See our wiki for more information. If you are on an older version of CF Release, we recommend you upgrade to a supported version.
Important Note: The v7 CF CLI beta under rapid development and as such is tested only against CC API v3 Release Candidate.
If you have any questions, ask away on the #cli channel in our Slack community and the cf-dev mailing list, or open a GitHub issue. You can follow our development progress on Core CF CLI Pivotal Tracker or v3/v7 CLI VAT Pivotal Tracker.
Getting Started
Download and install the cf CLI from the Downloads Section for either the v6 cf CLI or the v7 beta cf CLI.
Once installed, you can log in and push an app.
Check out our community contributed CLI plugins to further enhance your CLI experience.
Downloads
Downloading the V6 CLI
It is recommended to download installers from the published URLs or using one of the documented package managers (APT/deb/homebrew repos). Published URLs may redirect requests to URLs that may change over time, so may installer filenames change over time.
Installing using a package manager
Mac OS X and Linux using Homebrew via the cloudfoundry tap:
brew install cloudfoundry/tap/cf-cli
Note: cf
tab completion requires bash-completion
to be installed properly in order to work.
Debian and Ubuntu based Linux distributions:
# ...first add the Cloud Foundry Foundation public key and package repository to your system
wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | sudo apt-key add -
echo "deb https://packages.cloudfoundry.org/debian stable main" | sudo tee /etc/apt/sources.list.d/cloudfoundry-cli.list
# ...then, update your local package index, then finally install the cf CLI
sudo apt-get update
sudo apt-get install cf-cli
Enterprise Linux and Fedora systems (RHEL6/CentOS6 and up):
# ...first configure the Cloud Foundry Foundation package repository
sudo wget -O /etc/yum.repos.d/cloudfoundry-cli.repo https://packages.cloudfoundry.org/fedora/cloudfoundry-cli.repo
# ...then, install the cf CLI (which will also download and add the public key to your system)
sudo yum install cf-cli
Installers and compressed binaries
Mac OS X 64 bit | Windows 64 bit | Linux 64 bit | |
---|---|---|---|
Installers | pkg | zip | rpm / deb |
Binaries | tgz | zip | tgz |
Release notes, and 32 bit releases can be found here.
Download examples with curl for Mac OS X and Linux binaries
# ...download & extract Mac OS X binary
curl -L "https://packages.cloudfoundry.org/stable?release=macosx64-binary&source=github" | tar -zx
# ...or Linux 64-bit binary
curl -L "https://packages.cloudfoundry.org/stable?release=linux64-binary&source=github" | tar -zx
# ...move it to /usr/local/bin or a location you know is in your $PATH
mv cf /usr/local/bin
# ...copy tab completion file on Ubuntu (takes affect after re-opening your shell)
sudo curl -o /usr/share/bash-completion/completions/cf https://raw.githubusercontent.com/cloudfoundry/cli/master/ci/installers/completion/cf
# ...and to confirm your cf CLI version
cf --version
Edge binaries are not intended for wider use; they're for developers to test new features and fixes as they are 'pushed' and passed through the CI. Follow these download links for Mac OS X 64 bit, Windows 64 bit and Linux 64 bit.
Downloading the V7 beta CLI
Important Note: The v7 CF CLI beta under rapid development and as such is tested only against CC API v3 Release Candidate. Use at your own risk. See releases for more information.
Compatibility
The V7 CLI is developed and tested against CAPI release candidates. See the releases page for the minimum CAPI RC version required for each V7 beta version.
Installing using a package manager
Mac OS X and Linux using Homebrew via the cloudfoundry tap:
brew install cloudfoundry/tap/cf7-cli
Note: cf7
tab completion requires bash-completion
to be installed properly in order to work.
Debian and Ubuntu based Linux distributions:
# ...first add the Cloud Foundry Foundation public key and package repository to your system
wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | sudo apt-key add -
echo "deb https://packages.cloudfoundry.org/debian stable main" | sudo tee /etc/apt/sources.list.d/cloudfoundry-cli.list
# ...then, update your local package index, then finally install the cf CLI
sudo apt-get update
sudo apt-get install cf7-cli
Enterprise Linux and Fedora systems (RHEL6/CentOS6 and up):
# ...first configure the Cloud Foundry Foundation package repository
sudo wget -O /etc/yum.repos.d/cloudfoundry-cli.repo https://packages.cloudfoundry.org/fedora/cloudfoundry-cli.repo
# ...then, install the cf CLI (which will also download and add the public key to your system)
sudo yum install cf7-cli
Installers and compressed binaries
Mac OS X 64 bit | Windows 64 bit | Linux 64 bit | |
---|---|---|---|
Installers | pkg | zip | rpm / deb |
Binaries | tgz | zip | tgz |
Release notes, and 32 bit releases can be found here.
Download examples with curl for Mac OS X and Linux binaries
# ...download & extract Mac OS X binary
curl -L "https://packages.cloudfoundry.org/stable?release=macosx64-binary&version=v7&source=github" | tar -zx
# ...or Linux 64-bit binary
curl -L "https://packages.cloudfoundry.org/stable?release=linux64-binary&version=v7&source=github" | tar -zx
# ...move it to /usr/local/bin or a location you know is in your $PATH
mv cf7 /usr/local/bin
# ...copy tab completion file on Ubuntu (takes affect after re-opening your shell)
sudo curl -o /usr/share/bash-completion/completions/cf7 https://raw.githubusercontent.com/cloudfoundry/cli/master/ci/installers/completion/cf7
# ...and to confirm your cf CLI version
cf7 --version
Edge binaries are not intended for wider use; they're for developers to test new features and fixes as they are 'pushed' and passed through the CI. Follow these download links for Mac OS X 64 bit, Windows 64 bit and Linux 64 bit.
Known Issues
- On Windows in Cygwin and Git Bash, interactive password prompts (in
cf login
) do not hide the password properly from stdout (issue #1835). Please use an alternative command (non-interactive authenticationcf auth
instead ofcf login
) to work around this. Or, use the Windowscmd
command line. - On Windows,
cf ssh
may not display correctly if theTERM
is not set. We've found that settingTERM
tomsys
fixes some of these issues. - On Windows,
cf ssh
will hang when run from the MINGW32 or MINGW64 shell. A workaround is to use PowerShell instead. - CF CLI/GoLang do not use OpenSSL. Custom/Self Signed Certificates need to be installed in specific locations in order to
login
/auth
without--skip-ssl-validation
. - API tracing to terminal (using
CF_TRACE=true
,-v
option orcf config --trace
) doesn't work well with some CLI plugin commands. Trace to file works fine. On Linux,CF_TRACE=/dev/stdout
works too. See this Diego-Enabler plugin issue for more information. - .cfignore used in
cf push
must be in UTF-8 encoding for CLI to interpret correctly. (issue #281) - On Linux, when encountering message "bash: .cf: No such file or directory", ensure that you're using the correct binary or installer for your architecture.
Filing Issues & Feature Requests
First, update to the latest cli and try the command again.
If the error remains or feature still missing, check the open issues and if not already raised please file a new issue with the requested details.
Plugin Development
The CF CLI supports external code execution via the plugins API. For more information follow:
When importing the plugin code use import "code.cloudfoundry.org/cli/plugin"
.
Older plugins that import github.com/cloudfoundry/cli/plugin
will still work
as long they vendor the plugins directory.
Contributing & Build Instructions
Please read the contributors' guide
If you'd like to submit updated translations, please see the i18n README for instructions on how to submit an update.
Documentation ¶
There is no documentation for this package.
Directories ¶
Path | Synopsis |
---|---|
actor
|
|
cfnetworkingaction
Package cfnetworkingaction contains the business logic for the cf networking commands.
|
Package cfnetworkingaction contains the business logic for the cf networking commands. |
cfnetworkingaction/cfnetworkingactionfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
loggingaction/loggingactionfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
pluginaction
Package pluginaction handles all operations related to plugin commands
|
Package pluginaction handles all operations related to plugin commands |
pluginaction/pluginactionfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
pushaction
Package pushaction contains the business logic for orchestrating a V2 app push.
|
Package pushaction contains the business logic for orchestrating a V2 app push. |
pushaction/pushactionfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
sharedaction
Package sharedaction handles all operations that do not require a cloud controller
|
Package sharedaction handles all operations that do not require a cloud controller |
sharedaction/sharedactionfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
v2action
Package v2action contains the business logic for the commands/v6 package Actors in this package should only call CC v2 API endpoints
|
Package v2action contains the business logic for the commands/v6 package Actors in this package should only call CC v2 API endpoints |
v2action/composite/compositefakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
v2action/v2actionfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
v2v3action
Package v2v3action contains business logic that involves both v2action and v3action
|
Package v2v3action contains business logic that involves both v2action and v3action |
v2v3action/v2v3actionfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
v3action
Package v3action contains the business logic for the commands/v3 package
|
Package v3action contains the business logic for the commands/v3 package |
v3action/v3actionfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
v7action
Package v7action contains the business logic for the commands/v7 package
|
Package v7action contains the business logic for the commands/v7 package |
v7action/v7actionfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
v7pushaction
Package v7pushaction contains the business logic for orchestrating a V2 app push.
|
Package v7pushaction contains the business logic for orchestrating a V2 app push. |
v7pushaction/v7pushactionfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api
|
|
cloudcontroller
Package cloudcontroller contains shared utilies between the V2 and V3 clients.
|
Package cloudcontroller contains shared utilies between the V2 and V3 clients. |
cloudcontroller/ccv2
Package ccv2 represents a Cloud Controller V2 client.
|
Package ccv2 represents a Cloud Controller V2 client. |
cloudcontroller/ccv2/ccv2fakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
cloudcontroller/ccv2/constant
Package constant contains types and constants used by the ccv2 package.
|
Package constant contains types and constants used by the ccv2 package. |
cloudcontroller/ccv3
Package ccv3 represents a Cloud Controller V3 client.
|
Package ccv3 represents a Cloud Controller V3 client. |
cloudcontroller/ccv3/ccv3fakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
cloudcontroller/ccv3/constant
Package constant contains types and constants used by the ccv3 package.
|
Package constant contains types and constants used by the ccv3 package. |
cloudcontroller/cloudcontrollerfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
cloudcontroller/wrapper/wrapperfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
plugin/pluginfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
plugin/wrapper/wrapperfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
router
Package router is a GoLang library that interacts with CloudFoundry Go Router Package router contains utilities to make call to the router API
|
Package router is a GoLang library that interacts with CloudFoundry Go Router Package router contains utilities to make call to the router API |
router/routerfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
router/wrapper/wrapperfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
uaa
Package uaa is a GoLang library that interacts with CloudFoundry User Account and Authentication (UAA) Server.
|
Package uaa is a GoLang library that interacts with CloudFoundry User Account and Authentication (UAA) Server. |
uaa/constant
Package constant contains types and constants used by the uaa package.
|
Package constant contains types and constants used by the uaa package. |
uaa/noaabridge
Package noaabridge wraps a UAA client and a tokenCache to support the TokenRefresher interface for noaa/consumer.
|
Package noaabridge wraps a UAA client and a tokenCache to support the TokenRefresher interface for noaa/consumer. |
uaa/noaabridge/noaabridgefakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
uaa/uaafakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
uaa/wrapper/wrapperfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
actors/actorsfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
actors/brokerbuilder/brokerbuilderfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
actors/planbuilder/planbuilderfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
actors/plugininstaller/plugininstallerfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
actors/pluginrepo/pluginrepofakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
actors/servicebuilder/servicebuilderfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
actors/userprint/userprintfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/apifakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/appevents/appeventsfakes
This file was generated by counterfeiter Code generated by counterfeiter.
|
This file was generated by counterfeiter Code generated by counterfeiter. |
api/appfiles/appfilesfakes
This file was generated by counterfeiter Code generated by counterfeiter.
|
This file was generated by counterfeiter Code generated by counterfeiter. |
api/appinstances/appinstancesfakes
This file was generated by counterfeiter Code generated by counterfeiter.
|
This file was generated by counterfeiter Code generated by counterfeiter. |
api/applicationbits/applicationbitsfakes
This file was generated by counterfeiter Code generated by counterfeiter.
|
This file was generated by counterfeiter Code generated by counterfeiter. |
api/applications/applicationsfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/authentication/authenticationfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/copyapplicationsource/copyapplicationsourcefakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/environmentvariablegroups/environmentvariablegroupsfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/featureflags/featureflagsfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/logs/logsfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/organizations/organizationsfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/password/passwordfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/quotas/quotasfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/securitygroups/defaults/running/runningfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/securitygroups/defaults/staging/stagingfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/securitygroups/securitygroupsfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/securitygroups/spaces/spacesfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/spacequotas/spacequotasfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/spaces/spacesfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
api/stacks/stacksfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
appfiles/appfilesfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
commandregistry/commandregistryfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
commands/application/applicationfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
commands/commandsfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
commands/route/routefakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
commands/service/servicefakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
commands/user/userfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
configuration/configurationfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
configuration/coreconfig/coreconfigfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
configuration/pluginconfig/pluginconfigfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
errors/errorsfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
manifest/manifestfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
net/netfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
requirements/requirementsfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
ssh/sshfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
ssh/terminal/terminalfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
terminal/terminalfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
trace/tracefakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
util/testhelpers/rpcserver/rpcserverfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
util/utilfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
Package command should not be imported by external consumers.
|
Package command should not be imported by external consumers. |
commandfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
common
Package common should not be imported by external consumers.
|
Package common should not be imported by external consumers. |
common/commonfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
flag
Package flag should not be imported by external consumers.
|
Package flag should not be imported by external consumers. |
plugin
Package plugin should not be imported by external consumers.
|
Package plugin should not be imported by external consumers. |
plugin/pluginfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
plugin/shared
Package shared should not be imported by external consumers.
|
Package shared should not be imported by external consumers. |
translatableerror
Package translatableerror contains all the command layer translatable errors.
|
Package translatableerror contains all the command layer translatable errors. |
translatableerror/translatableerrorfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
v6
Package v6 should not be imported by external consumers.
|
Package v6 should not be imported by external consumers. |
v6/shared
Package shared should not be imported by external consumers.
|
Package shared should not be imported by external consumers. |
v6/shared/sharedfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
v6/v6fakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
v7
Package v7 should not be imported by external consumers.
|
Package v7 should not be imported by external consumers. |
v7/shared
Package shared should not be imported by external consumers.
|
Package shared should not be imported by external consumers. |
v7/v7fakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
fixtures
|
|
i18n
|
|
integration
|
|
helpers/fakeservicebroker
fakeservicebroker is a test helper for service broker tests.
|
fakeservicebroker is a test helper for service broker tests. |
assets/hydrabroker
Module
|
|
plugin_examples
* * This is an example plugin where we use both arguments and flags.
|
* * This is an example plugin where we use both arguments and flags. |
plugin_examples/test_rpc_server_example
* * This plugin demonstrate the use of Test driven development using the test rpc server * This allows the plugin to be tested independently without relying on CF CLI
|
* * This plugin demonstrate the use of Test driven development using the test rpc server * This allows the plugin to be tested independently without relying on CF CLI |
pluginfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
rpc/rpcfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
v7/rpc/rpcfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
clissh/clisshfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
configv3
Package configv3 package contains everything related to the CF CLI Configuration.
|
Package configv3 package contains everything related to the CF CLI Configuration. |
download/downloadfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
ui
Package ui will provide hooks into STDOUT, STDERR and STDIN.
|
Package ui will provide hooks into STDOUT, STDERR and STDIN. |
ui/uifakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |
utilfakes
Code generated by counterfeiter.
|
Code generated by counterfeiter. |