v1alpha1

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Oct 8, 2020 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the moco v1alpha1 API group +kubebuilder:object:generate=true +groupName=moco.cybozu.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "moco.cybozu.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 MySQLCluster

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

	Spec   MySQLClusterSpec   `json:"spec"`
	Status MySQLClusterStatus `json:"status,omitempty"`
}

MySQLCluster is the Schema for the mysqlclusters API

func (*MySQLCluster) DeepCopy

func (in *MySQLCluster) DeepCopy() *MySQLCluster

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

func (*MySQLCluster) DeepCopyInto

func (in *MySQLCluster) DeepCopyInto(out *MySQLCluster)

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

func (*MySQLCluster) DeepCopyObject

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

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

type MySQLClusterCondition

type MySQLClusterCondition struct {
	// Type is the type of the condition.
	Type MySQLClusterConditionType `json:"type"`

	// Status is the status of the condition.
	Status corev1.ConditionStatus `json:"status"`

	// Reason is a one-word CamelCase reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`

	// Message is a human-readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`

	// LastTransitionTime is the last time the condition transits from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`
}

MySQLClusterCondition defines the condition of MySQLCluster.

func (*MySQLClusterCondition) DeepCopy

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

func (*MySQLClusterCondition) DeepCopyInto

func (in *MySQLClusterCondition) DeepCopyInto(out *MySQLClusterCondition)

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

type MySQLClusterConditionType

type MySQLClusterConditionType string

MySQLClusterConditionType is the type of MySQLCluster condition. +kubebuilder:validation:Enum=Initialized;Healthy;Available;OutOfSync;Failure;Violation

const (
	ConditionInitialized MySQLClusterConditionType = "Initialized"
	ConditionHealthy     MySQLClusterConditionType = "Healthy"
	ConditionAvailable   MySQLClusterConditionType = "Available"
	ConditionOutOfSync   MySQLClusterConditionType = "OutOfSync"
	ConditionFailure     MySQLClusterConditionType = "Failure"
	ConditionViolation   MySQLClusterConditionType = "Violation"
)

Valid values for MySQLClusterConditionType

type MySQLClusterList

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

MySQLClusterList contains a list of MySQLCluster

func (*MySQLClusterList) DeepCopy

func (in *MySQLClusterList) DeepCopy() *MySQLClusterList

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

func (*MySQLClusterList) DeepCopyInto

func (in *MySQLClusterList) DeepCopyInto(out *MySQLClusterList)

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

func (*MySQLClusterList) DeepCopyObject

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

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

type MySQLClusterSpec

type MySQLClusterSpec struct {

	// Replicas is the number of instances. Available values are 1, 3, and 5.
	// +kubebuilder:validation:Enum=1;3;5
	// +kubebuilder:default=1
	// +optional
	Replicas int32 `json:"replicas,omitempty"`

	// PodTemplate is a `Pod` template for MySQL server container.
	PodTemplate PodTemplateSpec `json:"podTemplate"`

	// DataVolumeClaimTemplateSpec is a `PersistentVolumeClaimSpec` template for the MySQL data volume.
	DataVolumeClaimTemplateSpec corev1.PersistentVolumeClaimSpec `json:"dataVolumeClaimTemplateSpec"`

	// VolumeClaimTemplates is a list of `PersistentVolumeClaim` templates for MySQL server container, except for the MySQL data volume.
	// +optional
	VolumeClaimTemplates []PersistentVolumeClaim `json:"volumeClaimTemplates,omitempty"`

	// ServiceTemplate is a `Service` template for both primary and replicas.
	// +optional
	ServiceTemplate *corev1.ServiceSpec `json:"serviceTemplate,omitempty"`

	// MySQLConfigMapName is a `ConfigMap` name of MySQL config.
	// +optional
	MySQLConfigMapName *string `json:"mysqlConfigMapName,omitempty"`

	// RootPasswordSecretName is a `Secret` name for root user config.
	// +optional
	RootPasswordSecretName *string `json:"rootPasswordSecretName,omitempty"`

	// ReplicationSourceSecretName is a `Secret` name which contains replication source info.
	// Keys must appear in https://dev.mysql.com/doc/refman/8.0/en/change-master-to.html.
	// If this field is given, the `MySQLCluster` works as an intermediate primary.
	// +optional
	ReplicationSourceSecretName *string `json:"replicationSourceSecretName,omitempty"`

	// LogRotationSchedule is a schedule in Cron format for MySQL log rotation
	// +kubebuilder:default="*/5 * * * *"
	// +kubebuilder:validation:Pattern=`^(@(annually|yearly|monthly|weekly|daily|hourly|reboot))|(@every (\d+(ns|us|µs|ms|s|m|h))+)|((((\d+,)+\d+|(\d+(\/|-)\d+)|\d+|\*) ?){5,7})$`
	// +optional
	LogRotationSchedule string `json:"logRotationSchedule,omitempty"`

	// Restore is the specification to perform Point-in-Time-Recovery from existing cluster.
	// If this field is filled, start restoring. This field is unable to be updated.
	// +optional
	Restore *RestoreSpec `json:"restore,omitempty"`
}

MySQLClusterSpec defines the desired state of MySQLCluster

func (*MySQLClusterSpec) DeepCopy

func (in *MySQLClusterSpec) DeepCopy() *MySQLClusterSpec

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

func (*MySQLClusterSpec) DeepCopyInto

func (in *MySQLClusterSpec) DeepCopyInto(out *MySQLClusterSpec)

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

type MySQLClusterStatus

type MySQLClusterStatus struct {

	// Conditions is an array of conditions.
	// +optional
	Conditions []MySQLClusterCondition `json:"conditions,omitempty"`

	// Ready represents the status of readiness.
	Ready corev1.ConditionStatus `json:"ready"`

	// CurrentPrimaryIndex is the ordinal of the current primary in StatefulSet.
	// +optional
	CurrentPrimaryIndex *int `json:"currentPrimaryIndex,omitempty"`

	// SyncedReplicas is the number of synced instances including the primary.
	SyncedReplicas int `json:"syncedReplicas"`

	// AgentToken is the token to call API exposed by the agent sidecar
	AgentToken string `json:"agentToken"`
}

MySQLClusterStatus defines the observed state of MySQLCluster

func (*MySQLClusterStatus) DeepCopy

func (in *MySQLClusterStatus) DeepCopy() *MySQLClusterStatus

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

func (*MySQLClusterStatus) DeepCopyInto

func (in *MySQLClusterStatus) DeepCopyInto(out *MySQLClusterStatus)

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

type ObjectMeta

type ObjectMeta struct {
	// Name is the name of the object.
	// +optional
	Name string `json:"name,omitempty"`

	// Labels is a map of string keys and values.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations is a map of string keys and values.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

ObjectMeta is metadata of objects. This is partially copied from metav1.ObjectMeta.

func (*ObjectMeta) DeepCopy

func (in *ObjectMeta) DeepCopy() *ObjectMeta

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

func (*ObjectMeta) DeepCopyInto

func (in *ObjectMeta) DeepCopyInto(out *ObjectMeta)

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

type PersistentVolumeClaim

type PersistentVolumeClaim struct {
	// Standard object's metadata.
	ObjectMeta `json:"metadata"`

	// Spec defines the desired characteristics of a volume requested by a pod author.
	Spec corev1.PersistentVolumeClaimSpec `json:"spec"`
}

PersistentVolumeClaim is a user's request for and claim to a persistent volume. This is slightly modified from corev1.PersistentVolumeClaim.

func (*PersistentVolumeClaim) DeepCopy

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

func (*PersistentVolumeClaim) DeepCopyInto

func (in *PersistentVolumeClaim) DeepCopyInto(out *PersistentVolumeClaim)

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

type PodTemplateSpec

type PodTemplateSpec struct {
	// Standard object's metadata.  The name in this metadata is ignored.
	// +optional
	ObjectMeta `json:"metadata,omitempty"`

	// Specification of the desired behavior of the pod.
	// The name of the MySQL server container in this spec must be `mysqld`.
	Spec corev1.PodSpec `json:"spec"`
}

PodTemplateSpec describes the data a pod should have when created from a template. This is slightly modified from corev1.PodTemplateSpec.

func (*PodTemplateSpec) DeepCopy

func (in *PodTemplateSpec) DeepCopy() *PodTemplateSpec

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

func (*PodTemplateSpec) DeepCopyInto

func (in *PodTemplateSpec) DeepCopyInto(out *PodTemplateSpec)

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

type RestoreSpec

type RestoreSpec struct {
	// SourceClusterName is the name of the source `MySQLCluster`.
	SourceClusterName string `json:"restore"`

	// PointInTime is the point-in-time of the state which the cluster is restored to.
	PointInTime metav1.Time `json:"pointInTime"`
}

RestoreSpec defines the desired spec of Point-in-Time-Recovery

func (*RestoreSpec) DeepCopy

func (in *RestoreSpec) DeepCopy() *RestoreSpec

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

func (*RestoreSpec) DeepCopyInto

func (in *RestoreSpec) DeepCopyInto(out *RestoreSpec)

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