Releases: vmware-tanzu/tanzu-cli
v0.90.0-beta.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
Documentation
Miscellaneous
- Add an official public key to the plugin inventory image signature verification (#304, @anujc25)
- Add backward compatibility support for private customer plugins (#289, @prkalle)
- Add changes to get pinniped kubeconfig for TKG/TKGs clusters using pinniped-auth plugin. Also exisiting users are forced to provide "endpoint-ca-certificate" to interact with endpoint using self-signed certificate or "insecure-skip-tls-verify" to skip the certificate verification (#309, @prkalle)
- Add signature verification of the inventory image before downloading plugin bundle (#248, @anujc25)
- Add support for custom certificate configuration to interact with custom registry with self-signed certificate or with expired cert (#234, @prkalle)
- Add support for selective plugin migration using plugin groups for air-gapped environments (#231, @anujc25)
- Add support to configure proxy certificate to interact with registry. User has to set the environment variable "TANZU_CLI_PROXY_CA_CERT" value to base64 value of proxy certificate (#283, @prkalle)
- Added CLI Coexistence Tests (#124, @mpanchajanya)
- Added validators to tanzu context and tanzu login to prevent bad data to persist into config (#235, @mpanchajanya)
- Allow for passing go flags when building plugins. (#264, @codegold79)
- CLI E2E framework is updated as a separate module (#221, @chandrareddyp)
- Commands that prompts for EULA acceptance fails should EULA not be accepted. (#286, @vuil)
- Deprecate
tanzu builder cli compile
andtanzu builder publish
commands (#324, @anujc25) - Empty plugin binary file will no longer be published (#301, @mpanchajanya)
- Fix corrupt catalog cache issue when plugins were installed with old CLI (#311, @anujc25)
- Fix failures related to github and gitlab CI for newly bootstrapped plugins (#247, @marckhouzam)
- Fix the "tanzu plugin upload-bundle" to use the docker login session to upload the images to a registry with restricted acesss (#272, @prkalle)
- Fix the cosign signature verification for proxy environments (#265, @prkalle)
- Fixed the gitlab configuration for a new plugin project. (#253, @marckhouzam)
- Implement download-bundle, and upload-bundle commands for plugin migration to the custom registry (#224, @anujc25)
- Installation through APT and YUM/DNF now sets up shell completion for the Tanzu CLI for the bash, zsh and fish shells. (#296, @marckhouzam)
- Legacy config apis are marked for deprecation . use new config next gen apis (#302, @mpanchajanya)
- Plugin groups are now versioned. This affects their publishing and their usage. A description is now also supported for plugin groups. (#270, @marckhouzam)
- Plugin groups that are marked as "deactivated" in the repository of plugins are now ignored by the CLI. (#217, @marckhouzam)
- Plugin install/sync error message now include version of plugin it failed to install (#230, @mpanchajanya)
- Plugin sync E2E test cases and tooling added for TMC target (#229, @chandrareddyp)
- Plugin sync e2e test cases are implemented for Kubernetes target (#132, @chandrareddyp)
- Plugin that are marked as "deactivated" in the repository of plugins are now ignored by the CLI. (#218, @marckhouzam)
- Switch the default plugin repository to production central plugin repository (#314, @anujc25)
- The "tanzu init" command is now a no-op but is kept for possible future use. (#282, @marckhouzam)
- The "tanzu plugin download-bundle" command now prints the number of plugins that will be downloaded and using which plugin group version, if applicable. (#321, @marckhouzam)
- The "tanzu plugin search" command now accepts a "--name" flag to limit the breadth of the search. That command also accepts a "--show-details" flag which allows to get details about available plugins, including the list of supported versions. (#211, @marckhouzam)
- The CLI first checks if a plugin binary is already in the cache before downloading it. (#322, @marckhouzam)
- The TANZU_CLI_STANDALONE_OVER_CONTEXT_PLUGINS=1 variable can be used to instruct the CLI to prioritize a standalone version of an installed plugin over the version recommended from a context. (#256, @marckhouzam)
- The
TANZU_CLI_INCLUDE_DEACTIVATED_PLUGINS_TEST_ONLY=1
variable can now be used to ask the CLI to include deactivated plugins and groups. (#219, @marckhouzam) - The
tanzu plugin clean
command will now also purge the plugin inventory cache. (#315, @marckhouzam) - The
tanzu plugin group search
command now accepts a--name
flag allowing to filter the search. (#267, @marckhouzam) - The
tanzu plugin source update
command will fail if the supplied OCI image path is not a valid plugin inventory repository. (#308, @marckhouzam) - The issue with
tanzu plugin list
command not showing output when a specific context has issues has been fixed. The command will now display the available plugins regardless of any context-related issues. (#317, @chandrareddyp) - The new "tanzu plugin group get " command allows to see what plugin versions are part of the specified group. (#285, @marckhouzam)
- The temporary
TANZU_CLI_PRE_RELEASE_REPO_IMAGE
has been removed. Instead, the use oftanzu plugin source update
can be used to override the default central discovery location. (#232, @marckhouzam) - Use tanzu-plugin-runtime v0.90.0-alpha.1 (#250, @marckhouzam)
- Use the docker interface to build plugin OCI images with the builder plugin. Also allows updating local database file. (#273, @anujc25)
- User will be presented with a prompt to accept EULA. Commands
tanzu config eula show
andtanzu config eula accept
provided to review the EULA and accept it noninteractively, respectively. (#276, @vuil) - When calling a plugin, the Tanzu CLI now passes it an environment variable
TANZU_BIN
which provides the path to thetanzu
command (as executed by the user). (#237, @marckhouzam) - When installing plugins from the latest version of a group, the group version used will be printed to the user. (#320, @marckhouzam)
Dependencies
Added
- cloud.google.com/go/apigeeregistry: v0.6.0
- cloud.google.com/go/apikeys: v0.6.0
- cloud.google.com/go/grafeas: v0.2.0
- cloud.google.com/go/profiler: v0.3.1
- cloud.google.com/go/recaptchaenterprise: v1.3.1
- cloud.google.com/go/vision: v1.2.0
- github.com/AdamKorcz/go-fuzz-headers-1: 12e09ab
- github.com/ProtonMail/go-crypto: 7d5c6f0
- github.com/VividCortex/ewma: v1.1.1
- github.com/alecthomas/kingpin/v2: v2.3.1
- github.com/andybalholm/brotli: v1.0.4
- github.com/apache/arrow/go/v11: v11.0.0
- github.com/beevik/ntp: v1.0.0
- github.com/buildkite/agent/v3: v3.46.1
- github.com/bwesterb/go-ristretto: v1.2.3
- github.com/cheggaaa/pb/v3: v3.1.0
- github.com/cloudflare/circl: v1.3.3
- github.com/cockroachdb/cockroach-go/v2: v2.3.3
- github.com/cyphar/filepath-securejoin: v0.2.3
- github.com/digitorus/pkcs7: 001c36b
- github.com/digitorus/timestamp: ef3b63b
- github.com/gabriel-vasile/mimetype: v1.4.2
- github.com/go-jose/go-jose/v3: v3.0.0
- github.com/go-redis/redismock/v9: v9.0.3
- github.com/goccy/go-json: v0.9.11
- github.com/google/flatbuffers: v2.0.8+incompatible
- github.com/google/go-github/v48: v48.2.0
- github.com/google/go-github/v50: v50.2.0
- github.com/google/s2a-go: v0.1.3
- github.com/google/tink/go: v1.7.0
- github.com/jackc/chunkreader/v2: v2.0.1
- github.com/jackc/pgconn: v1.12.1
- github.com/jackc/pgio: v1.0.0
- github.com/jackc/pgpassfile: v1.0.0
- github.com/jackc/pgproto3/v2: v2.3.0
- github.com/jackc/pgservicefile: 2b9c447
- github.com/jackc/pgtype: v1.11.0
- github.com/jackc/pgx/v4: v4.16.1
- github.com/jellydator/ttlcache/v3: v3.0.1
- github.com/klauspost/asmfmt: v1.3.2
- github.com/lyft/protoc-gen-star/v2: [v2.0.1](https://githu...
v0.90.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.
Changes by Kind
Documentation
Miscellaneous
- Add backward compatibility support for private customer plugins (#289, @prkalle)
- Add signature verification of the inventory image before downloading plugin bundle (#248, @anujc25)
- Add support for custom certificate configuration to interact with custom registry with self-signed certificate or with expired cert (#234, @prkalle)
- Add support for selective plugin migration using plugin groups for air-gapped environments (#231, @anujc25)
- Add support to configure proxy certificate to interact with registry. User has to set the environment variable "TANZU_CLI_PROXY_CA_CERT" value to base64 value of proxy certificate (#283, @prkalle)
- Added CLI Coexistence Tests (#124, @mpanchajanya)
- Added validators to tanzu context and tanzu login to prevent bad data to persist into config (#235, @mpanchajanya)
- Allow for passing go flags when building plugins. (#264, @codegold79)
- CLI E2E framework is updated as a separate module (#221, @chandrareddyp)
- Commands that prompts for EULA acceptance fails should EULA not be accepted. (#286, @vuil)
- Fix failures related to github and gitlab CI for newly bootstrapped plugins (#247, @marckhouzam)
- Fix the "tanzu plugin upload-bundle" to use the docker login session to upload the images to a registry with restricted acesss (#272, @prkalle)
- Fix the cosign signature verification for proxy environments (#265, @prkalle)
- Fixed the gitlab configuration for a new plugin project. (#253, @marckhouzam)
- Implement download-bundle, and upload-bundle commands for plugin migration to the custom registry (#224, @anujc25)
- Plugin groups are now versioned. This affects their publishing and their usage. A description is now also supported for plugin groups. (#270, @marckhouzam)
- Plugin groups that are marked as "deactivated" in the repository of plugins are now ignored by the CLI. (#217, @marckhouzam)
- Plugin install/sync error message now include version of plugin it failed to install (#230, @mpanchajanya)
- Plugin sync E2E test cases and tooling added for TMC target (#229, @chandrareddyp)
- Plugin sync e2e test cases are implemented for Kubernetes target (#132, @chandrareddyp)
- Plugin that are marked as "deactivated" in the repository of plugins are now ignored by the CLI. (#218, @marckhouzam)
- The "tanzu init" command is now a no-op but is kept for possible future use. (#282, @marckhouzam)
- The "tanzu plugin search" command now accepts a "--name" flag to limit the breadth of the search. That command also accepts a "--show-details" flag which allows to get details about available plugins, including the list of supported versions. (#211, @marckhouzam)
- The TANZU_CLI_STANDALONE_OVER_CONTEXT_PLUGINS=1 variable can be used to instruct the CLI to prioritize a standalone version of an installed plugin over the version recommended from a context. (#256, @marckhouzam)
- The
TANZU_CLI_INCLUDE_DEACTIVATED_PLUGINS_TEST_ONLY=1
variable can now be used to ask the CLI to include deactivated plugins and groups. (#219, @marckhouzam) - The
tanzu plugin group search
command now accepts a--name
flag allowing to filter the search. (#267, @marckhouzam) - The new "tanzu plugin group get " command allows to see what plugin versions are part of the specified group. (#285, @marckhouzam)
- The temporary
TANZU_CLI_PRE_RELEASE_REPO_IMAGE
has been removed. Instead, the use oftanzu plugin source update
can be used to override the default central discovery location. (#232, @marckhouzam) - Use tanzu-plugin-runtime v0.90.0-alpha.1 (#250, @marckhouzam)
- User will be presented with a prompt to accept EULA. Commands
tanzu config eula show
andtanzu config eula accept
provided to review the EULA and accept it noninteractively, respectively. (#276, @vuil) - When calling a plugin, the Tanzu CLI now passes it an environment variable
TANZU_BIN
which provides the path to thetanzu
command (as executed by the user). (#237, @marckhouzam)
Dependencies
Added
- github.com/VividCortex/ewma: v1.1.1
- github.com/cheggaaa/pb/v3: v3.1.0
- github.com/novln/docker-parser: v1.0.0
- github.com/verybluebot/tarinator-go: 5ab4e11
Changed
- github.com/awslabs/amazon-ecr-credential-helper/ecr-login: 396b203 → e6f2920
- github.com/chrismellard/docker-credential-acr-env: fe33c00 → c57b701
- github.com/chzyer/logex: v1.1.10 → v1.2.0
- github.com/chzyer/readline: 2972be2 → v1.5.0
- github.com/chzyer/test: a1ea475 → 0614579
- github.com/cppforlife/cobrautil: c28a9f2 → d607119
- github.com/cppforlife/go-cli-ui: 1e47f82 → 94f26b1
- github.com/go-task/slim-sprig: 348f09d → 52ccab3
- github.com/golang/protobuf: v1.5.2 → v1.5.3
- github.com/google/go-containerregistry: v0.12.1 → v0.13.0
- github.com/hpcloud/tail: a1dbeea → v1.0.0
- github.com/ianlancetaylor/demangle: 28f6c0f → 800ac71
- github.com/mattn/go-isatty: v0.0.16 → v0.0.17
- github.com/maxbrunsfeld/counterfeiter/v6: v6.4.1 → v6.6.1
- github.com/onsi/ginkgo/v2: v2.8.4 → v2.9.2
- github.com/onsi/gomega: v1.27.2 → v1.27.6
- github.com/vito/go-interact: fa338ed → v1.0.1
- github.com/vmware-tanzu/carvel-imgpkg: v0.23.1 → v0.36.1
- github.com/vmware-tanzu/tanzu-framework/capabilities/client: 731e6d4 → 9331f55
- github.com/vmware-tanzu/tanzu-plugin-runtime: v0.80.0 → v0.90.0-alpha.2
- golang.org/x/mod: v0.8.0 → v0.9.0
- golang.org/x/tools: v0.6.0 → v0.7.0
- k8s.io/klog/v2: v2.80.1 → v2.90.1
- k8s.io/utils: 391b47c → a36077c
- sigs.k8s.io/json: f223a00 → bc3834c
Removed
- github.com/cheggaaa/pb: v1.0.29
- github.com/containerd/containerd: v1.3.0
- github.com/joefitzgerald/rainbow-reporter: v0.1.0
- github.com/k14s/imgpkg: v0.17.0
- github.com/vdemeester/k8s-pkg-credentialprovider: v1.21.0-1
- gopkg.in/fsnotify/fsnotify.v1: v1.4.7
- gotest.tools: v2.2.0+incompatible
- k8s.io/cloud-provider: v0.21.0
- k8s.io/legacy-cloud-providers: v0.21.0
v0.90.0-alpha.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
Documentation
Miscellaneous
- Add signature verification of the inventory image before downloading plugin bundle (#248, @anujc25)
- Add support for custom certificate configuration to interact with custom registry with self-signed certificate or with expired cert (#234, @prkalle)
- Add support for selective plugin migration using plugin groups for air-gapped environments (#231, @anujc25)
- Added CLI Coexistence Tests (#124, @mpanchajanya)
- CLI E2E framework is updated as a separate module (#221, @chandrareddyp)
- Fix failures related to github and gitlab CI for newly bootstrapped plugins (#247, @marckhouzam)
- Fixed the gitlab configuration for a new plugin project. (#253, @marckhouzam)
- Implement download-bundle, and upload-bundle commands for plugin migration to the custom registry (#224, @anujc25)
- Plugin groups that are marked as "deactivated" in the repository of plugins are now ignored by the CLI. (#217, @marckhouzam)
- Plugin install/sync error message now include version of plugin it failed to install (#230, @mpanchajanya)
- Plugin sync e2e test cases are implemented for Kubernetes target (#132, @chandrareddyp)
- Plugin that are marked as "deactivated" in the repository of plugins are now ignored by the CLI. (#218, @marckhouzam)
- The "tanzu plugin search" command now accepts a "--name" flag to limit the breadth of the search. That command also accepts a "--show-details" flag which allows to get details about available plugins, including the list of supported versions. (#211, @marckhouzam)
- The
TANZU_CLI_INCLUDE_DEACTIVATED_PLUGINS_TEST_ONLY=1
variable can now be used to ask the CLI to include deactivated plugins and groups. (#219, @marckhouzam) - The temporary
TANZU_CLI_PRE_RELEASE_REPO_IMAGE
has been removed. Instead, the use oftanzu plugin source update
can be used to override the default central discovery location. (#232, @marckhouzam) - Use tanzu-plugin-runtime v0.90.0-alpha.1 (#250, @marckhouzam)
- When calling a plugin, the Tanzu CLI now passes it an environment variable
TANZU_BIN
which provides the path to thetanzu
command (as executed by the user). (#237, @marckhouzam)
Dependencies
Added
- github.com/VividCortex/ewma: v1.1.1
- github.com/cheggaaa/pb/v3: v3.1.0
- github.com/novln/docker-parser: v1.0.0
- github.com/verybluebot/tarinator-go: 5ab4e11
Changed
- github.com/awslabs/amazon-ecr-credential-helper/ecr-login: 396b203 → e6f2920
- github.com/chrismellard/docker-credential-acr-env: fe33c00 → c57b701
- github.com/chzyer/readline: 2972be2 → v1.5.0
- github.com/cppforlife/cobrautil: c28a9f2 → d607119
- github.com/cppforlife/go-cli-ui: 1e47f82 → 94f26b1
- github.com/go-task/slim-sprig: 348f09d → 52ccab3
- github.com/golang/protobuf: v1.5.2 → v1.5.3
- github.com/google/go-containerregistry: v0.12.1 → v0.13.0
- github.com/hpcloud/tail: a1dbeea → v1.0.0
- github.com/ianlancetaylor/demangle: 28f6c0f → 800ac71
- github.com/mattn/go-isatty: v0.0.16 → v0.0.17
- github.com/maxbrunsfeld/counterfeiter/v6: v6.4.1 → v6.6.1
- github.com/onsi/ginkgo/v2: v2.8.4 → v2.9.2
- github.com/onsi/gomega: v1.27.2 → v1.27.6
- github.com/vito/go-interact: fa338ed → v1.0.1
- github.com/vmware-tanzu/carvel-imgpkg: v0.23.1 → v0.36.1
- github.com/vmware-tanzu/tanzu-framework/capabilities/client: 731e6d4 → 9331f55
- github.com/vmware-tanzu/tanzu-plugin-runtime: v0.80.0 → v0.90.0-alpha.1
- golang.org/x/mod: v0.8.0 → v0.9.0
- golang.org/x/tools: v0.6.0 → v0.7.0
- k8s.io/klog/v2: v2.80.1 → v2.90.1
- k8s.io/utils: 391b47c → a36077c
- sigs.k8s.io/json: f223a00 → bc3834c
Removed
- github.com/cheggaaa/pb: v1.0.29
- github.com/containerd/containerd: v1.3.0
- github.com/joefitzgerald/rainbow-reporter: v0.1.0
- github.com/k14s/imgpkg: v0.17.0
- github.com/vdemeester/k8s-pkg-credentialprovider: v1.21.0-1
- gopkg.in/fsnotify/fsnotify.v1: v1.4.7
- gotest.tools: v2.2.0+incompatible
- k8s.io/cloud-provider: v0.21.0
- k8s.io/legacy-cloud-providers: v0.21.0
v0.90.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.
Changes by Kind
Testing
- E2E test cases are added for plugin life cycle use case with the central repo (#104, @chandrareddyp)
- E2E tests for
tanzu config server
implemented (#89, @chandrareddyp)
Refactor
- Rename
builder inventory plugin insert
tobuilder inventory plugin add
(#114, @anujc25) - Update
tanzu builder init
to includeplugin-tooling.mk
file containing the tooling to build and publish plugins (#139, @anujc25) - Use
logger
fromtanzu-plugin-runtime
module (#85, @anujc25)
Deprecation
- Update tanzu-plugin-runtime dependency and fix the deprecation function use warnings (#127, @anujc25)
Feature
- Add CEIP Opt-In support (#143, @prkalle)
- Add the
--validate
flag to thebuilder inventory plugin add
command to validate plugin exists or not (#113, @anujc25) - Added cosign signature verification for plugin inventory image to ensure integrity of plugins (#106, @prkalle)
- Authentication support for Tanzu Mission Control(TMC) local (#58, @prkalle)
- Beyond the Central Repository, the CLI will discover plugins from the
ADDITIONAL_PLUGIN_DISCOVERY_IMAGES_TEST_ONLY
variable, which is a comma-separated list of OCI images in the format of the Central Repository (#110, @marckhouzam) - Builder compile will display compilation errors on failures (#21, @vuil)
- Configure staging central plugin repository as default plugin discovery (#140, @anujc25)
- Implement builder
plugin build-packages
,plugin publish-packages
,inventory init
,inventory plugin insert
,inventory plugin activate
,inventory plugin deactivate
commands (#80, @anujc25) - Implement plugin-group publishing tooling with builder plugin (#123, @anujc25)
- Plugin compatibility E2E test cases and required framework tooling implemented (#84, @chandrareddyp)
- Plugin life cycle end-to-end test cases has implemented (#116, @chandrareddyp)
- The "tanzu plugin search" command is added. It is meant to be used to search for plugins that can be installed. (#52, @marckhouzam)
- The "tanzu plugin search" command no longer shows installation status or context information; the "tanzu plugin list" command should be used to obtain such information" (#131, @marckhouzam)
- The Tanzu CLI now discovers and installs all its plugins from a Central Repository of plugins. This simplifies the user experience and provides a uniform experience for all plugins. (#105, @marckhouzam)
- The Tanzu CLI now supports discovering plugins from a Centralized Repository of plugins.
All plugins can be found in that repository and are installed from that repository.
The synchronization of plugin (through "plugin sync" or setting a context) no longer
installs "standalone" plugins; instead a user must explicitly install such plugins
with the "plugin install" command. (#45, @marckhouzam) - The
tanzu plugin list
command now includes the list of any context-scope plugins that are not installed and warns the user that they should runtanzu plugin sync
. (#72, @marckhouzam) - The command
tanzu plugin install
no longer accepts theall
argument. (#64, @marckhouzam) - The command
tanzu plugin list
now only shows installed plugins. A newtanzu plugin search
command will be used to list all plugins. (#53, @marckhouzam) - The concept of Plugin Groups is introduced. A plugin group provides a list of plugin name/version combinations which can be installed in one step.
tanzu plugin group search
can be used to find plugin groups, whiletanzu plugin install <plugin | all> --group <groupID>
can be used to install one or all plugins specified in the group. (#78, @marckhouzam) - Update
plugin-tooling.mk
file to generate 'plugin_bundle.tar.gz' along with building the plugin withmake plugin-build
(#125, @anujc25)
Documentation
- Add documentation for tanzu test command to test plugins (#193, @mpanchajanya)
- Add support and roadmap docs (#202, @vuil)
Bug or Regression
- "tanzu context use " will now trigger the synchronization of plugins. (#88, @marckhouzam)
- Disabled the CEIP participation prompt for tanzu 'version', 'ceip set' and 'config set' commands (#188, @prkalle)
- Fix
target
inconsistency betweenInsertPlugins
andGetPlugins
plugin-inventory APIs (#121, @anujc25) - The Tanzu CLI now uses caching to speed-up plugin search and installation. (#148, @marckhouzam)
Other (Cleanup or Flake)
- Tanzu Installation locations uses the existing CLI installations directories without ' _' prefix (#173, @mpanchajanya)
- The "tanzu plugin install --local" form is no longer to be used in production. The "--local" flag is therefore hidden. (#153, @marckhouzam)
- The
features.global.context-aware-cli-for-plugins
feature flag will no longer be read or added to the configuration file. (#35, @marckhouzam) - The
plugin source
commands are hidden since they have no effect at the moment. (#136, @marckhouzam)
Miscellaneous
-
Added "context" and folded "login" plugin into tanzu "login" command and deprecated in lieu of context command (#5, @prkalle)
-
Implement the
tanzu builder plugin build
command as part of thebuilder
plugin which builds the plugins and organizes the plugin based on the OS_ARCH grouping as well as the plugin's target (#71, @anujc25) -
Plugins are integrated as top-level sub-commands of the CLI (#7, @vuil)
-
Update the
artifacts
andoptional
fields inCLIPlugin
CRD to be optional (#111, @anujc25)New Contributors
- @mpanchajanya made their first contribution in #173
- @dependabot made their first contribution in #185
Full Changelog: v0.0.1-init-go...v0.90.0-alpha.0