Documentation
¶
Overview ¶
Copyright 2022 The KubeZoo Authors.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- func InitConvertors(checkGroupKind util.CheckGroupKindFunc, listTenantCRDs ListTenantCRDsFunc) (nativeConvertor, customConvertor common.ObjectConvertor)
- func NewCRDConvertor(ort OwnerReferenceTransformer) common.ObjectConvertor
- func NewCrossReferenceConverter(c common.ObjectConvertor, objectTransformer ObjectTransformer) common.ObjectConvertor
- func NewDefaultConvertor(ort OwnerReferenceTransformer) common.ObjectConvertor
- func NewNativeObjectConvertor(defaultConvertor common.ObjectConvertor, ...) common.ObjectConvertor
- func NewNopeConvertor() common.ObjectConvertor
- type CRDConvertor
- type ClusterRoleBindingTransformer
- type ClusterRoleTransformer
- type CrossReferenceConvertor
- type CustomResourceTransformer
- type DefaultConvertor
- type EndpointSliceTransformer
- type EndpointsTransformer
- type EventTransformer
- type ListTenantCRDsFunc
- type NamespaceTransformer
- type NopeConvertor
- type ObjectReferenceTransformer
- type ObjectTransformer
- func NewClusterRoleBindingTransformer() ObjectTransformer
- func NewClusterRoleTransformer(listTenantCRDs ListTenantCRDsFunc) ObjectTransformer
- func NewCustomResourceTransformer() ObjectTransformer
- func NewEndpointSliceTransformer(ort ObjectReferenceTransformer) ObjectTransformer
- func NewEndpointsTransformer(ort ObjectReferenceTransformer) ObjectTransformer
- func NewEventTransformer(ort ObjectReferenceTransformer) ObjectTransformer
- func NewPVCTransformer() ObjectTransformer
- func NewPVTransformer() ObjectTransformer
- func NewRoleBindingTransformer() ObjectTransformer
- func NewRoleTransformer(listTenantCRDs ListTenantCRDsFunc) ObjectTransformer
- func NewTokenReviewTransformer() ObjectTransformer
- func NewVolumeAttachmentTransformer() ObjectTransformer
- type OwnerReferenceTransformer
- type PVCTranformer
- type PVTranformer
- type RoleBindingTransformer
- type RoleTransformer
- type TokenReviewTransformer
- type VolumeAttachmentTransformer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitConvertors ¶
func InitConvertors(checkGroupKind util.CheckGroupKindFunc, listTenantCRDs ListTenantCRDsFunc) (nativeConvertor, customConvertor common.ObjectConvertor)
InitConvertors initialize native convertor and custom convertor
func NewCRDConvertor ¶
func NewCRDConvertor(ort OwnerReferenceTransformer) common.ObjectConvertor
NewCRDConvertor initiates a CRDConvertor which implements the ObjectConvertor interfaces.
func NewCrossReferenceConverter ¶
func NewCrossReferenceConverter(c common.ObjectConvertor, objectTransformer ObjectTransformer) common.ObjectConvertor
convert spec.volumeName field
func NewDefaultConvertor ¶
func NewDefaultConvertor(ort OwnerReferenceTransformer) common.ObjectConvertor
NewDefaultConvertor initiates a DefaultConvertor which implements the ObjectConvertor interfaces.
func NewNativeObjectConvertor ¶
func NewNativeObjectConvertor(defaultConvertor common.ObjectConvertor, kindToConvertors map[schema.GroupKind]common.ObjectConvertor) common.ObjectConvertor
NewNativeObjectConvertor initiates a nativeObjectConvertor which implements the ObjectConvertor interfaces.
func NewNopeConvertor ¶
func NewNopeConvertor() common.ObjectConvertor
NewNopeConvertor returns a NopeConvertor to convert nothing.
Types ¶
type CRDConvertor ¶
type CRDConvertor struct {
// contains filtered or unexported fields
}
CRDConvertor implements the transformation between client and upstream server for CustomResourceDefinition resource.
func (*CRDConvertor) ConvertTenantObjectToUpstreamObject ¶
func (t *CRDConvertor) ConvertTenantObjectToUpstreamObject(obj runtime.Object, tenantID string, isNamespaceScoped bool) error
ConvertTenantObjectToUpstreamObject convert the tenant object to upstream object.
func (*CRDConvertor) ConvertUpstreamObjectToTenantObject ¶
func (t *CRDConvertor) ConvertUpstreamObjectToTenantObject(obj runtime.Object, tenantID string, isNamespaceScoped bool) error
ConvertUpstreamObjectToTenantObject convert the upstream object to tenant object.
type ClusterRoleBindingTransformer ¶
type ClusterRoleBindingTransformer struct{}
ClusterRoleBindingTransformer implements the transformation between client and upstream server for ClusterRoleBinding resource.
type ClusterRoleTransformer ¶
type ClusterRoleTransformer struct {
// contains filtered or unexported fields
}
ClusterRoleTransformer implements the transformation between client and upstream server for ClusterRole resource.
type CrossReferenceConvertor ¶
type CrossReferenceConvertor struct {
// contains filtered or unexported fields
}
CrossReferenceConvertor implements the interfaces of ObjectConvertor and ObjectTransformer to support the cross references cases such as PersistenceVolume and PersistenceVolumeClaim.
func (*CrossReferenceConvertor) ConvertTenantObjectToUpstreamObject ¶
func (c *CrossReferenceConvertor) ConvertTenantObjectToUpstreamObject(obj runtime.Object, tenantID string, isNamespaceScoped bool) error
ConvertTenantObjectToUpstreamObject convert the tenant object to upstream object.
func (*CrossReferenceConvertor) ConvertUpstreamObjectToTenantObject ¶
func (c *CrossReferenceConvertor) ConvertUpstreamObjectToTenantObject(obj runtime.Object, tenantID string, isNamespaceScoped bool) error
ConvertUpstreamObjectToTenantObject convert the upstream object to tenant object.
type CustomResourceTransformer ¶
type CustomResourceTransformer struct{}
CustomResourceTransformer implements the transformation between client and upstream server for custom resource.
type DefaultConvertor ¶
type DefaultConvertor struct {
// contains filtered or unexported fields
}
DefaultConvertor implements the transformation between client and upstream server for generic default resource.
func (*DefaultConvertor) ConvertTenantObjectToUpstreamObject ¶
func (c *DefaultConvertor) ConvertTenantObjectToUpstreamObject(obj runtime.Object, tenantID string, isNamespaceScoped bool) error
ConvertTenantObjectToUpstreamObject convert the tenant object to upstream object.
func (*DefaultConvertor) ConvertUpstreamObjectToTenantObject ¶
func (c *DefaultConvertor) ConvertUpstreamObjectToTenantObject(obj runtime.Object, tenantID string, isNamespaceScoped bool) error
ConvertUpstreamObjectToTenantObject convert the upstream object to tenant object.
type EndpointSliceTransformer ¶
type EndpointSliceTransformer struct {
// contains filtered or unexported fields
}
EndpointSliceTransformer implements the transformation between client and upstream server for EndpointSlice resource.
type EndpointsTransformer ¶
type EndpointsTransformer struct {
// contains filtered or unexported fields
}
EndpointsTransformer implements the transformation between client and upstream server for Endpoints resource.
type EventTransformer ¶
type EventTransformer struct {
// contains filtered or unexported fields
}
EventTransformer implements the transformation between client and upstream server for Event resource.
type ListTenantCRDsFunc ¶
type ListTenantCRDsFunc func(tenantID string) ([]*v1.CustomResourceDefinition, error)
ListTenantCRDsFunc lists crds for tenant
type NamespaceTransformer ¶
type NamespaceTransformer struct { }
func NewNamespaceTransformer ¶
func NewNamespaceTransformer() *NamespaceTransformer
type NopeConvertor ¶
type NopeConvertor struct{}
NopeConvertor converts nothing
func (*NopeConvertor) ConvertTenantObjectToUpstreamObject ¶
func (c *NopeConvertor) ConvertTenantObjectToUpstreamObject(obj runtime.Object, tenantID string, isNamespaceScoped bool) error
ConvertTenantObjectToUpstreamObject of NopeConvertor does nothing.
func (*NopeConvertor) ConvertUpstreamObjectToTenantObject ¶
func (c *NopeConvertor) ConvertUpstreamObjectToTenantObject(obj runtime.Object, tenantID string, isNamespaceScoped bool) error
ConvertUpstreamObjectToTenantObject of NopeConvertor does nothing.
type ObjectReferenceTransformer ¶
type ObjectReferenceTransformer interface { // Forward transforms tenant object reference to upstream object reference Forward(or *internal.ObjectReference, tenantID string) (*internal.ObjectReference, error) // Backward transforms upstream object reference to tenant object reference Backward(or *internal.ObjectReference, tenantID string) (*internal.ObjectReference, error) }
ObjectReferenceTransformer transforms tenant object reference to/from upstream object reference
func NewObjectReferenceTransformer ¶
func NewObjectReferenceTransformer(checkGroupKind util.CheckGroupKindFunc) ObjectReferenceTransformer
NewObjectReferenceTransformer returns a new ObjectReferenceTransformer
type ObjectTransformer ¶
type ObjectTransformer interface { // Forward transforms the tenant object to the upstream object. Forward(obj runtime.Object, tenantID string) (runtime.Object, error) // Backward transforms the upstream object to the tenant object. Backward(obj runtime.Object, tenantID string) (runtime.Object, error) }
ObjectTransformer transforms tenant object to/from upstream object NOTE for both Forward and Backward, the first input and ouput are either unstructured or internal object.
func NewClusterRoleBindingTransformer ¶
func NewClusterRoleBindingTransformer() ObjectTransformer
NewClusterRoleBindingTransformer initiates a ClusterRoleBindingTransformer which implements the ObjectTransformer interfaces.
func NewClusterRoleTransformer ¶
func NewClusterRoleTransformer(listTenantCRDs ListTenantCRDsFunc) ObjectTransformer
NewClusterRoleTransformer initiates a ClusterRoleTransformer which implements the ObjectTransformer interfaces.
func NewCustomResourceTransformer ¶
func NewCustomResourceTransformer() ObjectTransformer
NewCustomResourceTransformer initiates a CustomResourceTransformer which implements the ObjectTransformer interfaces.
func NewEndpointSliceTransformer ¶
func NewEndpointSliceTransformer(ort ObjectReferenceTransformer) ObjectTransformer
NewEndpointSliceTransformer initiates a EndpointSliceTransformer which implements the ObjectTransformer interfaces.
func NewEndpointsTransformer ¶
func NewEndpointsTransformer(ort ObjectReferenceTransformer) ObjectTransformer
NewEndpointsTransformer initiates a EndpointsTransformer which implements the ObjectTransformer interfaces.
func NewEventTransformer ¶
func NewEventTransformer(ort ObjectReferenceTransformer) ObjectTransformer
NewEventTransformer initiates a EventTransformer which implements the ObjectTransformer interfaces.
func NewPVCTransformer ¶
func NewPVCTransformer() ObjectTransformer
NewPVCTransformer initiates a PVCTranformer which implements the ObjectTransformer interfaces.
func NewPVTransformer ¶
func NewPVTransformer() ObjectTransformer
NewPVTransformer initiates a PVTranformer which implements the ObjectTransformer interfaces.
func NewRoleBindingTransformer ¶
func NewRoleBindingTransformer() ObjectTransformer
NewRoleBindingTransformer initiates a RoleBindingTransformer which implements the ObjectTransformer interfaces.
func NewRoleTransformer ¶
func NewRoleTransformer(listTenantCRDs ListTenantCRDsFunc) ObjectTransformer
NewRoleTransformer initiates a RoleTransformer which implements the ObjectTransformer interfaces.
func NewTokenReviewTransformer ¶
func NewTokenReviewTransformer() ObjectTransformer
NewTokenReviewTransformer initiates a TokenReviewTransformer which implements the ObjectTransformer interfaces.
func NewVolumeAttachmentTransformer ¶
func NewVolumeAttachmentTransformer() ObjectTransformer
NewVolumeAttachmentTransformer initiates a VolumeAttachmentTransformer which implements the ObjectTransformer interfaces.
type OwnerReferenceTransformer ¶
type OwnerReferenceTransformer interface { // Forward transforms tenant owner reference to upstream owner reference Forward(or *metav1.OwnerReference, tenantID string) (*metav1.OwnerReference, error) // Backward transforms upstream owner reference to tenant owner reference Backward(or *metav1.OwnerReference, tenantID string) (*metav1.OwnerReference, error) }
OwnerReferenceTransformer transforms tenant owner reference to/from upstream owner reference
func NewOwnerReferenceTransformer ¶
func NewOwnerReferenceTransformer(checkGroupKind util.CheckGroupKindFunc) OwnerReferenceTransformer
NewOwnerReferenceTransformer returns a new OwnerReferenceTransformer
type PVCTranformer ¶
type PVCTranformer struct{}
PVCTranformer implements the transformation between client and upstream server for PersistenceVolumeClaim resource.
type PVTranformer ¶
type PVTranformer struct{}
PVTranformer implements the transformation between client and upstream server for PersistenceVolume resource.
type RoleBindingTransformer ¶
type RoleBindingTransformer struct{}
RoleBindingTransformer implements the transformation between client and upstream server for RoleBinding resource.
type RoleTransformer ¶
type RoleTransformer struct {
// contains filtered or unexported fields
}
RoleTransformer implements the transformation between client and upstream server for Role resource.
type TokenReviewTransformer ¶
type TokenReviewTransformer struct{}
TokenReviewTransformer implements the transformation between client and upstream server for TokenReview resource.
type VolumeAttachmentTransformer ¶
type VolumeAttachmentTransformer struct{}
VolumeAttachmentTransformer implements the transformation between client and upstream server for VolumeAttachment resource.
Source Files
¶
- clusterrole.go
- clusterrolebinding.go
- cross-object.go
- customresource.go
- customresourcedefinition.go
- default.go
- endpoints.go
- endpointslice.go
- event.go
- init.go
- namespace.go
- nativeresource.go
- nope.go
- objectreference.go
- ownerreference.go
- pv.go
- pvc.go
- role.go
- rolebinding.go
- tokenreview.go
- volumeattachment.go