tanzu-cli

module
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 9, 2024 License: Apache-2.0

README

Tanzu Core CLI

Tanzu CLI Core Tests Tanzu CLI Coexistence Tests

Overview

The Tanzu CLI provides integrated and unified command-line access to a broad array of products and solutions in the VMware Tanzu portfolio. The CLI is based on a plugin architecture where CLI command functionality can be delivered through independently developed plugin binaries. To support this architecture, this project provides releases of the core CLI binary that plugins integrate with. Said binary serves the role of

  1. providing discovery, installation and lifecycle management of plugins on the CLI host
  2. providing dispatching of CLI command invocation to a specific plugin
  3. providing authentication with and managing access to endpoints which certain CLI commands will target

To facilitate plugin development, the Core CLI also provides

  1. the ability to scaffold new plugin projects and plugin commands themselves.
  2. the capability to build, test, and publish the plugins being developed.

Installation

For information on how to install the CLI, see the Installation Guide

Documentation

To get a quick start on how to use Tanzu CLI, visit the Quick Start guide or visit the Full Documentation for more details.

For users of previous version of the CLI, see this section of the Quick Start guide for changes to be aware of.

Plugin Development

To learn more about how to develop a Tanzu CLI plugin, see the Tanzu plugin development guide.

Testing

Plugin developers can use the End-to-End test framework to implement tests for the functionality of their plugins under a Tanzu CLI installation. More details found in the End-to-End framework and test case implementation. Currently, CLI E2E framework does not support backward compatibility.

Contributing

Thanks for taking the time to join our community and start contributing! We welcome pull requests. Feel free to dig through the issues and jump in.

Before you begin
  • Check out the contribution guidelines to learn more about how to contribute.
  • Check out the document here about the project's support process.

Development

Details about how to get started with development for this project can be found in the Development Guide.

Testing

Unit and Integration tests implementation is part of CLI Core development. CLI core does have end-to-end test case implementation. More details found in the End-to-End framework and test case implementation.

Directories

Path Synopsis
apis
cli/v1alpha1
Package v1alpha1 contains API Schema definitions for the cli v1alpha1 API group +kubebuilder:object:generate=true +groupName=cli.tanzu.vmware.com
Package v1alpha1 contains API Schema definitions for the cli v1alpha1 API group +kubebuilder:object:generate=true +groupName=cli.tanzu.vmware.com
cmd
plugin/builder/command
Package command provides handling to generate new scaffolding, compile, and publish CLI plugins.
Package command provides handling to generate new scaffolding, compile, and publish CLI plugins.
plugin/builder/crane
Package crane implements helper function for crane library
Package crane implements helper function for crane library
plugin/builder/helpers
Package helpers implements helper function for builder plugin
Package helpers implements helper function for builder plugin
plugin/builder/inventory
Package inventory implements inventory specific init and update functionalities
Package inventory implements inventory specific init and update functionalities
plugin/builder/plugin
Package plugin implements plugin specific publishing functions
Package plugin implements plugin specific publishing functions
plugin/builder/template
Package template provides template for creating new plugins.
Package template provides template for creating new plugins.
plugin/builder/template/plugintemplates
Package plugintemplates provides templates for bootstrapping plugins.
Package plugintemplates provides templates for bootstrapping plugins.
plugin/builder/types
Package types defines helper structure definitions
Package types defines helper structure definitions
tanzu
The Tanzu CLI.
The Tanzu CLI.
pkg
airgapped
Package airgapped provides helper functions to download and upload plugin bundles
Package airgapped provides helper functions to download and upload plugin bundles
artifact
Package artifact implements interface to fetch the binary artifacts from different sources
Package artifact implements interface to fetch the binary artifacts from different sources
auth/csp
Package csp provides VMware Cloud Services Platform token utilities.
Package csp provides VMware Cloud Services Platform token utilities.
auth/tanzu
Package tanzu provides functionality related to authentication for the Tanzu control plane
Package tanzu provides functionality related to authentication for the Tanzu control plane
auth/tkg
Package tkgauth provides TKG authentication functions.
Package tkgauth provides TKG authentication functions.
auth/utils/kubeconfig
Package kubeconfig provides kubeconfig access functions.
Package kubeconfig provides kubeconfig access functions.
auth/utils/net
Package net provides helpers to work with network addresses.
Package net provides helpers to work with network addresses.
auth/wcp
Package wcp provides helpers to interact with a vSphere Supervisor.
Package wcp provides helpers to interact with a vSphere Supervisor.
buildinfo
Package buildinfo holds global vars set at build time to provide information about the build.
Package buildinfo holds global vars set at build time to provide information about the build.
carvelhelpers
Package carvelhelpers implements wrapper functions to use carvel tooling
Package carvelhelpers implements wrapper functions to use carvel tooling
catalog
Package catalog implements catalog management functions
Package catalog implements catalog management functions
centralconfig
Package centralconfig implements an interface to deal with the central configuration.
Package centralconfig implements an interface to deal with the central configuration.
cli
Package cli provides libraries for building CLI commands and plugins.
Package cli provides libraries for building CLI commands and plugins.
cluster
Package cluster provides functions to manipulate the package
Package cluster provides functions to manipulate the package
command
Package command creates and initializes the tanzu CLI.
Package command creates and initializes the tanzu CLI.
command/templates
Package plugintemplates provides templates for CLI doc generation
Package plugintemplates provides templates for CLI doc generation
common
Package common defines generic constants and structs
Package common defines generic constants and structs
config
Package config provides functions for the tanzu cli configuration
Package config provides functions for the tanzu cli configuration
configpaths
Package configpaths provides functions to handle config files
Package configpaths provides functions to handle config files
constants
Package constants provides tanzu cli constants.
Package constants provides tanzu cli constants.
cosignhelper
Package cosignhelper implements cosign verification functionality using cosign libraries
Package cosignhelper implements cosign verification functionality using cosign libraries
cosignhelper/sigverifier
Package sigverifier implements helper functions to verify inventory image signature
Package sigverifier implements helper functions to verify inventory image signature
datastore
Package datastore implements the use of a data store yaml file that can be used for the CLI to store and retrieve data that is not configuration.
Package datastore implements the use of a data store yaml file that can be used for the CLI to store and retrieve data that is not configuration.
discovery
Package discovery is implements discovery interface for plugin discovery Discovery is the interface to fetch the list of available plugins, their supported versions and how to download them either stand-alone or scoped to a server.
Package discovery is implements discovery interface for plugin discovery Discovery is the interface to fetch the list of available plugins, their supported versions and how to download them either stand-alone or scoped to a server.
distribution
Package distribution implements plugin distribution interface Distribution is the interface to download a plugin version binary for a given OS and architecture combination.
Package distribution implements plugin distribution interface Distribution is the interface to download a plugin version binary for a given OS and architecture combination.
essentials
Package essentials contain essentials plugin group lifecycle operations
Package essentials contain essentials plugin group lifecycle operations
fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
fakes/helper
Package helper implements helper functions used for unit tests
Package helper implements helper functions used for unit tests
globalinit
Package globalinit is used to execute different initializers of the CLI based on their specified triggers.
Package globalinit is used to execute different initializers of the CLI based on their specified triggers.
interfaces
Package interfaces is collection of generic interfaces
Package interfaces is collection of generic interfaces
lastversion
Package lastversion contains functionality to store and retrieve the last executed CLI version in the datastore.
Package lastversion contains functionality to store and retrieve the last executed CLI version in the datastore.
plugincmdtree
Package plugincmdtree provides functionality for constructing and maintaining the plugin command trees
Package plugincmdtree provides functionality for constructing and maintaining the plugin command trees
plugininventory
Package plugininventory implements an interface to deal with a plugin inventory.
Package plugininventory implements an interface to deal with a plugin inventory.
pluginmanager
Package pluginmanager is responsible for plugin discovery and installation
Package pluginmanager is responsible for plugin discovery and installation
pluginsupplier
Package pluginsupplier provides installed plugins information
Package pluginsupplier provides installed plugins information
recommendedversion
Package recommendedversion is used to check for the currently recommended versions of the Tanzu CLI and inform the user if they are using an outdated version.
Package recommendedversion is used to check for the currently recommended versions of the Tanzu CLI and inform the user if they are using an outdated version.
registry
Package registry defines a Registry interface and client for working for imkpkg images.
Package registry defines a Registry interface and client for working for imkpkg images.
telemetry
Package telemetry collects the CLI metrics and sends the telemetry data to supercollider
Package telemetry collects the CLI metrics and sends the telemetry data to supercollider
utils
Package utils contains utility functions
Package utils contains utility functions
test
e2e/airgapped
Package airgapped contains e2e tests related to airgapped env scenarios
Package airgapped contains e2e tests related to airgapped env scenarios
e2e/plugin_lifecycle
Package pluginlifecyclee2e provides plugin command specific E2E test cases
Package pluginlifecyclee2e provides plugin command specific E2E test cases
e2e/plugins_compatibility
Package plugincompatibility provides plugins compatibility E2E test cases
Package plugincompatibility provides plugins compatibility E2E test cases
e2e/util
Package util contains utility functions for the CLI e2e tests.
Package util contains utility functions for the CLI e2e tests.
e2e Module
e2e/framework Module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL