v1alpha1

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2024 License: Apache-2.0 Imports: 5 Imported by: 3

Documentation

Overview

+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:defaulter-gen=TypeMeta +groupName=proxy.open-cluster-management.io

Package v1alpha1 contains API Schema definitions for the proxy v1alpha1 API group +kubebuilder:object:generate=true +groupName=proxy.open-cluster-management.io

Index

Constants

View Source
const (
	ConditionTypeProxyServerDeployed     = "ProxyServerDeployed"
	ConditionTypeProxyServerSecretSigned = "ProxyServerSecretSigned"
	ConditionTypeAgentServerSecretSigned = "AgentServerSecretSigned"
	ConditionTypeProxyClientSecretSigned = "ProxyClientSecretSigned"
)
View Source
const (
	ConditionTypeServiceResolverAvaliable = "ServiceResolverAvaliable"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "proxy.open-cluster-management.io", 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

	SchemeGroupVersion = GroupVersion
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Types

type AnnotationVar added in v0.1.1

type AnnotationVar struct {
	// Key is the key of annotation
	// +kubebuilder:validation:Required
	// +required
	Key string `json:"key"`

	// Value is the value of annotation
	// +optional
	Value string `json:"value,omitempty"`
}

AnnotationVar list of annotation variables to set in the LB Service.

func (*AnnotationVar) DeepCopy added in v0.1.3

func (in *AnnotationVar) DeepCopy() *AnnotationVar

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

func (*AnnotationVar) DeepCopyInto added in v0.1.3

func (in *AnnotationVar) DeepCopyInto(out *AnnotationVar)

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

type AuthenticationSelfSigned

type AuthenticationSelfSigned struct {
	// +optional
	// `additionalSANs` adds a few custom hostnames or IPs to the signing certificates.
	AdditionalSANs []string `json:"additionalSANs,omitempty"`
}

AuthenticationSelfSigned prescribes how to self-sign the certificates.

func (*AuthenticationSelfSigned) DeepCopy

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

func (*AuthenticationSelfSigned) DeepCopyInto

func (in *AuthenticationSelfSigned) DeepCopyInto(out *AuthenticationSelfSigned)

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

type AuthenticationSignerType

type AuthenticationSignerType string

AuthenticationType defines the source of CA certificates, i.e. the signer of both proxy servers and agents. +kubebuilder:validation:Enum=SelfSigned;Provided;CertManager

var (
	// `SelfSigned` prescribes the CA certificate and key should be automatically
	// generated if not found in the hub cluster.
	// The self-signed ca key pair will be stored as a secret.
	//
	// Note that the namespace and name can be configured via "--signer-secret-name"
	// and "signer-secret-namespace" at the addon-manager.
	SelfSigned AuthenticationSignerType = "SelfSigned"
)

type CertificateSigningSecrets

type CertificateSigningSecrets struct {
	// `signingProxyServerSecretName` the secret name of the proxy server's listening
	// certificates for serving proxy requests.
	// +kubebuilder:default=proxy-server
	// +optional
	SigningProxyServerSecretName string `json:"signingProxyServerSecretName,omitempty"`
	// `signingProxyClientSecretName` is the secret name for requesting/streaming over
	// the proxy server.
	// +kubebuilder:default=proxy-client
	// +optional
	SigningProxyClientSecretName string `json:"signingProxyClientSecretName,omitempty"`
	// `signingAgentServerSecretName` is the secret name of the proxy servers to receive
	// tunneling handshakes from proxy agents.
	// +kubebuilder:default=agent-server
	// +optional
	SigningAgentServerSecretName string `json:"signingAgentServerSecretName,omitempty"`
}

CertificateSigningSecrets enumerates the target names of the secrets to be mounted onto proxy servers and agents.

func (*CertificateSigningSecrets) DeepCopy

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

func (*CertificateSigningSecrets) DeepCopyInto

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

type EntryPointHostname

type EntryPointHostname struct {
	// +required
	Value string `json:"value"`
}

EntryPointHostname references a fixed hostname.

func (*EntryPointHostname) DeepCopy

func (in *EntryPointHostname) DeepCopy() *EntryPointHostname

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

func (*EntryPointHostname) DeepCopyInto

func (in *EntryPointHostname) DeepCopyInto(out *EntryPointHostname)

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

type EntryPointLoadBalancerService

type EntryPointLoadBalancerService struct {
	// `name` is the name of the load-balancer service. And the namespace will align
	// to where the proxy-servers are deployed.
	// +optional
	// +kubebuilder:default=proxy-agent-entrypoint
	Name string `json:"name"`

	// Annotations is the annoations of the load-balancer service.
	// This is for allowing customizing service using vendor-specific extended annotations such as:
	// - service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
	// - service.beta.kubernetes.io/azure-load-balancer-internal: true
	// +optional
	Annotations []AnnotationVar `json:"annotations,omitempty"`
}

EntryPointLoadBalancerService is the reference to a load-balancer service.

func (*EntryPointLoadBalancerService) DeepCopy

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

func (*EntryPointLoadBalancerService) DeepCopyInto

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

type EntryPointType

type EntryPointType string

EntryPointType is the type of the entrypoint. +kubebuilder:validation:Enum=Hostname;LoadBalancerService;PortForward

var (
	// LoadBalancerService prescribes the proxy agents to establish tunnels via the
	// expose IP from the load-balancer service.
	EntryPointTypeLoadBalancerService EntryPointType = "LoadBalancerService"
	// Hostname prescribes the proxy agents to connect a fixed hostname.
	EntryPointTypeHostname EntryPointType = "Hostname"
	// PortForward prescribes the proxy agent to connect a local proxy served on the
	// addon-agent which proxies tunnel connection to the proxy-servers via pod
	// port-forwarding.
	EntryPointTypePortForward EntryPointType = "PortForward"
)

type ManagedClusterSelector added in v0.3.0

type ManagedClusterSelector struct {
	// Type represents the type of the selector. Now only ManagedClusterSet is supported.
	// +optional
	// +kubebuilder:default=ManagedClusterSet
	Type ManagedClusterSelectorType `json:"type,omitempty"`

	// ManagedClusterSet defines a set of managed clusters that need to expose the service.
	// +optional
	ManagedClusterSet *ManagedClusterSet `json:"managedClusterSet,omitempty"`
}

func (*ManagedClusterSelector) DeepCopy added in v0.3.0

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

func (*ManagedClusterSelector) DeepCopyInto added in v0.3.0

func (in *ManagedClusterSelector) DeepCopyInto(out *ManagedClusterSelector)

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

type ManagedClusterSelectorType added in v0.3.0

type ManagedClusterSelectorType string

ManagedClusterSelectorType is the type of ManagedClusterSelector. +kubebuilder:validation:Enum=ManagedClusterSet

var (
	// ManagedClusterSetSelectorType indicates the selector is a ManagedClusterSet.
	// In this type, the manageclusterset field of the selector is required.
	ManagedClusterSelectorTypeClusterSet ManagedClusterSelectorType = "ManagedClusterSet"
)

type ManagedClusterSet added in v0.3.0

type ManagedClusterSet struct {
	// Name is the name of the managed cluster set.
	// +required
	Name string `json:"name"`
}

ManagedClusterSet defines the name of a managed cluster set.

func (*ManagedClusterSet) DeepCopy added in v0.3.0

func (in *ManagedClusterSet) DeepCopy() *ManagedClusterSet

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

func (*ManagedClusterSet) DeepCopyInto added in v0.3.0

func (in *ManagedClusterSet) DeepCopyInto(out *ManagedClusterSet)

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

type ManagedProxyConfiguration

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

	Spec   ManagedProxyConfigurationSpec   `json:"spec,omitempty"`
	Status ManagedProxyConfigurationStatus `json:"status,omitempty"`
}

+genclient +genclient:nonNamespaced ManagedProxyConfiguration is the Schema for the managedproxyconfigurations API

func (*ManagedProxyConfiguration) DeepCopy

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

func (*ManagedProxyConfiguration) DeepCopyInto

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

func (*ManagedProxyConfiguration) DeepCopyObject

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

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

type ManagedProxyConfigurationAuthentication

type ManagedProxyConfigurationAuthentication struct {
	// +optional
	// `signer` defines how we sign server and client certificates for the proxy servers
	// and agents.
	Signer ManagedProxyConfigurationCertificateSigner `json:"signer"`
	// +optional
	// `dump` is where we store the signed certificates from signers.
	Dump ManagedProxyConfigurationCertificateDump `json:"dump"`
}

ManagedProxyConfigurationAuthentication prescribes how we manage the authentication between the proxy servers and agents. Overall the authentication are working via mTLS certificates so this struct is actually prescribing the signing and storing of the managed certificates.

func (*ManagedProxyConfigurationAuthentication) DeepCopy

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

func (*ManagedProxyConfigurationAuthentication) DeepCopyInto

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

type ManagedProxyConfigurationCertificateDump

type ManagedProxyConfigurationCertificateDump struct {
	// +optional
	// `secrets` is the names of the secrets for saving the signed certificates.
	Secrets CertificateSigningSecrets `json:"secrets"`
}

ManagedProxyConfigurationCertificateDump prescribes how to dump the signed certificates which will be mounted by the instances of proxy servers and agents.

func (*ManagedProxyConfigurationCertificateDump) DeepCopy

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

func (*ManagedProxyConfigurationCertificateDump) DeepCopyInto

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

type ManagedProxyConfigurationCertificateSigner

type ManagedProxyConfigurationCertificateSigner struct {
	// `type` is the supported type of signer. Currently only "SelfSign" supported.
	// +optional
	// +kubebuilder:default=SelfSigned
	Type AuthenticationSignerType `json:"type"`
	// `selfSigned` prescribes the detail of how we self-sign the certificates.
	// +optional
	SelfSigned *AuthenticationSelfSigned `json:"selfSigned,omitempty"`
}

ManagedProxyConfigurationCertificateSigner prescribes how to sign certificates for proxy servers and agents.

func (*ManagedProxyConfigurationCertificateSigner) DeepCopy

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

func (*ManagedProxyConfigurationCertificateSigner) DeepCopyInto

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

type ManagedProxyConfigurationDeploy

type ManagedProxyConfigurationDeploy struct {
	// `ports` is the ports for proxying and tunneling.
	Ports ManagedProxyConfigurationDeployPorts `json:"ports"`
}

ManagedProxyConfigurationDeploy prescribes a few common details for running components.

func (*ManagedProxyConfigurationDeploy) DeepCopy

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

func (*ManagedProxyConfigurationDeploy) DeepCopyInto

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

type ManagedProxyConfigurationDeployPorts

type ManagedProxyConfigurationDeployPorts struct {
	// `proxyServer` is the listening port of proxy server for serving proxy requests.
	// +optional
	// +kubebuilder:default=8090
	ProxyServer int32 `json:"proxyServer"`
	// `agentServer` is the listening port of proxy server for serving tunneling handshakes.
	// +optional
	// +kubebuilder:default=8091
	AgentServer int32 `json:"agentServer"`
	// `healthServer` is for probing the healthiness.
	// +optional
	// +kubebuilder:default=8092
	HealthServer int32 `json:"healthServer"`
	// `adminServer` is the port for debugging and operating.
	// +optional
	// +kubebuilder:default=8095
	AdminServer int32 `json:"adminServer"`
}

ManagedProxyConfigurationDeployPorts is the expected port for wiring up proxy servers and agents.

func (*ManagedProxyConfigurationDeployPorts) DeepCopy

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

func (*ManagedProxyConfigurationDeployPorts) DeepCopyInto

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

type ManagedProxyConfigurationList

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

ManagedProxyConfigurationList contains a list of ManagedProxyConfiguration

func (*ManagedProxyConfigurationList) DeepCopy

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

func (*ManagedProxyConfigurationList) DeepCopyInto

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

func (*ManagedProxyConfigurationList) DeepCopyObject

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

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

type ManagedProxyConfigurationProxyAgent

type ManagedProxyConfigurationProxyAgent struct {
	// `image` is the container image of the proxy agent.
	// +required
	Image string `json:"image"`
	// `replicas` is the replicas of the agents.
	// +optional
	// +kubebuilder:default=3
	Replicas int32 `json:"replicas"`
	// `additionalArgs` defines args used in proxy-agent.
	// +optional
	AdditionalArgs []string `json:"additionalArgs,omitempty"`
	// `imagePullSecrets` defines the imagePullSecrets used by proxy-agent
	// +optional
	ImagePullSecrets []string `json:"imagePullSecrets,omitempty"`
}

ManagedProxyConfigurationProxyAgent prescribes how to deploy agents to the managed cluster.

func (*ManagedProxyConfigurationProxyAgent) DeepCopy

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

func (*ManagedProxyConfigurationProxyAgent) DeepCopyInto

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

type ManagedProxyConfigurationProxyServer

type ManagedProxyConfigurationProxyServer struct {
	// `image` is the container image of the proxy servers.
	// +required
	Image string `json:"image"`
	// `replicas` is the expected replicas of the proxy servers.
	// Note that the replicas will also be reflected in the flag `--server-count`
	// so that agents can discover all the server instances.
	// +kubebuilder:default=3
	// +optional
	Replicas int32 `json:"replicas"`
	// `inClusterServiceName` is the name of the in-cluster service for proxying
	// requests inside the hub cluster to the proxy servers.
	// +optional
	// +kubebuilder:default=proxy-entrypoint
	InClusterServiceName string `json:"inClusterServiceName,omitempty"`
	// `namespace` is the namespace where we will deploy the proxy servers and related
	// resources.
	// +optional
	// +kubebuilder:default=open-cluster-management-cluster-proxy
	Namespace string `json:"namespace,omitempty"`
	// `entrypoint` defines how will the proxy agents connecting the servers.
	// +optional
	Entrypoint *ManagedProxyConfigurationProxyServerEntrypoint `json:"entrypoint"`

	// `additionalArgs` adds arbitrary additional command line args to the proxy-server.
	// +optional
	AdditionalArgs []string `json:"additionalArgs,omitempty"`

	// NodePlacement defines which Nodes the proxy server are scheduled on. The default is an empty list.
	// +optional
	NodePlacement NodePlacement `json:"nodePlacement,omitempty"`
}

ManagedProxyConfigurationProxyServer prescribes how to deploy proxy servers into the hub cluster.

func (*ManagedProxyConfigurationProxyServer) DeepCopy

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

func (*ManagedProxyConfigurationProxyServer) DeepCopyInto

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

type ManagedProxyConfigurationProxyServerEntrypoint

type ManagedProxyConfigurationProxyServerEntrypoint struct {
	// `type` is the type of the entrypoint of the proxy servers.
	// Currently supports "Hostname", "LoadBalancerService"
	// +required
	Type EntryPointType `json:"type"`
	// `loadBalancerService` points to a load-balancer typed service in the hub cluster.
	// +optional
	LoadBalancerService *EntryPointLoadBalancerService `json:"loadBalancerService,omitempty"`
	// `hostname` points to a fixed hostname for serving agents' handshakes.
	// +optional
	Hostname *EntryPointHostname `json:"hostname,omitempty"`

	// `port` is the target port to access proxy servers
	// +optional
	// +kubebuilder:default=8091
	// +kubebuilder:validation:Minimum=1
	Port int32 `json:"port,omitempty"`
}

ManagedProxyConfigurationProxyServerEntrypoint prescribes the ingress for serving tunneling handshakes from proxy agents.

func (*ManagedProxyConfigurationProxyServerEntrypoint) DeepCopy

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

func (*ManagedProxyConfigurationProxyServerEntrypoint) DeepCopyInto

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

type ManagedProxyConfigurationSpec

type ManagedProxyConfigurationSpec struct {
	// `authentication` defines how the credentials for the authentication
	// between proxy servers and proxy agents are signed and mounted.
	// +required
	Authentication ManagedProxyConfigurationAuthentication `json:"authentication"`
	// `proxyServer` structurelized the arguments for running proxy servers.
	// +required
	ProxyServer ManagedProxyConfigurationProxyServer `json:"proxyServer"`
	// `proxyServer` structurelized the arguments for running proxy agents.
	// +required
	ProxyAgent ManagedProxyConfigurationProxyAgent `json:"proxyAgent"`
	// +optional
	// `deploy` is where we override miscellaneous details for deploying either
	// proxy servers or agents.
	Deploy *ManagedProxyConfigurationDeploy `json:"deploy,omitempty"`
}

ManagedProxyConfigurationSpec is the prescription of ManagedProxyConfiguration

func (*ManagedProxyConfigurationSpec) DeepCopy

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

func (*ManagedProxyConfigurationSpec) DeepCopyInto

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

type ManagedProxyConfigurationStatus

type ManagedProxyConfigurationStatus struct {
	// +optional
	LastObservedGeneration int64 `json:"lastObservedGeneration,omitempty"`
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

ManagedProxyConfigurationStatus defines the observed state of ManagedProxyConfiguration

func (*ManagedProxyConfigurationStatus) DeepCopy

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

func (*ManagedProxyConfigurationStatus) DeepCopyInto

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

type ManagedProxyServiceResolver added in v0.3.0

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

	Spec   ManagedProxyServiceResolverSpec   `json:"spec,omitempty"`
	Status ManagedProxyServiceResolverStatus `json:"status,omitempty"`
}

+genclient +genclient:nonNamespaced ManagedProxyServiceResolver defines a target service that need to expose from a set of managed clusters to the hub. To access a target service on a managed cluster from hub. First, users need to apply a proper ManagedProxyServiceResolver. The managed cluster should match the ManagedClusterSet in the ManagedProxyServiceResolver.Spec. The serviceNamespace and serviceName should also match the target service. A usage example: /examples/access-other-services/main.go

func (*ManagedProxyServiceResolver) DeepCopy added in v0.3.0

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

func (*ManagedProxyServiceResolver) DeepCopyInto added in v0.3.0

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

func (*ManagedProxyServiceResolver) DeepCopyObject added in v0.3.0

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

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

type ManagedProxyServiceResolverList added in v0.3.0

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

ManagedProxyServiceResolverList contains a list of ManagedProxyServiceResolver

func (*ManagedProxyServiceResolverList) DeepCopy added in v0.3.0

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

func (*ManagedProxyServiceResolverList) DeepCopyInto added in v0.3.0

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

func (*ManagedProxyServiceResolverList) DeepCopyObject added in v0.3.0

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

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

type ManagedProxyServiceResolverSpec added in v0.3.0

type ManagedProxyServiceResolverSpec struct {
	// ManagedClusterSelector selects a set of managed clusters.
	// +required
	ManagedClusterSelector ManagedClusterSelector `json:"managedClusterSelector"`

	// ServiceSelector selects a service.
	// +required
	ServiceSelector ServiceSelector `json:"serviceSelector"`
}

ManagedProxyServiceResolverSpec defines the desired state of ManagedProxyServiceResolver.

func (*ManagedProxyServiceResolverSpec) DeepCopy added in v0.3.0

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

func (*ManagedProxyServiceResolverSpec) DeepCopyInto added in v0.3.0

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

type ManagedProxyServiceResolverStatus added in v0.3.0

type ManagedProxyServiceResolverStatus struct {
	// Conditions contains the different condition statuses for this ManagedProxyServiceResolver.
	Conditions []metav1.Condition `json:"conditions"`
}

ManagedProxyServiceResolverStatus defines the observed state of ManagedProxyServiceResolver.

func (*ManagedProxyServiceResolverStatus) DeepCopy added in v0.3.0

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

func (*ManagedProxyServiceResolverStatus) DeepCopyInto added in v0.3.0

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

type NodePlacement added in v0.1.5

type NodePlacement struct {
	// NodeSelector defines which Nodes the Pods are scheduled on. The default is an empty list.
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Tolerations is attached by pods to tolerate any taint that matches
	// the triple <key,value,effect> using the matching operator <operator>.
	// The default is an empty list.
	// +optional
	Tolerations []v1.Toleration `json:"tolerations,omitempty"`
}

NodePlacement describes node scheduling configuration for the pods.

func (*NodePlacement) DeepCopy added in v0.1.5

func (in *NodePlacement) DeepCopy() *NodePlacement

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

func (*NodePlacement) DeepCopyInto added in v0.1.5

func (in *NodePlacement) DeepCopyInto(out *NodePlacement)

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

type ServiceRef added in v0.3.0

type ServiceRef struct {
	// Namespace represents the namespace of the service.
	// +required
	Namespace string `json:"namespace"`

	// Name represents the name of the service.
	// +required
	Name string `json:"name"`
}

ServiceRef represents a service in a namespace.

func (*ServiceRef) DeepCopy added in v0.3.0

func (in *ServiceRef) DeepCopy() *ServiceRef

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

func (*ServiceRef) DeepCopyInto added in v0.3.0

func (in *ServiceRef) DeepCopyInto(out *ServiceRef)

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

type ServiceSelector added in v0.3.0

type ServiceSelector struct {
	// Type represents the type of the selector. Now only ServiceRef type is supported.
	// +optional
	// +kubebuilder:default=ServiceRef
	Type ServiceSelectorType `json:"type,omitempty"`

	// ServiceRef defines a service in a namespace.
	// +optional
	ServiceRef *ServiceRef `json:"serviceRef,omitempty"`
}

func (*ServiceSelector) DeepCopy added in v0.3.0

func (in *ServiceSelector) DeepCopy() *ServiceSelector

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

func (*ServiceSelector) DeepCopyInto added in v0.3.0

func (in *ServiceSelector) DeepCopyInto(out *ServiceSelector)

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

type ServiceSelectorType added in v0.3.0

type ServiceSelectorType string

ServiceSelectorType is the type of ServiceSelector. +kubebuilder:validation:Enum=ServiceRef

var (
	// ServiceSelectorTypeServiceRef indicates the selector requires serviceNamespace and serviceName fields.
	ServiceSelectorTypeServiceRef ServiceSelectorType = "ServiceRef"
)

Jump to

Keyboard shortcuts

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