Releases: vmware-tanzu/tanzu-cli
v1.5.1
Tanzu CLI Installation Instructions
If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the
instructions.
Changes by Kind
✨ Features
- Add support to generate API token with
tanzu api-token create
(supported for UAA as IDP) (#820, @anujc25) - Token obtained from the "api-token create" command can be used as value to environment variable TANZU_API_TOKEN to connect to uaa-based endpoint (#819, @vuil)
📄 Documentation
- Update docs to use new
tanzu-cli-installer-packages
repo for APT/RPM packages and new Public Key (#816, @anujc25)
Dependencies
Added
Nothing has changed.
Changed
- github.com/docker/docker: v24.0.9+incompatible → v25.0.6+incompatible
- github.com/fatih/color: v1.15.0 → v1.16.0
- github.com/hashicorp/go-hclog: v1.3.1 → v1.6.3
- github.com/hashicorp/go-retryablehttp: v0.7.2 → v0.7.7
- github.com/mattn/go-isatty: v0.0.17 → v0.0.20
- golang.org/x/sys: v0.18.0 → v0.20.0
Removed
Nothing has changed.
v1.5.0
Tanzu CLI Installation Instructions
If you are installing Tanzu CLI using the artifacts published as part of this release, please follow these instructions.
📢 Important Update: APT/YUM Package Location and Signing Key Change
With the release of Tanzu CLI v1.5.0, we have introduced changes to the package location and signing key for APT (Debian/Ubuntu) and YUM/DNF (RHEL) packages.
Changes:
- Packages are now published to a new location: https://storage.googleapis.com/tanzu-cli-installer-packages
- Packages are signed with a new key and public key is available at location: https://storage.googleapis.com/tanzu-cli-installer-packages/keys/TANZU-PACKAGING-GPG-RSA-KEY.gpg
Action Required:
To ensure uninterrupted access to Tanzu CLI packages, please update your automation scripts or manual installation procedures to account for the the new package location and signing key. Updated installation instructions are as follows:
APT (Debian/Ubuntu)
sudo apt update
sudo apt install -y ca-certificates curl gpg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://storage.googleapis.com/tanzu-cli-installer-packages/keys/TANZU-PACKAGING-GPG-RSA-KEY.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/tanzu-archive-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/tanzu-archive-keyring.gpg] https://storage.googleapis.com/tanzu-cli-installer-packages/apt tanzu-cli-jessie main" | sudo tee /etc/apt/sources.list.d/tanzu.list
sudo apt update
sudo apt install -y tanzu-cli
YUM/DNF (RHEL)
cat << EOF | sudo tee /etc/yum.repos.d/tanzu-cli.repo
[tanzu-cli]
name=Tanzu CLI
baseurl=https://storage.googleapis.com/tanzu-cli-installer-packages/rpm/tanzu-cli
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://storage.googleapis.com/tanzu-cli-installer-packages/keys/TANZU-PACKAGING-GPG-RSA-KEY.gpg
EOF
sudo yum install -y tanzu-cli # dnf install can also be used
The installation procedures for Homebrew
, Chocolatey
and ASDF
package managers remain the same.
Changes by Kind
✨ Features
- Add support for using UAA as IDP
- Add support for using UAA as IDP. After this change, endpoint URIs provided when creating a 'tanzu' context not recognized as public Tanzu SaaS endpoint will default to use UAA as IDP. Use --force-csp boolean flag to override behavior for custom endpoints that still requires CSP. (#802, @vuil)
- Add support for custom CA cert or explicit skipping of cert validation for UAA-based tanzu platform. (#803, @vuil)
- Allow to specify a tanzu endpoint with no scheme (#811, @marckhouzam)
- Enable TANZU_CLI_SM_ORGANIZATION_NAME TANZU_CLI_SM_ORGANIZATION_ID to configure the Org name and id of a self-managed Tanzu Platform environment. (#804, @vuil)
- Fix incorrect context name being created when using new tanzu platform endpoints (#808, @anujc25)
- Fix missing org name in browser login (#812, @marckhouzam)
- Streamline UAA-based Tanzu Platform login to not require Org ID (#815, @vuil)
- Properly support the use of custom ca cert data for tanzu type CLI contexts. (#805, @vuil)
- Support for upcoming Tanzu Platform Endpoint Changes
📄 Documentation
- Document how to show the context in the user's prompt. (#806, @marckhouzam)
Dependencies
Added
- github.com/99designs/gqlgen: v0.17.44
- github.com/andreyvit/diff: c7f18ee
- github.com/arbovm/levenshtein: 48b4e1c
- github.com/bradleyjkemp/cupaloy/v2: v2.6.0
- github.com/dgryski/trifles: dd97f9a
- github.com/hashicorp/golang-lru/v2: v2.0.7
- github.com/pkg/diff: 20ebb0f
- github.com/sosodev/duration: v1.2.0
Changed
- github.com/chzyer/logex: v1.1.10 → v1.2.0
- github.com/chzyer/test: a1ea475 → 0614579
- github.com/vmware-tanzu/tanzu-plugin-runtime: v1.4.2 → v1.4.4
Removed
Nothing has changed.
v1.5.0-rc.1
Tanzu CLI Installation Instructions
If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the
instructions.
Changes by Kind
Miscellaneous
- Add support for custom CA cert or explicit skipping of cert validation for UAA-based tanzu platform. (#803, @vuil)
- Add support for using UAA as IDP. After this change, endpoint URIs provided when creating a 'tanzu' context not recognized as public Tanzu SaaS endpoint will default to use UAA as IDP. Use --force-csp boolean flag to override behavior for custom endpoints that still requires CSP. (#802, @vuil)
- Allow to specify a tanzu endpoint with no scheme (#811, @marckhouzam)
- Document how to show the context in the user's prompt. (#806, @marckhouzam)
- Enable TANZU_CLI_SM_ORGANIZATION_NAME TANZU_CLI_SM_ORGANIZATION_ID to configure the Org name and id of a self-managed Tanzu Platform environment. (#804, @vuil)
- Fix incorrect context name being created when using new tanzu platform endpoints (#808, @anujc25)
- Fix missing org name in browser login (#812, @marckhouzam)
- Properly support the use of custom ca cert data for tanzu type CLI contexts. (#805, @vuil)
- Read default database refresh threshold from Central Config (#809, @anujc25)
- Streamline UAA-based Tanzu Platform login to not require Org ID (#815, @vuil)
- Use Central Configuration to get/configure/update Tanzu Platform endpoints and implement Fallback algorithm to find service endpoints (#801, @anujc25)
Dependencies
Added
- github.com/99designs/gqlgen: v0.17.44
- github.com/andreyvit/diff: c7f18ee
- github.com/arbovm/levenshtein: 48b4e1c
- github.com/bradleyjkemp/cupaloy/v2: v2.6.0
- github.com/dgryski/trifles: dd97f9a
- github.com/hashicorp/golang-lru/v2: v2.0.7
- github.com/pkg/diff: 20ebb0f
- github.com/sosodev/duration: v1.2.0
Changed
- github.com/chzyer/logex: v1.1.10 → v1.2.0
- github.com/chzyer/test: a1ea475 → 0614579
- github.com/vmware-tanzu/tanzu-plugin-runtime: v1.4.2 → v1.4.4
Removed
Nothing has changed.
v1.5.0-rc.0
Tanzu CLI Installation Instructions
If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the
instructions.
Changes by Kind
✨ Features
🐛 Bug Fixes
- Allow to specify a tanzu endpoint with no scheme (#811, @marckhouzam)
- Fix missing org name in browser login (#812, @marckhouzam)
- Fix incorrect context name being created when using new tanzu platform endpoints (#808, @anujc25)
v1.5.0-alpha.2
Tanzu CLI Installation Instructions
If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the
instructions.
For installing the Tanzu CLI through various package managers, please follow the appropriate "Installing a Pre-Release" sections on the same page.
Changes by Kind
Miscellaneous
- Add support for custom CA cert or explicit skipping of cert validation for UAA-based tanzu platform. (#803, @vuil)
- Add support for using UAA as IDP. After this change, endpoint URIs provided when creating a 'tanzu' context not recognized as public Tanzu SaaS endpoint will default to use UAA as IDP. Use --force-csp boolean flag to override behavior for custom endpoints that still requires CSP. (#802, @vuil)
- Enable TANZU_CLI_SM_ORGANIZATION_NAME TANZU_CLI_SM_ORGANIZATION_ID to configure the Org name and id of a self-managed Tanzu Platform environment. (#804, @vuil)
- Properly support the use of custom ca cert data for tanzu type CLI contexts. (#805, @vuil)
- Use Central Configuration to get/configure/update Tanzu Platform endpoints and implement Fallback algorithm to find service endpoints (#801, @anujc25)
Dependencies
Added
- github.com/99designs/gqlgen: v0.17.44
- github.com/andreyvit/diff: c7f18ee
- github.com/arbovm/levenshtein: 48b4e1c
- github.com/bradleyjkemp/cupaloy/v2: v2.6.0
- github.com/dgryski/trifles: dd97f9a
- github.com/hashicorp/golang-lru/v2: v2.0.7
- github.com/pkg/diff: 20ebb0f
- github.com/sosodev/duration: v1.2.0
Changed
- github.com/chzyer/logex: v1.1.10 → v1.2.0
- github.com/chzyer/test: a1ea475 → 0614579
- github.com/vmware-tanzu/tanzu-plugin-runtime: v1.4.2 → v1.4.4
Removed
Nothing has changed.
v1.5.0-alpha.0
Tanzu CLI Installation Instructions
If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the
instructions.
For installing the Tanzu CLI through various package managers, please follow the appropriate "Installing a Pre-Release" sections on the same page.
Changes by Kind
Miscellaneous
- Add support for custom CA cert or explicit skipping of cert validation for UAA-based tanzu platform. (#803, @vuil)
- Add support for using UAA as IDP. After this change, endpoint URIs provided when creating a 'tanzu' context not recognized as public Tanzu SaaS endpoint will default to use UAA as IDP. Use --force-csp boolean flag to override behavior for custom endpoints that still requires CSP. (#802, @vuil)
- Use Central Configuration to get/configure/update Tanzu Platform endpoints and implement Fallback algorithm to find service endpoints (#801, @anujc25)
Dependencies
Added
- github.com/99designs/gqlgen: v0.17.44
- github.com/andreyvit/diff: c7f18ee
- github.com/arbovm/levenshtein: 48b4e1c
- github.com/bradleyjkemp/cupaloy/v2: v2.6.0
- github.com/dgryski/trifles: dd97f9a
- github.com/hashicorp/golang-lru/v2: v2.0.7
- github.com/pkg/diff: 20ebb0f
- github.com/sosodev/duration: v1.2.0
Changed
- github.com/chzyer/logex: v1.1.10 → v1.2.0
- github.com/chzyer/test: a1ea475 → 0614579
- github.com/vmware-tanzu/tanzu-plugin-runtime: v1.4.2 → v1.4.4
Removed
Nothing has changed.
v1.4.1
Tanzu CLI Installation Instructions
If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the instructions.
Users are advised to uninstall older pre-release versions of the Tanzu CLI prior to installing this version.
Changes by Kind
🐛 Bug Fixes
- Fix the file locking issue on Windows (#797, @anujc25)
- Update TMC endpoint mapping rules for the Tanzu context (#798, @anujc25)
If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the instructions.
Dependencies
Added
Nothing has changed.
Changed
- github.com/vmware-tanzu/tanzu-plugin-runtime: v1.4.1 → v1.4.2
Removed
Nothing has changed.
v1.4.0
Tanzu CLI Installation Instructions
If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the instructions.
Users are advised to uninstall older pre-release versions of the Tanzu CLI prior to installing this version.
Changes by Kind
✨ Features
- Add official support for the
asdf
package manager (MacOS and Linux) (#787, @marckhouzam) - Add support to update the CSP issuer to TCSP (#793, @prkalle)
- Deprecate the plugin invocation form
tanzu kubernetes <plugin>
in favor of the shorter and more consistenttanzu <plugin>
(#781, @marckhouzam) - Hide the
tanzu init
command which is no longer performing any actual initialization. (#773, @marckhouzam) - Respect command mapping for the help command for plugins (#777, @marckhouzam)
- Support Activating plugins on Plugin Group Publish/Activation (#794, @anujc25)
- Support entry-specific active context type check in command mapping (#783, @vuil)
📄 Documentation
- Document details about ARM64 support. (#776, @marckhouzam)
- Update
packages.vmware.com
topackages-prod.broadcom.com
(#780, @marckhouzam)
🐛 Bug Fixes
- Show the description of the latest (instead of oldest) version of a plugin in the
tanzu plugin search
output. (#769, @marckhouzam) - Respect command mapping for the help command for plugins (#777, @marckhouzam)
Dependencies
Added
- github.com/alexflint/go-filemutex: v1.3.0
- github.com/anujc25/tablewriter: v0.0.1
- github.com/r3labs/sse/v2: v2.10.0
- gopkg.in/cenkalti/backoff.v1: v1.1.0
Changed
- github.com/vmware-tanzu/tanzu-plugin-runtime: v1.3.0 → v1.4.1
Removed
- github.com/juju/fslock: 4d5c94c
New Contributors
- @warango4 made their first contribution in #705
- @mshipkovenski made their first contribution in #784
Full Changelog: v1.3.0...v1.4.0
v1.4.0-rc.0
Tanzu CLI Installation Instructions
If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the
instructions.
Changes by Kind
✨ Features
- Add official support for the
asdf
package manager (MacOS and Linux) (#787, @marckhouzam) - Support entry-specific active context type check in command mapping (#783, @vuil)
🐛 Bug Fixes
- Respect command mapping for the help command for plugins (#777, @marckhouzam)
- Show the description of the latest (instead of oldest) version of a plugin in the
tanzu plugin search
output. (#769, @marckhouzam)
♻️ Deprecations
- Deprecate the plugin invocation form
tanzu kubernetes <plugin>
in favour of the shorter and more consistenttanzu <plugin>
(#781, @marckhouzam) - Hide the
tanzu init
command which is no longer performing any actual initialization. (#773, @marckhouzam)
📄 Documentation
- Document details about ARM64 support. (#776, @marckhouzam)
- Update
packages.vmware.com
topackages-prod.broadcom.com
(#780, @marckhouzam)
Dependencies
Added
- github.com/alexflint/go-filemutex: v1.3.0
- github.com/anujc25/tablewriter: v0.0.1
- github.com/r3labs/sse/v2: v2.10.0
- gopkg.in/cenkalti/backoff.v1: v1.1.0
Changed
- github.com/vmware-tanzu/tanzu-plugin-runtime: v1.3.0 → v1.4.0
Removed
Nothing has changed.
New Contributors
- @warango4 made their first contribution in #705
- @mshipkovenski made their first contribution in #784
Full Changelog: v1.3.0...v1.4.0-rc.0
v1.3.0
This release brings you the following notable features:
tanzu login
streamlines connecting to Tanzu Platform. It supports interactive mode as well as non-interactive mode (via a supplied API token). A Tanzu CLI context will be automatically created on successful authentication.tanzu context current
is a convenient command to show information about the current active CLI contexttanzu context current --short
produces a more compact output that can be used, for instance, to customize one's shell prompt- Version notification. Users of this 1.3.0 version of the CLI will now get notifications when newer versions of the CLI become available
- Support flexible relocation of plugin commands, which, among other uses, enables a single plugin to offer more than one top-level command/command group.
- Plugin lifecycle management
- Adds support for individual plugin download with the tanzu plugin download-bundle command (for internet-restricted environments)
- Simplify context-scoped plugin installation, usability experience and UX enhancements
- Improve support for authenticate registries
- Usability improvements
- Updates context use and context list commands to show addition details
- Adds support to check if the Tanzu Organization associated with a CLI context of type “tanzu” is enabled for Tanzu Platform
- Transition to use projects.packages.broadcom.com as the public plugin registry
- Tanzu CLI context and kube context management
- tanzu contexts created via
tanzu login
ortanzu context create
will be stored in an alternate location. (tanzu context current
can be used to show that location) - The name of the kube context will be updated on
project use
/space use
- tanzu contexts created via
- Adds support for TMC endpoint in 'tanzu' type CLI context
- Enable plugins to be offered under the “operations” command group
- Laid groundwork for receiving CLI metadata updates between CLI releases.
- The EULA has been updated to use the Broadcom Foundation Agreement, hence users will be prompted to accept it again.
- Various bug fixes and optimizations made on top of the 1.2 release.
Tanzu CLI Installation Instructions
If you are installing Tanzu CLI using the artifacts published as part of this release, please follow the instructions.
Users are advised to uninstall older pre-release versions of the Tanzu CLI prior to installing this version.
Changes by Kind
✨ Features
- Add support for individual plugin download with
tanzu plugin download-bundle
command (#725, @anujc25) - Implement "global initializers" and use them to fix the plugin cache if the
central_config.yaml
file is missing. (#723, @marckhouzam) - On execution, the CLI will notify the user of an available new version of the CLI itself, at most once every 24 hours. (#707, @marckhouzam)
- Provide a
--refresh-configuration-only
flag totanzu plugin download-bundle
to allow refreshing the plugin inventory and central configuration without adding any plugins to the air-gap repository. (#728, @marckhouzam) - Add a new
tanzu context current [--short]
command to easily show the current context. (#750, @marckhouzam) - Add the new target
operations
(#679, @anujc25) - Update the UX for "context use" and "context list" commands to show ProjectID details (#721, @prkalle)
- Associate TMC endpoint (tanzuMissionControlEndpoint) with AdditionalMetadata of Tanzu Context (#680, @anujc25)
- Add the new target
operations
(#679, @anujc25) - Provide a documentation link when notifying users of the availability of a new CLI version. (#727, @marckhouzam)
- tanzu login command to log in to Tanzu Platform SaaS (#715, @prkalle)
Usability improvements
- Print the reason the CLI aborts even when installing essential plugins (#712, @marckhouzam)
- Ignore command PreRun logic for the tanzu context get-token command (#754, @prkalle)
- Updates to
tanzu plugin list
, andtanzu plugin sync
user experience. All plugins are installed as standalone plugins. (#698, @anujc25) - Use internal Kubeconfig file ($HOME/.kube-tanzu/config) instead of default kubeconfig to store kubecontext for TAP SaaS (#747, @prkalle)
📄 Documentation
- Document the CLI environment variables used for testing (#716, @marckhouzam)
- Document the user-facing CLI environment variables. (#714, @marckhouzam)
- Cleanup essential plugins installation logic (#704, @marckhouzam)
- Fix the documentation for ActiveHelp (#713, @marckhouzam)
- Document the new flag
tanzu plugin download-bundle --refresh-configuration-only
. (#745, @marckhouzam) - Update kubecontext name associated with
tanzu
CLI Context when active resource is updated. User can skip this kubecontext name update by setting the environment variableTANZU_CLI_USE_STABLE_KUBE_CONTEXT_NAME
to "true" (#746, @prkalle)
🐛 Bug Fixes
builder
plugin: Add empty plugin version validation to the PluginGroup Publishing step (#686, @anujc25)- Tanzu CLI doesn't attempt to install Essential plugins for tanzu plugin source commands (#692, @mpanchajanya)
- Tanzu CLI will only allow boolean true or false feature flag values (#685, @mpanchajanya)
🌱 Miscellaneous
- Add a global initializer to ensure the command-remapping information is properly stored in the catalog cache. (#738, @marckhouzam)
- Add crd package build script, and e2e tests for deploying built package (#672, @vuil)
- Add support for mapping of a plugin at a command-level or plugin-level (#736, #687, #753, @vuil)
- Add support for the Authenticated Registry to host Tanzu CLI plugin images (#744, @anujc25)
- Add support to check if the selected org is Tanzu Application platform enabled. User can skip the TAP scopes validation by setting the environment variable "TANZU_CLI_SKIP_TAP_SCOPES_VALIDATION_ON_TANZU_CONTEXT" to true (#731, @prkalle)
- Allow turning off go's
buildvcs
when building the CLI. (#743, @marckhouzam) - Update message when rejecting the Broadcom Foundation Agreement (#760, @marckhouzam)
- Experimental: Configure the Tanzu Hub endpoint when creating the
tanzu
context (#734, @anujc25) - Experimental: Get the Tanzu Hub Endpoint based on the Central Config Metadata (#764, @anujc25)
- Fix generate-all-docs to account for installed plugins with mapped commands. (#752, @vuil)
- Fixed the tanzu context missing TMC endpoint details in context additionalMetadata and also add support to update the context with projectID along with project name (#708, @prkalle)
- Include a new cosign public key to verify the images (#761, @anujc25)
- More unit tests (#732, @marckhouzam)
- Switch the default discovery source registry to
projects.packages.broadcom.com
. For any reason, if the user wants to switch back to the old registryprojects.registry.vmware.com
, run the following command to update discovery sourcetanzu plugin source update default -u projects.registry.vmware.com/tanzu_cli/plugins/plugin-inventory:latest
. To switch back to the new default registry run thetanzu plugin source init
command. (#755, @anujc25) - The signal handling logic has been refactored and moved to a centralized location for reuse across all use cases. (#735, @chandrareddyp)
- Unless features.global.plugin-override-on-active-context-type is set to true, and plugin-level mapping is performed unconditionally, possibly overriding some other existing CLI command group. However, when said flag is set, mapping that would override an existing command is only be allowed if the active context's type matches one of the types that this mapping supports. (#753, @vuil)
- Update test central repo with some test Central Configuration (#700, @marckhouzam)
Dependencies
Added
- github.com/Khan/genqlient: v0.7.0
- github.com/alexflint/go-arg: v1.4.2
- github.com/alexflint/go-scalar: v1.0.0
- github.com/vektah/gqlparser/v2: v2.5.11
- golang.org/x/telemetry: b75ee88
Changed
- github.com/docker/docker: v24.0.7+incompatible → v24.0.9+incompatible
- github.com/google/uuid: v1.3.0 → v1.6.0
- github.com/stretchr/testify: v1.8.3 → v1.8.4
- github.com/vmware-tanzu/tanzu-plugin-runtime: v1.2.0 → v1.3.0
- golang.org/x/crypto: v0.17.0 → v0.21.0
- golang.org/x/mod: v0.12.0 → v0.15.0
- golang.org/x/net: v0.17.0 → v0.23.0
- golang.org/x/sync: v0.3.0 → v0.6.0
- golang.org/x/sys: v0.15.0 → v0.18.0
- golang.org/x/term: v0.15.0 → v0.18.0
- golang.org/x/tools: v0.12.0 → v0.18.0
- google.golang.org/protobuf: v1.30.0 → v1.33.0
Removed
Nothing has changed.
Full Changelog: v1.3.0-dev...v1.3.0