v1

package
v0.3.0 Latest Latest
Warning

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

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

Documentation

Overview

Package v1 contains API Schema definitions for the config v1 API group +kubebuilder:object:generate=true +groupName=config.operator.kube-stager.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "config.operator.kube-stager.io", Version: "v1"}

	// 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 Configmap

type Configmap map[string]string

func (Configmap) DeepCopy

func (in Configmap) DeepCopy() Configmap

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

func (Configmap) DeepCopyInto

func (in Configmap) DeepCopyInto(out *Configmap)

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

type MongoConfig

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

	Spec MongoConfigSpec `json:"spec,omitempty"`
}

MongoConfig is the Schema for the mongoconfigs API

func (*MongoConfig) DeepCopy

func (in *MongoConfig) DeepCopy() *MongoConfig

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

func (*MongoConfig) DeepCopyInto

func (in *MongoConfig) DeepCopyInto(out *MongoConfig)

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

func (*MongoConfig) DeepCopyObject

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

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

type MongoConfigList

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

MongoConfigList contains a list of MongoConfig

func (*MongoConfigList) DeepCopy

func (in *MongoConfigList) DeepCopy() *MongoConfigList

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

func (*MongoConfigList) DeepCopyInto

func (in *MongoConfigList) DeepCopyInto(out *MongoConfigList)

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

func (*MongoConfigList) DeepCopyObject

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

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

type MongoConfigSpec

type MongoConfigSpec struct {
	//+kubebuilder:validation:MinLength=1
	// The primary hostname of this mongo config
	Host1 string `json:"host1"`

	//+kubebuilder:validation:MinLength=1
	// The secondary hostname of this mongo config
	//+optional
	Host2 string `json:"host2,omitempty"`

	//+kubebuilder:validation:MinLength=0
	// The tertiary hostname of this mongo config
	//+optional
	Host3 string `json:"host3,omitempty"`

	//+kubebuilder:validation:MinLength=0
	// The admin username for the server
	Username string `json:"username"`

	//+kubebuilder:validation:MinLength=1
	// The password for the server
	Password string `json:"password"`

	//+kubebuilder:default:=27017
	// The port for the server - defaults to 27017
	//+optional
	Port uint16 `json:"port,omitempty"`
}

MongoConfigSpec defines the desired state of MongoConfig

func (*MongoConfigSpec) DeepCopy

func (in *MongoConfigSpec) DeepCopy() *MongoConfigSpec

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

func (*MongoConfigSpec) DeepCopyInto

func (in *MongoConfigSpec) DeepCopyInto(out *MongoConfigSpec)

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

type MysqlConfig

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

	Spec MysqlConfigSpec `json:"spec,omitempty"`
}

MysqlConfig is the Schema for the mysqlconfigs API

func (*MysqlConfig) DeepCopy

func (in *MysqlConfig) DeepCopy() *MysqlConfig

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

func (*MysqlConfig) DeepCopyInto

func (in *MysqlConfig) DeepCopyInto(out *MysqlConfig)

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

func (*MysqlConfig) DeepCopyObject

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

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

type MysqlConfigList

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

MysqlConfigList contains a list of MysqlConfig

func (*MysqlConfigList) DeepCopy

func (in *MysqlConfigList) DeepCopy() *MysqlConfigList

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

func (*MysqlConfigList) DeepCopyInto

func (in *MysqlConfigList) DeepCopyInto(out *MysqlConfigList)

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

func (*MysqlConfigList) DeepCopyObject

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

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

type MysqlConfigSpec

type MysqlConfigSpec struct {
	//+kubebuilder:validation:MinLength=1
	// The hostname of this mysql config
	Host string `json:"host"`

	//+kubebuilder:validation:MinLength=1
	// The admin username for the server
	Username string `json:"username"`

	//+kubebuilder:validation:MinLength=1
	// The password for the server
	Password string `json:"password"`

	//+kubebuilder:default:=3306
	// The port for the server - defaults to 3306
	//+optional
	Port uint16 `json:"port,omitempty"`
}

MysqlConfigSpec defines the desired state of MysqlConfig

func (*MysqlConfigSpec) DeepCopy

func (in *MysqlConfigSpec) DeepCopy() *MysqlConfigSpec

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

func (*MysqlConfigSpec) DeepCopyInto

func (in *MysqlConfigSpec) DeepCopyInto(out *MysqlConfigSpec)

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

type RedisConfig

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

	Spec RedisConfigSpec `json:"spec,omitempty"`
}

RedisConfig is the Schema for the redisconfigs API

func (*RedisConfig) DeepCopy

func (in *RedisConfig) DeepCopy() *RedisConfig

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

func (*RedisConfig) DeepCopyInto

func (in *RedisConfig) DeepCopyInto(out *RedisConfig)

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

func (*RedisConfig) DeepCopyObject

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

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

type RedisConfigList

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

RedisConfigList contains a list of RedisConfig

func (*RedisConfigList) DeepCopy

func (in *RedisConfigList) DeepCopy() *RedisConfigList

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

func (*RedisConfigList) DeepCopyInto

func (in *RedisConfigList) DeepCopyInto(out *RedisConfigList)

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

func (*RedisConfigList) DeepCopyObject

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

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

type RedisConfigSpec

type RedisConfigSpec struct {
	//+kubebuilder:validation:MinLength=1
	// The hostname of this mysql config
	Host string `json:"host"`

	//+kubebuilder:default:=16
	// The number of available databases on this redis server. Defaults to 16.
	//+optional
	AvailableDatabaseCount uint32 `json:"availableDatabaseCount,omitempty"`

	//+kubebuilder:default:=6379
	// The port for the server - defaults to 6379
	//+optional
	Port uint16 `json:"port,omitempty"`

	//+kubebuilder:default:=false
	// Whether TLS is enabled on the server
	IsTlsEnabled *bool `json:"isTlsEnabled,omitempty"`

	// Whether to verify the server's certificate
	//+optional
	//+kubebuilder:default:=true
	VerifyTlsServerCertificate *bool `json:"verifyTlsServerCertificate,omitempty"`

	// The password to connect to the server
	//+optional
	Password string `json:"password,omitempty"`
}

RedisConfigSpec defines the desired state of RedisConfig

func (*RedisConfigSpec) DeepCopy

func (in *RedisConfigSpec) DeepCopy() *RedisConfigSpec

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

func (*RedisConfigSpec) DeepCopyInto

func (in *RedisConfigSpec) DeepCopyInto(out *RedisConfigSpec)

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

type ServiceConfig

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

	Spec ServiceConfigSpec `json:"spec,omitempty"`
}

ServiceConfig is the Schema for the serviceconfigs API

func (*ServiceConfig) DeepCopy

func (in *ServiceConfig) DeepCopy() *ServiceConfig

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

func (*ServiceConfig) DeepCopyInto

func (in *ServiceConfig) DeepCopyInto(out *ServiceConfig)

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

func (*ServiceConfig) DeepCopyObject

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

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

type ServiceConfigList

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

ServiceConfigList contains a list of ServiceConfig

func (*ServiceConfigList) DeepCopy

func (in *ServiceConfigList) DeepCopy() *ServiceConfigList

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

func (*ServiceConfigList) DeepCopyInto

func (in *ServiceConfigList) DeepCopyInto(out *ServiceConfigList)

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

func (*ServiceConfigList) DeepCopyObject

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

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

type ServiceConfigSpec

type ServiceConfigSpec struct {
	//+kubebuilder:validation:MinLength:=1
	//+kubebuilder:validation:MaxLength:=9
	//+kubebuilder:validation:Pattern:=[a-z][-0-9a-z]*
	// A short identifier for the service. Must be all lowercase and match dns name rules unique in the namespace, ideal length is about 3 characters. This will be used to
	// suffix the created kube objects
	ShortName string `json:"shortName"`

	// The data for any configmaps to create
	//+optional
	ConfigMaps map[string]Configmap `json:"configMaps,omitempty"`

	// Any additional custom template values. May be overridden in the site config
	//+optional
	CustomTemplateValues map[string]string `json:"customTemplateValues"`

	// The spec for the deployment to create
	DeploymentPodSpec corev1.PodSpec `json:"deploymentPodSpec"`

	// The spec for the db init job. If not set, no db initialisation will be run
	//+optional
	DbInitPodSpec *corev1.PodSpec `json:"dbInitPodSpec"`

	// The spec for the migration job. If not set, no db migration will be run
	//+optional
	MigrationJobPodSpec *corev1.PodSpec `json:"migrationJobPodSpec"`

	// The spec for the backup job. If not set, no backup will be run
	//+optional
	BackupPodSpec *corev1.PodSpec `json:"backupPodSpec,omitempty"`

	// The spec for the service created for the deployment of this service. If not set, no service will be created
	//+optional
	ServiceSpec *corev1.ServiceSpec `json:"serviceSpec,omitempty"`

	// The spec for the ingress for this service. If not set, no ingress will be created
	//+optional
	IngressSpec *networkingv1.IngressSpec `json:"ingressSpec,omitempty"`

	// Annotations for the ingress object
	//+optional
	IngressAnnotations map[string]string `json:"ingressAnnotations"`

	// Name of the default mongo environment if one is not specified on the site level
	//+optional
	DefaultMongoEnvironment string `json:"defaultMongoEnvironment"`

	// Name of the default mysql environment if one is not specified on the site level
	//+optional
	DefaultMysqlEnvironment string `json:"defaultMysqlEnvironment"`

	// Name of the default redis environment if one is not specified on the site level
	//+optional
	DefaultRedisEnvironment string `json:"defaultRedisEnvironment"`
}

ServiceConfigSpec defines the desired state of ServiceConfig

func (*ServiceConfigSpec) DeepCopy

func (in *ServiceConfigSpec) DeepCopy() *ServiceConfigSpec

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

func (*ServiceConfigSpec) DeepCopyInto

func (in *ServiceConfigSpec) DeepCopyInto(out *ServiceConfigSpec)

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