v1alpha1

package
v0.2.5 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2022 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 defines the v1alpha1 version of the Kube Bind API

+groupName=kube-bind.io +groupGoName=KubeBind +k8s:deepcopy-gen=package,register +kubebuilder:validation:Optional

Index

Constants

View Source
const (
	// APIServiceBindingConditionSecretValid is set when the secret is valid.
	APIServiceBindingConditionSecretValid conditionsapi.ConditionType = "SecretValid"

	// APIServiceBindingConditionInformersSynced is set when the informers can sync.
	APIServiceBindingConditionInformersSynced conditionsapi.ConditionType = "InformersSynced"

	// APIServiceBindingConditionHeartbeating is set when the ClusterBinding of the service provider
	// is successfully heartbeated.
	APIServiceBindingConditionHeartbeating conditionsapi.ConditionType = "Heartbeating"

	// APIServiceBindingConditionConnected means the APIServiceBinding has been connected to a APIServiceExport.
	APIServiceBindingConditionConnected conditionsapi.ConditionType = "Connected"

	// APIServiceBindingConditionSchemaInSync is set to true when the APIServiceExport's
	// schema is applied to the consumer cluster.
	APIServiceBindingConditionSchemaInSync conditionsapi.ConditionType = "SchemaInSync"

	// DownstreamFinalizer is put on downstream objects to block their deletion until
	// the upstream object has been deleted.
	DownstreamFinalizer = "kubebind.io/syncer"
)
View Source
const (
	// APIServiceExportConditionConnected means the APIServiceExport has been connected to a APIServiceBinding.
	APIServiceExportConditionConnected conditionsapi.ConditionType = "Connected"

	// APIServiceExportConditionProviderInSync is set to true when the APIServiceExport
	// is in-sync with the CRD in the service provider cluster.
	APIServiceExportConditionProviderInSync conditionsapi.ConditionType = "ProviderInSync"

	// APIServiceExportConditionConsumerInSync is set to true when the APIServiceExport's
	// schema is applied to the consumer cluster.
	APIServiceExportConditionConsumerInSync conditionsapi.ConditionType = "ConsumerInSync"
)
View Source
const (
	// ClusterBindingConditionSecretValid is set when the secret is valid.
	ClusterBindingConditionSecretValid = "SecretValid"

	// ClusterBindingConditionValidVersion is set when the binary version is valid.
	ClusterBindingConditionValidVersion = "ValidVersion"

	// ClusterBindingConditionHealthy is set when the cluster binding is healthy.
	ClusterBindingConditionHealthy = "Healthy"
)
View Source
const (
	// GroupName is the group name used in this package
	GroupName = "kube-bind.io"

	// GroupVersion is the group version used in this package
	GroupVersion = "v1alpha1"
)
View Source
const (
	// APIServiceBindingRequestConditionExportsReady is set to true when the
	// corresponding APIServiceExport is ready.
	APIServiceBindingRequestConditionExportsReady conditionsapi.ConditionType = "ExportsReady"
)
View Source
const (
	APIServiceNamespaceAnnotationKey = "kube-bind.io/api-service-namespace"
)
View Source
const (
	SourceSpecHashAnnotationKey = "kube-bind.io/source-spec-hash"
)

Variables

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: GroupVersion}

SchemeGroupVersion is group version used to register these objects

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type APIServiceBinding added in v0.0.10

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

	// spec specifies how an API service from a service provider should be bound in the
	// local consumer cluster.
	Spec APIServiceBindingSpec `json:"spec"`

	// status contains reconciliation information for a service binding.
	Status APIServiceBindingStatus `json:"status,omitempty"`
}

APIServiceBinding binds an API service represented by a APIServiceExport in a service provider cluster into a consumer cluster. This object lives in the consumer cluster.

+crd +genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Cluster,categories=kube-bindings,shortName=sb +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Provider",type="string",JSONPath=`.status.providerPrettyName`,priority=0 +kubebuilder:printcolumn:name="Resources",type="string",JSONPath=`.metadata.annotations.kube-bind\.io/resources`,priority=1 +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].status`,priority=0 +kubebuilder:printcolumn:name="Message",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].message`,priority=0 +kubebuilder:printcolumn:name="Age",type="date",JSONPath=`.metadata.creationTimestamp`,priority=0

func (*APIServiceBinding) DeepCopy added in v0.0.10

func (in *APIServiceBinding) DeepCopy() *APIServiceBinding

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceBinding.

func (*APIServiceBinding) DeepCopyInto added in v0.0.10

func (in *APIServiceBinding) DeepCopyInto(out *APIServiceBinding)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIServiceBinding) DeepCopyObject added in v0.0.10

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*APIServiceBinding) GetConditions added in v0.0.10

func (in *APIServiceBinding) GetConditions() conditionsapi.Conditions

func (*APIServiceBinding) SetConditions added in v0.0.10

func (in *APIServiceBinding) SetConditions(conditions conditionsapi.Conditions)

type APIServiceBindingList added in v0.0.10

type APIServiceBindingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []APIServiceBinding `json:"items"`
}

APIServiceBindingList is a list of APIServiceBindings.

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*APIServiceBindingList) DeepCopy added in v0.0.10

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceBindingList.

func (*APIServiceBindingList) DeepCopyInto added in v0.0.10

func (in *APIServiceBindingList) DeepCopyInto(out *APIServiceBindingList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIServiceBindingList) DeepCopyObject added in v0.0.10

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type APIServiceBindingRequest added in v0.0.11

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

	// spec specifies how an API service from a service provider should be bound in the
	// local consumer cluster.
	//
	// +required
	// +kubebuilder:validation:Required
	Spec APIServiceBindingRequestSpec `json:"spec"`

	// status contains reconciliation information for a service binding.
	Status APIServiceBindingRequestStatus `json:"status,omitempty"`
}

APIServiceBindingRequest is represents a request session of kubectl-bind-apiservice.

The service provider can prune these objects after some time.

+crd +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Namespaced,categories=kube-bindings +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].status`,priority=0 +kubebuilder:printcolumn:name="Age",type="date",JSONPath=`.metadata.creationTimestamp`,priority=0

func (*APIServiceBindingRequest) DeepCopy added in v0.0.11

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceBindingRequest.

func (*APIServiceBindingRequest) DeepCopyInto added in v0.0.11

func (in *APIServiceBindingRequest) DeepCopyInto(out *APIServiceBindingRequest)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIServiceBindingRequest) DeepCopyObject added in v0.0.11

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*APIServiceBindingRequest) GetConditions added in v0.0.14

func (*APIServiceBindingRequest) SetConditions added in v0.0.14

func (in *APIServiceBindingRequest) SetConditions(conditions conditionsapi.Conditions)

type APIServiceBindingRequestList added in v0.0.14

type APIServiceBindingRequestList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []APIServiceBindingRequest `json:"items"`
}

APIServiceBindingRequestList is the list of APIServiceBindingRequest.

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*APIServiceBindingRequestList) DeepCopy added in v0.0.14

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceBindingRequestList.

func (*APIServiceBindingRequestList) DeepCopyInto added in v0.0.14

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIServiceBindingRequestList) DeepCopyObject added in v0.0.14

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type APIServiceBindingRequestPhase added in v0.0.14

type APIServiceBindingRequestPhase string

APIServiceBindingRequestPhase describes the phase of a binding request.

const (
	// APIServiceBindingRequestPhasePending indicates that the service binding
	// is in progress.
	APIServiceBindingRequestPhasePending APIServiceBindingRequestPhase = "Pending"
	// APIServiceBindingRequestPhaseFailed indicates that the service binding
	// has failed. It will not resume.
	APIServiceBindingRequestPhaseFailed APIServiceBindingRequestPhase = "Failed"
	// APIServiceBindingRequestPhaseSucceeded indicates that the service binding
	// has succeeded. The corresponding APIServiceExport have been created and
	// are ready.
	APIServiceBindingRequestPhaseSucceeded APIServiceBindingRequestPhase = "Succeeded"
)

type APIServiceBindingRequestResource added in v0.0.14

type APIServiceBindingRequestResource struct {
	GroupResource `json:",inline"`

	// versions is a list of versions that should be exported. If this is empty
	// a sensible default is chosen by the service provider.
	Versions []string `json:"versions,omitempty"`
}

func (*APIServiceBindingRequestResource) DeepCopy added in v0.0.14

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceBindingRequestResource.

func (*APIServiceBindingRequestResource) DeepCopyInto added in v0.0.14

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIServiceBindingRequestResponse added in v0.0.14

type APIServiceBindingRequestResponse struct {
	metav1.TypeMeta `json:",inline"`
	ObjectMeta      NameObjectMeta `json:"metadata"`

	// spec specifies how an API service from a service provider should be bound in the
	// local consumer cluster.
	//
	// +required
	// +kubebuilder:validation:Required
	Spec APIServiceBindingRequestSpec `json:"spec"`

	// status contains reconciliation information for a service binding.
	Status APIServiceBindingRequestStatus `json:"status,omitempty"`
}

APIServiceBindingRequestResponse is like APIServiceBindingRequest but without ObjectMeta, to avoid unwanted metadata fields being sent in the response.

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*APIServiceBindingRequestResponse) DeepCopy added in v0.0.14

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceBindingRequestResponse.

func (*APIServiceBindingRequestResponse) DeepCopyInto added in v0.0.14

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIServiceBindingRequestResponse) DeepCopyObject added in v0.0.14

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type APIServiceBindingRequestSpec added in v0.0.11

type APIServiceBindingRequestSpec struct {
	// parameters holds service provider specific parameters for this binding
	// request.
	//
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="parameters are immutable"
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`

	// resources is a list of resources that should be exported.
	//
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="resources are immutable"
	Resources []APIServiceBindingRequestResource `json:"resources"`
}

APIServiceBindingRequestSpec is the spec of a APIServiceBindingRequest.

func (*APIServiceBindingRequestSpec) DeepCopy added in v0.0.11

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceBindingRequestSpec.

func (*APIServiceBindingRequestSpec) DeepCopyInto added in v0.0.11

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIServiceBindingRequestStatus added in v0.0.11

type APIServiceBindingRequestStatus struct {
	// phase is the current phase of the binding request. It starts in Pending
	// and transitions to Succeeded or Failed. See the condition for detailed
	// information.
	//
	// +optional
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=Pending
	// +kubebuilder:validation:Enum=Pending;Failed;Succeeded
	Phase APIServiceBindingRequestPhase `json:"phase,omitempty"`

	// terminalMessage is a human readable message that describes the reason
	// for the current phase.
	TerminalMessage string `json:"terminalMessage,omitempty"`

	// conditions is a list of conditions that apply to the ClusterBinding. It is
	// updated by the konnector and the service provider.
	Conditions conditionsapi.Conditions `json:"conditions,omitempty"`
}

func (*APIServiceBindingRequestStatus) DeepCopy added in v0.0.11

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceBindingRequestStatus.

func (*APIServiceBindingRequestStatus) DeepCopyInto added in v0.0.11

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIServiceBindingSpec added in v0.0.10

type APIServiceBindingSpec struct {
	// kubeconfigSecretName is the secret ref that contains the kubeconfig of the service cluster.
	//
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="kubeconfigSecretRef is immutable"
	KubeconfigSecretRef ClusterSecretKeyRef `json:"kubeconfigSecretRef"`
}

func (*APIServiceBindingSpec) DeepCopy added in v0.0.10

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceBindingSpec.

func (*APIServiceBindingSpec) DeepCopyInto added in v0.0.10

func (in *APIServiceBindingSpec) DeepCopyInto(out *APIServiceBindingSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIServiceBindingStatus added in v0.0.10

type APIServiceBindingStatus struct {
	// providerPrettyName is the pretty name of the service provider cluster. This
	// can be shared among different APIServiceBindings.
	ProviderPrettyName string `json:"providerPrettyName,omitempty"`

	// conditions is a list of conditions that apply to the APIServiceBinding.
	Conditions conditionsapi.Conditions `json:"conditions,omitempty"`
}

func (*APIServiceBindingStatus) DeepCopy added in v0.0.10

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceBindingStatus.

func (*APIServiceBindingStatus) DeepCopyInto added in v0.0.10

func (in *APIServiceBindingStatus) DeepCopyInto(out *APIServiceBindingStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIServiceExport added in v0.0.10

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

	// spec specifies the resource.
	// +required
	// +kubebuilder:validation:Required
	Spec APIServiceExportSpec `json:"spec"`

	// status contains reconciliation information for the resource.
	Status APIServiceExportStatus `json:"status,omitempty"`
}

APIServiceExport specifies the resource to be exported. It is mostly a CRD: - the spec is a CRD spec, but without webhooks - the status reflects that on the consumer cluster

+crd +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Namespaced,categories=kube-bindings +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Established",type="string",JSONPath=`.status.conditions[?(@.type=="Established")].status`,priority=5 +kubebuilder:printcolumn:name="Age",type="date",JSONPath=`.metadata.creationTimestamp`,priority=0

func (*APIServiceExport) DeepCopy added in v0.0.10

func (in *APIServiceExport) DeepCopy() *APIServiceExport

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceExport.

func (*APIServiceExport) DeepCopyInto added in v0.0.10

func (in *APIServiceExport) DeepCopyInto(out *APIServiceExport)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIServiceExport) DeepCopyObject added in v0.0.10

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*APIServiceExport) GetConditions added in v0.0.10

func (in *APIServiceExport) GetConditions() conditionsapi.Conditions

func (*APIServiceExport) SetConditions added in v0.0.10

func (in *APIServiceExport) SetConditions(conditions conditionsapi.Conditions)

type APIServiceExportCRDSpec added in v0.2.0

type APIServiceExportCRDSpec struct {
	// group is the API group of the defined custom resource. Empty string means the
	// core API group. 	The resources are served under `/apis/<group>/...` or `/api` for the core group.
	//
	// +required
	Group string `json:"group"`

	// names specify the resource and kind names for the custom resource.
	//
	// +required
	Names apiextensionsv1.CustomResourceDefinitionNames `json:"names"`

	// scope indicates whether the defined custom resource is cluster- or namespace-scoped.
	// Allowed values are `Cluster` and `Namespaced`.
	//
	// +required
	// +kubebuilder:validation:Enum=Cluster;Namespaced
	Scope apiextensionsv1.ResourceScope `json:"scope"`

	// versions is the API version of the defined custom resource.
	//
	// Note: the OpenAPI v3 schemas must be equal for all versions until CEL
	//       version migration is supported.
	//
	// +required
	// +listType=map
	// +listMapKey=name
	// +kubebuilder:validation:MinItems=1
	Versions []APIServiceExportVersion `json:"versions"`
}

func (*APIServiceExportCRDSpec) DeepCopy added in v0.2.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceExportCRDSpec.

func (*APIServiceExportCRDSpec) DeepCopyInto added in v0.2.0

func (in *APIServiceExportCRDSpec) DeepCopyInto(out *APIServiceExportCRDSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIServiceExportList added in v0.0.10

type APIServiceExportList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []APIServiceExport `json:"items"`
}

APIServiceExportList is the objects list that represents the APIServiceExport.

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*APIServiceExportList) DeepCopy added in v0.0.10

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceExportList.

func (*APIServiceExportList) DeepCopyInto added in v0.0.10

func (in *APIServiceExportList) DeepCopyInto(out *APIServiceExportList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIServiceExportList) DeepCopyObject added in v0.0.10

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type APIServiceExportSchema added in v0.2.0

type APIServiceExportSchema struct {
	// openAPIV3Schema is the OpenAPI v3 schema to use for validation and pruning.
	//
	// +kubebuilder:pruning:PreserveUnknownFields
	// +structType=atomic
	// +required
	// +kubebuilder:validation:Required
	OpenAPIV3Schema runtime.RawExtension `json:"openAPIV3Schema"`
}

func (*APIServiceExportSchema) DeepCopy added in v0.2.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceExportSchema.

func (*APIServiceExportSchema) DeepCopyInto added in v0.2.0

func (in *APIServiceExportSchema) DeepCopyInto(out *APIServiceExportSchema)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIServiceExportSpec added in v0.0.10

type APIServiceExportSpec struct {
	APIServiceExportCRDSpec `json:",inline"`

	// informerScope is the scope of the APIServiceExport. It can be either Cluster or Namespace.
	//
	// Cluster:    The konnector has permission to watch all namespaces at once and cluster-scoped resources.
	//             This is more efficient than watching each namespace individually.
	// Namespaced: The konnector has permission to watch only single namespaces.
	//             This is more resource intensive. And it means cluster-scoped resources cannot be exported.
	//
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="informerScope is immutable"
	InformerScope Scope `json:"informerScope"`
}

APIServiceExportSpec defines the desired state of APIServiceExport.

+kubebuilder:validation:XValidation:rule=`self.scope == "Namespaced" || self.informerScope == "Cluster"`,message="informerScope is must be Cluster for cluster-scoped resources"

func (*APIServiceExportSpec) DeepCopy added in v0.0.10

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceExportSpec.

func (*APIServiceExportSpec) DeepCopyInto added in v0.0.10

func (in *APIServiceExportSpec) DeepCopyInto(out *APIServiceExportSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIServiceExportStatus added in v0.0.10

type APIServiceExportStatus struct {
	// acceptedNames are the names that are actually being used to serve discovery.
	// They may be different than the names in spec.
	// +optional
	AcceptedNames apiextensionsv1.CustomResourceDefinitionNames `json:"acceptedNames"`

	// storedVersions lists all versions of CustomResources that were ever persisted. Tracking these
	// versions allows a migration path for stored versions in etcd. The field is mutable
	// so a migration controller can finish a migration to another version (ensuring
	// no old objects are left in storage), and then remove the rest of the
	// versions from this list.
	// Versions may not be removed from `spec.versions` while they exist in this list.
	// +optional
	StoredVersions []string `json:"storedVersions"`

	// conditions is a list of conditions that apply to the APIServiceExport. It is
	// updated by the konnector on the consumer cluster.
	Conditions conditionsapi.Conditions `json:"conditions,omitempty"`
}

APIServiceExportStatus stores status information about a APIServiceExport. It reflects the status of the CRD of the consumer cluster.

func (*APIServiceExportStatus) DeepCopy added in v0.0.10

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceExportStatus.

func (*APIServiceExportStatus) DeepCopyInto added in v0.0.10

func (in *APIServiceExportStatus) DeepCopyInto(out *APIServiceExportStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIServiceExportVersion added in v0.2.0

type APIServiceExportVersion struct {
	// name is the version name, e.g. “v1”, “v2beta1”, etc.
	// The custom resources are served under this version at `/apis/<group>/<version>/...` if `served` is true.
	//
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:Pattern=^v[1-9][0-9]*([a-z]+[1-9][0-9]*)?$
	Name string `json:"name"`
	// served is a flag enabling/disabling this version from being served via REST APIs
	//
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:default=true
	Served bool `json:"served"`
	// storage indicates this version should be used when persisting custom resources to storage.
	// There must be exactly one version with storage=true.
	//
	// +required
	// +kubebuilder:validation:Required
	Storage bool `json:"storage"`
	// deprecated indicates this version of the custom resource API is deprecated.
	// When set to true, API requests to this version receive a warning header in the server response.
	// Defaults to false.
	//
	// +optional
	Deprecated bool `json:"deprecated,omitempty"`
	// deprecationWarning overrides the default warning returned to API clients.
	// May only be set when `deprecated` is true.
	// The default warning indicates this version is deprecated and recommends use
	// of the newest served version of equal or greater stability, if one exists.
	//
	// +optional
	DeprecationWarning *string `json:"deprecationWarning,omitempty"`
	// schema describes the structural schema used for validation, pruning, and defaulting
	// of this version of the custom resource.
	//
	// +required
	// +kubebuilder:validation:Required
	Schema APIServiceExportSchema `json:"schema"`
	// subresources specify what subresources this version of the defined custom resource have.
	//
	// +optional
	Subresources apiextensionsv1.CustomResourceSubresources `json:"subresources,omitempty"`
	// additionalPrinterColumns specifies additional columns returned in Table output.
	// See https://kubernetes.io/docs/reference/using-api/api-concepts/#receiving-resources-as-tables for details.
	// If no columns are specified, a single column displaying the age of the custom resource is used.
	//
	// +optional
	// +listType=map
	// +listMapKey=name
	AdditionalPrinterColumns []apiextensionsv1.CustomResourceColumnDefinition `json:"additionalPrinterColumns,omitempty"`
}

APIServiceExportVersion describes one API version of a resource.

func (*APIServiceExportVersion) DeepCopy added in v0.2.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceExportVersion.

func (*APIServiceExportVersion) DeepCopyInto added in v0.2.0

func (in *APIServiceExportVersion) DeepCopyInto(out *APIServiceExportVersion)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIServiceNamespace added in v0.0.10

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

	// spec specifies a service namespace.
	Spec APIServiceNamespaceSpec `json:"spec"`

	// status contains reconciliation information for a service namespace
	Status APIServiceNamespaceStatus `json:"status,omitempty"`
}

APIServiceNamespace defines how consumer namespaces map to service namespaces. These objects are created by the konnector, and a service namespace is then created by the service provider.

The name of the APIServiceNamespace equals the namespace name in the consumer cluster.

+crd +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Namespaced,categories=kube-bindings +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Namespace",type="string",JSONPath=`.status.namespace`,priority=0 +kubebuilder:printcolumn:name="Age",type="date",JSONPath=`.metadata.creationTimestamp`,priority=0

func (*APIServiceNamespace) DeepCopy added in v0.0.10

func (in *APIServiceNamespace) DeepCopy() *APIServiceNamespace

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceNamespace.

func (*APIServiceNamespace) DeepCopyInto added in v0.0.10

func (in *APIServiceNamespace) DeepCopyInto(out *APIServiceNamespace)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIServiceNamespace) DeepCopyObject added in v0.0.10

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type APIServiceNamespaceList added in v0.0.10

type APIServiceNamespaceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []APIServiceNamespace `json:"items"`
}

APIServiceNamespaceList is the list of ServiceNamespaces.

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*APIServiceNamespaceList) DeepCopy added in v0.0.10

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceNamespaceList.

func (*APIServiceNamespaceList) DeepCopyInto added in v0.0.10

func (in *APIServiceNamespaceList) DeepCopyInto(out *APIServiceNamespaceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIServiceNamespaceList) DeepCopyObject added in v0.0.10

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type APIServiceNamespaceSpec added in v0.0.10

type APIServiceNamespaceSpec struct {
}

func (*APIServiceNamespaceSpec) DeepCopy added in v0.0.10

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceNamespaceSpec.

func (*APIServiceNamespaceSpec) DeepCopyInto added in v0.0.10

func (in *APIServiceNamespaceSpec) DeepCopyInto(out *APIServiceNamespaceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIServiceNamespaceStatus added in v0.0.10

type APIServiceNamespaceStatus struct {
	// namespace is the service provider namespace name that will be bound to the
	// consumer namespace named like this object.
	Namespace string `json:"namespace,omitempty"`
}

func (*APIServiceNamespaceStatus) DeepCopy added in v0.0.10

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceNamespaceStatus.

func (*APIServiceNamespaceStatus) DeepCopyInto added in v0.0.10

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AuthenticationMethod added in v0.0.14

type AuthenticationMethod struct {
	// method is the name of the authentication method. The follow methods are supported:
	//
	// - "OAuth2CodeGrant"
	//
	// The list is ordered by preference by the service provider. The consumer should
	// try to use the first method in the list that matches the capabilities of the
	// client environment (e.g. does the client support a web browser) and the
	// flags provided by the user.
	//
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=OAuth2CodeGrant
	Method string `json:"method,omitempty"`

	// OAuth2CodeGrant is the configuration for the OAuth2 code grant flow.
	OAuth2CodeGrant *OAuth2CodeGrant `json:"oauth2CodeGrant,omitempty"`
}

func (*AuthenticationMethod) DeepCopy added in v0.0.14

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthenticationMethod.

func (*AuthenticationMethod) DeepCopyInto added in v0.0.14

func (in *AuthenticationMethod) DeepCopyInto(out *AuthenticationMethod)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BindingProvider added in v0.0.14

type BindingProvider struct {
	metav1.TypeMeta `json:",inline"`

	// providerPrettyName is the name of the provider that is displayed to the user, e.g:
	// MangoDB Inc.
	//
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	ProviderPrettyName string `json:"providerPrettyName"`

	// authenticationMethods is a list of authentication methods supported by the
	// service provider.
	//
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	AuthenticationMethods []AuthenticationMethod `json:"authenticationMethods,omitempty"`
}

BindingProvider is a non-CRUD resource that is returned by the server before authentication. It specifies which authentication flows the provider supports.

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*BindingProvider) DeepCopy added in v0.0.14

func (in *BindingProvider) DeepCopy() *BindingProvider

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BindingProvider.

func (*BindingProvider) DeepCopyInto added in v0.0.14

func (in *BindingProvider) DeepCopyInto(out *BindingProvider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BindingProvider) DeepCopyObject added in v0.0.14

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BindingResponse added in v0.0.14

type BindingResponse struct {
	metav1.TypeMeta `json:",inline"`

	// authentication is data specific to the authentication method that was used.
	//
	// +optional
	// +kubebuilder:validation:Optional
	Authentication BindingResponseAuthentication `json:"authentication,omitempty"`

	// kubeconfig is a kubeconfig file that can be used to access the service provider cluster.
	//
	// +required
	// +kubebuilder:validation:Required
	Kubeconfig []byte `json:"kubeconfig"`

	// requests is a list of binding requests of different types, e.g. APIServiceBindingRequest.
	//
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	Requests []runtime.RawExtension `json:"requests"`
}

BindingResponse is a non-CRUD resource that is returned by the server after authentication and resource selection on the service prpvider website. It returns a list of requests of possibly different types that kubectl bind has to pass to the sub-command kubect-bind-<type>, e.g. kubectl-bind-apiservice for APIServiceBindingRequest.

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*BindingResponse) DeepCopy added in v0.0.14

func (in *BindingResponse) DeepCopy() *BindingResponse

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BindingResponse.

func (*BindingResponse) DeepCopyInto added in v0.0.14

func (in *BindingResponse) DeepCopyInto(out *BindingResponse)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*BindingResponse) DeepCopyObject added in v0.0.14

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type BindingResponseAuthentication added in v0.1.0

type BindingResponseAuthentication struct {
	// oauth2CodeGrant is the data returned by the OAuth2 code grant flow.
	//
	// +optional
	// +kubebuilder:validation:Optional
	OAuth2CodeGrant *BindingResponseAuthenticationOAuth2CodeGrant `json:"oauth2CodeGrant,omitempty"`
}

BindingResponseAuthentication is the authentication data specific to the authentication method that was used. Exactly one field must be set.

func (*BindingResponseAuthentication) DeepCopy added in v0.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BindingResponseAuthentication.

func (*BindingResponseAuthentication) DeepCopyInto added in v0.1.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BindingResponseAuthenticationOAuth2CodeGrant added in v0.1.0

type BindingResponseAuthenticationOAuth2CodeGrant struct {
	// sessionID is the session ID that was originally passed from the consumer to
	// the service provider. It must be checked to equal the original value.
	SessionID string `json:"sid"`

	// id is the ID of the authenticated user. It is for informational purposes only.
	ID string `json:"id"`
}

BindingResponseAuthenticationOAuth2CodeGrant contains the authentication data which is passed back to the consumer as BindingResponse.Authentication. It is authentication method specific.

func (*BindingResponseAuthenticationOAuth2CodeGrant) DeepCopy added in v0.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BindingResponseAuthenticationOAuth2CodeGrant.

func (*BindingResponseAuthenticationOAuth2CodeGrant) DeepCopyInto added in v0.1.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterBinding

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

	// spec represents the data in the newly created ClusterBinding.
	// +required
	// +kubebuilder:validation:Required
	Spec ClusterBindingSpec `json:"spec"`

	// status contains reconciliation information for the service binding.
	Status ClusterBindingStatus `json:"status,omitempty"`
}

ClusterBinding represents a bound consumer class. It lives in a service provider cluster and is a singleton named "cluster".

+crd +genclient +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:scope=Namespaced,categories=kube-bindings +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Konnector Version",type="string",JSONPath=`.status.konnectorVersion`,priority=0 +kubebuilder:printcolumn:name="Last Heartbeat",type="date",JSONPath=`.status.lastHeartbeatTime`,priority=0 +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=`.status.conditions[?(@.type=="Ready")].status`,priority=0 +kubebuilder:printcolumn:name="Age",type="date",JSONPath=`.metadata.creationTimestamp`,priority=0

func (*ClusterBinding) DeepCopy

func (in *ClusterBinding) DeepCopy() *ClusterBinding

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterBinding.

func (*ClusterBinding) DeepCopyInto

func (in *ClusterBinding) DeepCopyInto(out *ClusterBinding)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ClusterBinding) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*ClusterBinding) GetConditions added in v0.0.6

func (in *ClusterBinding) GetConditions() conditionsapi.Conditions

func (*ClusterBinding) SetConditions added in v0.0.6

func (in *ClusterBinding) SetConditions(conditions conditionsapi.Conditions)

type ClusterBindingList

type ClusterBindingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []ClusterBinding `json:"items"`
}

ClusterBindingList is the objects list that represents the ClusterBinding.

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ClusterBindingList) DeepCopy

func (in *ClusterBindingList) DeepCopy() *ClusterBindingList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterBindingList.

func (*ClusterBindingList) DeepCopyInto

func (in *ClusterBindingList) DeepCopyInto(out *ClusterBindingList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ClusterBindingList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterBindingSpec

type ClusterBindingSpec struct {
	// kubeconfigSecretName is the secret ref that contains the kubeconfig of the service cluster.
	//
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="kubeconfigSecretRef is immutable"
	KubeconfigSecretRef LocalSecretKeyRef `json:"kubeconfigSecretRef"`

	// providerPrettyName is the pretty name of the service provider cluster. This
	// can be shared among different ServiceBindings.
	//
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	ProviderPrettyName string `json:"providerPrettyName"`

	// serviceProviderSpec contains all the data and information about the service which has been bound to the service
	// binding request. The service providers decide what they need and what to configure based on what then include in
	// this field, such as service region, type, tiers, etc...
	ServiceProviderSpec runtime.RawExtension `json:"serviceProviderSpec,omitempty"`
}

ClusterBindingSpec represents the data in the newly created ClusterBinding.

func (*ClusterBindingSpec) DeepCopy

func (in *ClusterBindingSpec) DeepCopy() *ClusterBindingSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterBindingSpec.

func (*ClusterBindingSpec) DeepCopyInto

func (in *ClusterBindingSpec) DeepCopyInto(out *ClusterBindingSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterBindingStatus

type ClusterBindingStatus struct {
	// lastHeartbeatTime is the last time the konnector updated the status.
	LastHeartbeatTime metav1.Time `json:"lastHeartbeatTime,omitempty"`

	// heartbeatInterval is the maximal interval between heartbeats that the
	// konnector promises to send. The service provider can assume that the
	// konnector is not unhealthy if it does not receive a heartbeat within
	// this time.
	HeartbeatInterval metav1.Duration `json:"heartbeatInterval,omitempty"`

	// konnectorVersion is the version of the konnector that is running on the
	// consumer cluster.
	KonnectorVersion string `json:"konnectorVersion,omitempty"`

	// conditions is a list of conditions that apply to the ClusterBinding. It is
	// updated by the konnector and the service provider.
	Conditions conditionsapi.Conditions `json:"conditions,omitempty"`
}

ClusterBindingStatus stores status information about a service binding. It is updated by both the konnector and the service provider.

func (*ClusterBindingStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterBindingStatus.

func (*ClusterBindingStatus) DeepCopyInto

func (in *ClusterBindingStatus) DeepCopyInto(out *ClusterBindingStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterSecretKeyRef

type ClusterSecretKeyRef struct {
	LocalSecretKeyRef `json:",inline"`

	// Namespace of the referent.
	//
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Namespace string `json:"namespace"`
}

func (*ClusterSecretKeyRef) DeepCopy

func (in *ClusterSecretKeyRef) DeepCopy() *ClusterSecretKeyRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSecretKeyRef.

func (*ClusterSecretKeyRef) DeepCopyInto

func (in *ClusterSecretKeyRef) DeepCopyInto(out *ClusterSecretKeyRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupResource

type GroupResource struct {
	// group is the name of an API group.
	// For core groups this is the empty string '""'.
	//
	// +kubebuilder:validation:Pattern=`^(|[a-z0-9]([-a-z0-9]*[a-z0-9](\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)?)$`
	// +kubebuilder:default=""
	Group string `json:"group,omitempty"`

	// resource is the name of the resource.
	// Note: it is worth noting that you can not ask for permissions for resource provided by a CRD
	// not provided by an service binding export.
	//
	// +kubebuilder:validation:Pattern=`^[a-z][-a-z0-9]*[a-z0-9]$`
	// +required
	// +kubebuilder:validation:Required
	Resource string `json:"resource"`
}

GroupResource identifies a resource.

func (*GroupResource) DeepCopy

func (in *GroupResource) DeepCopy() *GroupResource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupResource.

func (*GroupResource) DeepCopyInto

func (in *GroupResource) DeepCopyInto(out *GroupResource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocalSecretKeyRef

type LocalSecretKeyRef struct {
	// Name of the referent.
	//
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// The key of the secret to select from.  Must be "kubeconfig".
	//
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=kubeconfig
	Key string `json:"key"`
}

func (*LocalSecretKeyRef) DeepCopy

func (in *LocalSecretKeyRef) DeepCopy() *LocalSecretKeyRef

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalSecretKeyRef.

func (*LocalSecretKeyRef) DeepCopyInto

func (in *LocalSecretKeyRef) DeepCopyInto(out *LocalSecretKeyRef)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NameObjectMeta added in v0.0.14

type NameObjectMeta struct {
	// Name is the name of the object.
	Name string `json:"name,omitempty"`
}

func (*NameObjectMeta) DeepCopy added in v0.0.14

func (in *NameObjectMeta) DeepCopy() *NameObjectMeta

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NameObjectMeta.

func (*NameObjectMeta) DeepCopyInto added in v0.0.14

func (in *NameObjectMeta) DeepCopyInto(out *NameObjectMeta)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OAuth2CodeGrant added in v0.0.14

type OAuth2CodeGrant struct {
	// authenticatedURL is the service provider url that the service consumer will use to authenticate against
	// the service provider in case of using OIDC mode made, e.g: www.mangodb.com/kubernetes/authorize.
	//
	// +required
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	AuthenticatedURL string `json:"authenticatedURL"`
}

func (*OAuth2CodeGrant) DeepCopy added in v0.0.14

func (in *OAuth2CodeGrant) DeepCopy() *OAuth2CodeGrant

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OAuth2CodeGrant.

func (*OAuth2CodeGrant) DeepCopyInto added in v0.0.14

func (in *OAuth2CodeGrant) DeepCopyInto(out *OAuth2CodeGrant)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Scope added in v0.0.6

type Scope string

Scope is the scope of the ClusterBinding.

+kubebuilder:validation:Enum=Cluster;Namespaced

const (
	// ClusterScope means that the konnector has permission to watch all namespaces at once.
	// This is more efficient than watching each namespace individually.
	//
	// Only Cluster scoped ClusterBindings can export cluster-scoped resources. But Cluster
	// scoped ClusterBindings can export namespaced resources as well.
	//
	// In a Kubernetes cluster, Cluster scoped ClusterBindings don't allow isolation between tenants.
	// In a kcp cluster, the platform provides the isolation between workspaces and hence tenants
	// are isolated if with full cluster-wide access of a konnector.
	ClusterScope Scope = "Cluster"
	// NamespacedScope means that the konnector has permission to watch only single namespaces.
	// This is more resource intensive than Cluster scope.
	//
	// Only namespace-scoped resources can be exported in Namespace scope.
	NamespacedScope Scope = "Namespaced"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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