Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the client v1alpha1 API group +kubebuilder:object:generate=true +groupName=config.tanzu.vmware.com
Index ¶
- Constants
- Variables
- type CLIOptions
- type ClientConfig
- func (in *ClientConfig) DeepCopy() *ClientConfig
- func (in *ClientConfig) DeepCopyInto(out *ClientConfig)
- func (in *ClientConfig) DeepCopyObject() runtime.Object
- func (c *ClientConfig) GetCurrentServer() (*Server, error)
- func (c *ClientConfig) GetEnvConfigurations() map[string]string
- func (c *ClientConfig) IsConfigFeatureActivated(featurePath string) (bool, error)
- func (c *ClientConfig) SetUnstableVersionSelector(f VersionSelectorLevel)
- func (c *ClientConfig) SplitFeaturePath(featurePath string) (string, string, error)
- type ClientConfigList
- type ClientOptions
- type EnvMap
- type Feature
- type FeatureGate
- func (in *FeatureGate) DeepCopy() *FeatureGate
- func (in *FeatureGate) DeepCopyInto(out *FeatureGate)
- func (in *FeatureGate) DeepCopyObject() runtime.Object
- func (r *FeatureGate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *FeatureGate) ValidateCreate() error
- func (r *FeatureGate) ValidateDelete() error
- func (r *FeatureGate) ValidateUpdate(old runtime.Object) error
- type FeatureGateList
- type FeatureGateSpec
- type FeatureGateStatus
- type FeatureList
- type FeatureMap
- type FeatureReference
- type FeatureSpec
- type FeatureStatus
- type GCPDiscovery
- type GCPPluginRepository
- type GenericRESTDiscovery
- type GlobalServer
- type GlobalServerAuth
- type KubernetesDiscovery
- type LocalDiscovery
- type ManagementClusterServer
- type OCIDiscovery
- type PluginDiscovery
- type PluginRepository
- type Server
- type ServerType
- type VersionSelectorLevel
Constants ¶
const ( // FeatureCli allows a feature to be set at the CLI level (globally) rather than for a single plugin FeatureCli string = "cli" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "config.tanzu.vmware.com", Version: "v1alpha1"} // GroupVersionKind has information about group, version and kind of this object. GroupVersionKind = GroupVersion.WithKind("ClientConfig") // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type CLIOptions ¶
type CLIOptions struct { // Repositories are the plugin repositories. Repositories []PluginRepository `json:"repositories,omitempty" yaml:"repositories"` // DiscoverySources determines from where to discover stand-alone plugins DiscoverySources []PluginDiscovery `json:"discoverySources,omitempty" yaml:"discoverySources"` // UnstableVersionSelector determined which version tags are allowed UnstableVersionSelector VersionSelectorLevel `json:"unstableVersionSelector,omitempty" yaml:"unstableVersionSelector"` }
CLIOptions are options for the CLI.
func (*CLIOptions) DeepCopy ¶
func (in *CLIOptions) DeepCopy() *CLIOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CLIOptions.
func (*CLIOptions) DeepCopyInto ¶
func (in *CLIOptions) DeepCopyInto(out *CLIOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientConfig ¶
type ClientConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // KnownServers available. KnownServers []*Server `json:"servers,omitempty" yaml:"servers"` // CurrentServer in use. CurrentServer string `json:"current,omitempty" yaml:"current"` // ClientOptions are client specific options. ClientOptions *ClientOptions `json:"clientOptions,omitempty" yaml:"clientOptions"` }
ClientConfig is the Schema for the configs API
func (*ClientConfig) DeepCopy ¶
func (in *ClientConfig) DeepCopy() *ClientConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientConfig.
func (*ClientConfig) DeepCopyInto ¶
func (in *ClientConfig) DeepCopyInto(out *ClientConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClientConfig) DeepCopyObject ¶
func (in *ClientConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClientConfig) GetCurrentServer ¶
func (c *ClientConfig) GetCurrentServer() (*Server, error)
GetCurrentServer returns the current server/
func (*ClientConfig) GetEnvConfigurations ¶ added in v0.11.0
func (c *ClientConfig) GetEnvConfigurations() map[string]string
GetEnvConfigurations returns a map of environment variables to values it returns nil if configuration is not yet defined
func (*ClientConfig) IsConfigFeatureActivated ¶ added in v0.8.0
func (c *ClientConfig) IsConfigFeatureActivated(featurePath string) (bool, error)
IsConfigFeatureActivated return true if the feature is activated, false if not. An error if the featurePath is malformed
func (*ClientConfig) SetUnstableVersionSelector ¶
func (c *ClientConfig) SetUnstableVersionSelector(f VersionSelectorLevel)
SetUnstableVersionSelector will help determine the unstable versions supported In order of restrictiveness: "all" -> "alpha" -> "experimental" -> "none" none: return stable versions only. the default for both the config and the old flag. alpha: only versions tagged with -alpha experimental: all pre-release versions without +build semver data all: return all unstable versions.
func (*ClientConfig) SplitFeaturePath ¶ added in v0.8.0
func (c *ClientConfig) SplitFeaturePath(featurePath string) (string, string, error)
SplitFeaturePath splits a features path into the pluginName and the featureName For example "features.management-cluster.dual-stack" returns "management-cluster", "dual-stack" An error results from a malformed path, including any path that does not start with "features."
type ClientConfigList ¶
type ClientConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClientConfig `json:"items"` }
ClientConfigList contains a list of ClientConfig
func (*ClientConfigList) DeepCopy ¶
func (in *ClientConfigList) DeepCopy() *ClientConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientConfigList.
func (*ClientConfigList) DeepCopyInto ¶
func (in *ClientConfigList) DeepCopyInto(out *ClientConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClientConfigList) DeepCopyObject ¶
func (in *ClientConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClientOptions ¶
type ClientOptions struct { // CLI options specific to the CLI. CLI *CLIOptions `json:"cli,omitempty" yaml:"cli"` Features map[string]FeatureMap `json:"features,omitempty" yaml:"features"` Env map[string]string `json:"env,omitempty" yaml:"env"` }
ClientOptions are the client specific options.
func (*ClientOptions) DeepCopy ¶
func (in *ClientOptions) DeepCopy() *ClientOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientOptions.
func (*ClientOptions) DeepCopyInto ¶
func (in *ClientOptions) DeepCopyInto(out *ClientOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvMap ¶ added in v0.11.0
EnvMap is simply a hash table, but needs an explicit type to be an object in another hash map (cf ClientOptions.Env)
func (EnvMap) DeepCopy ¶ added in v0.14.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvMap.
func (EnvMap) DeepCopyInto ¶ added in v0.14.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Feature ¶
type Feature struct { Status FeatureStatus `json:"status,omitempty"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FeatureSpec `json:"spec,omitempty"` metav1.TypeMeta `json:",inline"` }
Feature is the Schema for the features API +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster +kubebuilder:printcolumn:name="Activated",type=boolean,JSONPath=.spec.activated +kubebuilder:printcolumn:name="Description",type=string,JSONPath=.spec.description +kubebuilder:printcolumn:name="Immutable",type=boolean,JSONPath=.spec.immutable +kubebuilder:printcolumn:name="Maturity",type=string,JSONPath=.spec.maturity
func (*Feature) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Feature.
func (*Feature) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Feature) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FeatureGate ¶
type FeatureGate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the specification for gating features. Spec FeatureGateSpec `json:"spec,omitempty"` // Status reports activation state and availability of features in the system. Status FeatureGateStatus `json:"status,omitempty"` }
FeatureGate is the Schema for the featuregates API
func (*FeatureGate) DeepCopy ¶
func (in *FeatureGate) DeepCopy() *FeatureGate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGate.
func (*FeatureGate) DeepCopyInto ¶
func (in *FeatureGate) DeepCopyInto(out *FeatureGate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FeatureGate) DeepCopyObject ¶
func (in *FeatureGate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*FeatureGate) SetupWebhookWithManager ¶
func (r *FeatureGate) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager adds the webhook to the manager.
func (*FeatureGate) ValidateCreate ¶
func (r *FeatureGate) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*FeatureGate) ValidateDelete ¶
func (r *FeatureGate) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*FeatureGate) ValidateUpdate ¶
func (r *FeatureGate) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type FeatureGateList ¶
type FeatureGateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FeatureGate `json:"items"` }
FeatureGateList contains a list of FeatureGate
func (*FeatureGateList) DeepCopy ¶
func (in *FeatureGateList) DeepCopy() *FeatureGateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateList.
func (*FeatureGateList) DeepCopyInto ¶
func (in *FeatureGateList) DeepCopyInto(out *FeatureGateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FeatureGateList) DeepCopyObject ¶
func (in *FeatureGateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FeatureGateSpec ¶
type FeatureGateSpec struct { // NamespaceSelector is a selector to specify namespaces for which this feature gate applies. // Use an empty LabelSelector to match all namespaces. NamespaceSelector metav1.LabelSelector `json:"namespaceSelector"` // Features is a slice of FeatureReference to gate features. // The Feature resource specified may or may not be present in the system. If the Feature is present, the // FeatureGate controller and webhook sets the specified activation state only if the Feature is discoverable and // its immutability constraint is satisfied. If the Feature is not present, the activation intent is applied when // the Feature resource appears in the system. The actual activation state of the Feature is reported in the status. // +listType=map // +listMapKey=name Features []FeatureReference `json:"features,omitempty"` }
FeatureGateSpec defines the desired state of FeatureGate
func (*FeatureGateSpec) DeepCopy ¶
func (in *FeatureGateSpec) DeepCopy() *FeatureGateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateSpec.
func (*FeatureGateSpec) DeepCopyInto ¶
func (in *FeatureGateSpec) DeepCopyInto(out *FeatureGateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeatureGateStatus ¶
type FeatureGateStatus struct { // Namespaces lists the existing namespaces for which this feature gate applies. This is obtained from listing all // namespaces and applying the NamespaceSelector specified in spec. Namespaces []string `json:"namespaces,omitempty"` // ActivatedFeatures lists the discovered features that are activated for the namespaces specified in the spec. // This can include features that are not explicitly gated in the spec, but are already available in the system as // Feature resources. ActivatedFeatures []string `json:"activatedFeatures,omitempty"` // DeactivatedFeatures lists the discovered features that are deactivated for the namespaces specified in the spec. // This can include features that are not explicitly gated in the spec, but are already available in the system as // Feature resources. DeactivatedFeatures []string `json:"deactivatedFeatures,omitempty"` // Feature resources. UnavailableFeatures []string `json:"unavailableFeatures,omitempty"` }
FeatureGateStatus defines the observed state of FeatureGate
func (*FeatureGateStatus) DeepCopy ¶
func (in *FeatureGateStatus) DeepCopy() *FeatureGateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureGateStatus.
func (*FeatureGateStatus) DeepCopyInto ¶
func (in *FeatureGateStatus) DeepCopyInto(out *FeatureGateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeatureList ¶
type FeatureList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Feature `json:"items"` }
FeatureList contains a list of Feature
func (*FeatureList) DeepCopy ¶
func (in *FeatureList) DeepCopy() *FeatureList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureList.
func (*FeatureList) DeepCopyInto ¶
func (in *FeatureList) DeepCopyInto(out *FeatureList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FeatureList) DeepCopyObject ¶
func (in *FeatureList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FeatureMap ¶ added in v0.8.0
FeatureMap is simply a hash table, but needs an explicit type to be an object in another hash map (cf ClientOptions.Features)
func (FeatureMap) DeepCopy ¶ added in v0.8.0
func (in FeatureMap) DeepCopy() FeatureMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureMap.
func (FeatureMap) DeepCopyInto ¶ added in v0.8.0
func (in FeatureMap) DeepCopyInto(out *FeatureMap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeatureReference ¶
type FeatureReference struct { // Name is the name of the Feature resource, which represents a feature the system offers. // +kubebuilder:validation:Required Name string `json:"name"` // Activate indicates the activation intent for the feature. Activate bool `json:"activate,omitempty"` }
FeatureReference refers to a Feature resource and specifies its intended activation state.
func (*FeatureReference) DeepCopy ¶
func (in *FeatureReference) DeepCopy() *FeatureReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureReference.
func (*FeatureReference) DeepCopyInto ¶
func (in *FeatureReference) DeepCopyInto(out *FeatureReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeatureSpec ¶
type FeatureSpec struct { // Description of the feature. Description string `json:"description,omitempty"` // Immutable indicates this feature cannot be toggled once set // If set at creation time, this state will persist for the life of the cluster Immutable bool `json:"immutable"` // Discoverable indicates if clients should include consider the Feature available for their use // Allowing clients to control discoverability is one of the ways the API allows gradual rollout of functionality Discoverable bool `json:"discoverable"` // Activated defines the default state of the features activation Activated bool `json:"activated"` // Maturity indicates maturity level of this feature. // Maturity levels are Dev, Alpha, Beta, GA and Deprecated. // +kubebuilder:validation:Enum=dev;alpha;beta;ga;deprecated // - dev: the default for new resources, represents local dev. intended to be hidden and deactivated // - alpha: the first milestone meant for limited wider consumption, discoverable and defaults to deactivated // - beta: greater visibility for proven designs, discoverable and defaults to activated // - ga: intended to be part of the mainline codebase, non-optional // - deprecated: destined for future removal Maturity string `json:"maturity"` }
FeatureSpec defines the desired state of Feature
func (*FeatureSpec) DeepCopy ¶
func (in *FeatureSpec) DeepCopy() *FeatureSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureSpec.
func (*FeatureSpec) DeepCopyInto ¶
func (in *FeatureSpec) DeepCopyInto(out *FeatureSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FeatureStatus ¶
type FeatureStatus struct{}
FeatureStatus defines the observed state of Feature
func (*FeatureStatus) DeepCopy ¶
func (in *FeatureStatus) DeepCopy() *FeatureStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FeatureStatus.
func (*FeatureStatus) DeepCopyInto ¶
func (in *FeatureStatus) DeepCopyInto(out *FeatureStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPDiscovery ¶ added in v0.7.0
type GCPDiscovery struct { // Name is a name of the discovery Name string `json:"name"` // Bucket is a Google Cloud Storage bucket. // E.g., tanzu-cli Bucket string `json:"bucket"` // BasePath is a URI path that is prefixed to the object name/path. // E.g., plugins/cluster ManifestPath string `json:"manifestPath"` }
GCPDiscovery provides a plugin discovery mechanism via a Google Cloud Storage bucket with a manifest.yaml file.
func (*GCPDiscovery) DeepCopy ¶ added in v0.7.0
func (in *GCPDiscovery) DeepCopy() *GCPDiscovery
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPDiscovery.
func (*GCPDiscovery) DeepCopyInto ¶ added in v0.7.0
func (in *GCPDiscovery) DeepCopyInto(out *GCPDiscovery)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GCPPluginRepository ¶
type GCPPluginRepository struct { // Name of the repository. Name string `json:"name,omitempty" yaml:"name"` // BucketName is the name of the bucket. BucketName string `json:"bucketName,omitempty" yaml:"bucketName"` // RootPath within the bucket. RootPath string `json:"rootPath,omitempty" yaml:"rootPath"` }
GCPPluginRepository is a plugin repository that utilizes GCP cloud storage.
func (*GCPPluginRepository) DeepCopy ¶
func (in *GCPPluginRepository) DeepCopy() *GCPPluginRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GCPPluginRepository.
func (*GCPPluginRepository) DeepCopyInto ¶
func (in *GCPPluginRepository) DeepCopyInto(out *GCPPluginRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GenericRESTDiscovery ¶ added in v0.7.0
type GenericRESTDiscovery struct { // Name is a name of the discovery Name string `json:"name"` // Endpoint is the REST API server endpoint. // E.g., api.my-domain.local Endpoint string `json:"endpoint"` // BasePath is the base URL path of the plugin discovery API. // E.g., /v1alpha1/cli/plugins BasePath string `json:"basePath"` }
GenericRESTDiscovery provides a plugin discovery mechanism via any REST API endpoint. The fully qualified list URL is constructed as `https://{Endpoint}/{BasePath}` and the get plugin URL is constructed as . `https://{Endpoint}/{BasePath}/{Plugin}`.
func (*GenericRESTDiscovery) DeepCopy ¶ added in v0.7.0
func (in *GenericRESTDiscovery) DeepCopy() *GenericRESTDiscovery
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericRESTDiscovery.
func (*GenericRESTDiscovery) DeepCopyInto ¶ added in v0.7.0
func (in *GenericRESTDiscovery) DeepCopyInto(out *GenericRESTDiscovery)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalServer ¶
type GlobalServer struct { // Endpoint for the server. Endpoint string `json:"endpoint,omitempty" yaml:"endpoint"` // Auth for the global server. Auth GlobalServerAuth `json:"auth,omitempty" yaml:"auth"` }
GlobalServer is the configuration for a global server.
func (*GlobalServer) DeepCopy ¶
func (in *GlobalServer) DeepCopy() *GlobalServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalServer.
func (*GlobalServer) DeepCopyInto ¶
func (in *GlobalServer) DeepCopyInto(out *GlobalServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalServerAuth ¶
type GlobalServerAuth struct { // Issuer url for IDP, compliant with OIDC Metadata Discovery. Issuer string `json:"issuer" yaml:"issuer"` // UserName is the authorized user the token is assigned to. UserName string `json:"userName" yaml:"userName"` // Permissions are roles assigned to the user. Permissions []string `json:"permissions" yaml:"permissions"` // AccessToken is the current access token based on the context. AccessToken string `json:"accessToken" yaml:"accessToken"` // IDToken is the current id token based on the context scoped to the CLI. IDToken string `json:"IDToken" yaml:"IDToken"` // RefreshToken will be stored only in case of api-token login flow. RefreshToken string `json:"refresh_token" yaml:"refresh_token"` // Expiration times of the token. Expiration metav1.Time `json:"expiration" yaml:"expiration"` // Type of the token (user or client). Type string `json:"type" yaml:"type"` }
GlobalServerAuth is authentication for a global server.
func (*GlobalServerAuth) DeepCopy ¶
func (in *GlobalServerAuth) DeepCopy() *GlobalServerAuth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalServerAuth.
func (*GlobalServerAuth) DeepCopyInto ¶
func (in *GlobalServerAuth) DeepCopyInto(out *GlobalServerAuth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesDiscovery ¶ added in v0.7.0
type KubernetesDiscovery struct { // Name is a name of the discovery Name string `json:"name"` // Path to the kubeconfig. Path string `json:"path"` // The context to use (if required), defaults to current. Context string `json:"context"` // Version of the CLIPlugins API to query. // E.g., v1alpha1 Version string `json:"version"` }
KubernetesDiscovery provides a plugin discovery mechanism via the Kubernetes API server.
func (*KubernetesDiscovery) DeepCopy ¶ added in v0.7.0
func (in *KubernetesDiscovery) DeepCopy() *KubernetesDiscovery
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesDiscovery.
func (*KubernetesDiscovery) DeepCopyInto ¶ added in v0.7.0
func (in *KubernetesDiscovery) DeepCopyInto(out *KubernetesDiscovery)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LocalDiscovery ¶ added in v0.7.0
type LocalDiscovery struct { // Name is a name of the discovery Name string `json:"name"` // Path is a local path pointing to directory // containing YAML files, each of which contains single // CLIPlugin API resource. Path string `json:"path"` }
LocalDiscovery is a artifact discovery endpoint utilizing a local host OS.
func (*LocalDiscovery) DeepCopy ¶ added in v0.7.0
func (in *LocalDiscovery) DeepCopy() *LocalDiscovery
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalDiscovery.
func (*LocalDiscovery) DeepCopyInto ¶ added in v0.7.0
func (in *LocalDiscovery) DeepCopyInto(out *LocalDiscovery)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ManagementClusterServer ¶
type ManagementClusterServer struct { // Endpoint for the login. Endpoint string `json:"endpoint,omitempty" yaml:"endpoint"` // Path to the kubeconfig. Path string `json:"path,omitempty" yaml:"path"` // The context to use (if required), defaults to current. Context string `json:"context,omitempty" yaml:"context"` }
ManagementClusterServer is the configuration for a management cluster kubeconfig.
func (*ManagementClusterServer) DeepCopy ¶
func (in *ManagementClusterServer) DeepCopy() *ManagementClusterServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagementClusterServer.
func (*ManagementClusterServer) DeepCopyInto ¶
func (in *ManagementClusterServer) DeepCopyInto(out *ManagementClusterServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OCIDiscovery ¶ added in v0.7.0
type OCIDiscovery struct { // Name is a name of the discovery Name string `json:"name"` // Image is an OCI compliant image. Which include DNS-compatible registry name, // a valid URI path(MAY contain zero or more ‘/’) and a valid tag. // E.g., harbor.my-domain.local/tanzu-cli/plugins-manifest:latest // Contains a directory containing YAML files, each of which contains single // CLIPlugin API resource. Image string `json:"image"` }
OCIDiscovery provides a plugin discovery mechanism via a OCI Image Registry
func (*OCIDiscovery) DeepCopy ¶ added in v0.7.0
func (in *OCIDiscovery) DeepCopy() *OCIDiscovery
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OCIDiscovery.
func (*OCIDiscovery) DeepCopyInto ¶ added in v0.7.0
func (in *OCIDiscovery) DeepCopyInto(out *OCIDiscovery)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginDiscovery ¶ added in v0.7.0
type PluginDiscovery struct { // GCPStorage is set if the plugins are to be discovered via Google Cloud Storage. GCP *GCPDiscovery `json:"gcp,omitempty"` // OCIDiscovery is set if the plugins are to be discovered via an OCI Image Registry. OCI *OCIDiscovery `json:"oci,omitempty"` // GenericRESTDiscovery is set if the plugins are to be discovered via a REST API endpoint. REST *GenericRESTDiscovery `json:"rest,omitempty"` // KubernetesDiscovery is set if the plugins are to be discovered via the Kubernetes API server. Kubernetes *KubernetesDiscovery `json:"k8s,omitempty"` // LocalDiscovery is set if the plugins are to be discovered via Local Manifest fast. Local *LocalDiscovery `json:"local,omitempty"` }
PluginDiscovery contains a specific distribution mechanism. Only one of the configs must be set.
func (*PluginDiscovery) DeepCopy ¶ added in v0.7.0
func (in *PluginDiscovery) DeepCopy() *PluginDiscovery
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginDiscovery.
func (*PluginDiscovery) DeepCopyInto ¶ added in v0.7.0
func (in *PluginDiscovery) DeepCopyInto(out *PluginDiscovery)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginRepository ¶
type PluginRepository struct { // GCPPluginRepository is a plugin repository that utilizes GCP cloud storage. GCPPluginRepository *GCPPluginRepository `json:"gcpPluginRepository,omitempty" yaml:"gcpPluginRepository"` }
PluginRepository is a CLI plugin repository
func (*PluginRepository) DeepCopy ¶
func (in *PluginRepository) DeepCopy() *PluginRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginRepository.
func (*PluginRepository) DeepCopyInto ¶
func (in *PluginRepository) DeepCopyInto(out *PluginRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Server ¶
type Server struct { // Name of the server. Name string `json:"name,omitempty" yaml:"name"` // Type of the endpoint. Type ServerType `json:"type,omitempty" yaml:"type"` // GlobalOpts if the server is global. GlobalOpts *GlobalServer `json:"globalOpts,omitempty" yaml:"globalOpts"` // ManagementClusterOpts if the server is a management cluster. ManagementClusterOpts *ManagementClusterServer `json:"managementClusterOpts,omitempty" yaml:"managementClusterOpts"` // DiscoverySources determines from where to discover plugins // associated with this server DiscoverySources []PluginDiscovery `json:"discoverySources,omitempty" yaml:"discoverySources"` }
Server connection.
func (*Server) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Server.
func (*Server) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Server) IsManagementCluster ¶
IsManagementCluster tells if the server is a management cluster.
type ServerType ¶
type ServerType string
ServerType is the type of server.
const ( // ManagementClusterServerType is a management cluster server. ManagementClusterServerType ServerType = "managementcluster" // GlobalServerType is a global control plane server. GlobalServerType ServerType = "global" )
type VersionSelectorLevel ¶
type VersionSelectorLevel string
VersionSelectorLevel allows selecting plugin versions based on semver properties
const ( // AllUnstableVersions allows all plugin versions AllUnstableVersions VersionSelectorLevel = "all" // AlphaUnstableVersions allows all alpha tagged versions AlphaUnstableVersions VersionSelectorLevel = "alpha" // ExperimentalUnstableVersions includes all pre-releases, minus +build tags ExperimentalUnstableVersions VersionSelectorLevel = "experimental" // NoUnstableVersions allows no unstable plugin versions, format major.minor.patch only NoUnstableVersions VersionSelectorLevel = "none" )