v1beta1

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Feb 7, 2023 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the waofed v1beta1 API group +kubebuilder:object:generate=true +groupName=waofed.bitmedia.co.jp

Index

Constants

View Source
const (
	OperatorName = "waofed"

	DefaultRSPOptimizerAnnotation = "waofed.bitmedia.co.jp/scheduling"
	DefaultSLPOptimizerAnnotation = "waofed.bitmedia.co.jp/loadbalancing"

	// WAOFedConfigName specifies the name of the only instance of WAOFedConfig that exists in the cluster.
	WAOFedConfigName = "default"
)
View Source
const (
	RSPOptimizerMethodRoundRobin = "rr"
	RSPOptimizerMethodWAO        = "wao"
)
View Source
const (
	SLPOptimizerMethodRoundRobin = "rr"
	SLPOptimizerMethodWAO        = "wao"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "waofed.bitmedia.co.jp", Version: "v1beta1"}

	// 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 ClusterPreferences added in v0.4.0

type ClusterPreferences struct {
	// Weight is the weight in 64 bit **signed** integer.
	// Loadbalancer controllers using SLP should normalize the value.
	Weight int64 `json:"weight"`
}

ClusterPreferences represent the weight of the service in a cluster.

func (*ClusterPreferences) DeepCopy added in v0.4.0

func (in *ClusterPreferences) DeepCopy() *ClusterPreferences

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

func (*ClusterPreferences) DeepCopyInto added in v0.4.0

func (in *ClusterPreferences) DeepCopyInto(out *ClusterPreferences)

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

type LoadBalancingSettings

type LoadBalancingSettings struct {
	// Selector specifies the conditions that for FederatedServices to be affected by WAOFed.
	// +optional
	Selector *ResourceSelector `json:"selector,omitempty"`
	// Optimizer owns optimizer settings that control how WAOFed controls loadbalancing.
	// +optional
	Optimizer *SLPOptimizerSettings `json:"optimizer,omitempty"`
}

func (*LoadBalancingSettings) DeepCopy

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

func (*LoadBalancingSettings) DeepCopyInto

func (in *LoadBalancingSettings) DeepCopyInto(out *LoadBalancingSettings)

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

type RSPOptimizerMethod

type RSPOptimizerMethod string

type RSPOptimizerSettings

type RSPOptimizerSettings struct {
	// Method specifies the method name to use. (default: "rr")
	// +optional
	Method *RSPOptimizerMethod `json:"method,omitempty"`

	// WAOEstimators specifies WAO-Estimator settings for member clusters.
	// Required when method "wao" is specified.
	//
	// e.g. { cluster1: {endpoint: "http://localhost:5657"}, cluster2: {endpoint: "http://localhost:5658"} }
	//
	// +optional
	WAOEstimators map[string]*WAOEstimatorSetting `json:"waoEstimators,omitempty"`
}

func (*RSPOptimizerSettings) DeepCopy

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

func (*RSPOptimizerSettings) DeepCopyInto

func (in *RSPOptimizerSettings) DeepCopyInto(out *RSPOptimizerSettings)

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

type ResourceSelector added in v0.4.0

type ResourceSelector struct {
	// Any matches any FederatedDeployment when set to true. (default: false)
	// +optional
	Any *bool `json:"any,omitempty"`
	// HasAnnotation specifies the annotation name within the FederatedDeployment to select. (default: "waofed.bitmedia.co.jp/scheduling")
	// +optional
	HasAnnotation *string `json:"hasAnnotation,omitempty"`
}

func (*ResourceSelector) DeepCopy added in v0.4.0

func (in *ResourceSelector) DeepCopy() *ResourceSelector

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

func (*ResourceSelector) DeepCopyInto added in v0.4.0

func (in *ResourceSelector) DeepCopyInto(out *ResourceSelector)

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

type SLPOptimizerMethod added in v0.4.0

type SLPOptimizerMethod string

type SLPOptimizerSettings added in v0.4.0

type SLPOptimizerSettings struct {
	// Method specifies the method name to use. (default: "rr")
	// +optional
	Method *SLPOptimizerMethod `json:"method,omitempty"`

	// WAOEstimators specifies WAO-Estimator settings for member clusters.
	// Required when method "wao" is specified.
	//
	// e.g. { cluster1: {endpoint: "http://localhost:5657"}, cluster2: {endpoint: "http://localhost:5658"} }
	//
	// +optional
	WAOEstimators map[string]*WAOEstimatorSetting `json:"waoEstimators,omitempty"`
}

func (*SLPOptimizerSettings) DeepCopy added in v0.4.0

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

func (*SLPOptimizerSettings) DeepCopyInto added in v0.4.0

func (in *SLPOptimizerSettings) DeepCopyInto(out *SLPOptimizerSettings)

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

type SchedulingSettings

type SchedulingSettings struct {
	// Selector specifies the conditions that for FederatedDeployments to be affected by WAOFed.
	// +optional
	Selector *ResourceSelector `json:"selector,omitempty"`
	// Optimizer owns optimizer settings that control how WAOFed generates ReplicaSchedulingPreferences.
	// +optional
	Optimizer *RSPOptimizerSettings `json:"optimizer,omitempty"`
}

func (*SchedulingSettings) DeepCopy

func (in *SchedulingSettings) DeepCopy() *SchedulingSettings

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

func (*SchedulingSettings) DeepCopyInto

func (in *SchedulingSettings) DeepCopyInto(out *SchedulingSettings)

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

type ServiceLoadbalancingPreference added in v0.4.0

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

	Spec   ServiceLoadbalancingPreferenceSpec   `json:"spec,omitempty"`
	Status ServiceLoadbalancingPreferenceStatus `json:"status,omitempty"`
}

ServiceLoadbalancingPreference is the Schema for the serviceloadbalancingpreferences API

func (*ServiceLoadbalancingPreference) DeepCopy added in v0.4.0

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

func (*ServiceLoadbalancingPreference) DeepCopyInto added in v0.4.0

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

func (*ServiceLoadbalancingPreference) DeepCopyObject added in v0.4.0

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

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

type ServiceLoadbalancingPreferenceList added in v0.4.0

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

ServiceLoadbalancingPreferenceList contains a list of ServiceLoadbalancingPreference

func (*ServiceLoadbalancingPreferenceList) DeepCopy added in v0.4.0

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

func (*ServiceLoadbalancingPreferenceList) DeepCopyInto added in v0.4.0

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

func (*ServiceLoadbalancingPreferenceList) DeepCopyObject added in v0.4.0

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

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

type ServiceLoadbalancingPreferenceSpec added in v0.4.0

type ServiceLoadbalancingPreferenceSpec struct {
	// Clusters maps between cluster names and preference weight settings in these clusters.
	// "*" (if provided) applies to all clusters if an explicit mapping is not provided.
	// Clusters without preferences should not have any access.
	Clusters map[string]ClusterPreferences `json:"clusters"`
}

ServiceLoadbalancingPreferenceSpec defines the desired state of ServiceLoadbalancingPreference

func (*ServiceLoadbalancingPreferenceSpec) DeepCopy added in v0.4.0

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

func (*ServiceLoadbalancingPreferenceSpec) DeepCopyInto added in v0.4.0

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

type ServiceLoadbalancingPreferenceStatus added in v0.4.0

type ServiceLoadbalancingPreferenceStatus struct {
}

ServiceLoadbalancingPreferenceStatus defines the observed state of ServiceLoadbalancingPreference

func (*ServiceLoadbalancingPreferenceStatus) DeepCopy added in v0.4.0

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

func (*ServiceLoadbalancingPreferenceStatus) DeepCopyInto added in v0.4.0

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

type WAOEstimatorSetting added in v0.3.0

type WAOEstimatorSetting struct {
	// Endpoint specifies WAO-Estimator API endpoint.
	// e.g. "http://localhost:5657"
	Endpoint string `json:"endpoint"`
	// Namespace specifies Estimator resource namespace. (default: "default")
	Namespace string `json:"namespace,omitempty"`
	// Name specifies Estimator resource name. (default: "default")
	Name string `json:"name,omitempty"`
}

func (*WAOEstimatorSetting) DeepCopy added in v0.3.0

func (in *WAOEstimatorSetting) DeepCopy() *WAOEstimatorSetting

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

func (*WAOEstimatorSetting) DeepCopyInto added in v0.3.0

func (in *WAOEstimatorSetting) DeepCopyInto(out *WAOEstimatorSetting)

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

type WAOFedConfig

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

	Spec   WAOFedConfigSpec   `json:"spec,omitempty"`
	Status WAOFedConfigStatus `json:"status,omitempty"`
}

WAOFedConfig is the Schema for the waofedconfigs API

func (*WAOFedConfig) DeepCopy

func (in *WAOFedConfig) DeepCopy() *WAOFedConfig

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

func (*WAOFedConfig) DeepCopyInto

func (in *WAOFedConfig) DeepCopyInto(out *WAOFedConfig)

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

func (*WAOFedConfig) DeepCopyObject

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

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

func (*WAOFedConfig) Default added in v0.2.0

func (r *WAOFedConfig) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*WAOFedConfig) SetupWebhookWithManager added in v0.2.0

func (r *WAOFedConfig) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*WAOFedConfig) ValidateCreate added in v0.2.0

func (r *WAOFedConfig) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*WAOFedConfig) ValidateDelete added in v0.2.0

func (r *WAOFedConfig) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*WAOFedConfig) ValidateUpdate added in v0.2.0

func (r *WAOFedConfig) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type WAOFedConfigList

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

WAOFedConfigList contains a list of WAOFedConfig

func (*WAOFedConfigList) DeepCopy

func (in *WAOFedConfigList) DeepCopy() *WAOFedConfigList

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

func (*WAOFedConfigList) DeepCopyInto

func (in *WAOFedConfigList) DeepCopyInto(out *WAOFedConfigList)

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

func (*WAOFedConfigList) DeepCopyObject

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

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

type WAOFedConfigSpec

type WAOFedConfigSpec struct {
	// KubeFedNamespace specifies the KubeFed namespace used to check KubeFedCluster resources to get the list of clusters.
	KubeFedNamespace string `json:"kubefedNamespace,omitempty"`

	// Scheduling owns scheduling settings.
	// +optional
	Scheduling *SchedulingSettings `json:"scheduling,omitempty"`

	// LoadBalancing owns load balancing settings.
	// +optional
	LoadBalancing *LoadBalancingSettings `json:"loadbalancing,omitempty"`
}

WAOFedConfigSpec defines the desired state of WAOFedConfig

func (*WAOFedConfigSpec) DeepCopy

func (in *WAOFedConfigSpec) DeepCopy() *WAOFedConfigSpec

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

func (*WAOFedConfigSpec) DeepCopyInto

func (in *WAOFedConfigSpec) DeepCopyInto(out *WAOFedConfigSpec)

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

type WAOFedConfigStatus

type WAOFedConfigStatus struct {
}

WAOFedConfigStatus defines the observed state of WAOFedConfig

func (*WAOFedConfigStatus) DeepCopy

func (in *WAOFedConfigStatus) DeepCopy() *WAOFedConfigStatus

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

func (*WAOFedConfigStatus) DeepCopyInto

func (in *WAOFedConfigStatus) DeepCopyInto(out *WAOFedConfigStatus)

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
JackTT - Gopher 🇻🇳