github cloudfoundry/cli v7.0.0-beta.24

latest releases: v8.7.10, v7.7.10, v8.7.9...
pre-release4 years ago

Introducing the v7 beta cf CLI

Installation

Note: V7 beta binaries will be called cf7 to allow for coexistence with V6 cf binaries.

Package Manager Installation

Installers

Important note: Due to a bug with both the Mac and Windows Installer, we are removing the links to the v7 beta for these two Operating Systems. We hope to release 7.0.0-beta.25 with the fix soon.

Binaries

Compatibility

Tested against CC API Release Candidate 1.86.0-rc.21.

Background

The CC API team have been working on developing the v3 API, which introduced new features including running tasks, defining app processes via a Procfile, advanced deployment strategies, sidecars, and granular control of an application lifecycle.

To expose the v3 API to end users, the CLI team implemented v3 prefixed commands in CLI release v6.32.0; and in CLI release v6.38.0, we updated the cf7 app to use the v3 endpoint.

Whilst working toward this v3 effort, both the CC API and CLI teams came to the realization that development work for the v3 API, and the CLI's adoption of it, is best done as a dual effort.

To this end, both teams contributed engineers to form the V3 Acceleration Team, a team tasked with completing the v3 API, and developing a v7 cf CLI to support it - both of which are under active development.

Goals for v7 beta cf CLI

Release and make generally available cf CLI v7 which is completely backed by the v3 CC API so that we can unlock feature development which was not possible on the v2 CC API. As such, we've purposely kept changes between the v6 cf CLI and the v7 cf CLI to a minimum. Where there are differences, we have documented potentially breaking changes here.

Important Notes about v7 beta CLI

  • Since both the v7 beta cf CLI and the backing CC API v3 are both in active development, it is important to note that the v7 beta cf CLI is subject to change as we move toward completing development. Therefore, using the v7 beta cf CLI in scripts is not recommended.
  • Not all cf CLI v7 commands are backed by the CC API v3. As a result, commands still fall back to the v2 API. As we release the v7 beta cf CLI, more v3 resources will be developed along with the v7 beta cf CLI support for it.
  • In order to complete the v7 beta cf CLI in a timely matter, we develop and test against the latest CAPI release candidate. When v7 cf CLI is generally available, we will start supporting official CC API releases again.

v3 CC API Resources and backing v7 beta cf CLI commands

As of 7.0.0-beta.24, the cf7 CLI beta commands backed by the v3 CC API include:

  • push (Not a resource but the bulk of our work has been geared toward building cf7 push that is completely backed by the v3 API) epic
  • domains epic
  • routes epic
  • feature-flags epic
  • stacks epic
  • buildpacks epic
  • spaces epic
  • organizations epic
  • some v3 Services API support: create-service-broker

Highlights

Rolling Deployments

  • cf7 push is completely backed by the v3 API. New features including rolling deployments have been added to cf7 push app --strategy rolling. See New Workflows for more information. epic epic

Labels - metadata support

  • labels metadata support (new commands: set-label, unset-label, labels) for the following resources: apps, spaces, orgs. Additional support for buildpacks and stacks and adding annotations and filtering labels coming soon. epic

Commands backed by the v3 API

  • Resources mentioned above all completely backed by the v3 API on v7 beta cf CLI. Expect changes to flag options and arguments, removal of commands (kept to a minimum), a change to exit codes for one command (create-buildpack and delete commands where the resource does not exist story), and new error output which comes directly from the v3 API. Errors and warnings print to stderr instead of stdout. For full details regarding changes to commands, please see v6 versus v7 command differences.
  • Pre-fixed v3 commands have been removed and are now the default command on v7. story

Please read the official CF documentation for additional information, and changes you might expect for 7.0.0-beta.24.

Gotchas

  • cf7 restart has not been updated to use rolling deployments, we hope to start that work soon
  • cf7 start does not restage on v7. We hope to update the cf7 restart command and the cf7 start command soon.
  • cf7 routes is missing the services column, we are waiting on development of v3 services
  • cf7 org is missing the quotas column, we are waiting on development of the quotas resource
  • cf7 create-org does not assign the current user roles in the org after creating, since we are waiting on development of v3 users/roles. Roles can still be assigned afterwards with cf7 set-org-role.
  • cf7 create-space does not assign the current user roles in the space after creating, since we are waiting on development of v3 users/roles. Roles can still be assigned afterwards with cf7 set-space-role.

Documentation Resources

  • Official Cloud Foundry documentation notes for v7 beta - includes information about breaking changes and feature development work available on v7
  • Additional cf CLI v7 beta release notes for previous releases

Feedback

Do you have feedback or a bug report for the cf CLI v7 beta? Please file a GitHub issue here, or reach out on Slack #v3-acceleration-team.

Change Log for 7.0.0-beta.24

Below are the release notes for 7.0.0-beta.24. To review previous release notes for older version of the cf CLI v7 beta, go here.

CF Push

  • experimental command output removed from cf7 push story
  • support for --random-route is added to cf7 push story
  • CF_STARTUP_TIMEOUT and CF_STAGING_TIMEOUT environment variables added to cf7 push help text story
  • cf7 push is completely backed by the v3 API story story story
  • --no-route will now unmap routes including the default route story
  • bug fix for when bit service is enabled, cf7 push works as expected story
  • bug fix for pushing an app when the directory contains empty files story
  • additional cf7 push docker and buildpack-related bug fixes story and story story story

Rolling Deployments

  • explorations into updating an app when it is in the Deploying state; we advised users to use cancel-deployment for now and the CC API team will review in the future story

Orgs and Spaces

  • cf7 create-space, cf7 space, cf7 delete-space, cf7 spaces, and cf7 rename-space are completely backed by the v3 API story story story story story
  • cf7 orgs is backed by the v3 API story

Update-One Is Generally Available

The SAPI and Services Enablement Team are GA'ing the Update-One Feature in this release. story

  • Adds a --force flag to update-service to support automation workflows story
  • Adds a helpful message if an upgrade is not available story

Additional Changes

  • cf7 apps is completely backed by the v3 API
  • cf7 delete command now supports the -r flag to delete routes mapped to the app.
    • Breaking:
      • cf7 delete app -r - no longer removes routes for the app if the route is bound to another app story

V3 Acceleration Team Core Contributors to v7 CLI beta: Eli Wrenn, Reid Mitchell, Piyali Banerjee, Luan Santos, Anand Gaitonde, Greg Cobb, Joseph Palermo, Mike Kenyon, Supraja Narasimhan, Abby Chau, Harsha Nandiwada, Zach Robinson, Spencer Hawley, Brian Cunnie, Michelle He

CF CLI - v7 Feature Development Contributors: Brendan Smith, Andrew Crump, Abby Chau, Eric Promislow, Alexander Berezovsky

CC API - v7 Feature Development Contributors Tim Downey, Chris Selzo, Connor Braa, Scott Sisil, Mona Mohebbi, Renee Chu, Sannidhi Jalukar

Services API Contributors: Aarti Kriplani, George Blue, Georgi Lozev, Henry Stanley, Nikolay Maslarski, Will Martin, Oleksii Fedorov

Special Thanks: Relint Team for exploring the v7 beta cf CLI migration, Landon Jarzynski for all the docs-related support

Don't miss a new cli release

NewReleases is sending notifications on new releases.