diff --git a/README.md b/README.md index 2aedc4e..3d079dd 100644 --- a/README.md +++ b/README.md @@ -2,16 +2,25 @@ This is a guide to the cf CLI for Cloud Foundry developers and users. The cf CLI runs on your local machine to direct a CF deployment in a cloud infrastructure. -The contents of this guide used to be in the GitHub repo subdirectory cloudfoundry/docs-dev-guide/cf-cli. - This repo is one of several doc repositories that go into a complete documentation set. -The contents here are structured as a topic repository intended to be compiled -into a larger document with -[Bookbinder](http://github.com/cloudfoundry-incubator/bookbinder). +This branch is published through the [docs-book-application-service](https://github.gwd.broadcom.net/TNZ/docs-book-application-service) repository. -See the [docs-book-cloudfoundry](http://github.com/cloudfoundry/docs-book-cloudfoundry) -repo for the complete list of open source documentation repositories, as well as -information about the publishing process. +>**Note**: This repo is not used in the Tanzu Elastic Application Runtime docs after 10.2 +## Branch map +| Branch | EART version | Doc Link | +|---------|------------------|---------------| +| 10.5 | EART 10.5 | [EART v10.5 staging](https://author-techdocs2-prod.adobecqms.net/us/en/vmware-tanzu/platform/elastic-application-runtime/10-5/eart/runtime-rn.html) +| tcf-104 | EART 10.4 | [EART v10.4](https://techdocs.broadcom.com/us/en/vmware-tanzu/platform/elastic-application-runtime/10-4/eart/runtime-rn.html) +| tcf-103 | EART 10.3 | [EART v10.3](https://techdocs.broadcom.com/us/en/vmware-tanzu/platform/elastic-application-runtime/10-3/eart/concepts-overview.html) | +| tcf-102 | TPCF 10.2 | [TPCF v10.2](https://techdocs.broadcom.com/us/en/vmware-tanzu/platform/elastic-application-runtime/10-2/eart/concepts-overview.html) | +| tcf-10 | TPCF 10.0 | archived PDF | +| 6.0 | TAS 6.0 | [TAS v6.0](https://techdocs.broadcom.com/us/en/vmware-tanzu/platform/elastic-application-runtime/6-0/eart/concepts-overview.html) | +| 5.0 | TAS 5.0 (EOGS) | archived PDF | +| 4.0 | TAS v4.0 (EOGS) | archived PDF | +| 3.0 | TAS v3.0 (EOGS) | archived PDF | +| 2.13 | TAS v2.13 (EOGS) | archived PDF | +| 2.12 | TAS v2.12 (EOGS) | archived PDF | +| 2.11 | TAS v2.11 (EOGS) | archived PDF | \ No newline at end of file diff --git a/develop-cli-plugins.html.md.erb b/develop-cli-plugins.html.md.erb index 6e990ab..ed0dfa7 100644 --- a/develop-cli-plugins.html.md.erb +++ b/develop-cli-plugins.html.md.erb @@ -4,12 +4,12 @@ owner: CLI --- -You can create and install cf CLI plug-ins to provide custom commands. You can submit and share these plug-ins to the [CF Community repository](https://plugins.cloudfoundry.org/). +You can create and install Cloud Foundry Command Line Interface (cf CLI) plug-ins to provide custom commands. You can submit and share these plug-ins to the [CF Community repository](https://plugins.cloudfoundry.org/). ## Prerequisite -To use plug-ins, you must use cf CLI v7 or later. For information about downloading, installing, and uninstalling tcf CLI commands, see [Installing the Cloud Foundry Command Line Interface](install-go-cli.html). +To use plug-ins, you must use cf CLI v8 or later. For information about downloading, installing, and uninstalling cf CLI commands, see [Installing the Cloud Foundry Command Line Interface](install-go-cli.html). ## Creating a plug-in diff --git a/getting-started.html.md.erb b/getting-started.html.md.erb index b8d317b..351defe 100644 --- a/getting-started.html.md.erb +++ b/getting-started.html.md.erb @@ -4,7 +4,7 @@ owner: CLI --- -The cf CLI is the official command line client for Cloud Foundry. You can use the cf CLI to manage apps, service instances, orgs, spaces, and users in your environment. +The Cloud Foundry Command Line Interface (cf CLI) is the official command line client for Cloud Foundry. You can use the cf CLI to manage apps, service instances, orgs, spaces, and users in your environment. ## Prerequisite @@ -56,7 +56,7 @@ Org: example-org Space: development -Alternatively, you can write a script to log in and set your target using the non-interactive [cf api](http://cli.cloudfoundry.org/en-US/cf/api.html), [cf auth](http://cli.cloudfoundry.org/en-US/cf/auth.html), and [cf target](http://cli.cloudfoundry.org/en-US/cf/target.html) commands. See [UAAC](https://github.com/cloudfoundry/cf-uaac/blob/master/README.md) for setting up `client_id` and `client_secret`. +Alternatively, you can write a script to log in and set your target using the non-interactive `cf api`, `cf auth`, and `cf target` commands. See [UAAC](https://github.com/cloudfoundry/cf-uaac/blob/master/README.md) for setting up `client_id` and `client_secret`. ## Log in with the API @@ -72,7 +72,7 @@ To write a script to log in: Where `API-URL` is your API endpoint, <%= vars.api_endpoint %>.

- For more information about the `cf api` command, see the [Cloud Foundry CLI Reference Guide](http://cli.cloudfoundry.org/en-US/cf/api.html). + For more information about the `cf api` command, use `cf api --help`. 1. Authenticate by running: @@ -85,7 +85,7 @@ To write a script to log in:
  • PASSWORD is your password. <%= vars.company_name %> discourages using the -p option, because it records your password in your shell history.
  • - For more information about the `cf auth` command, see the [Cloud Foundry CLI Reference Guide](http://cli.cloudfoundry.org/en-US/cf/auth.html). + For more information about the `cf auth` command, use `cf auth --help`. 1. Target your org or space by running: @@ -98,7 +98,7 @@ To write a script to log in:
  • SPACE is the space you want to target.
  • - For more information about the `cf target` command, see the [Cloud Foundry CLI Reference Guide](http://cli.cloudfoundry.org/en-US/cf/target.html). + For more information about the `cf target` command, use `cf target --help`. After you log in, the cf CLI saves a `config.json` file that contains your API endpoint, org, space values, and access token. If you change these settings, the `config.json` file is updated accordingly. @@ -106,7 +106,7 @@ the `config.json` file is updated accordingly. By default, `config.json` is located in the `~/.cf` directory. You can relocate the `config.json` file using the `CF_HOME` environment variable. -## Localize the cf CLI +## Localize the cf CLI (v6 only) The cf CLI translates terminal output into the language that you select. The default language is `en-US`. @@ -123,7 +123,7 @@ The cf CLI supports these languages: * Portuguese (Brazil): `pt-BR` * Spanish: `es-ES` -For more information about the `cf config --locale` command, see the [Cloud Foundry CLI Reference Guide](http://cli.cloudfoundry.org/en-US/cf/config.html). +For more information about the `cf config --locale` command, use `cf config --help`. Localizing the cf CLI affects only messages that the cf CLI generates. @@ -225,21 +225,21 @@ To list all users in an org or a space: louie@example.com -For more information about the `cf org-users` command, see the [Cloud Foundry CLI Reference Guide](http://cli.cloudfoundry.org/en-US/cf/org-users.html). For -more information about the `cf space-users` command, see the [Cloud Foundry CLI Reference Guide](http://cli.cloudfoundry.org/en-US/cf/space-users.html). +For more information about the `cf org-users` command, use `cf org-users --help`. For +more information about the `cf space-users` command, use `cf space-users --help`. ### Manage roles You use the commands listed below to manage roles in the cf CLI. These commands require admin permissions and take `username`, `org` or `space`, and `role` as arguments: -* `cf set-org-role`
    For more information, see the [Cloud Foundry CLI Reference Guide](http://cli.cloudfoundry.org/en-US/cf/set-org-role.html). +* `cf set-org-role`
    For more information, use `cf set-org-role --help`. -* `cf unset-org-role`
    For more information, see the [Cloud Foundry CLI Reference Guide](http://cli.cloudfoundry.org/en-US/cf/unset-org-role.html). +* `cf unset-org-role`
    For more information, use `cf unset-org-role --help`. -* `cf set-space-role`
    For more information, see the [Cloud Foundry CLI Reference Guide](http://cli.cloudfoundry.org/en-US/cf/set-space-role.html). +* `cf set-space-role`
    For more information, use `cf set-space-role --help`. -* `cf unset-space-role`
    For more information, see the [Cloud Foundry CLI Reference Guide](http://cli.cloudfoundry.org/en-US/cf/unset-space-role.html). +* `cf unset-space-role`
    For more information, use `cf unset-space-role --help`. The available roles are: @@ -261,7 +261,6 @@ OK

    -Important If you are not an admin, you see this message when you try to run these commands: error code: 10003, message: You are not authorized to perform the requested action

    @@ -273,14 +272,14 @@ either `cf set-org-role` or `cf unset-org-role` returns an error similar to the
    The user exists in multiple origins. Specify an origin for the requested user from: ‘uaa’, ‘other’
    To resolve this ambiguity, you can construct a `curl` command that uses the API to perform the desired role management function. For an example, see the -[Cloud Foundry API documentation](http://apidocs.cloudfoundry.org/280/organizations/associate_auditor_with_the_organization_by_username.html). +[Cloud Foundry API documentation](https://v3-apidocs.cloudfoundry.org/version/3.169.0/index.html#create-a-role). ## Push an app These sections describe how to use the `cf push` command to push a new app or sync changes to an existing app. -For more information about the `cf push` command, see the [Cloud Foundry CLI Reference Guide](http://cli.cloudfoundry.org/en-US/cf/push.html). +For more information about the `cf push` command, use `cf push --help`. ### Push a new app or push changes to an app @@ -309,12 +308,11 @@ of instances. You can use a manifest file rather than adding flags to the `cf pu `cf push` locates the `manifest.yml` file in the current working directory by default. Alternatively, you can provide a path to the manifest with the `-f` flag. -For more information about the `-f` flag, see the [Cloud Foundry CLI Reference Guide](http://cli.cloudfoundry.org/en-US/cf/push.html). +For more information about the `-f` flag, see the `cf push --help` output.

    -Note When you provide an app name at the command line, the cf push command uses that app -name regardless of whether there is a different app name in the manifest. If the manifest configures multiple apps, you can push a +name instead of any app name provided in the manifest. If the manifest configures multiple apps, you can push a single app by providing thenname at the command line; the cf CLI does not push the others. Use these behaviors for testing.

    ### Push an app with a buildpack @@ -338,7 +336,7 @@ Waiting for app awesome-app to start... name: awesome-app requested state: started routes: awesome-app.example.com -last uploaded: Fri 16 Sep 01:54:16 UTC 2022 +last uploaded: Wed 17 Jul 22:57:04 UTC 2024 stack: cflinuxfs3 buildpacks: name version detect output buildpack name @@ -349,19 +347,20 @@ sidecars: instances: 1/1 memory usage: 1024M start command: bundle exec rackup config.ru -p $PORT -o 0.0.0.0 - state since cpu memory disk logging details -#0 running 2022-09-16T01:54:29Z 0.0% 0 of 0 0 of 0 0/s of 0/s + state since cpu memory disk logging cpu entitlement details +#0 running 2024-07-17T22:57:22Z 0.3% 49.5M of 1G 130.2M of 1G 0B/s of 16K/s 2.4%

    -Important To avoid security exposure, verify that you migrate your apps and custom buildpacks to use the cflinuxfs4 stack based on Ubuntu 22.04 LTS (Jammy Jellyfish). The cflinuxfs3 stack is based on Ubuntu 18.04 (Bionic Beaver), which reaches end of standard support in April 2023.

    ### Map a route to an app -You can provide a hostname for your app when you push the app. If you do not provide a hostname, the `cf push` command routes your app to a URL of the form `APP-NAME.DOMAIN`, where `APP-NAME` is the name of your app and `DOMAIN` is your default domain. The route definition is included in the `manifest.yml` file. +You can provide a hostname for your app when you push the app. If you do not provide a hostname, the `cf push` command routes your app to a URL of the form +`APP-NAME.DOMAIN`, where `APP-NAME` is the name of your app and `DOMAIN` is the default domain configured in the Cloud Foundry environment. The route definition is +included in the `manifest.yml` file. For information about mapping a route to your app, see [Routes and domains](../devguide/deploy-apps/routes-domains.html). @@ -393,8 +392,7 @@ These sections describe how to create or update a service instance. ### Create a service instance To create a new service instance, use the `cf create-user-provided-service` or `cf cups` commands. For more information about the -`cf create-user-provided-service` and `cf cups` commands, see the [Cloud Foundry CLI Reference -Guide](http://cli.cloudfoundry.org/en-US/cf/create-user-provided-service.html). +`cf create-user-provided-service` and `cf cups` commands, use `cf create-user-provided-service --help`. To create or update a user-provided service instance, you must supply basic parameters. For example, a database service might require a username, password, host, port, and database name. @@ -483,24 +481,19 @@ To create a service instance that sends data to a third party: After you create a user-provided service instance, you can: -* Bind the service to an app with `cf bind-service`. For more information, see the [Cloud Foundry CLI Reference -Guide](http://cli.cloudfoundry.org/en-US/cf/bind-service.html). +* Bind the service to an app with `cf bind-service`. For more information, use `cf bind-service --help`. -* Unbind the service with `cf unbind-service`. For more information, see the [Cloud Foundry CLI Reference -Guide](http://cli.cloudfoundry.org/en-US/cf/unbind-service.html). +* Unbind the service with `cf unbind-service`. For more information, use `cf unbind-service --help`. -* Rename the service with `cf rename-service`. For more information, see the [Cloud Foundry CLI Reference -Guide](http://cli.cloudfoundry.org/en-US/cf/rename-service.html). +* Rename the service with `cf rename-service`. For more information, use `cf rename-service --help`. -* Delete the service with `cf delete-service`. For more information, see the [Cloud Foundry CLI Reference -Guide](http://cli.cloudfoundry.org/en-US/cf/delete-service.html). +* Delete the service with `cf delete-service`. For more information, use `cf delete-service --help`. ### Update a service instance To update one or more of the parameters for an existing user-provided service instance, use `cf update-user-provided-service` or `cf uups`. -For more information about the `cf update-user-provided-service` and `cf uups` commands, see the [Cloud Foundry CLI Reference -Guide](http://cli.cloudfoundry.org/en-US/cf/update-user-provided-service.html). +For more information about the `cf update-user-provided-service` and `cf uups` commands, use `cf create-user-provided-service --help`. The cf uups command does not update any parameter values that you do not supply. @@ -518,7 +511,7 @@ To view a cf CLI exit code: ``` 1. To check that the login was successful, run one of these commands, depending on your OS: - * For Mac OS, run: + * For macOS, run: ``` echo $? @@ -534,10 +527,9 @@ If the command succeeds, the exit code is `0`. ## View CLI help output -The `cf help` command lists the cf CLI commands and a brief description of each. For more information, see the [Cloud Foundry CLI Reference -Guide](http://cli.cloudfoundry.org/en-US/cf/help.html). +The `cf help` command lists the cf CLI commands and a brief description of each.. -To list detailed help for any cf CLI command, add the `-h` flag to the command. +To list detailed help for any cf CLI command, add the `--help` or `-h` flag to the command. The example below shows detailed help output for the `cf delete` command: diff --git a/http-proxy.html.md.erb b/http-proxy.html.md.erb index 84518da..064058d 100644 --- a/http-proxy.html.md.erb +++ b/http-proxy.html.md.erb @@ -4,52 +4,55 @@ owner: CLI --- -If you have an HTTP or SOCKS5 proxy server on your network between a host running the cf CLI and your API endpoint, you must set `https_proxy` with the hostname or IP address of the proxy server. The `https_proxy` environment variable holds the hostname or IP address of your proxy server. +If you have an HTTP or SOCKS5 proxy server on your network between a host running the Cloud Foundry Command Line Interface (cf CLI) and your API endpoint, you must +set the `https_proxy` variable with the hostname or IP address of the proxy server. The `https_proxy` environment variable holds the hostname or IP address of the +proxy server. -The `https_proxy` is a standard environment variable. As with any environment variable, the specific steps you use to set it depends on your operating system. +The `https_proxy` variable is a standard environment variable. As with any environment variable, the specific steps used to set it depends on your operating +system. ## Format of https_proxy -The `https_proxy` variable is set with hostname or IP address of the proxy server in URL format, as in the following example: +The `https_proxy` variable is set with hostname or IP address of the proxy server in URL format, as shown in the following example: ``` https_proxy=http://proxy.example.com ``` -If the proxy server requires a username and password, you must include the credentials, as in the following example: +If the proxy server requires a username and password, you must include the credentials, as shown in the following example: ``` https_proxy=http://username:password@proxy.example.com ``` -If the proxy server uses a port other than 80, you must include the port number, as in the following example: +If the proxy server uses a port other than 80, you must include the port number, as shown in the following example: ``` https_proxy=http://username:password@proxy.example.com:8080 ``` -If the proxy server is a SOCKS5 proxy, you must specify the SOCKS5 protocol in the URL, as in the following example: +If the proxy server is a SOCKS5 proxy, you must specify the SOCKS5 protocol in the URL, as shown in the following example: ``` https_proxy=socks5://socks_proxy.example.com ``` -The cf ssh command for cf CLI v7 does not work through a SOCKS5 proxy. +The cf ssh command for cf CLI v7 does not work through a SOCKS5 proxy. cf CLI v7 is out of support; you must be running cf CLI v8. -## Set https_proxy in Mac OS or Linux +## Set https_proxy in macOS or Linux -To set the `https_proxy` environment variable in Mac OS or Linux: +To set the `https_proxy` environment variable in macOS or Linux: -1. Use the command specific to your shell. For example, in bash, use the `export` command, as in the following example: +1. Use the command specific to your shell. For example, in bash, use the `export` command, as shown in the following example: ``` export https_proxy=http://my.proxyserver.com:8080 ``` 1. To make this change persistent, add the command to the appropriate profile file for the shell. For example, in bash, add a -line like the following example to your `.bash_profile` or `.bashrc` file: +line similar to the following example to your `.bash_profile` or `.bashrc` file: ``` https_proxy=http://username:password@hostname:port diff --git a/index.html.md.erb b/index.html.md.erb index fb58b0f..3b6526a 100644 --- a/index.html.md.erb +++ b/index.html.md.erb @@ -7,9 +7,10 @@ These topics explain the Cloud Foundry Command Line Interface (cf CLI), a tool u ## Table of Contents -* [Installing the cf CLI](install-go-cli.html). -* [Getting Started with the cf CLI](getting-started.html). -* [Using the cf CLI with an HTTP proxy server](http-proxy.html). -* [Using the cf CLI with a self-signed certificate](self-signed.html). -* [Using cf CLI plug-ins](use-cli-plugins.html). -* [Developing cf CLI plug-ins](develop-cli-plugins.html). +* [Installing the cf CLI](install-go-cli.html) +* [Upgrading to cf CLI v8](v8.html) +* [Getting started with the cf CLI](getting-started.html) +* [Using the cf CLI with a proxy server](http-proxy.html) +* [Using the cf CLI with a self-signed certificate](self-signed.html) +* [Using cf CLI plug-ins](use-cli-plugins.html) +* [Developing cf CLI plug-ins](develop-cli-plugins.html) diff --git a/install-go-cli.html.md.erb b/install-go-cli.html.md.erb index c994229..36f08e9 100644 --- a/install-go-cli.html.md.erb +++ b/install-go-cli.html.md.erb @@ -3,7 +3,8 @@ title: Installing the cf CLI owner: CLI --- -The cf CLI is the official command line client for Cloud Foundry. +The Cloud Foundry Command Line Interface (cf CLI) is the official command line client for Cloud Foundry. Use the cf CLI to interact with Cloud Foundry applications +and services. The following procedures describe how to install the cf CLI on your operating system. You can install the cf CLI with a package manager, an installer, or a compressed binary. @@ -11,12 +12,12 @@ For more information about how to use the cf CLI, see [Getting Started with cf C To learn when cf CLI updates are released and to download a new binary or installer, see [Releases](https://github.com/cloudfoundry/cli/releases) in the Cloud Foundry CLI repository on GitHub. -There are currently two major versions of the cf CLI: v7 and v8. See [the README](https://github.com/cloudfoundry/cli/blob/master/README.md) to decide which version to use. +The cf CLI is at version v8. See the [README](https://github.com/cloudfoundry/cli/blob/master/README.md) for more information. ## Prerequisites -If you previously used the cf CLI Ruby gem, you must uninstall the gem before installing the cf CLI. +If you have previously used the cf CLI Ruby gem, you must uninstall it before installing the cf CLI. To uninstall the gem: @@ -29,7 +30,7 @@ To uninstall the gem: ## Install the cf CLI using a package manager -These sections describe how to install the cf CLI using a package manager. You can install the cf CLI using a package manager on Mac OS X and Linux operating systems. +These sections describe how to install the cf CLI using a package manager. You can install the cf CLI using a package manager on macOS X and Linux operating systems. ### Linux installation @@ -39,17 +40,13 @@ To install the cf CLI on Debian and Ubuntu-based Linux distributions: 1. Add the Cloud Foundry Foundation public key and package repository to your system by running: - 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 + wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | sudo gpg --dearmor -o /usr/share/keyrings/cli.cloudfoundry.org.gpg + echo "deb [signed-by=/usr/share/keyrings/cli.cloudfoundry.org.gpg] https://packages.cloudfoundry.org/debian stable main" | sudo tee /etc/apt/sources.list.d/cloudfoundry-cli.list 1. Update your local package index by running: sudo apt-get update -1. To install **cf CLI v7**, run: - - sudo apt-get install cf7-cli - 1. To install **cf CLI v8**, run: sudo apt-get install cf8-cli @@ -61,9 +58,6 @@ To install the cf CLI on Enterprise Linux and Fedora RHEL6/CentOS6 and later dis sudo wget -O /etc/yum.repos.d/cloudfoundry-cli.repo https://packages.cloudfoundry.org/fedora/cloudfoundry-cli.repo -1. To install **cf CLI v7**, run: - - sudo yum install cf7-cli 1. To install **cf CLI v8**, run: @@ -71,18 +65,14 @@ To install the cf CLI on Enterprise Linux and Fedora RHEL6/CentOS6 and later dis This also downloads and adds the public key to your system. -### Mac OS X installation +### macOS X installation -You can install the cf CLI on Mac OS X operating systems using the Homebrew package manager. +You can install the cf CLI on macOS X operating systems using the Homebrew package manager. -To install the cf CLI for Mac OS X using Homebrew: +To install the cf CLI for macOS X using Homebrew: 1. Install Homebrew. For instructions, see [Install Homebrew](http://brew.sh/) on the Homebrew website. -1. To install **cf CLI v7**, run: - - brew install cloudfoundry/tap/cf-cli@7 - 1. To install **cf CLI v8**, run: brew install cloudfoundry/tap/cf-cli@8 @@ -95,21 +85,20 @@ To install the cf CLI for Mac OS X using Homebrew: ## Install the cf CLI using a compressed binary -You can install the cf CLI using a compressed binary on Windows, Mac OS X, and Linux operating systems. -In cases where security concerns are paramount, using this method can be a better option than installing from a repository. +You can install the cf CLI using a compressed binary on Windows, macOS X, and Linux operating systems. +This method can be a more secure option compared to installing from a repository, especially in environments where security is a primary concern.

    -Note -As of CF CLI 8.4.0 and CF CLI 7.5.0, the Apple ARM architecture is now supported for installation of CF CLI. This is possible on newer MACs that use M1 and M2 processors. For systems running the M1 processor, CF CLI can now be installed without use of an emulator. +As of cf CLI 8.4.0 and cf CLI 7.5.0, the Apple ARM architecture is now supported for installation of cf CLI. This is possible on newer MACs that use M1 and M2 processors. For systems running the M1 processor, cf CLI can now be installed without use of an emulator.

    -For more information about downloading and installing a compressed binary for cf CLI v7 or cf CLI v8, see [Installers and compressed binaries](https://github.com/cloudfoundry/cli/wiki/V8-CLI-Installation-Guide#installers-and-compressed-binaries). +For more information about downloading and installing a compressed binary for cf CLI v8, see [Installers and compressed binaries](https://github.com/cloudfoundry/cli/wiki/V8-CLI-Installation-Guide#installers-and-compressed-binaries). ## Verify installation To verify the installation of the cf CLI: -1. Close and reopen the command prompt. Or, open a new tab in the command prompt. +1. Close and reopen the command prompt, or open a new tab in the command prompt terminal. 1. Run: @@ -130,7 +119,7 @@ If you installed the cf CLI with a package manager, follow the instructions spec If you installed the cf CLI with an installer, follow the procedure in this section that is specific to your operating system. -To uninstall the cf CLI on Mac OS X: +To uninstall the cf CLI on macOS X: 1. Delete the binary `/usr/local/bin/cf`. diff --git a/self-signed.html.md.erb b/self-signed.html.md.erb index f5a8852..72298da 100644 --- a/self-signed.html.md.erb +++ b/self-signed.html.md.erb @@ -4,14 +4,14 @@ owner: CLI --- This topic describes how developers use the Cloud Foundry Command Line Interface (cf CLI) -to communicate securely with a Cloud Foundry deployment with a self-signed certificate. +to communicate securely with a Cloud Foundry deployment that uses a self-signed certificate. You can use the cf CLI to communicate securely with a Cloud Foundry deployment without specifying `--skip-ssl-validation` under the following conditions: * The deployment uses a self-signed certificate. -* The deployment uses a certificate that is signed by a self-signed certificate authority (CA), or a certificate signed by a certificate that is signed by a self-signed CA. +* The deployment uses a certificate that is signed by a self-signed certificate authority (CA), or by an intermediate certificate that is also signed by a self-signed CA. <%= vars.self_signed %> @@ -22,11 +22,11 @@ The certificates you must insert into your local trust store vary depending on t * If the deployment uses a self-signed certificate, you must insert the self-signed certificate into your local trust store. -* If the deployment uses a certificate that is signed by a self-signed CA, or a certificate signed by a certificate that is signed by a self-signed CA, you must insert the self-signed certificate and any intermediate certificates into your local trust store. +* If the deployment uses a certificate signed by a self-signed CA, or a certificate signed by a certificate that is signed by a self-signed CA, you must insert the self-signed certificate and any intermediate certificates into your local trust store. -### Installing the Certificate on Mac OS X +### Installing the Certificate on macOS X -To place the certificate file `server.crt` into your local trust store for Mac OS X: +To place the certificate file `server.crt` into your local trust store for macOS X: 1. Run: diff --git a/use-cli-plugins.html.md.erb b/use-cli-plugins.html.md.erb index 190c84b..94537ea 100644 --- a/use-cli-plugins.html.md.erb +++ b/use-cli-plugins.html.md.erb @@ -4,17 +4,16 @@ owner: CLI --- -The Cloud Foundry CLI (cf CLI) includes plug-in capability. The plug-in allows you to add custom commands to the cf CLI. +The Cloud Foundry CLI (cf CLI) includes plug-in capability. Plug-ins allow you to add custom commands to the cf CLI. You can install and use the plug-in that Cloud Foundry developers and third-party developers create. For a current list of community-supported plug-ins, see the [Cloud Foundry Community CLI Plug-in page](https://plugins.cloudfoundry.org). For information about submitting your own plug-in, see the [Cloud Foundry CLI Plugin Repository (CLIPR)](https://github.com/cloudfoundry-incubator/cli-plugin-repo) repository on GitHub.

    -Important -Plug-ins are not vetted, including for security or function. Use plug-ins at your own risk.

    +Plug-ins are not vetted for security or function. Use plug-ins at your own risk.

    The cf CLI identifies a plug-in by binary filename, its developer defined plug-in name, and the commands that the plug-in provides. Use the binary filename only to install a plug-in. You use the plug-in name or a command for any other action. -The cf CLI uses case sensitive commands, but plug in management commands accept plug-in and repository names +The cf CLI uses case-sensitive commands, but plug-in management commands accept plug-in and repository names irrespective of their casing. @@ -33,7 +32,7 @@ To install a plug-in: 1. Download a binary or the source code for a plug-in from a trusted provider. - The cf CLI requires a binary file compiled from source code written in Go. If you download source code, you must compile the code to create a binary. + The cf CLI requires a binary file compiled from source code written in Go. If you download source code, you must compile the code to create a binary. 2. Run: @@ -46,7 +45,7 @@ To install a plug-in: The cf CLI prohibits you from implementing any plug-in that uses a native cf CLI command name or alias. For example, if you attempt to install a third-party plugin that includes the cf push command, the cf CLI halts the installation. -For more information, see [install-plugin](http://cli.cloudfoundry.org/en-US/cf/install-plugin.html) in the _Cloud Foundry CLI Reference Guide_. +For more information, use `cf install-plugin --help`. ## Managing plug-ins and running plug-in commands @@ -65,7 +64,7 @@ To manage plug-ins and run plug-in commands: ``` cf PLUGIN-COMMAND ``` - Where `PLUGIN-COMMAND` is the plug-in command you ran. + Where `PLUGIN-COMMAND` is the plug-in command that you want to run. ## Checking for plug-in updates @@ -87,7 +86,7 @@ To check all registered plug-in repositories for newer versions of currently ins Use 'cf install-plugin' to update a plugin to the latest version. -For more information about the `cf plugins` command, see [cf plugins](http://cli.cloudfoundry.org/en-US/cf/plugins.html) in the _Cloud Foundry CLI Reference Guide_. +For more information about the `cf plugins` command, use `cf plugins --help`. ## Uninstalling a plug-in @@ -107,9 +106,9 @@ To uninstall a plug-in: ``` Where `PLUGIN-NAME` is the name of the plug-in you want to uninstall. - You must use the name of the plug-in to uninstall it, not the binary filename. + You must use the name of the plug-in, not the binary filename, to uninstall it. -For more information, see [uninstall-plugin](http://cli.cloudfoundry.org/en-US/cf/uninstall-plugin.html) in the _Cloud Foundry CLI Reference Guide_. +For more information, use `cf uninstall-plugin --help`. ## Adding a plug-in repository @@ -120,9 +119,9 @@ To add a plug-in repository: ``` cf add-plugin-repo REPOSITORY-NAME-URL ``` - Where `REPOSITORY-NAME-URL` is the URL of the plug-in repository you want to add. + Where `REPOSITORY-NAME-URL` is the URL of the plug-in repository that you want to add. -For more information, see [add-plugin-repo](http://cli.cloudfoundry.org/en-US/cf/add-plugin-repo.html) in the _Cloud Foundry CLI Reference Guide_. +For more information, use `cf add-plugin-repo --help`. ## Viewing available plug-in repositories @@ -135,7 +134,7 @@ To view your available plug-in repositories: cf list-plugin-repos ``` -For more information, see [list-plugin-repos](http://cli.cloudfoundry.org/en-US/cf/list-plugin-repos.html) in the _Cloud Foundry CLI Reference Guide_. +For more information, use `cf list-plugin-repos --help`. ## Listing all plug-ins by repository @@ -148,12 +147,12 @@ To show all plug-ins from all available repositories: cf repo-plugins ``` -For more information, see [repo-plugins](http://cli.cloudfoundry.org/en-US/cf/repo-plugins.html) in the _Cloud Foundry CLI Reference Guide_. +For more information, use `cf repo-plugins --help`. ## Troubleshooting -The cf CLI provides the following error messages to help you troubleshoot installation and usage issues. Third party plug-ins provide their own error messages. +The cf CLI provides the following error messages to help you troubleshoot installation and usage issues. Third-party plug-ins provide their own error messages. ### Permission denied diff --git a/v7.html.md.erb b/v7.html.md.erb deleted file mode 100644 index 88a021f..0000000 --- a/v7.html.md.erb +++ /dev/null @@ -1,503 +0,0 @@ ---- -title: Upgrading to cf CLI v7 -owner: VAT ---- - - -The main goal of Cloud Foundry CLI (cf CLI) v7 and CAPI V3 is to unlock new app developer workflows for users who require granular control of their apps and other advanced deployment strategies. For more information, see [New Workflows Supported](#new-workflows) below. These workflows were previously limited by CAPI V2. - -The cf CLI development team aims to provide: - -* A seamless upgrade experience from cf CLI v6. Changes have been kept to a minimum. Where there are changes, the team has incorporated feedback from the community to simplify the cf CLI user experience. - -* Details about breaking potential breaking changes and alternative workflows for scripting environments. - -To understand the differences between specific commands, see [Command Differences](#differences) below. - -For more information about CAPI V3, see the [CAPI V3 documentation](https://v3-apidocs.cloudfoundry.org/index.html#introduction). For more information about CAPI V2, see the [CAPI V2 documentation](http://apidocs.cloudfoundry.org/). - -## New workflows supported by cf CLI v7 - -cf CLI v7 uses CAPI V3, which offers developers more granular control over their apps. It activates new workflows by exposing packages, droplets, builds, and processes. CAPI V3 also includes new resources. For example, sidecars, manifests, and deployments. - -Some key new features available with the cf CLI v7 are: - -* [Rolling App Deployments](../devguide/deploy-apps/rolling-deploy.html): Push updates to apps without incurring downtime. - -* [Running cf push Sub-Step Commands](../devguide/push-sub-commands.html): Exercise granular control over the cf push process. These commands break down the cf push process into sub steps that can run independently. - -* [Pushing an App with Multiple Processes](../devguide/multiple-processes.html): Use a single command to push apps that run multiple processes. An example is a web app that has a UI process and a worker process. - -* [Pushing Apps with Sidecar Processes](../devguide/sidecars.html): Run additional processes in the same container as your app. - -* [Using Metadata](../adminguide/metadata.html): Add metadata to objects, for example, spaces, and apps. This helps with operating, monitoring, and auditing. - - -## Installing cf CLI v7 - -To install cf CLI v7, see the [README](https://github.com/cloudfoundry/cli#downloads) in the Cloud Foundry CLI repository on GitHub. It includes instructions for downloading the latest CAPI release candidate, which is what the cf CLI v7 beta is tested against. - -### Prerequisites - -The cf CLI v7 requires [cf-deployment](https://github.com/cloudfoundry/cf-deployment) v13.5.0 or later. - -This version of cf-deployment contains CAPI release v1.95.0, which provides the CAPI V3 API v3.85.0. - -For more information, see the [CAPI release notes](https://github.com/cloudfoundry/capi-release) and the [Cloud Controller release notes](https://github.com/cloudfoundry/cloud_controller_ng) on GitHub. - -If you target an later version of cf-deployment, cf CLI v7 presents a warning saying that the API version is less than the minimum supported. -Not all commands run correctly. -For example, `cf apps` does not work. - - -## Command differences - -These sections describe changes in commands from cf CLI v6 to cf CLI v7. They also provide important information for those who use the cf CLI in scripts. - -For information about possible breaking changes, see the [Table of Differences](#table) below. This table includes removed flag options, removed commands, and removed or changed argument requirements. - -### About scripting - -If you have scripts that rely on the cf CLI, this section describes possible changes in cf CLI v7 which might affect scripts. - -Some of these changes are: - -* In cf CLI v7, if your scripts parse error text, output text errors are returned directly from CAPI. Where possible, cf CLI v7 no longer wraps errors it receives from the API. - -* cf CLI v7 commands output errors and warnings to `stderr` rather than `stdout` to simplify debugging. - -* Style changes including flavor text updates. For more information, see [Colors](https://github.com/cloudfoundry/cli/wiki/CF-CLI-Style-Guide#colors) in _CF CLI Style Guide_ in the Cloud Foundry CLI repository on GitHub. - -* Key-value and table column headers are displayed in lowercase. - -* Single-quote resource names appear in error cases. - -

    -Caution -If the services attribute is declared at the top-level of the manifest.yml file, cf CLI v6 generates a warning, but in cf CLI v7, there is no warning and the app is still pushed.

    - -### Exit codes - -cf CLI v7 attempts to consistently apply the principles of idempotency across all commands which require it. For more information, see [General Principles](https://github.com/cloudfoundry/cli/wiki/CF-CLI-Style-Guide#general-principles) in _CF CLI Style Guide_ in the Cloud Foundry CLI repository on GitHub. Commands now exit `0` if the outcome a user expresses when running a specific command is unchanged after the command is executed. Examples include: - -* Attempting to delete a resource which does not exist, for example, a space. Commands like `delete-route` and `delete-space` return `0` in those cases. - -* If the `create-buildpack` command fails to create a buildpack, the command exits with `1` instead of `0`, which is the current cf CLI v6 behavior. - -### Table of differences - -The following table summarizes how commands differ between cf CLI v7 and cf CLI v6. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    CommandChanges
    cf add-network-policy -
      -
    • [Removed flag]: The flag --destination-app is deprecated. Instead, the destination app is the required second argument, using no flag.
    • -
    -
    cf apps -
      -
    • [Update]: Displays information about processes.
    • -
    • [Update]: The url field is renamed to routes.
    • -
    • [Update]: Information about instances, memory, and disk is removed.
    • -
    • [Update]: Apps are listed alphabetically.
    • -
    -
    cf bind-security-group -
      -
    • [Update]: SPACE is no longer an argument. To provide a space, use the --space flag.
    • -
    -
    cf check-route -
      -
    • [Update]: HOST is no longer a required argument.
    • -
    • [Update]: No longer requires a backslash.
    • -
    • [Added flag]: Use --hostname to specify a hostname.
    • -
    -
    cf create-buildpack -
      -
    • [Removed flag]: --enable. Creating a buildpack activates it by default.
    • -
    • [Removed flag]: --disable. You can not deactivate a buildpack upon creation.
    • -
    • [Update]: Creating a buildpack with position set to 0 is no longer valid.
    • -
    -
    cf create-domain -
      -
    • [Renamed]: This command is renamed to create-private-domain.
    • -
    -
    cf create-org -
      -
    • [Update]: clients.read scope (or clients.admin, or zones.uaa.admin) is now required when logged in using client credentials.
    • -
    -
    cf create-quota -
      -
    • [Renamed]: This command is renamed to create-org-quota.
    • -
    -
    cf create-space -
      -
    • [Update]: clients.read scope (or clients.admin, or zones.uaa.admin) is now required when logged in using client credentials.
    • -
    -
    cf create-route -
      -
    • [Update]: SPACE is no longer a required argument. The command creates a route in the space you are targeting.
    • -
    • [Removed flag]: --random-port. This is now default behavior for routes with TCP domains if the --port flag is not provided.
    • -
    -
    cf create-service-auth-tokenThis command is removed.
    cf create-service-broker -
      -
    • [Update]: If the command does not successfully complete all phases, a service broker object exists, which can then be updated or deleted.
    • -
    -
    cf create-user -
      -
    • [Added flag]: --password-prompt. This option enhances security by removing the requirement to type your password on the command line.
    • -
    -
    cf delete -
      -
    • [Change in flag behavior]: -r no longer deletes routes when the route is mapped to more than one app.
    • -
    -
    cf delete-domain -
      -
    • [Renamed]: This command is renamed to delete-private-domain.
    • -
    -
    cf delete-org -
      -
    • [Update]: The command fails if the org contains shared private domains.
    • -
    -
    cf delete-quota -
      -
    • [Renamed]: This command is renamed to delete-org-quota.
    • -
    -
    cf delete-service-auth-tokenThis command is removed.
    cf domains -
      -
    • [Update]: The status column is renamed to availability.
    • -
    • [Update]: The table refers to private domains with private instead of own.
    • -
    -
    cf filesThis command is removed.
    cf map-route -
      -
    • [Removed flag]: --random-port. In the cf CLI v7, when you map a TCP route to an app, a random port is assigned to the route by default. To specify a port for a TCP route, use the --port flag.
    • -
    -
    cf marketplace -
      -
    • [Renamed flag]: The -s flag is renamed to -e for consistency with other commands.
    • -
    • [Update]: When the -e flag is specified, plan costs advertised by the service broker are displayed.
    • -
    • [Update]: When the -e flag is specified, and no service offering with that name is found, the exit code returned is 0. This is in contrast to the cf CLI v6, which returned exit code 1 in this case.
    • -
    -
    cf migrate-service-instancesThis command is removed.
    cf packages -
      -
    • [Update]: Displays packages from most recent to least recent.
    • -
    -
    cf push -
      -
    • [Removed flag]: --route-path. You can use the routes property in the manifest instead.
    • -
    • [Removed flag]: -d for domain. You can use the routes property in the manifest instead.
    • -
    • [Removed flag]: --no-hostname. You can use the routes property in the manifest instead.
    • -
    • [Removed flag]: --hostname. You can use the routes property in the manifest instead.
    • -
    • [Added flag]: --strategy. You can deploy an app without causing downtime using cf push app_name --strategy rolling. Exits when at least one instance of each process is healthy.
    • -
    • [Added flag]: --no-wait. When used, the command exits when the one instance one process becomes healthy.
    • -
    • [Added flag]: --endpoint. Required if you set health check type to http when pushing an app.
    • -
    • [Updated flag]: --health-check-type none is removed in favor of --health-check-type process.
    • -
    • [Updated flag]: --no-route no longer unbinds all existing routes associated with the app.
    • -
    • [Updated flag]: -t now has a long form --app-start-timeout. All short-form flags now have long-form equivalents.
    • -
    -
    cf purge-service-offering -
      -
    • [Removed flag]: The -p flag is removed.
    • -
    -
    cf quota -
      -
    • [Renamed]: This command is renamed to org-quota.
    • -
    -
    cf quotas -
      -
    • [Renamed]: This command is renamed to org-quotas.
    • -
    -
    cf remove-network-policy -
      -
    • [Removed flag]: The flag --destination-app is deprecated. Instead, the destination app is the required second argument, using no flag.
    • -
    -
    cf rename-buildpackThis command is removed. Instead, use --rename flag with cf update-buildpack.
    cf restart-app-instance -
      -
    • [Added Flag]: --process
    • -
    -
    cf routes -
      -
    • [Updated output]: port, type, and service no longer appear in the table.
    • -
    • [Renamed flag]: --orglevel is now --org-level.
    • -
    -
    cf run-task -
      -
    • [Updated]: COMMAND is no longer an argument. To specify a command, use the --command flag.
    • -
    • [Added Flag]: --process
    • -
    -
    cf scale -
      -
    • [Added flag]: --process
    • -
    -
    cf service-access -
      -
    • [Update]: When a service offering comes from a space-scoped service broker, the space and org are displayed.
    • -
    -
    cf service-auth-tokensThis command is removed.
    cf set-health-check -
      -
    • [Added flag]: --process
    • -
    • [Added flag]: --invocation-timeout
    • -
    -
    cf set-quota -
      -
    • [Renamed]: This command is renamed to set-org-quota.
    • -
    -
    cf set-running-environment-variable-group -
      -
    • [Update]: System environment variables can only be strings. This is enforced on the API.
    • -
    -
    cf set-staging-environment-variable-group -
      -
    • [Update]: System environment variables can only be strings. This is enforced on the API.
    • -
    -
    cf ssh -
      -
    • [Added flag]: --process
    • -
    • [Added environment variable]: all_proxy. Specifies a proxy server for all requests.
    • -
    -
    cf start -
      -
    • [Update]: Stages an app to support cf push app --no-start use cases. If there is a new package, start stages and starts using the new package. If the app has been rolled back, start starts using the droplet you used to roll back your app. In the case of a droplet that is in a FAILED state, start ignores the failed droplet and restages the latest READY package to try to produce a healthy droplet. In cf CLI v6, start fails if the droplet is in a FAILED state.
    • -
    -
    cf unshare-private-domain -
      -
    • [Update]: This command now provides a warning and requires confirmation before it proceeds.
    • -
    -
    cf update-buildpack -
      -
    • [Added flag]: --rename
    • -
    • [Change in flag behavior]: --unlock and --path are now compatible.
    • -
    -
    cf update-quota -
      -
    • [Renamed]: This command is renamed to update-org-quota.
    • -
    -
    cf update-service-auth-tokenThis command is removed.
    cf v3-COMMAND -
      -
    • [Update]: v3 prefixes have been removed, since the commands now use CAPI V3 by default.
    • -
    -
    cf apply-manifest -
      -
    • [Update]: If no flags are passed, the command defaults to using the manifest located in your pwd.
    • -
    -
    cf v3-cancel-zdt-push -
      -
    • This command is removed. Instead, use cf cancel-deployment.
    • -
    -
    cf v3-zdt-push -
      -
    • This command is removed. Instead, use --strategy rolling flag with cf push.
    • -
    -
    cf buildpacks -
      -
    • The order of the columns are changed. The buildpack column header is renamed.
    • -
    -
    diff --git a/v8.html.md.erb b/v8.html.md.erb index 19afb4d..25a0f38 100644 --- a/v8.html.md.erb +++ b/v8.html.md.erb @@ -3,13 +3,14 @@ title: Upgrading to cf CLI v8 owner: CLI --- -You can use Cloud Foundry Command Line Interface (cf CLI) v8 to interact with Cloud Foundry API (CAPI) V3. This topic describes the major changes between cf CLI v7 and cf CLI v8. +You can use Cloud Foundry Command Line Interface (cf CLI) v8 to interact with Cloud Foundry API (CAPI) V3. This topic describes the major changes between cf CLI v7 +and cf CLI v8. The cf CLI development team aims to provide: * A seamless upgrade experience from cf CLI v7. Changes are minimal. Where there are changes, the team has incorporated feedback from the community to simplify the cf CLI user experience. -* Details about breaking potential breaking changes and alternative workflows for scripting environments. +* Details about potential breaking changes and alternative workflows for scripting environments. To understand the differences between specific commands, see [Command differences](#differences) below. @@ -30,7 +31,7 @@ To install cf CLI v8, see the [README](https://github.com/cloudfoundry/cli#downl It includes instructions for downloading the latest CAPI release candidate, which is what the cf CLI v8 beta is tested against. In cf CLI v8, Golang has been updated from v1.13 to v1.16. -If you target a foundation that does not have a SAN, you might encounter errors because the common name field is deprecated in Golang v1.15 and later. +When targeting a foundation that does not have a SAN, you might encounter errors because the common name field is deprecated in Golang v1.15 and later. For more information, see [X.509 CommonName deprecation](https://golang.org/doc/go1.15#commonname) in the Golang v1.15 release notes. ### Prerequisites @@ -63,7 +64,7 @@ Some of these changes are: * Style changes, including changes in the order or wording of the output. * cf CLI v8 uses CAPI V3 to make requests related to services. CAPI V3 creates asynchronous jobs. If you want to continue to create jobs synchronously, use the new `--wait` flag. -* JSON response changes such as additional elements or nesting. +* JSON response changes such as additional elements or nesting, which may impact parsing in existing scripts. ### Table of differences @@ -132,7 +133,7 @@ The following table summarizes how commands differ between cf CLI v7 and cf CLI cf map-route @@ -221,7 +222,7 @@ The following table summarizes how commands differ between cf CLI v7 and cf CLI cf upgrade-service