v1alpha1

package
v0.10.0 Latest Latest
Warning

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

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

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the config v1alpha1 API group +kubebuilder:object:generate=true +groupName=config.kubestash.com +k8s:openapi-gen=true

Index

Constants

View Source
const (
	ResourceKindBackendMeta = "BackendMeta"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "config.kubestash.com", 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 BackendMeta

type BackendMeta struct {
	metav1.TypeMeta `json:",inline"`
	// CreationTimestamp is a timestamp representing the server time when this object was created.
	CreationTimestamp metav1.Time `json:"creationTimestamp,omitempty"`
	// OperatorVersion represents the version of the Operator when this object was created.
	OperatorVersion string `json:"operatorVersion,omitempty"`
	// Repositories holds the information of all Repositories using the BackupStorage.
	Repositories []v1alpha1.RepositoryInfo `json:"repositories,omitempty"`
}

BackendMeta specifies the metadata for the BackupStorage

func (*BackendMeta) DeepCopy

func (in *BackendMeta) DeepCopy() *BackendMeta

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

func (*BackendMeta) DeepCopyInto

func (in *BackendMeta) DeepCopyInto(out *BackendMeta)

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

type ControllerConfigurationSpec added in v0.9.0

type ControllerConfigurationSpec struct {
	// GroupKindConcurrency is a map from a Kind to the number of concurrent reconciliation
	// allowed for that controller.
	//
	// When a controller is registered within this manager using the builder utilities,
	// users have to specify the type the controller reconciles in the For(...) call.
	// If the object's kind passed matches one of the keys in this map, the concurrency
	// for that controller is set to the number specified.
	//
	// The key is expected to be consistent in form with GroupKind.String(),
	// e.g. ReplicaSet in apps group (regardless of version) would be `ReplicaSet.apps`.
	//
	// +optional
	GroupKindConcurrency map[string]int `json:"groupKindConcurrency,omitempty"`

	// CacheSyncTimeout refers to the time limit set to wait for syncing caches.
	// Defaults to 2 minutes if not set.
	// +optional
	CacheSyncTimeout *time.Duration `json:"cacheSyncTimeout,omitempty"`

	// RecoverPanic indicates if panics should be recovered.
	// +optional
	RecoverPanic *bool `json:"recoverPanic,omitempty"`
}

ControllerConfigurationSpec defines the global configuration for controllers registered with the manager.

func (*ControllerConfigurationSpec) DeepCopy added in v0.9.0

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

func (*ControllerConfigurationSpec) DeepCopyInto added in v0.9.0

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

type ControllerHealth added in v0.9.0

type ControllerHealth struct {
	// HealthProbeBindAddress is the TCP address that the controller should bind to
	// for serving health probes
	// It can be set to "0" or "" to disable serving the health probe.
	// +optional
	HealthProbeBindAddress string `json:"healthProbeBindAddress,omitempty"`

	// ReadinessEndpointName, defaults to "readyz"
	// +optional
	ReadinessEndpointName string `json:"readinessEndpointName,omitempty"`

	// LivenessEndpointName, defaults to "healthz"
	// +optional
	LivenessEndpointName string `json:"livenessEndpointName,omitempty"`
}

ControllerHealth defines the health configs.

func (*ControllerHealth) DeepCopy added in v0.9.0

func (in *ControllerHealth) DeepCopy() *ControllerHealth

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

func (*ControllerHealth) DeepCopyInto added in v0.9.0

func (in *ControllerHealth) DeepCopyInto(out *ControllerHealth)

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

type ControllerManagerConfiguration added in v0.9.0

type ControllerManagerConfiguration struct {
	metav1.TypeMeta `json:",inline"`

	// ControllerManagerConfiguration returns the contfigurations for controllers
	ControllerManagerConfigurationSpec `json:",inline"`
}

ControllerManagerConfiguration is the Schema for the GenericControllerManagerConfigurations API.

func (*ControllerManagerConfiguration) DeepCopy added in v0.9.0

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

func (*ControllerManagerConfiguration) DeepCopyInto added in v0.9.0

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

func (*ControllerManagerConfiguration) DeepCopyObject added in v0.9.0

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

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

type ControllerManagerConfigurationSpec added in v0.9.0

type ControllerManagerConfigurationSpec struct {
	// SyncPeriod determines the minimum frequency at which watched resources are
	// reconciled. A lower period will correct entropy more quickly, but reduce
	// responsiveness to change if there are many watched resources. Change this
	// value only if you know what you are doing. Defaults to 10 hours if unset.
	// there will a 10 percent jitter between the SyncPeriod of all controllers
	// so that all controllers will not send list requests simultaneously.
	// +optional
	SyncPeriod *metav1.Duration `json:"syncPeriod,omitempty"`

	// LeaderElection is the LeaderElection config to be used when configuring
	// the manager.Manager leader election
	// +optional
	LeaderElection *configv1alpha1.LeaderElectionConfiguration `json:"leaderElection,omitempty"`

	// CacheNamespace if specified restricts the manager's cache to watch objects in
	// the desired namespace Defaults to all namespaces
	//
	// Note: If a namespace is specified, controllers can still Watch for a
	// cluster-scoped resource (e.g Node).  For namespaced resources the cache
	// will only hold objects from the desired namespace.
	// +optional
	CacheNamespace string `json:"cacheNamespace,omitempty"`

	// GracefulShutdownTimeout is the duration given to runnable to stop before the manager actually returns on stop.
	// To disable graceful shutdown, set to time.Duration(0)
	// To use graceful shutdown without timeout, set to a negative duration, e.G. time.Duration(-1)
	// The graceful shutdown is skipped for safety reasons in case the leader election lease is lost.
	GracefulShutdownTimeout *metav1.Duration `json:"gracefulShutDown,omitempty"`

	// Controller contains global configuration options for controllers
	// registered within this manager.
	// +optional
	Controller *ControllerConfigurationSpec `json:"controller,omitempty"`

	// Metrics contains the controller metrics configuration
	// +optional
	Metrics ControllerMetrics `json:"metrics,omitempty"`

	// Health contains the controller health configuration
	// +optional
	Health ControllerHealth `json:"health,omitempty"`

	// Webhook contains the controllers webhook configuration
	// +optional
	Webhook ControllerWebhook `json:"webhook,omitempty"`
}

ControllerManagerConfigurationSpec defines the desired state of GenericControllerManagerConfiguration.

func (*ControllerManagerConfigurationSpec) Complete added in v0.9.0

Complete returns the configuration for controller-runtime.

func (*ControllerManagerConfigurationSpec) DeepCopy added in v0.9.0

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

func (*ControllerManagerConfigurationSpec) DeepCopyInto added in v0.9.0

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

type ControllerMetrics added in v0.9.0

type ControllerMetrics 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.
	// +optional
	BindAddress string `json:"bindAddress,omitempty"`
}

ControllerMetrics defines the metrics configs.

func (*ControllerMetrics) DeepCopy added in v0.9.0

func (in *ControllerMetrics) DeepCopy() *ControllerMetrics

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

func (*ControllerMetrics) DeepCopyInto added in v0.9.0

func (in *ControllerMetrics) DeepCopyInto(out *ControllerMetrics)

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

type ControllerWebhook added in v0.9.0

type ControllerWebhook struct {
	// Port is the port that the webhook server serves at.
	// It is used to set webhook.Server.Port.
	// +optional
	Port *int `json:"port,omitempty"`

	// Host is the hostname that the webhook server binds to.
	// It is used to set webhook.Server.Host.
	// +optional
	Host string `json:"host,omitempty"`

	// CertDir is the directory that contains the server key and certificate.
	// if not set, webhook server would look up the server key and certificate in
	// {TempDir}/k8s-webhook-server/serving-certs. The server key and certificate
	// must be named tls.key and tls.crt, respectively.
	// +optional
	CertDir string `json:"certDir,omitempty"`
}

ControllerWebhook defines the webhook server for the controller.

func (*ControllerWebhook) DeepCopy added in v0.9.0

func (in *ControllerWebhook) DeepCopy() *ControllerWebhook

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

func (*ControllerWebhook) DeepCopyInto added in v0.9.0

func (in *ControllerWebhook) DeepCopyInto(out *ControllerWebhook)

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

type Docker

type Docker struct {
	// Registry specifies the name of a Docker registry
	Registry string `json:"registry,omitempty"`

	// Image specifies the name of a Docker image
	Image string `json:"image,omitempty"`

	// Tag specifies the Docker image tag
	Tag string `json:"tag,omitempty"`
}

func (*Docker) DeepCopy

func (in *Docker) DeepCopy() *Docker

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

func (*Docker) DeepCopyInto

func (in *Docker) DeepCopyInto(out *Docker)

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

func (Docker) ToContainerImage

func (docker Docker) ToContainerImage() string

type GenericWebhookInfo

type GenericWebhookInfo struct {
	// Enable specifies whether the webhook is enabled or not
	Enable bool `json:"enable,omitempty"`

	// Name specifies the name of the respective webhook
	Name string `json:"name,omitempty"`
}

func (*GenericWebhookInfo) DeepCopy

func (in *GenericWebhookInfo) DeepCopy() *GenericWebhookInfo

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

func (*GenericWebhookInfo) DeepCopyInto

func (in *GenericWebhookInfo) DeepCopyInto(out *GenericWebhookInfo)

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

type KubeStashConfig

type KubeStashConfig struct {
	metav1.TypeMeta `json:",inline"`

	// ControllerManagerConfigurationSpec returns the contfigurations for controllers
	ControllerManagerConfigurationSpec `json:",inline"`

	// Configuration options related to license
	License LicenseOptions `json:"license,omitempty"`

	// WebhookInfo specifies validating and mutating webhook information
	WebhookInfo WebhookInfo `json:"webhookInfo,omitempty"`

	// Docker specifies the operator's  docker registry, image, and tag information
	Docker Docker `json:"docker,omitempty"`

	// ImagePullSecrets specifies the secrets to pull image from private registry
	ImagePullSecrets []string `json:"imagePullSecrets,omitempty"`

	// NetVolAccessor specifies the network volume accessor's resource requirements
	NetVolAccessor NetVolAccessor `json:"netVolAccessor,omitempty"`
}

KubeStashConfig is the Schema for the kubestashconfigs API

func (*KubeStashConfig) DeepCopy

func (in *KubeStashConfig) DeepCopy() *KubeStashConfig

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

func (*KubeStashConfig) DeepCopyInto

func (in *KubeStashConfig) DeepCopyInto(out *KubeStashConfig)

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

func (*KubeStashConfig) DeepCopyObject

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

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

type LicenseOptions

type LicenseOptions struct {
	// Path specifies the path of the license file
	Path string `json:"path,omitempty"`

	// ApiService specifies the name of the ApiService to use by the addons to identify the respective service and certificate for license verification request
	ApiService string `json:"apiService,omitempty"`
}

func (*LicenseOptions) DeepCopy

func (in *LicenseOptions) DeepCopy() *LicenseOptions

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

func (*LicenseOptions) DeepCopyInto

func (in *LicenseOptions) DeepCopyInto(out *LicenseOptions)

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

type NetVolAccessor added in v0.2.0

type NetVolAccessor struct {
	// CPU specifies amount of CPU resource to allocate for each network volume accessor deployment
	CPU string `json:"cpu,omitempty"`

	// Memory specifies amount of Memory resource to allocate for each network volume accessor deployment
	Memory string `json:"memory,omitempty"`

	// User specifies the UID of each network volume accessor deployment
	User int64 `json:"user,omitempty"`

	// PrivilegedMode specifies whether each network volume accessor deployment should run in privileged mode or not
	PrivilegedMode bool `json:"privilegedMode,omitempty"`
}

func (*NetVolAccessor) DeepCopy added in v0.2.0

func (in *NetVolAccessor) DeepCopy() *NetVolAccessor

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

func (*NetVolAccessor) DeepCopyInto added in v0.2.0

func (in *NetVolAccessor) DeepCopyInto(out *NetVolAccessor)

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

type WebhookInfo

type WebhookInfo struct {
	Validating GenericWebhookInfo `json:"validating,omitempty"`
	Mutating   GenericWebhookInfo `json:"mutating,omitempty"`
}

func (*WebhookInfo) DeepCopy

func (in *WebhookInfo) DeepCopy() *WebhookInfo

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

func (*WebhookInfo) DeepCopyInto

func (in *WebhookInfo) DeepCopyInto(out *WebhookInfo)

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