blog single gear
Community | Ecosystem

Cloud Foundry CLI: Project and Lead Updates

The CLI team has some exciting new updates to share with the community!  

First things first – project lead!

VMware nominated Abby Chau for the Cloud Foundry CLI Project Lead in the Application Runtime PMC.  She currently serves as Interim Project Lead for the CLI team.

Any objections should be sent to me or raised in the next Application Runtime PMC bi-weekly meeting.

Release Updates

The CF CLI team recently announced v6.35.0 and v6.36.0. These include features like service instance sharing, named service bindings, service account authentication, droplet upload, push fixes and enhancements, plugin updates, and other fixes and enhancements. Download the latest v6.36.2 here.

Service Instance Sharing

This Cloud Foundry CLI feature includes two new commands, share-service and unshare-service, to enable you to share service instances between spaces in the same or different orgs. Additional details here.

We welcome your feedback on the new implementation!

To help you track where a service instance is shared to or from, we refactored and updated the service command.

Named Service Bindings

We’ve updated the bind-service command by adding an optional binding-name flag that allows you to assign a name to that binding. This feature provides app developers control and context on the app-service binding when they may not have control over other related names, such as the app or service instance. Thanks to the CAPI team for providing this feature through PR #1309. We’ve also updated the service command so you can view binding names, if any, for a specific service.

Service Account Authentication (Client Credentials)

It is now possible to authenticate with only a client ID and a secret using the auth command with a new –client-credentials flag. Before this release, users could only log in as a user (i.e. username & password with either default client id, or custom client id & secret). That meant “fake” users needed to be prepared for CI environments and scripts (“tiles” self-registration).

Droplet Upload

Now you can push an app without staging it. The push command now has an optional –droplet flag that allows you to specify a path to a tgz file with a pre-staged app. This allows you to have more granular control over which droplet is being used. For example, you can put the exact version of the app from staging on production and get the results you expect.

push Fixes and Enhancements

  • v2-push no longer accepted (previous release merged v2-push into push)
  • Makes explicit that the default route is defined as the route initially used to create the app, if no routes exists. Previously, when you push an existing app by providing a hostname, a second route would be created. Now given an app with a single route, if you attempt to provide a hostname on a subsequent push, the hostname will be ignored, #1321.

Other Fixes and Enhancements

  • Fixed problem where wildcards weren’t allowed in routes section of app manifest, deployment #399.
  • Use DisableKeepAlives when closing Network connections: The Cloud Foundry CLI previously used just the Connection: close header when making certain API calls to the Cloud Controller and UAA. Now, DisableKeepAlives is set to true on the client side, to aid with closing connections with these requests. This should alleviate some networking issues with certain load balancers.

Plugin Updates

Going forward, we ask that every plugin name matches its command name so it can be installed and uninstalled with the same name.

  • Updated Event Alerts Plugin to 0.0.1, #198, then removed that plugin, #211
  • Updated top Plugin to 0.9.3, #210
  • Updated service-use to 1.2.2 with matching command and plugin names #213
  • Create Service Push v1.0.1 release, #214
  • Add Copy-Autoscaler 0.0.1, #216
  • Update CF Local to v0.19.0, #218
  • Update the Java plugin to version 2.0.0, #219

Refactored commands

  • services to enable an upcoming feature
  • service (see above)
  • logout to enable clearing of client credentials for Service Account Authentication (see above); will now also show user name during logout for consistency with other commands

Fixed regressions

  • Corrected issue so `service`, `services`, and `share-service` commands no longer fail with a JSON unmarshal error for certain service broker configurations; was also reported as Github issue #1342.

Other fixes

  • Changed all warnings, including experimental warnings for v3 commands, so they now output to STDERR to make debugging easier.
  • int64 support for cf/flags library, #1333
  • Debian package, #1336
  • Web action flag not working on CLI 0.6.5, #1337
  • When a cf push upload fails/Consul is down, a panic occurs, #1340 and #1351
  • Note: Colors in the terminal will auto-detect a TTY session – which is the default color if Color_Enabled is not set in the config or $CF_COLOR is empty.

Release contributors: Abby Chau, An Yu, Nick Wei, Sebastian Vidrio, Anande Gaitonde, Jay Badenhope, and special guest Kevin Middleton. Thanks also to our partners on the CAPI, SAPI, and UAA teams.

Dieu Cao Profile Image

Dieu Cao, AUTHOR