v1alpha1

package
v0.38.6 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 32 Imported by: 7

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the multicluster.solo.io v1alpha1 API group +k8s:deepcopy-gen=package,register +groupName=multicluster.solo.io

NOTE: Boilerplate only. Ignore this file. Used to register the Go types with the Kubernetes internal scheme

Definitions for the Kubernetes types

Definitions for the Kubernetes types

Index

Constants

This section is empty.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "multicluster.solo.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)
View Source
var File_github_com_solo_io_skv2_api_multicluster_v1alpha1_cluster_proto protoreflect.FileDescriptor
View Source
var KubernetesClusterGVK = schema.GroupVersionKind{
	Group:   "multicluster.solo.io",
	Version: "v1alpha1",
	Kind:    "KubernetesCluster",
}

GroupVersionKind for KubernetesCluster

Functions

func AddToScheme

func AddToScheme(s *runtime.Scheme) error

func NewKubernetesClusterClient

func NewKubernetesClusterClient(client client.Client) *kubernetesClusterClient

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type Clientset

type Clientset interface {
	// clienset for the multicluster.solo.io/v1alpha1/v1alpha1 APIs
	KubernetesClusters() KubernetesClusterClient
}

clienset for the multicluster.solo.io/v1alpha1 APIs

func NewClientset

func NewClientset(client client.Client) Clientset

func NewClientsetFromConfig

func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error)

type KubernetesCluster

type KubernetesCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   KubernetesClusterSpec   `json:"spec,omitempty"`
	Status KubernetesClusterStatus `json:"status,omitempty"`
}

KubernetesCluster is the Schema for the kubernetesCluster API

func (*KubernetesCluster) DeepCopy

func (in *KubernetesCluster) DeepCopy() *KubernetesCluster

func (*KubernetesCluster) DeepCopyInto

func (in *KubernetesCluster) DeepCopyInto(out *KubernetesCluster)

func (*KubernetesCluster) DeepCopyObject

func (in *KubernetesCluster) DeepCopyObject() runtime.Object

func (KubernetesCluster) GVK added in v0.7.17

GVK returns the GroupVersionKind associated with the resource type.

type KubernetesClusterClient

Client knows how to perform CRUD operations on KubernetesClusters.

type KubernetesClusterList

type KubernetesClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []KubernetesCluster `json:"items"`
}

KubernetesClusterList contains a list of KubernetesCluster

func (*KubernetesClusterList) DeepCopy

func (*KubernetesClusterList) DeepCopyInto

func (in *KubernetesClusterList) DeepCopyInto(out *KubernetesClusterList)

func (*KubernetesClusterList) DeepCopyObject

func (in *KubernetesClusterList) DeepCopyObject() runtime.Object

type KubernetesClusterReader

type KubernetesClusterReader interface {
	// Get retrieves a KubernetesCluster for the given object key
	GetKubernetesCluster(ctx context.Context, key client.ObjectKey) (*KubernetesCluster, error)

	// List retrieves list of KubernetesClusters for a given namespace and list options.
	ListKubernetesCluster(ctx context.Context, opts ...client.ListOption) (*KubernetesClusterList, error)
}

Reader knows how to read and list KubernetesClusters.

type KubernetesClusterSlice

type KubernetesClusterSlice []*KubernetesCluster

KubernetesClusterSlice represents a slice of *KubernetesCluster

type KubernetesClusterSpec

type KubernetesClusterSpec struct {

	// name of the secret which contains the kubeconfig with information to connect to the remote cluster.
	SecretName string `protobuf:"bytes,1,opt,name=secret_name,json=secretName,proto3" json:"secret_name,omitempty"`
	// name local DNS suffix used by the cluster.
	// used for building FQDNs for in-cluster services
	// defaults to 'cluster.local'
	ClusterDomain string `protobuf:"bytes,2,opt,name=cluster_domain,json=clusterDomain,proto3" json:"cluster_domain,omitempty"`
	// Metadata for clusters provisioned from cloud providers.
	ProviderInfo *KubernetesClusterSpec_ProviderInfo `protobuf:"bytes,3,opt,name=provider_info,json=providerInfo,proto3" json:"provider_info,omitempty"`
	// contains filtered or unexported fields
}

Representation of a Kubernetes cluster that has been registered.

func (*KubernetesClusterSpec) Clone added in v0.19.9

func (m *KubernetesClusterSpec) Clone() proto.Message

Clone function

func (*KubernetesClusterSpec) DeepCopyInto

func (in *KubernetesClusterSpec) DeepCopyInto(out *KubernetesClusterSpec)

DeepCopyInto for the KubernetesCluster.Spec

func (*KubernetesClusterSpec) Descriptor deprecated

func (*KubernetesClusterSpec) Descriptor() ([]byte, []int)

Deprecated: Use KubernetesClusterSpec.ProtoReflect.Descriptor instead.

func (*KubernetesClusterSpec) Equal

func (m *KubernetesClusterSpec) Equal(that interface{}) bool

Equal function

func (*KubernetesClusterSpec) GetClusterDomain

func (x *KubernetesClusterSpec) GetClusterDomain() string

func (*KubernetesClusterSpec) GetProviderInfo added in v0.7.17

func (*KubernetesClusterSpec) GetSecretName

func (x *KubernetesClusterSpec) GetSecretName() string

func (*KubernetesClusterSpec) Hash

func (m *KubernetesClusterSpec) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*KubernetesClusterSpec) MarshalJSON

func (this *KubernetesClusterSpec) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for KubernetesClusterSpec

func (*KubernetesClusterSpec) ProtoMessage

func (*KubernetesClusterSpec) ProtoMessage()

func (*KubernetesClusterSpec) ProtoReflect added in v0.7.17

func (x *KubernetesClusterSpec) ProtoReflect() protoreflect.Message

func (*KubernetesClusterSpec) Reset

func (x *KubernetesClusterSpec) Reset()

func (*KubernetesClusterSpec) String

func (x *KubernetesClusterSpec) String() string

func (*KubernetesClusterSpec) UnmarshalJSON

func (this *KubernetesClusterSpec) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for KubernetesClusterSpec

type KubernetesClusterSpec_Eks added in v0.7.17

type KubernetesClusterSpec_Eks struct {

	// AWS ARN.
	Arn string `protobuf:"bytes,1,opt,name=arn,proto3" json:"arn,omitempty"`
	// AWS 12 digit account ID.
	AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId,proto3" json:"account_id,omitempty"`
	// AWS region.
	Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"`
	// EKS resource name.
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

AWS metadata associated with an EKS provisioned cluster.

func (*KubernetesClusterSpec_Eks) Clone added in v0.19.9

Clone function

func (*KubernetesClusterSpec_Eks) Descriptor deprecated added in v0.7.17

func (*KubernetesClusterSpec_Eks) Descriptor() ([]byte, []int)

Deprecated: Use KubernetesClusterSpec_Eks.ProtoReflect.Descriptor instead.

func (*KubernetesClusterSpec_Eks) Equal added in v0.7.17

func (m *KubernetesClusterSpec_Eks) Equal(that interface{}) bool

Equal function

func (*KubernetesClusterSpec_Eks) GetAccountId added in v0.7.17

func (x *KubernetesClusterSpec_Eks) GetAccountId() string

func (*KubernetesClusterSpec_Eks) GetArn added in v0.7.17

func (x *KubernetesClusterSpec_Eks) GetArn() string

func (*KubernetesClusterSpec_Eks) GetName added in v0.7.17

func (x *KubernetesClusterSpec_Eks) GetName() string

func (*KubernetesClusterSpec_Eks) GetRegion added in v0.7.17

func (x *KubernetesClusterSpec_Eks) GetRegion() string

func (*KubernetesClusterSpec_Eks) Hash added in v0.7.17

func (m *KubernetesClusterSpec_Eks) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*KubernetesClusterSpec_Eks) ProtoMessage added in v0.7.17

func (*KubernetesClusterSpec_Eks) ProtoMessage()

func (*KubernetesClusterSpec_Eks) ProtoReflect added in v0.7.17

func (*KubernetesClusterSpec_Eks) Reset added in v0.7.17

func (x *KubernetesClusterSpec_Eks) Reset()

func (*KubernetesClusterSpec_Eks) String added in v0.7.17

func (x *KubernetesClusterSpec_Eks) String() string

type KubernetesClusterSpec_ProviderInfo added in v0.7.17

type KubernetesClusterSpec_ProviderInfo struct {

	// Metadata specific to a cloud provider.
	//
	// Types that are assignable to ProviderInfoType:
	//
	//	*KubernetesClusterSpec_ProviderInfo_Eks
	ProviderInfoType isKubernetesClusterSpec_ProviderInfo_ProviderInfoType `protobuf_oneof:"provider_info_type"`
	// contains filtered or unexported fields
}

Metadata for clusters provisioned from cloud providers.

func (*KubernetesClusterSpec_ProviderInfo) Clone added in v0.19.9

Clone function

func (*KubernetesClusterSpec_ProviderInfo) Descriptor deprecated added in v0.7.17

func (*KubernetesClusterSpec_ProviderInfo) Descriptor() ([]byte, []int)

Deprecated: Use KubernetesClusterSpec_ProviderInfo.ProtoReflect.Descriptor instead.

func (*KubernetesClusterSpec_ProviderInfo) Equal added in v0.7.17

func (m *KubernetesClusterSpec_ProviderInfo) Equal(that interface{}) bool

Equal function

func (*KubernetesClusterSpec_ProviderInfo) GetEks added in v0.7.17

func (*KubernetesClusterSpec_ProviderInfo) GetProviderInfoType added in v0.7.17

func (m *KubernetesClusterSpec_ProviderInfo) GetProviderInfoType() isKubernetesClusterSpec_ProviderInfo_ProviderInfoType

func (*KubernetesClusterSpec_ProviderInfo) Hash added in v0.7.17

Hash function

func (*KubernetesClusterSpec_ProviderInfo) ProtoMessage added in v0.7.17

func (*KubernetesClusterSpec_ProviderInfo) ProtoMessage()

func (*KubernetesClusterSpec_ProviderInfo) ProtoReflect added in v0.7.17

func (*KubernetesClusterSpec_ProviderInfo) Reset added in v0.7.17

func (*KubernetesClusterSpec_ProviderInfo) String added in v0.7.17

type KubernetesClusterSpec_ProviderInfo_Eks added in v0.7.17

type KubernetesClusterSpec_ProviderInfo_Eks struct {
	// Provider info for an AWS EKS provisioned cluster.
	Eks *KubernetesClusterSpec_Eks `protobuf:"bytes,1,opt,name=eks,proto3,oneof"`
}

type KubernetesClusterStatus

type KubernetesClusterStatus struct {

	// List of statuses about the kubernetes cluster.
	// This list allows for multiple applications/pods to record their connection status.
	Status []*v1.Status `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty"`
	// The namespace in which cluster registration resources were created.
	Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// The set of PolicyRules attached to ClusterRoles when this cluster was registered.
	PolicyRules []*PolicyRule `protobuf:"bytes,3,rep,name=policy_rules,json=policyRules,proto3" json:"policy_rules,omitempty"`
	// contains filtered or unexported fields
}

func (*KubernetesClusterStatus) Clone added in v0.19.9

Clone function

func (*KubernetesClusterStatus) DeepCopyInto

func (in *KubernetesClusterStatus) DeepCopyInto(out *KubernetesClusterStatus)

DeepCopyInto for the KubernetesCluster.Status

func (*KubernetesClusterStatus) Descriptor deprecated

func (*KubernetesClusterStatus) Descriptor() ([]byte, []int)

Deprecated: Use KubernetesClusterStatus.ProtoReflect.Descriptor instead.

func (*KubernetesClusterStatus) Equal

func (m *KubernetesClusterStatus) Equal(that interface{}) bool

Equal function

func (*KubernetesClusterStatus) GetNamespace added in v0.7.17

func (x *KubernetesClusterStatus) GetNamespace() string

func (*KubernetesClusterStatus) GetPolicyRules added in v0.7.17

func (x *KubernetesClusterStatus) GetPolicyRules() []*PolicyRule

func (*KubernetesClusterStatus) GetStatus

func (x *KubernetesClusterStatus) GetStatus() []*v1.Status

func (*KubernetesClusterStatus) Hash

func (m *KubernetesClusterStatus) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*KubernetesClusterStatus) MarshalJSON

func (this *KubernetesClusterStatus) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for KubernetesClusterStatus

func (*KubernetesClusterStatus) ProtoMessage

func (*KubernetesClusterStatus) ProtoMessage()

func (*KubernetesClusterStatus) ProtoReflect added in v0.7.17

func (x *KubernetesClusterStatus) ProtoReflect() protoreflect.Message

func (*KubernetesClusterStatus) Reset

func (x *KubernetesClusterStatus) Reset()

func (*KubernetesClusterStatus) String

func (x *KubernetesClusterStatus) String() string

func (*KubernetesClusterStatus) UnmarshalJSON

func (this *KubernetesClusterStatus) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for KubernetesClusterStatus

type KubernetesClusterStatusWriter

type KubernetesClusterStatusWriter interface {
	// Update updates the fields corresponding to the status subresource for the
	// given KubernetesCluster object.
	UpdateKubernetesClusterStatus(ctx context.Context, obj *KubernetesCluster, opts ...client.SubResourceUpdateOption) error

	// Patch patches the given KubernetesCluster object's subresource.
	PatchKubernetesClusterStatus(ctx context.Context, obj *KubernetesCluster, patch client.Patch, opts ...client.SubResourcePatchOption) error
}

StatusWriter knows how to update status subresource of a KubernetesCluster object.

type KubernetesClusterTransitionFunction

type KubernetesClusterTransitionFunction func(existing, desired *KubernetesCluster) error

KubernetesClusterTransitionFunction instructs the KubernetesClusterWriter how to transition between an existing KubernetesCluster object and a desired on an Upsert

type KubernetesClusterWriter

type KubernetesClusterWriter interface {
	// Create saves the KubernetesCluster object.
	CreateKubernetesCluster(ctx context.Context, obj *KubernetesCluster, opts ...client.CreateOption) error

	// Delete deletes the KubernetesCluster object.
	DeleteKubernetesCluster(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error

	// Update updates the given KubernetesCluster object.
	UpdateKubernetesCluster(ctx context.Context, obj *KubernetesCluster, opts ...client.UpdateOption) error

	// Patch patches the given KubernetesCluster object.
	PatchKubernetesCluster(ctx context.Context, obj *KubernetesCluster, patch client.Patch, opts ...client.PatchOption) error

	// DeleteAllOf deletes all KubernetesCluster objects matching the given options.
	DeleteAllOfKubernetesCluster(ctx context.Context, opts ...client.DeleteAllOfOption) error

	// Create or Update the KubernetesCluster object.
	UpsertKubernetesCluster(ctx context.Context, obj *KubernetesCluster, transitionFuncs ...KubernetesClusterTransitionFunction) error
}

Writer knows how to create, delete, and update KubernetesClusters.

type MulticlusterClientset

type MulticlusterClientset interface {
	// Cluster returns a Clientset for the given cluster
	Cluster(cluster string) (Clientset, error)
}

MulticlusterClientset for the multicluster.solo.io/v1alpha1 APIs

func NewMulticlusterClientset

func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset

type MulticlusterKubernetesClusterClient

type MulticlusterKubernetesClusterClient interface {
	// Cluster returns a KubernetesClusterClient for the given cluster
	Cluster(cluster string) (KubernetesClusterClient, error)
}

Provides KubernetesClusterClients for multiple clusters.

func NewMulticlusterKubernetesClusterClient

func NewMulticlusterKubernetesClusterClient(client multicluster.Client) MulticlusterKubernetesClusterClient

type PolicyRule added in v0.7.17

type PolicyRule struct {

	// Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule.  VerbAll represents all kinds.
	Verbs []string `protobuf:"bytes,1,rep,name=verbs,proto3" json:"verbs,omitempty"`
	// APIGroups is the name of the APIGroup that contains the resources.  If multiple API groups are specified, any action requested against one of
	// the enumerated resources in any API group will be allowed.
	// +optional
	ApiGroups []string `protobuf:"bytes,2,rep,name=api_groups,json=apiGroups,proto3" json:"api_groups,omitempty"`
	// Resources is a list of resources this rule applies to.  ResourceAll represents all resources.
	// +optional
	Resources []string `protobuf:"bytes,3,rep,name=resources,proto3" json:"resources,omitempty"`
	// ResourceNames is an optional white list of names that the rule applies to.  An empty set means that everything is allowed.
	// +optional
	ResourceNames []string `protobuf:"bytes,4,rep,name=resource_names,json=resourceNames,proto3" json:"resource_names,omitempty"`
	// NonResourceURLs is a set of partial urls that a user should have access to.  *s are allowed, but only as the full, final step in the path
	// Since non-resource URLs are not namespaced, this field is only applicable for ClusterRoles referenced from a ClusterRoleBinding.
	// Rules can either apply to API resources (such as "pods" or "secrets") or non-resource URL paths (such as "/api"),  but not both.
	// +optional
	NonResourceUrls []string `protobuf:"bytes,5,rep,name=non_resource_urls,json=nonResourceUrls,proto3" json:"non_resource_urls,omitempty"`
	// contains filtered or unexported fields
}

Copy pasted from the official kubernetes definition: https://github.com/kubernetes/api/blob/697df40f2d58d7d48b180b83d7b9b2b5ff812923/rbac/v1alpha1/generated.proto#L98 PolicyRule holds information that describes a policy rule, but does not contain information about who the rule applies to or which namespace the rule applies to.

func (*PolicyRule) Clone added in v0.19.9

func (m *PolicyRule) Clone() proto.Message

Clone function

func (*PolicyRule) Descriptor deprecated added in v0.7.17

func (*PolicyRule) Descriptor() ([]byte, []int)

Deprecated: Use PolicyRule.ProtoReflect.Descriptor instead.

func (*PolicyRule) Equal added in v0.7.17

func (m *PolicyRule) Equal(that interface{}) bool

Equal function

func (*PolicyRule) GetApiGroups added in v0.7.17

func (x *PolicyRule) GetApiGroups() []string

func (*PolicyRule) GetNonResourceUrls added in v0.7.17

func (x *PolicyRule) GetNonResourceUrls() []string

func (*PolicyRule) GetResourceNames added in v0.7.17

func (x *PolicyRule) GetResourceNames() []string

func (*PolicyRule) GetResources added in v0.7.17

func (x *PolicyRule) GetResources() []string

func (*PolicyRule) GetVerbs added in v0.7.17

func (x *PolicyRule) GetVerbs() []string

func (*PolicyRule) Hash added in v0.7.17

func (m *PolicyRule) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*PolicyRule) ProtoMessage added in v0.7.17

func (*PolicyRule) ProtoMessage()

func (*PolicyRule) ProtoReflect added in v0.7.17

func (x *PolicyRule) ProtoReflect() protoreflect.Message

func (*PolicyRule) Reset added in v0.7.17

func (x *PolicyRule) Reset()

func (*PolicyRule) String added in v0.7.17

func (x *PolicyRule) String() string

Directories

Path Synopsis
Definitions for the Kubernetes Controllers
Definitions for the Kubernetes Controllers
mocks
Package mock_controller is a generated GoMock package.
Package mock_controller is a generated GoMock package.
Package mock_v1alpha1 is a generated GoMock package.
Package mock_v1alpha1 is a generated GoMock package.
mocks
Package mock_v1alpha1sets is a generated GoMock package.
Package mock_v1alpha1sets is a generated GoMock package.

Jump to

Keyboard shortcuts

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