tanzu-cli

module
v0.90.0-alpha.2 Latest Latest
Warning

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

Go to latest
Published: May 16, 2023 License: Apache-2.0

README

Tanzu Core CLI

Tanzu CLI Core Tests Tanzu CLI Coexistence Tests

NOTE: The first alpha release is available for evaluation, but it still needs to be complemented by a plugin repository accessible to the CLI. Please watch this page for further updates as we work towards our first official release in the second quarter of 2023.

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/command/publish
Package publish implements plugin and plugin api publishing related function
Package publish implements plugin and plugin api publishing related function
plugin/builder/fakes
Code generated by counterfeiter.
Code generated by counterfeiter.
plugin/builder/helpers
Package helpers implements helper function for builder plugin
Package helpers implements helper function for builder plugin
plugin/builder/imgpkg
Package imgpkg implements helper function for imgpkg cli
Package imgpkg implements helper function for imgpkg cli
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/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
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
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.
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
interfaces
Package interfaces is collection of generic interfaces
Package interfaces is collection of generic interfaces
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
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.
utils
Package utils contains utility functions
Package utils contains utility functions
test
e2e Module
e2e/framework Module

Jump to

Keyboard shortcuts

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