v1.3.0-rc.0
Pre-releaseNOTE: This pre-release version of the Tanzu CLI is recommended if one is expected to install and use any CLI plugin that leverages an experimental feature in to specify how to map the plugin or its command to an alternate location.
Usability improvements in several commands including tanzu plugin list
, and tanzu plugin sync
user experience.
Versions of plugins discovered via a CLI context will be shown as "Recommended" version in the plugin list.
There are several updates in the area of context management including a repurposed interactive tanzu login
command, better handling of kubeconfig file and kube context associated with tanzu
CLI contexts and not intuitive command to display active CLI context.
Other enhancements include new CL version detection, support for authenticated plugin registry, experiement support for interacting with Tanzu Hub, and more!
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
Feature
- 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 experimental support for mapping of a plugin at a command-level (#736, @vuil)
- Adds experimental functionality to remap in the CLI commands at an entire plugin level. (#687, @vuil)
- 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)
- 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)
- Repurpose the deprecated tanzu login command to log in to TAP SaaS (#715, @prkalle)
- Update the UX for "context use" and "context list" commands to show ProjectID details (#721, @prkalle)
- Updates to the
tanzu plugin list
, andtanzu plugin sync
user experience. All plugins are installed as standalone plugins. (#698, @anujc25) - Add a global initializer to ensure the command-remapping information is properly stored in the catalog cache. (#738, @marckhouzam)
- Add a new
tanzu context current [--short]
command to easily show the current context. (#750, @marckhouzam) - Add support for the Authenticated Registry to host Tanzu CLI plugin images (#744, @anujc25)
- Experimental: Configure the Tanzu Hub endpoint when creating the
tanzu
context (#734, @anujc25) - 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)
Documentation
- Document the CLI environment variables used for testing (#716, @marckhouzam)
- Document the user-facing CLI environment variables. (#714, @marckhouzam)
- Fix generate-all-docs to account for installed plugins with mapped commands. (#752, @vuil)
- Provide a documentation link when notifying users of the availability of a new CLI version. (#727, @marckhouzam)
Bug or Regression
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)
- The signal handling logic has been refactored and moved to a centralized location for reuse across all use cases. (#735, @chandrareddyp)
Other (Cleanup or Flake)
- Cleanup essential plugins installation logic (#704, @marckhouzam)
- Fix the documentation for ActiveHelp (#713, @marckhouzam)
- Print the reason the CLI aborts even when installing essential plugins (#712, @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) - Unless features.global.plugin-override-on-active-context-type is set to true, plugin-level mapping is performed unconditionally, possibly overriding some another existing CLI command group. However, when said flag is set, mapping that would override an existing command is only allowed if the active context's type matches one of the types that this mapping supports. (#753, @vuil)
- Use internal Kubeconfig file ($HOME/.kube-tanzu/config) instead of default kubeconfig to store kubecontext for TAP SaaS (#747, @prkalle)
- Update test central repo with some test Central Configuration (#700, @marckhouzam)
- Update the UX for "context use" and "context list" commands to show ProjectID details (#721, @prkalle)
- Updates to
tanzu plugin list
, andtanzu plugin sync
user experience. All plugins are installed as standalone plugins. (#698, @anujc25) - Add crd package build script, and e2e tests for deploying built package (#672, @vuil)
- 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)
- Add the new target
operations
(#679, @anujc25) - Allow turning off go's
buildvcs
when building the CLI. (#743, @marckhouzam) - Associate TMC endpoint (tanzuMissionControlEndpoint) with AdditionalMetadata of Tanzu Context (#680, @anujc25)
- 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)
- Ignore command PreRun logic for the tanzu context get-token command (#754, @prkalle)
- More unit tests (#732, @marckhouzam)
Dependencies
Added
- github.com/99designs/gqlgen: v0.17.44
- 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/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
- github.com/vektah/gqlparser/v2: v2.5.11
- golang.org/x/telemetry: b75ee88
Changed
- github.com/chzyer/logex: v1.1.10 → v1.2.0
- github.com/chzyer/test: a1ea475 → 0614579
- 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 → ad724a2
- 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.