v1alpha1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains definitions of a ClusterLink deployment and installation related objects. +kubebuilder:object:generate=true +groupName=clusterlink.net

Index

Constants

View Source
const (
	// ImportTargetPortValid is a condition type for indicating whether the import target port is valid.
	ImportTargetPortValid string = "ImportTargetPortValid"
	// ImportServiceCreated is a condition type for indicating whether the import service was successfully created.
	ImportServiceCreated string = "ImportServiceCreated"
)
View Source
const (
	// DefaultExternalPort represents the default value for the external ingress service.
	DefaultExternalPort = 443
)
View Source
const (
	// ExportValid is a condition type for indicating whether the export is valid.
	ExportValid string = "ExportValid"
)
View Source
const (
	// PeerReachable is a condition type for indicating whether a peer is reachable (heartbeat responding).
	PeerReachable string = "PeerReachable"
)

Variables

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

	// 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 AccessPolicy

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

	// Spec represents the attributes of the exported service.
	Spec AccessPolicySpec `json:"spec,omitempty"`
}

AccessPolicy defines whether a group of potential connections should be allowed or denied. If multiple AccessPolicy objects match a given connection, privileged policies take precedence over non-privileged, and within each tier deny policies take precedence over allow policies.

func (*AccessPolicy) DeepCopy

func (in *AccessPolicy) DeepCopy() *AccessPolicy

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

func (*AccessPolicy) DeepCopyInto

func (in *AccessPolicy) DeepCopyInto(out *AccessPolicy)

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

func (*AccessPolicy) DeepCopyObject

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

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

type AccessPolicyAction

type AccessPolicyAction string

AccessPolicyAction specifies whether an AccessPolicy allows or denies the connection specified by its 'From' and 'To' fields.

const (
	AccessPolicyActionAllow AccessPolicyAction = "allow"
	AccessPolicyActionDeny  AccessPolicyAction = "deny"
)

type AccessPolicyList

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

	// Items is the list of access policy objects.
	Items []AccessPolicy `json:"items"`
}

AccessPolicyList is a list of AccessPolicy objects.

func (*AccessPolicyList) DeepCopy

func (in *AccessPolicyList) DeepCopy() *AccessPolicyList

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

func (*AccessPolicyList) DeepCopyInto

func (in *AccessPolicyList) DeepCopyInto(out *AccessPolicyList)

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

func (*AccessPolicyList) DeepCopyObject

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

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

type AccessPolicySpec

type AccessPolicySpec struct {
	// Action specifies whether the policy allows or denies connections matching its From and To fields.
	Action AccessPolicyAction `json:"action"`
	// From specifies the set of source workload to which this policy refers.
	From WorkloadSetOrSelectorList `json:"from"`
	// To specifies the set of destination services to which this policy refers.
	To WorkloadSetOrSelectorList `json:"to"`
}

AccessPolicySpec specifies the connections AccessPolicy and PrivilegedAccessPolicy make decisions on as well as the policy's decision on these connection.

func (*AccessPolicySpec) DeepCopy

func (in *AccessPolicySpec) DeepCopy() *AccessPolicySpec

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

func (*AccessPolicySpec) DeepCopyInto

func (in *AccessPolicySpec) DeepCopyInto(out *AccessPolicySpec)

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

func (*AccessPolicySpec) Validate added in v0.1.0

func (p *AccessPolicySpec) Validate() error

Validate returns an error if the given AccessPolicy is invalid. Otherwise, returns nil.

type ComponentStatus

type ComponentStatus struct {
	// Conditions contain the status conditions.
	Conditions map[string]metav1.Condition `json:"conditions,omitempty"`
}

ComponentStatus defines the status of component in ClusterLink.

func (*ComponentStatus) DeepCopy

func (in *ComponentStatus) DeepCopy() *ComponentStatus

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

func (*ComponentStatus) DeepCopyInto

func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)

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

type DataPlaneSpec

type DataPlaneSpec struct {
	// +kubebuilder:validation:Enum=envoy;go
	// +kubebuilder:default=envoy
	// Type represents the dataplane type. Supports values "go" and "envoy".
	Type DataplaneType `json:"type,omitempty"`
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=10
	// +kubebuilder:default=1
	// Replicas represents the number of dataplane replicas.
	Replicas int `json:"replicas,omitempty"`
}

DataPlaneSpec defines the desired state of the dataplane components in ClusterLink.

func (*DataPlaneSpec) DeepCopy

func (in *DataPlaneSpec) DeepCopy() *DataPlaneSpec

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

func (*DataPlaneSpec) DeepCopyInto

func (in *DataPlaneSpec) DeepCopyInto(out *DataPlaneSpec)

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

type DataplaneType

type DataplaneType string

DataplaneType represents the dataplane type of the deployed ClusterLink.

const (
	// DataplaneTypeGo indicates that the dataplane type is Go-dataplane.
	DataplaneTypeGo DataplaneType = "go"
	// DataplaneTypeEnvoy indicates that the dataplane type is Envoy.
	DataplaneTypeEnvoy DataplaneType = "envoy"
)

type Endpoint

type Endpoint struct {
	// Host or IP address of the endpoint.
	Host string `json:"host"`
	// Port of the endpoint.
	Port uint16 `json:"port"`
}

Endpoint represents a network endpoint (i.e., host or IP and a port).

func (*Endpoint) DeepCopy

func (in *Endpoint) DeepCopy() *Endpoint

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

func (*Endpoint) DeepCopyInto

func (in *Endpoint) DeepCopyInto(out *Endpoint)

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

type Export

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

	// Spec represents the attributes of the exported service.
	Spec ExportSpec `json:"spec,omitempty"`
	// Status represents the export status.
	Status ExportStatus `json:"status,omitempty"`
}

Export defines a service being exported by the local Peer for use by others. Only explicitly exported services can be accessed remotely.

func (*Export) DeepCopy

func (in *Export) DeepCopy() *Export

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

func (*Export) DeepCopyInto

func (in *Export) DeepCopyInto(out *Export)

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

func (*Export) DeepCopyObject

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

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

type ExportList

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

	// Items is the list of export objects.
	Items []Export `json:"items"`
}

ExportList is a list of export objects.

func (*ExportList) DeepCopy

func (in *ExportList) DeepCopy() *ExportList

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

func (*ExportList) DeepCopyInto

func (in *ExportList) DeepCopyInto(out *ExportList)

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

func (*ExportList) DeepCopyObject

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

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

type ExportSpec

type ExportSpec struct {
	// Host of the exported service.
	// If empty, export will point to a service with the same
	// name and namespace as the export object.
	Host string `json:"host,omitempty"`
	// Port of the exported service.
	Port uint16 `json:"port,omitempty"`
}

ExportSpec contains all attributes of an exported service.

func (*ExportSpec) DeepCopy

func (in *ExportSpec) DeepCopy() *ExportSpec

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

func (*ExportSpec) DeepCopyInto

func (in *ExportSpec) DeepCopyInto(out *ExportSpec)

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

type ExportStatus

type ExportStatus struct {
	// Conditions of the export.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ExportStatus represents the status of an exported service.

func (*ExportStatus) DeepCopy

func (in *ExportStatus) DeepCopy() *ExportStatus

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

func (*ExportStatus) DeepCopyInto

func (in *ExportStatus) DeepCopyInto(out *ExportStatus)

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

type Import

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

	// Spec represents the attributes of the imported service.
	Spec ImportSpec `json:"spec"`
	// Status represents the import status.
	Status ImportStatus `json:"status,omitempty"`
}

Import defines a service that is being imported to the local Peer from a remote Peer.

func (*Import) DeepCopy

func (in *Import) DeepCopy() *Import

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

func (*Import) DeepCopyInto

func (in *Import) DeepCopyInto(out *Import)

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

func (*Import) DeepCopyObject

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

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

type ImportList

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

	// Items is the list of import objects.
	Items []Import `json:"items"`
}

ImportList is a list of import objects.

func (*ImportList) DeepCopy

func (in *ImportList) DeepCopy() *ImportList

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

func (*ImportList) DeepCopyInto

func (in *ImportList) DeepCopyInto(out *ImportList)

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

func (*ImportList) DeepCopyObject

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

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

type ImportSource

type ImportSource struct {
	// Peer name where the exported service is defined.
	Peer string `json:"peer"`
	// ExportName is the name of the exported service.
	ExportName string `json:"exportName"`
	// ExportNamespace is the namespace of the exported service.
	ExportNamespace string `json:"exportNamespace"`
}

ImportSource represents an addressable exported service.

func (*ImportSource) DeepCopy

func (in *ImportSource) DeepCopy() *ImportSource

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

func (*ImportSource) DeepCopyInto

func (in *ImportSource) DeepCopyInto(out *ImportSource)

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

type ImportSpec

type ImportSpec struct {
	// Port of the imported service.
	Port uint16 `json:"port"`
	// TargetPort of the imported service.
	// This is the internal (non user-facing) listening port used by the dataplane pods.
	TargetPort uint16 `json:"targetPort,omitempty"`
	// Sources to import from.
	Sources []ImportSource `json:"sources"`
	// +kubebuilder:default="round-robin"
	// LBScheme is the load-balancing scheme to use (e.g., random, static, round-robin)
	LBScheme string `json:"lbScheme"`
}

ImportSpec contains all attributes of an imported service.

func (*ImportSpec) DeepCopy

func (in *ImportSpec) DeepCopy() *ImportSpec

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

func (*ImportSpec) DeepCopyInto

func (in *ImportSpec) DeepCopyInto(out *ImportSpec)

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

type ImportStatus

type ImportStatus struct {
	// Conditions of the import.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ImportStatus represents the status of an imported service.

func (*ImportStatus) DeepCopy

func (in *ImportStatus) DeepCopy() *ImportStatus

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

func (*ImportStatus) DeepCopyInto

func (in *ImportStatus) DeepCopyInto(out *ImportStatus)

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

type IngressSpec

type IngressSpec struct {
	// +kubebuilder:validation:Enum=none;LoadBalancer;NodePort
	// +kubebuilder:default=none
	// Type represents the type of service used to expose the ClusterLink deployment.
	// Supported values: "LoadBalancer","NodePort", "none".
	// The service name will be "clusterlink".
	Type IngressType `json:"type,omitempty"`

	// Port represents the port number of the external service.
	// If not set, the default values will be 443 for all types,
	// except for NodePort, where the port number will be allocated by Kubernetes.
	Port int32 `json:"port,omitempty"`
}

IngressSpec defines the type of the ingress component in ClusterLink.

func (*IngressSpec) DeepCopy

func (in *IngressSpec) DeepCopy() *IngressSpec

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

func (*IngressSpec) DeepCopyInto

func (in *IngressSpec) DeepCopyInto(out *IngressSpec)

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

type IngressStatus

type IngressStatus struct {
	// IP represents the external ingress service's IP.
	IP string `json:"ip,omitempty"`
	// Port represents the external ingress service's Port.
	Port int32 `json:"port,omitempty"`
	// Conditions contain the status conditions.
	Conditions map[string]metav1.Condition `json:"conditions,omitempty"`
}

IngressStatus defines the status of ingress in ClusterLink.

func (*IngressStatus) DeepCopy

func (in *IngressStatus) DeepCopy() *IngressStatus

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

func (*IngressStatus) DeepCopyInto

func (in *IngressStatus) DeepCopyInto(out *IngressStatus)

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

type IngressType

type IngressType string

IngressType represents the ingress type of the deployed ClusterLink.

const (
	// IngressTypeNone indicates that the deployment instance did not create any external ingress.
	IngressTypeNone IngressType = "none"
	// IngressTypeNodePort indicates that the deployment instance created an external ingress of type NodePort.
	IngressTypeNodePort IngressType = "NodePort"
	// IngressTypeLoadBalancer indicates that the deployment instance created an external ingress of type LoadBalancer.
	IngressTypeLoadBalancer IngressType = "LoadBalancer"
)

type Instance

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

	Spec   InstanceSpec   `json:"spec,omitempty"`
	Status InstanceStatus `json:"status,omitempty"`
}

Instance is the Schema for the ClusterLink instance API used for deploying a ClusterLink instance.

func (*Instance) DeepCopy

func (in *Instance) DeepCopy() *Instance

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

func (*Instance) DeepCopyInto

func (in *Instance) DeepCopyInto(out *Instance)

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

func (*Instance) DeepCopyObject

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

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

type InstanceList

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

InstanceList represents a list of Instance objects.

func (*InstanceList) DeepCopy

func (in *InstanceList) DeepCopy() *InstanceList

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

func (*InstanceList) DeepCopyInto

func (in *InstanceList) DeepCopyInto(out *InstanceList)

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

func (*InstanceList) DeepCopyObject

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

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

type InstanceSpec

type InstanceSpec struct {
	DataPlane DataPlaneSpec `json:"dataplane,omitempty"`
	Ingress   IngressSpec   `json:"ingress,omitempty"`

	// +kubebuilder:validation:Enum=trace;debug;info;warning;error;fatal
	// +kubebuilder:default=info
	// LogLevel define the ClusterLink components log level.
	LogLevel string `json:"logLevel,omitempty"`
	// +kubebuilder:default="ghcr.io/clusterlink-net"
	// ContainerRegistry is the container registry to pull the ClusterLink project images.
	ContainerRegistry string `json:"containerRegistry,omitempty"`
	// +kubebuilder:default="latest"
	// Tag represents the tag of the ClusterLink project images.
	Tag string `json:"tag,omitempty"`
	// +kubebuilder:default="clusterlink-system"
	// Namespace represents the namespace where the ClusterLink project components are deployed.
	Namespace string `json:"namespace,omitempty"`
}

InstanceSpec defines the desired state of a ClusterLink instance.

func (*InstanceSpec) DeepCopy

func (in *InstanceSpec) DeepCopy() *InstanceSpec

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

func (*InstanceSpec) DeepCopyInto

func (in *InstanceSpec) DeepCopyInto(out *InstanceSpec)

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

type InstanceStatus

type InstanceStatus struct {
	Controlplane ComponentStatus `json:"controlplane,omitempty"`
	Dataplane    ComponentStatus `json:"dataplane,omitempty"`
	Ingress      IngressStatus   `json:"ingress,omitempty"`
}

InstanceStatus defines the observed state of ClusterlLink Instance.

func (*InstanceStatus) DeepCopy

func (in *InstanceStatus) DeepCopy() *InstanceStatus

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

func (*InstanceStatus) DeepCopyInto

func (in *InstanceStatus) DeepCopyInto(out *InstanceStatus)

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

type Peer

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

	// Spec represents the peer attributes.
	Spec PeerSpec `json:"spec"`
	// Status represents the peer status.
	Status PeerStatus `json:"status,omitempty"`
}

Peer represents a location (or site) that can be used to import services from.

func (*Peer) DeepCopy

func (in *Peer) DeepCopy() *Peer

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

func (*Peer) DeepCopyInto

func (in *Peer) DeepCopyInto(out *Peer)

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

func (*Peer) DeepCopyObject

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

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

type PeerList

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

	// Items is the list of peer objects.
	Items []Peer `json:"items"`
}

PeerList is a list of peer objects.

func (*PeerList) DeepCopy

func (in *PeerList) DeepCopy() *PeerList

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

func (*PeerList) DeepCopyInto

func (in *PeerList) DeepCopyInto(out *PeerList)

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

func (*PeerList) DeepCopyObject

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

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

type PeerSpec

type PeerSpec struct {
	// Gateways serving the Peer.
	Gateways []Endpoint `json:"gateways"`
}

PeerSpec contains all peer attributes.

func (*PeerSpec) DeepCopy

func (in *PeerSpec) DeepCopy() *PeerSpec

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

func (*PeerSpec) DeepCopyInto

func (in *PeerSpec) DeepCopyInto(out *PeerSpec)

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

type PeerStatus

type PeerStatus struct {
	// Conditions of the peer.
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

PeerStatus represents the status of a peer.

func (*PeerStatus) DeepCopy

func (in *PeerStatus) DeepCopy() *PeerStatus

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

func (*PeerStatus) DeepCopyInto

func (in *PeerStatus) DeepCopyInto(out *PeerStatus)

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

type PrivilegedAccessPolicy added in v0.1.0

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

	// Spec represents the attributes of the exported service.
	Spec AccessPolicySpec `json:"spec,omitempty"`
}

PrivilegedAccessPolicy defines whether a group of potential connections should be allowed or denied. If multiple AccessPolicy objects match a given connection, privileged policies take precedence over non-privileged, and within each tier deny policies take precedence over allow policies.

func (*PrivilegedAccessPolicy) DeepCopy added in v0.1.0

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

func (*PrivilegedAccessPolicy) DeepCopyInto added in v0.1.0

func (in *PrivilegedAccessPolicy) DeepCopyInto(out *PrivilegedAccessPolicy)

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

func (*PrivilegedAccessPolicy) DeepCopyObject added in v0.1.0

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

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

type StatusConditionType

type StatusConditionType string

StatusConditionType represents the status conditions type for ClusterLink components.

const (
	// DeploymentReady means the component deployment is ready to use.
	DeploymentReady StatusConditionType = "DeploymentReady"
	// ServiceReady means the component service is ready to use.
	ServiceReady StatusConditionType = "ServiceReady"
)

type WorkloadSetOrSelector

type WorkloadSetOrSelector struct {
	// WorkloadSets allows specifying predefined sets of workloads - not yet supported.
	WorkloadSets []string `json:"workloadSets,omitempty"`
	// WorkloadSelector is a K8s-style label selector, selecting Pods and Services according to their labels.
	WorkloadSelector *metav1.LabelSelector `json:"workloadSelector,omitempty"`
}

WorkloadSetOrSelector describes a set of workloads, based on their attributes (labels). Exactly one of the two fields should be non-empty.

func (*WorkloadSetOrSelector) DeepCopy

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

func (*WorkloadSetOrSelector) DeepCopyInto

func (in *WorkloadSetOrSelector) DeepCopyInto(out *WorkloadSetOrSelector)

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

type WorkloadSetOrSelectorList

type WorkloadSetOrSelectorList []WorkloadSetOrSelector

WorkloadSetOrSelectorList is a collection of WorkloadSetOrSelector objects.

func (WorkloadSetOrSelectorList) DeepCopy

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

func (WorkloadSetOrSelectorList) DeepCopyInto

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

Jump to

Keyboard shortcuts

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