CF CLI v6.25.0 Released Today


Koper, Dies <diesk@...>
 

The CF CLI team just cut 6.24.0.
Deb, yum and Homebrew repos have been updated; binaries, installers and link to release notes are available at:

https://github.com/cloudfoundry/cli#downloads
Tab completion

The cf CLI now supports tab completion on systems where that is enabled.

Completion is provided of cf native subcommands and option names as well as arguments & option values that are available locally to the CLI, i.e. filepaths and e.g. true/false and process/port/http enumerations.

Examples

$ cf <tab><tab>

Display all 156 possibilities? (y or n)



$ cf i<tab>

->

$ cf install-plugin



$ cf set-org-role user myorg o<tab>m<tab>

->

$ cf set-org-role user myorg OrgManager



The Debian, RPM and Homebrew installers of the cf CLI bundle a bash tab completion file<https://github.com/cloudfoundry/cli/blob/master/ci/installers/completion/cf> that is copied to the operating system's standard location (e.g. /usr/share/bash-completion/completions/ or /etc/bash_completion.d/), where it should be picked up automatically on Bash completion enabled environments the next time you open a Bash shell. Refer to your shell & operating system's documentation for details.
For downloaders of the binary releases or the Mac OS X package, download the above file and ensure it is executed when you open a shell (e.g. by sourcing it from your shell profile (~/.bash_profile)).

Zsh users may try loading this file from ~/.zshrc as suggested here<http://stackoverflow.com/a/27853970/1227328>.

Windows users may try this completion file<https://github.com/dkoper/clink-completions/blob/87086ba8322c24fb8498d7a9a39ff9183e975f05/cf.lua> with clink<https://github.com/mridgers/clink>.

CLI binary 30% smaller

The file size of the cf CLI binaries has been reduced by about 30%.

Previously, the binaries included additional data useful in debugging and profiling the CLI. The CLI team never used these tools, so it made sense to remove them.

This change should not affect the execution of the actual program. They only affect whether you can debug or analyze the binary with other tools, which you still can if you rebuild the binary to include this data.

Plugin Framework Changes

* The GetApp route summary API now includes fields to retrieve a route's path or port. (#1066<https://github.com/cloudfoundry/cli/issues/1066>)

Updated commands

* run-task now accepts parameters to configure the memory and disk space limits for a task.
* push options -f and -p and other commands accepting a path to a file or folder now display a friendlier parsing error when the filepath is not found. (#1030<https://github.com/cloudfoundry/cli/issues/1030>)
* help now displays the alias of plugin commands, and accepts them to display its command help text. (#1048<https://github.com/cloudfoundry/cli/issues/1048>)
* login now accepts the SSO passcode on the command line. (#1052<https://github.com/cloudfoundry/cli/pull/1052>)
* ssh now accept base64 encoded SHA256 SSH fingerprints exposed by /v2/info. (#1072<https://github.com/cloudfoundry/cli/pull/1072>)

Enjoy!

Regards,
Dies Koper
Cloud Foundry Product Manager - CLI


Amit Kumar Gupta
 

Tab completion! Nice!

On Mon, Feb 27, 2017 at 7:47 PM Koper, Dies <diesk(a)fast.au.fujitsu.com>
wrote:

The CF CLI team just cut 6.24.0.

Deb, yum and Homebrew repos have been updated; binaries, installers and
link to release notes are available at:



https://github.com/cloudfoundry/cli#downloads
Tab completion

The cf CLI now supports tab completion on systems where that is enabled.

Completion is provided of cf native subcommands and option names as well
as arguments & option values that are available locally to the CLI, i.e.
filepaths and e.g. true/false and process/port/http enumerations.
Examples

$ cf <tab><tab>

Display all 156 possibilities? (y or n)



$ cf i<tab>

->

$ cf install-plugin



$ cf set-org-role user myorg o<tab>m<tab>

->

$ cf set-org-role user myorg OrgManager



The Debian, RPM and Homebrew installers of the cf CLI bundle a bash tab
completion file
<https://github.com/cloudfoundry/cli/blob/master/ci/installers/completion/cf>
that is copied to the operating system's standard location (e.g.
/usr/share/bash-completion/completions/ or /etc/bash_completion.d/),
where it should be picked up automatically on Bash completion enabled
environments the next time you open a Bash shell. Refer to your shell &
operating system's documentation for details.
For downloaders of the binary releases or the Mac OS X package, download
the above file and ensure it is executed when you open a shell (e.g. by
sourcing it from your shell profile (~/.bash_profile)).

Zsh users may try loading this file from ~/.zshrc as suggested here
<http://stackoverflow.com/a/27853970/1227328>.

Windows users may try this completion file
<https://github.com/dkoper/clink-completions/blob/87086ba8322c24fb8498d7a9a39ff9183e975f05/cf.lua>
with clink <https://github.com/mridgers/clink>.
CLI binary 30% smaller

The file size of the cf CLI binaries has been reduced by about 30%.

Previously, the binaries included additional data useful in debugging and
profiling the CLI. The CLI team never used these tools, so it made sense to
remove them.

This change should not affect the execution of the actual program. They
only affect whether you can debug or analyze the binary with other tools,
which you still can if you rebuild the binary to include this data.
Plugin Framework Changes

- The GetApp route summary API now includes fields to retrieve a
route's path or port. (#1066
<https://github.com/cloudfoundry/cli/issues/1066>)

Updated commands

- run-task now accepts parameters to configure the memory and disk
space limits for a task.
- push options -f and -p and other commands accepting a path to a file
or folder now display a friendlier parsing error when the filepath is not
found. (#1030 <https://github.com/cloudfoundry/cli/issues/1030>)
- help now displays the alias of plugin commands, and accepts them to
display its command help text. (#1048
<https://github.com/cloudfoundry/cli/issues/1048>)
- login now accepts the SSO passcode on the command line. (#1052
<https://github.com/cloudfoundry/cli/pull/1052>)
- ssh now accept base64 encoded SHA256 SSH fingerprints exposed by
/v2/info. (#1072 <https://github.com/cloudfoundry/cli/pull/1072>)



Enjoy!



Regards,

Dies Koper
Cloud Foundry Product Manager - CLI





Michael Maximilien
 

+1 for tab completion. Yeah!!

On Mon, Feb 27, 2017 at 7:50 PM Amit Gupta <agupta(a)pivotal.io> wrote:

Tab completion! Nice!

On Mon, Feb 27, 2017 at 7:47 PM Koper, Dies <diesk(a)fast.au.fujitsu.com>
wrote:

The CF CLI team just cut 6.24.0.

Deb, yum and Homebrew repos have been updated; binaries, installers and
link to release notes are available at:



https://github.com/cloudfoundry/cli#downloads
Tab completion

The cf CLI now supports tab completion on systems where that is enabled.

Completion is provided of cf native subcommands and option names as well
as arguments & option values that are available locally to the CLI, i.e.
filepaths and e.g. true/false and process/port/http enumerations.
Examples

$ cf <tab><tab>

Display all 156 possibilities? (y or n)



$ cf i<tab>

->

$ cf install-plugin



$ cf set-org-role user myorg o<tab>m<tab>

->

$ cf set-org-role user myorg OrgManager



The Debian, RPM and Homebrew installers of the cf CLI bundle a bash tab
completion file
<https://github.com/cloudfoundry/cli/blob/master/ci/installers/completion/cf>
that is copied to the operating system's standard location (e.g.
/usr/share/bash-completion/completions/ or /etc/bash_completion.d/),
where it should be picked up automatically on Bash completion enabled
environments the next time you open a Bash shell. Refer to your shell &
operating system's documentation for details.
For downloaders of the binary releases or the Mac OS X package, download
the above file and ensure it is executed when you open a shell (e.g. by
sourcing it from your shell profile (~/.bash_profile)).

Zsh users may try loading this file from ~/.zshrc as suggested here
<http://stackoverflow.com/a/27853970/1227328>.

Windows users may try this completion file
<https://github.com/dkoper/clink-completions/blob/87086ba8322c24fb8498d7a9a39ff9183e975f05/cf.lua>
with clink <https://github.com/mridgers/clink>.
CLI binary 30% smaller

The file size of the cf CLI binaries has been reduced by about 30%.

Previously, the binaries included additional data useful in debugging and
profiling the CLI. The CLI team never used these tools, so it made sense to
remove them.

This change should not affect the execution of the actual program. They
only affect whether you can debug or analyze the binary with other tools,
which you still can if you rebuild the binary to include this data.
Plugin Framework Changes

- The GetApp route summary API now includes fields to retrieve a
route's path or port. (#1066
<https://github.com/cloudfoundry/cli/issues/1066>)

Updated commands

- run-task now accepts parameters to configure the memory and disk
space limits for a task.
- push options -f and -p and other commands accepting a path to a file
or folder now display a friendlier parsing error when the filepath is not
found. (#1030 <https://github.com/cloudfoundry/cli/issues/1030>)
- help now displays the alias of plugin commands, and accepts them to
display its command help text. (#1048
<https://github.com/cloudfoundry/cli/issues/1048>)
- login now accepts the SSO passcode on the command line. (#1052
<https://github.com/cloudfoundry/cli/pull/1052>)
- ssh now accept base64 encoded SHA256 SSH fingerprints exposed by
/v2/info. (#1072 <https://github.com/cloudfoundry/cli/pull/1072>)



Enjoy!



Regards,

Dies Koper
Cloud Foundry Product Manager - CLI





--
dr.max Sent from my iPhone http://maximilien.org


Dr Nic Williams <drnicwilliams@...>
 

If anyone else running zsh & http://ohmyz.sh/ and has success getting the
new bash tab completions working, please write it up. I'll give you hugs at
cfsummit.

I tried the referenced link
http://stackoverflow.com/questions/3249432/i-have-a-bash-tab-completion-script-is-there-a-simple-way-to-use-it-from-zsh/27853970#27853970
but didn't work for me.

Cheers
Nic


Koper, Dies <diesk@...>
 

Thanks for sharing dr Nic.
Also curious to know if anyone is going to enable tab completion on Windows. (That one I confirmed it’s working for me on Windows 7).

Regards,
Dies Koper
Cloud Foundry Product Manager - CLI


From: Dr Nic Williams [mailto:drnicwilliams(a)gmail.com]
Sent: Tuesday, February 28, 2017 3:19 PM
To: Discussions about Cloud Foundry projects and the system overall.
Subject: [cf-dev] Re: Re: Re: CF CLI v6.25.0 Released Today

If anyone else running zsh & http://ohmyz.sh/ and has success getting the new bash tab completions working, please write it up. I'll give you hugs at cfsummit.

I tried the referenced link http://stackoverflow.com/questions/3249432/i-have-a-bash-tab-completion-script-is-there-a-simple-way-to-use-it-from-zsh/27853970#27853970 but didn't work for me.

Cheers
Nic


Matt Cholick
 

Dr Nic,
For me, it was gcp sdk's auto completion that breaks the above stack
overflow post instructions. I added the following to my .zshrc *before*
gcp's auto completion loads:

_cf-cli() {
# All arguments except the first one
args=("${COMP_WORDS[@]:1:$COMP_CWORD}")
# Only split on newlines
local IFS=$'\n'
# Call completion (note that the first element of COMP_WORDS is
# the executable itself)
COMPREPLY=($(GO_FLAGS_COMPLETION=1 ${COMP_WORDS[0]} "${args[@]}"))
return 0
}
autoload -U +X compinit && compinit
autoload -U +X bashcompinit && bashcompinit
function compinit() {}
function bashcompinit() {}
complete -F _cf-cli cf

Which let both the gcloud and the cf work. The lines in gcp's sdk file
that break things are:
autoload -Uz compinit bashcompinit
compinit
bashcompinit

I did my cf code first and then redefine compinit / bashcomptinit to no-ops
since I already loaded them. I'm sure there are more elegant solutions, but
I don't want to fiddle with the gcloud distributed file
google-cloud-sdk/completion.zsh.inc.

-Matt


James Bayer
 

congrats on the new release dies and team. tab completion is a nice touch.

On Tue, Feb 28, 2017 at 2:16 PM, Matt Cholick <cholick(a)gmail.com> wrote:

Dr Nic,
For me, it was gcp sdk's auto completion that breaks the above stack
overflow post instructions. I added the following to my .zshrc *before*
gcp's auto completion loads:

_cf-cli() {
# All arguments except the first one
args=("${COMP_WORDS[@]:1:$COMP_CWORD}")
# Only split on newlines
local IFS=$'\n'
# Call completion (note that the first element of COMP_WORDS is
# the executable itself)
COMPREPLY=($(GO_FLAGS_COMPLETION=1 ${COMP_WORDS[0]} "${args[@]}"))
return 0
}
autoload -U +X compinit && compinit
autoload -U +X bashcompinit && bashcompinit
function compinit() {}
function bashcompinit() {}
complete -F _cf-cli cf

Which let both the gcloud and the cf work. The lines in gcp's sdk file
that break things are:
autoload -Uz compinit bashcompinit
compinit
bashcompinit

I did my cf code first and then redefine compinit / bashcomptinit to
no-ops since I already loaded them. I'm sure there are more elegant
solutions, but I don't want to fiddle with the gcloud distributed file
google-cloud-sdk/completion.zsh.inc.

-Matt

--
Thank you,

James Bayer