Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the config v1alpha1 API group +kubebuilder:object:generate=true +groupName=config.sharding.timebertt.dev
Index ¶
- Constants
- Variables
- func RegisterDefaults(scheme *runtime.Scheme) error
- func SetDefaults_Controller(obj *Controller)
- func SetDefaults_DebuggingConfiguration(obj *componentbaseconfigv1alpha1.DebuggingConfiguration)
- func SetDefaults_HealthEndpoint(obj *HealthEndpoint)
- func SetDefaults_LeaderElectionConfiguration(obj *componentbaseconfigv1alpha1.LeaderElectionConfiguration)
- func SetDefaults_MetricsEndpoint(obj *MetricsEndpoint)
- func SetDefaults_ServiceReference(obj *admissionregistrationv1.ServiceReference)
- func SetDefaults_SharderConfig(obj *SharderConfig)
- func SetDefaults_SharderController(obj *SharderController)
- func SetDefaults_Webhook(obj *Webhook)
- func SetDefaults_WebhookClientConfig(obj *admissionregistrationv1.WebhookClientConfig)
- func SetDefaults_WebhookConfig(obj *WebhookConfig)
- func SetObjectDefaults_SharderConfig(in *SharderConfig)
- type Controller
- type HealthEndpoint
- type MetricsEndpoint
- type SharderConfig
- type SharderController
- type Webhook
- type WebhookConfig
- type WebhookServer
Constants ¶
const GroupName = "config.sharding.timebertt.dev"
GroupName is the group name used in this package.
Variables ¶
var ( // SchemeBuilder is a new Scheme Builder which registers our API. SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs) // AddToScheme is a reference to the Scheme Builder's AddToScheme function. AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func RegisterDefaults ¶
RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.
func SetDefaults_Controller ¶
func SetDefaults_Controller(obj *Controller)
func SetDefaults_DebuggingConfiguration ¶
func SetDefaults_DebuggingConfiguration(obj *componentbaseconfigv1alpha1.DebuggingConfiguration)
func SetDefaults_HealthEndpoint ¶
func SetDefaults_HealthEndpoint(obj *HealthEndpoint)
func SetDefaults_LeaderElectionConfiguration ¶
func SetDefaults_LeaderElectionConfiguration(obj *componentbaseconfigv1alpha1.LeaderElectionConfiguration)
func SetDefaults_MetricsEndpoint ¶
func SetDefaults_MetricsEndpoint(obj *MetricsEndpoint)
func SetDefaults_ServiceReference ¶
func SetDefaults_ServiceReference(obj *admissionregistrationv1.ServiceReference)
func SetDefaults_SharderConfig ¶
func SetDefaults_SharderConfig(obj *SharderConfig)
func SetDefaults_SharderController ¶
func SetDefaults_SharderController(obj *SharderController)
func SetDefaults_Webhook ¶
func SetDefaults_Webhook(obj *Webhook)
func SetDefaults_WebhookClientConfig ¶
func SetDefaults_WebhookClientConfig(obj *admissionregistrationv1.WebhookClientConfig)
func SetDefaults_WebhookConfig ¶
func SetDefaults_WebhookConfig(obj *WebhookConfig)
func SetObjectDefaults_SharderConfig ¶
func SetObjectDefaults_SharderConfig(in *SharderConfig)
Types ¶
type Controller ¶
type Controller struct {
// Sharder configures the sharder controller.
// +optional
Sharder *SharderController `json:"sharder,omitempty"`
}
Controller configures the sharder's controllers.
func (*Controller) DeepCopy ¶
func (in *Controller) DeepCopy() *Controller
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Controller.
func (*Controller) DeepCopyInto ¶
func (in *Controller) DeepCopyInto(out *Controller)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthEndpoint ¶
type HealthEndpoint struct {
// BindAddress is the TCP address that the controller should bind to
// for serving health probes
// It can be set to "0" to disable serving the health probe.
// Defaults to :8081
// +optional
BindAddress string `json:"bindAddress,omitempty"`
}
HealthEndpoint defines the health configs.
func (*HealthEndpoint) DeepCopy ¶
func (in *HealthEndpoint) DeepCopy() *HealthEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthEndpoint.
func (*HealthEndpoint) DeepCopyInto ¶
func (in *HealthEndpoint) DeepCopyInto(out *HealthEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricsEndpoint ¶
type MetricsEndpoint struct {
// BindAddress is the TCP address that the controller should bind to
// for serving prometheus metrics.
// It can be set to "0" to disable the metrics serving.
// Defaults to :8080
// +optional
BindAddress string `json:"bindAddress,omitempty"`
}
MetricsEndpoint defines the metrics configs.
func (*MetricsEndpoint) DeepCopy ¶
func (in *MetricsEndpoint) DeepCopy() *MetricsEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricsEndpoint.
func (*MetricsEndpoint) DeepCopyInto ¶
func (in *MetricsEndpoint) DeepCopyInto(out *MetricsEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SharderConfig ¶
type SharderConfig struct {
metav1.TypeMeta `json:",inline"`
// ClientConnection holds configuration for the kubernetes API clients.
// +optional
ClientConnection *componentbaseconfigv1alpha1.ClientConnectionConfiguration `json:"clientConnection,omitempty"`
// LeaderElection is the LeaderElection config to be used when configuring
// the manager.Manager leader election
// +optional
LeaderElection *componentbaseconfigv1alpha1.LeaderElectionConfiguration `json:"leaderElection,omitempty"`
// Debugging holds configuration for Debugging related features.
// +optional
Debugging *componentbaseconfigv1alpha1.DebuggingConfiguration `json:"debugging,omitempty"`
// Health contains the controller health configuration
Health HealthEndpoint `json:"health"`
// Metrics contains the controller metrics configuration
Metrics MetricsEndpoint `json:"metrics"`
// Controller configures the sharder's controllers.
Controller Controller `json:"controller"`
// Webhook configures webhooks and the webhook server.
Webhook Webhook `json:"webhook"`
// GracefulShutdownTimeout is the duration given to runnable to stop before the manager actually returns on stop.
// To disable graceful shutdown, set it to 0s.
// To use graceful shutdown without timeout, set to a negative duration, e.G. -1s.
// The graceful shutdown is skipped for safety reasons in case the leader election lease is lost.
// Defaults to 15s
GracefulShutdownTimeout *metav1.Duration `json:"gracefulShutDown,omitempty"`
}
SharderConfig is the configuration object for the sharder component.
func (*SharderConfig) DeepCopy ¶
func (in *SharderConfig) DeepCopy() *SharderConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharderConfig.
func (*SharderConfig) DeepCopyInto ¶
func (in *SharderConfig) DeepCopyInto(out *SharderConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SharderConfig) DeepCopyObject ¶
func (in *SharderConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SharderController ¶
type SharderController struct {
// SyncPeriod configures how often a periodic resync of all object assignments in a ring is performed.
// Defaults to 5m
// +optional
SyncPeriod *metav1.Duration `json:"syncPeriod,omitempty"`
// ConcurrentMoves configures how many objects of the same ControllerRing are moved (or drained) concurrently at
// maximum.
// Defaults to 100
// +optional
ConcurrentMoves *int32 `json:"concurrentMoves,omitempty"`
}
SharderController configures the sharder controller.
func (*SharderController) DeepCopy ¶
func (in *SharderController) DeepCopy() *SharderController
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SharderController.
func (*SharderController) DeepCopyInto ¶
func (in *SharderController) DeepCopyInto(out *SharderController)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Webhook ¶
type Webhook struct {
// Server configures the sharder's webhook server.
// +optional
Server *WebhookServer `json:"server,omitempty"`
// Config configures the sharder's MutatingWebhookConfiguration objects.
// +optional
Config *WebhookConfig `json:"config,omitempty"`
}
Webhook configures webhooks and the webhook server.
func (*Webhook) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Webhook.
func (*Webhook) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebhookConfig ¶
type WebhookConfig struct {
// Annotations are additional annotations that should be added to all webhook configs.
// +optional
Annotations map[string]string `json:"annotations,omitempty"`
// ClientConfig configures the webhook configs' target.
// Defaults to a service reference to sharding-system/sharder.
// +optional
ClientConfig *admissionregistrationv1.WebhookClientConfig `json:"clientConfig,omitempty"`
// NamespaceSelector overwrites the webhook configs' default namespaceSelector.
// Note: changing/unsetting this selector will not remove labels from objects in namespaces that were previously
// included.
// Defaults to excluding the kube-system and sharding-system namespaces
// +optional
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
}
WebhookConfig configures the sharder's MutatingWebhookConfiguration objects.
func (*WebhookConfig) DeepCopy ¶
func (in *WebhookConfig) DeepCopy() *WebhookConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookConfig.
func (*WebhookConfig) DeepCopyInto ¶
func (in *WebhookConfig) DeepCopyInto(out *WebhookConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WebhookServer ¶
type WebhookServer struct {
// CertDir is the directory that contains the server key and certificate.
// Defaults to /tmp/k8s-webhook-server/serving-certs
// +optional
CertDir *string `json:"certDir,omitempty"`
// CertName is the server certificate name.
// Defaults to tls.crt
// +optional
CertName *string `json:"certName,omitempty"`
// KeyName is the server key name.
// Defaults to tls.key
// +optional
KeyName *string `json:"keyName,omitempty"`
}
WebhookServer configures the webhook server.
func (*WebhookServer) DeepCopy ¶
func (in *WebhookServer) DeepCopy() *WebhookServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookServer.
func (*WebhookServer) DeepCopyInto ¶
func (in *WebhookServer) DeepCopyInto(out *WebhookServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.