v1alpha1

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: May 4, 2022 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=aiven.io +versionName=v1alpha1

Package v1alpha1 contains API Schema definitions for the k8s-operator v1alpha1 API group +kubebuilder:object:generate=true +groupName=aiven.io

Index

Constants

This section is empty.

Variables

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

func ConvertDiscSpace added in v0.3.0

func ConvertDiscSpace(v string) int

Types

type AuthSecretReference

type AuthSecretReference struct {
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
	// +kubebuilder:validation:MinLength=1
	Key string `json:"key"`
}

AuthSecretReference references a Secret containing an Aiven authentication token

func (*AuthSecretReference) DeepCopy

func (in *AuthSecretReference) DeepCopy() *AuthSecretReference

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

func (*AuthSecretReference) DeepCopyInto

func (in *AuthSecretReference) DeepCopyInto(out *AuthSecretReference)

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

type Clickhouse added in v0.3.0

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

	Spec   ClickhouseSpec `json:"spec,omitempty"`
	Status ServiceStatus  `json:"status,omitempty"`
}

Clickhouse is the Schema for the clickhouses API

func (Clickhouse) AuthSecretRef added in v0.3.0

func (o Clickhouse) AuthSecretRef() AuthSecretReference

func (*Clickhouse) DeepCopy added in v0.3.0

func (in *Clickhouse) DeepCopy() *Clickhouse

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

func (*Clickhouse) DeepCopyInto added in v0.3.0

func (in *Clickhouse) DeepCopyInto(out *Clickhouse)

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

func (*Clickhouse) DeepCopyObject added in v0.3.0

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

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

func (*Clickhouse) Default added in v0.3.0

func (r *Clickhouse) Default()

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

func (*Clickhouse) SetupWebhookWithManager added in v0.3.0

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

func (*Clickhouse) ValidateCreate added in v0.3.0

func (r *Clickhouse) ValidateCreate() error

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

func (*Clickhouse) ValidateDelete added in v0.3.0

func (r *Clickhouse) ValidateDelete() error

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

func (*Clickhouse) ValidateUpdate added in v0.3.0

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

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

type ClickhouseList added in v0.3.0

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

ClickhouseList contains a list of Clickhouse

func (*ClickhouseList) DeepCopy added in v0.3.0

func (in *ClickhouseList) DeepCopy() *ClickhouseList

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

func (*ClickhouseList) DeepCopyInto added in v0.3.0

func (in *ClickhouseList) DeepCopyInto(out *ClickhouseList)

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

func (*ClickhouseList) DeepCopyObject added in v0.3.0

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

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

type ClickhouseSpec added in v0.3.0

type ClickhouseSpec struct {
	ServiceCommonSpec `json:",inline"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`

	// Information regarding secret creation
	ConnInfoSecretTarget ConnInfoSecretTarget `json:"connInfoSecretTarget,omitempty"`

	// OpenSearch specific user configuration options
	UserConfig ClickhouseUserConfig `json:"userConfig,omitempty"`
}

ClickhouseSpec defines the desired state of Clickhouse

func (*ClickhouseSpec) DeepCopy added in v0.3.0

func (in *ClickhouseSpec) DeepCopy() *ClickhouseSpec

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

func (*ClickhouseSpec) DeepCopyInto added in v0.3.0

func (in *ClickhouseSpec) DeepCopyInto(out *ClickhouseSpec)

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

type ClickhouseUser added in v0.3.0

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

	Spec   ClickhouseUserSpec   `json:"spec,omitempty"`
	Status ClickhouseUserStatus `json:"status,omitempty"`
}

ClickhouseUser is the Schema for the clickhouseusers API +kubebuilder:printcolumn:name="Service Name",type="string",JSONPath=".spec.serviceName" +kubebuilder:printcolumn:name="Project",type="string",JSONPath=".spec.project" +kubebuilder:printcolumn:name="Connection Information Secret",type="string",JSONPath=".spec.connInfoSecretTarget.name"

func (ClickhouseUser) AuthSecretRef added in v0.3.0

func (u ClickhouseUser) AuthSecretRef() AuthSecretReference

func (*ClickhouseUser) DeepCopy added in v0.3.0

func (in *ClickhouseUser) DeepCopy() *ClickhouseUser

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

func (*ClickhouseUser) DeepCopyInto added in v0.3.0

func (in *ClickhouseUser) DeepCopyInto(out *ClickhouseUser)

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

func (*ClickhouseUser) DeepCopyObject added in v0.3.0

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

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

func (*ClickhouseUser) Default added in v0.3.0

func (r *ClickhouseUser) Default()

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

func (*ClickhouseUser) SetupWebhookWithManager added in v0.3.0

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

func (*ClickhouseUser) ValidateCreate added in v0.3.0

func (r *ClickhouseUser) ValidateCreate() error

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

func (*ClickhouseUser) ValidateDelete added in v0.3.0

func (r *ClickhouseUser) ValidateDelete() error

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

func (*ClickhouseUser) ValidateUpdate added in v0.3.0

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

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

type ClickhouseUserConfig added in v0.3.0

type ClickhouseUserConfig struct {
	// Glob pattern and number of indexes matching that pattern to be kept Allows you to create glob style patterns and set a max number of indexes matching this pattern you want to keep. Creating indexes exceeding this value will cause the oldest one to get deleted. You could for example create a pattern looking like 'logs.?' and then create index logs.1, logs.2 etc, it will delete logs.1 once you create logs.6. Do note 'logs.?' does not apply to logs.10. Note: Setting max_index_count to 0 will do nothing and the pattern gets ignored.
	// IP filter Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IpFilter []string `json:"ip_filter,omitempty"`

	// +kubebuilder:validation:MaxLength=63
	// Name of another project to fork a service from. This has effect only when a new service is being created.
	ProjectToForkFrom string `json:"project_to_fork_from,omitempty"`

	// +kubebuilder:validation:MaxLength=63
	// Name of another service to fork from. This has effect only when a new service is being created.
	ServiceToForkFrom string `json:"service_to_fork_from,omitempty"`
}

func (*ClickhouseUserConfig) DeepCopy added in v0.3.0

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

func (*ClickhouseUserConfig) DeepCopyInto added in v0.3.0

func (in *ClickhouseUserConfig) DeepCopyInto(out *ClickhouseUserConfig)

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

type ClickhouseUserList added in v0.3.0

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

ClickhouseUserList contains a list of ClickhouseUser

func (*ClickhouseUserList) DeepCopy added in v0.3.0

func (in *ClickhouseUserList) DeepCopy() *ClickhouseUserList

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

func (*ClickhouseUserList) DeepCopyInto added in v0.3.0

func (in *ClickhouseUserList) DeepCopyInto(out *ClickhouseUserList)

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

func (*ClickhouseUserList) DeepCopyObject added in v0.3.0

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

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

type ClickhouseUserSpec added in v0.3.0

type ClickhouseUserSpec struct {
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Format="^[a-zA-Z0-9_-]*$"
	// Project to link the user to
	Project string `json:"project"`

	// +kubebuilder:validation:MaxLength=63
	// Service to link the user to
	ServiceName string `json:"serviceName"`

	// +kubebuilder:validation:Enum=caching_sha2_password;mysql_native_password
	// Authentication details
	Authentication string `json:"authentication,omitempty"`

	// Information regarding secret creation
	ConnInfoSecretTarget ConnInfoSecretTarget `json:"connInfoSecretTarget,omitempty"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`
}

ClickhouseUserSpec defines the desired state of ClickhouseUser

func (*ClickhouseUserSpec) DeepCopy added in v0.3.0

func (in *ClickhouseUserSpec) DeepCopy() *ClickhouseUserSpec

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

func (*ClickhouseUserSpec) DeepCopyInto added in v0.3.0

func (in *ClickhouseUserSpec) DeepCopyInto(out *ClickhouseUserSpec)

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

type ClickhouseUserStatus added in v0.3.0

type ClickhouseUserStatus struct {
	// Clickhouse user UUID
	UUID string `json:"uuid"`

	// Conditions represent the latest available observations of an ClickhouseUser state
	// +kubebuilder:validation:type=array
	Conditions []metav1.Condition `json:"conditions"`
}

ClickhouseUserStatus defines the observed state of ClickhouseUser

func (*ClickhouseUserStatus) DeepCopy added in v0.3.0

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

func (*ClickhouseUserStatus) DeepCopyInto added in v0.3.0

func (in *ClickhouseUserStatus) DeepCopyInto(out *ClickhouseUserStatus)

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

type ConnInfoSecretTarget

type ConnInfoSecretTarget struct {
	// Name of the Secret resource to be created
	Name string `json:"name"`
}

ConnInfoSecretTarget contains information secret name

func (*ConnInfoSecretTarget) DeepCopy

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

func (*ConnInfoSecretTarget) DeepCopyInto

func (in *ConnInfoSecretTarget) DeepCopyInto(out *ConnInfoSecretTarget)

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

type ConnectionPool

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

	Spec   ConnectionPoolSpec   `json:"spec,omitempty"`
	Status ConnectionPoolStatus `json:"status,omitempty"`
}

ConnectionPool is the Schema for the connectionpools API +kubebuilder:printcolumn:name="Service Name",type="string",JSONPath=".spec.serviceName" +kubebuilder:printcolumn:name="Project",type="string",JSONPath=".spec.project" +kubebuilder:printcolumn:name="Database",type="string",JSONPath=".spec.databaseName" +kubebuilder:printcolumn:name="Username",type="string",JSONPath=".spec.username" +kubebuilder:printcolumn:name="Pool Size",type="string",JSONPath=".spec.poolSize" +kubebuilder:printcolumn:name="Pool Mode",type="string",JSONPath=".spec.poolMode"

func (ConnectionPool) AuthSecretRef

func (cp ConnectionPool) AuthSecretRef() AuthSecretReference

func (*ConnectionPool) DeepCopy

func (in *ConnectionPool) DeepCopy() *ConnectionPool

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

func (*ConnectionPool) DeepCopyInto

func (in *ConnectionPool) DeepCopyInto(out *ConnectionPool)

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

func (*ConnectionPool) DeepCopyObject

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

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

func (*ConnectionPool) Default

func (r *ConnectionPool) Default()

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

func (*ConnectionPool) SetupWebhookWithManager

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

func (*ConnectionPool) ValidateCreate

func (r *ConnectionPool) ValidateCreate() error

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

func (*ConnectionPool) ValidateDelete

func (r *ConnectionPool) ValidateDelete() error

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

func (*ConnectionPool) ValidateUpdate

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

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

type ConnectionPoolList

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

ConnectionPoolList contains a list of ConnectionPool

func (*ConnectionPoolList) DeepCopy

func (in *ConnectionPoolList) DeepCopy() *ConnectionPoolList

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

func (*ConnectionPoolList) DeepCopyInto

func (in *ConnectionPoolList) DeepCopyInto(out *ConnectionPoolList)

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

func (*ConnectionPoolList) DeepCopyObject

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

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

type ConnectionPoolSpec

type ConnectionPoolSpec struct {
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Format="^[a-zA-Z0-9_-]*$"
	// Target project.
	Project string `json:"project"`

	// +kubebuilder:validation:MaxLength=63
	// Service name.
	ServiceName string `json:"serviceName"`

	// +kubebuilder:validation:MaxLength=40
	// Name of the database the pool connects to
	DatabaseName string `json:"databaseName"`

	// +kubebuilder:validation:MaxLength=64
	// Name of the service user used to connect to the database
	Username string `json:"username"`

	// +kubebuilder:validation:Min=1
	// +kubebuilder:validation:Max=1000
	// Number of connections the pool may create towards the backend server
	PoolSize int `json:"poolSize,omitempty"`

	// +kubebuilder:validation:Enum=session;transaction;statement
	// Mode the pool operates in (session, transaction, statement)
	PoolMode string `json:"poolMode,omitempty"`

	// Information regarding secret creation
	ConnInfoSecretTarget ConnInfoSecretTarget `json:"connInfoSecretTarget,omitempty"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`
}

ConnectionPoolSpec defines the desired state of ConnectionPool

func (*ConnectionPoolSpec) DeepCopy

func (in *ConnectionPoolSpec) DeepCopy() *ConnectionPoolSpec

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

func (*ConnectionPoolSpec) DeepCopyInto

func (in *ConnectionPoolSpec) DeepCopyInto(out *ConnectionPoolSpec)

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

type ConnectionPoolStatus

type ConnectionPoolStatus struct {
	// Conditions represent the latest available observations of an ConnectionPool state
	Conditions []metav1.Condition `json:"conditions"`
}

ConnectionPoolStatus defines the observed state of ConnectionPool

func (*ConnectionPoolStatus) DeepCopy

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

func (*ConnectionPoolStatus) DeepCopyInto

func (in *ConnectionPoolStatus) DeepCopyInto(out *ConnectionPoolStatus)

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

type Database

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

	Spec   DatabaseSpec   `json:"spec,omitempty"`
	Status DatabaseStatus `json:"status,omitempty"`
}

Database is the Schema for the databases API +kubebuilder:printcolumn:name="Service Name",type="string",JSONPath=".spec.serviceName" +kubebuilder:printcolumn:name="Project",type="string",JSONPath=".spec.project"

func (Database) AuthSecretRef

func (db Database) AuthSecretRef() AuthSecretReference

func (*Database) DeepCopy

func (in *Database) DeepCopy() *Database

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

func (*Database) DeepCopyInto

func (in *Database) DeepCopyInto(out *Database)

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

func (*Database) DeepCopyObject

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

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

func (*Database) Default

func (r *Database) Default()

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

func (*Database) SetupWebhookWithManager

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

func (*Database) ValidateCreate

func (r *Database) ValidateCreate() error

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

func (*Database) ValidateDelete

func (r *Database) ValidateDelete() error

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

func (*Database) ValidateUpdate

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

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

type DatabaseList

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

DatabaseList contains a list of Database

func (*DatabaseList) DeepCopy

func (in *DatabaseList) DeepCopy() *DatabaseList

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

func (*DatabaseList) DeepCopyInto

func (in *DatabaseList) DeepCopyInto(out *DatabaseList)

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

func (*DatabaseList) DeepCopyObject

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

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

type DatabaseSpec

type DatabaseSpec struct {
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Format="^[a-zA-Z0-9_-]*$"
	// Project to link the database to
	Project string `json:"project"`

	// +kubebuilder:validation:MaxLength=63
	// PostgreSQL service to link the database to
	ServiceName string `json:"serviceName"`

	// +kubebuilder:validation:MaxLength=128
	// Default string sort order (LC_COLLATE) of the database. Default value: en_US.UTF-8
	LcCollate string `json:"lcCollate,omitempty"`

	// +kubebuilder:validation:MaxLength=128
	// Default character classification (LC_CTYPE) of the database. Default value: en_US.UTF-8
	LcCtype string `json:"lcCtype,omitempty"`

	// It is a Kubernetes side deletion protections, which prevents the database
	// from being deleted by Kubernetes. It is recommended to enable this for any production
	// databases containing critical data.
	TerminationProtection bool `json:"terminationProtection,omitempty"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`
}

DatabaseSpec defines the desired state of Database

func (*DatabaseSpec) DeepCopy

func (in *DatabaseSpec) DeepCopy() *DatabaseSpec

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

func (*DatabaseSpec) DeepCopyInto

func (in *DatabaseSpec) DeepCopyInto(out *DatabaseSpec)

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

type DatabaseStatus

type DatabaseStatus struct {
	// Conditions represent the latest available observations of an Database state
	Conditions []metav1.Condition `json:"conditions"`
}

DatabaseStatus defines the observed state of Database

func (*DatabaseStatus) DeepCopy

func (in *DatabaseStatus) DeepCopy() *DatabaseStatus

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

func (*DatabaseStatus) DeepCopyInto

func (in *DatabaseStatus) DeepCopyInto(out *DatabaseStatus)

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

type KafkServiceKafkaConnectUserConfig

type KafkServiceKafkaConnectUserConfig struct {
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=10000
	// The maximum number of records returned by a single poll The maximum number of records returned in a single call to poll() (defaults to 500).
	ConsumerMaxPollRecords *int64 `json:"consumer_max_poll_records,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=2147483647
	// Offset flush timeout Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt (defaults to 5000).
	OffsetFlushTimeoutMs *int64 `json:"offset_flush_timeout_ms,omitempty"`

	// +kubebuilder:validation:Enum=None;All
	// Client config override policy Defines what client configurations can be overridden by the connector. Default is None
	ConnectorClientConfigOverridePolicy string `json:"connector_client_config_override_policy,omitempty"`

	// +kubebuilder:validation:Minimum=1048576
	// +kubebuilder:validation:Maximum=104857600
	// The maximum amount of data the server should return for a fetch request Records are fetched in batches by the consumer, and if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that the consumer can make progress. As such, this is not a absolute maximum.
	ConsumerFetchMaxBytes *int64 `json:"consumer_fetch_max_bytes,omitempty"`
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=2147483647
	// The maximum delay between polls when using consumer group management The maximum delay in milliseconds between invocations of poll() when using consumer group management (defaults to 300000).
	ConsumerMaxPollIntervalMs *int64 `json:"consumer_max_poll_interval_ms,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=100000000
	// The interval at which to try committing offsets for tasks The interval at which to try committing offsets for tasks (defaults to 60000).
	OffsetFlushIntervalMs *int64 `json:"offset_flush_interval_ms,omitempty"`

	// +kubebuilder:validation:Minimum=131072
	// +kubebuilder:validation:Maximum=10485760
	// The maximum size of a request in bytes This setting will limit the number of record batches the producer will send in a single request to avoid sending huge requests.
	ProducerMaxRequestSize *int64 `json:"producer_max_request_size,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=2147483647
	// The timeout used to detect failures when using Kafka’s group management facilities The timeout in milliseconds used to detect failures when using Kafka’s group management facilities (defaults to 10000).
	SessionTimeoutMs *int64 `json:"session_timeout_ms,omitempty"`

	// +kubebuilder:validation:Enum=earliest;latest
	// Consumer auto offset reset What to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server. Default is earliest
	ConsumerAutoOffsetReset string `json:"consumer_auto_offset_reset,omitempty"`

	// +kubebuilder:validation:Enum=read_uncommitted;read_committed
	// Consumer isolation level Transaction read isolation level. read_uncommitted is the default, but read_committed can be used if consume-exactly-once behavior is desired.
	ConsumerIsolationLevel string `json:"consumer_isolation_level,omitempty"`

	// +kubebuilder:validation:Minimum=1048576
	// +kubebuilder:validation:Maximum=104857600
	// The maximum amount of data per-partition the server will return. Records are fetched in batches by the consumer.If the first record batch in the first non-empty partition of the fetch is larger than this limit, the batch will still be returned to ensure that the consumer can make progress.
	ConsumerMaxPartitionFetchBytes *int64 `json:"consumer_max_partition_fetch_bytes,omitempty"`
}

func (*KafkServiceKafkaConnectUserConfig) DeepCopy

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

func (*KafkServiceKafkaConnectUserConfig) DeepCopyInto

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

type Kafka

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

	Spec   KafkaSpec     `json:"spec,omitempty"`
	Status ServiceStatus `json:"status,omitempty"`
}

Kafka is the Schema for the kafkas API +kubebuilder:printcolumn:name="Project",type="string",JSONPath=".spec.project" +kubebuilder:printcolumn:name="Region",type="string",JSONPath=".spec.cloudName" +kubebuilder:printcolumn:name="Plan",type="string",JSONPath=".spec.plan" +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.state"

func (Kafka) AuthSecretRef

func (kfk Kafka) AuthSecretRef() AuthSecretReference

func (*Kafka) DeepCopy

func (in *Kafka) DeepCopy() *Kafka

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

func (*Kafka) DeepCopyInto

func (in *Kafka) DeepCopyInto(out *Kafka)

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

func (*Kafka) DeepCopyObject

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

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

func (*Kafka) Default

func (r *Kafka) Default()

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

func (*Kafka) SetupWebhookWithManager

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

func (*Kafka) ValidateCreate

func (r *Kafka) ValidateCreate() error

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

func (*Kafka) ValidateDelete

func (r *Kafka) ValidateDelete() error

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

func (*Kafka) ValidateUpdate

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

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

type KafkaACL

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

	Spec   KafkaACLSpec   `json:"spec,omitempty"`
	Status KafkaACLStatus `json:"status,omitempty"`
}

KafkaACL is the Schema for the kafkaacls API +kubebuilder:printcolumn:name="Service Name",type="string",JSONPath=".spec.serviceName" +kubebuilder:printcolumn:name="Project",type="string",JSONPath=".spec.project" +kubebuilder:printcolumn:name="Username",type="string",JSONPath=".spec.username" +kubebuilder:printcolumn:name="Permission",type="string",JSONPath=".spec.permission" +kubebuilder:printcolumn:name="Topic",type="string",JSONPath=".spec.topic"

func (KafkaACL) AuthSecretRef

func (acl KafkaACL) AuthSecretRef() AuthSecretReference

func (*KafkaACL) DeepCopy

func (in *KafkaACL) DeepCopy() *KafkaACL

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

func (*KafkaACL) DeepCopyInto

func (in *KafkaACL) DeepCopyInto(out *KafkaACL)

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

func (*KafkaACL) DeepCopyObject

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

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

func (*KafkaACL) Default

func (r *KafkaACL) Default()

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

func (*KafkaACL) SetupWebhookWithManager

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

func (*KafkaACL) ValidateCreate

func (r *KafkaACL) ValidateCreate() error

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

func (*KafkaACL) ValidateDelete

func (r *KafkaACL) ValidateDelete() error

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

func (*KafkaACL) ValidateUpdate

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

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

type KafkaACLList

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

KafkaACLList contains a list of KafkaACL

func (*KafkaACLList) DeepCopy

func (in *KafkaACLList) DeepCopy() *KafkaACLList

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

func (*KafkaACLList) DeepCopyInto

func (in *KafkaACLList) DeepCopyInto(out *KafkaACLList)

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

func (*KafkaACLList) DeepCopyObject

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

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

type KafkaACLSpec

type KafkaACLSpec struct {
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Format="^[a-zA-Z0-9_-]*$"
	// Project to link the Kafka ACL to
	Project string `json:"project"`

	// +kubebuilder:validation:MaxLength=63
	// Service to link the Kafka ACL to
	ServiceName string `json:"serviceName"`

	// +kubebuilder:validation:Enum=admin;read;readwrite;write
	// Kafka permission to grant (admin, read, readwrite, write)
	Permission string `json:"permission"`

	// Topic name pattern for the ACL entry
	Topic string `json:"topic"`

	// Username pattern for the ACL entry
	Username string `json:"username"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`
}

KafkaACLSpec defines the desired state of KafkaACL

func (*KafkaACLSpec) DeepCopy

func (in *KafkaACLSpec) DeepCopy() *KafkaACLSpec

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

func (*KafkaACLSpec) DeepCopyInto

func (in *KafkaACLSpec) DeepCopyInto(out *KafkaACLSpec)

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

type KafkaACLStatus

type KafkaACLStatus struct {
	// Conditions represent the latest available observations of an KafkaACL state
	Conditions []metav1.Condition `json:"conditions"`

	// Kafka ACL ID
	ID string `json:"id"`
}

KafkaACLStatus defines the observed state of KafkaACL

func (*KafkaACLStatus) DeepCopy

func (in *KafkaACLStatus) DeepCopy() *KafkaACLStatus

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

func (*KafkaACLStatus) DeepCopyInto

func (in *KafkaACLStatus) DeepCopyInto(out *KafkaACLStatus)

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

type KafkaAuthenticationMethodsUserConfig

type KafkaAuthenticationMethodsUserConfig struct {
	// Enable certificate/SSL authentication
	Certificate *bool `json:"certificate,omitempty"`

	// Enable SASL authentication
	Sasl *bool `json:"sasl,omitempty"`
}

func (*KafkaAuthenticationMethodsUserConfig) DeepCopy

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

func (*KafkaAuthenticationMethodsUserConfig) DeepCopyInto

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

type KafkaConnect

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

	Spec   KafkaConnectSpec `json:"spec,omitempty"`
	Status ServiceStatus    `json:"status,omitempty"`
}

KafkaConnect is the Schema for the kafkaconnects API +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.state"

func (KafkaConnect) AuthSecretRef

func (kfkc KafkaConnect) AuthSecretRef() AuthSecretReference

func (*KafkaConnect) DeepCopy

func (in *KafkaConnect) DeepCopy() *KafkaConnect

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

func (*KafkaConnect) DeepCopyInto

func (in *KafkaConnect) DeepCopyInto(out *KafkaConnect)

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

func (*KafkaConnect) DeepCopyObject

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

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

func (*KafkaConnect) Default

func (r *KafkaConnect) Default()

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

func (*KafkaConnect) SetupWebhookWithManager

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

func (*KafkaConnect) ValidateCreate

func (r *KafkaConnect) ValidateCreate() error

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

func (*KafkaConnect) ValidateDelete

func (r *KafkaConnect) ValidateDelete() error

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

func (*KafkaConnect) ValidateUpdate

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

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

type KafkaConnectList

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

KafkaConnectList contains a list of KafkaConnect

func (*KafkaConnectList) DeepCopy

func (in *KafkaConnectList) DeepCopy() *KafkaConnectList

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

func (*KafkaConnectList) DeepCopyInto

func (in *KafkaConnectList) DeepCopyInto(out *KafkaConnectList)

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

func (*KafkaConnectList) DeepCopyObject

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

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

type KafkaConnectPrivateAccessUserConfig

type KafkaConnectPrivateAccessUserConfig struct {
	// Allow clients to connect to kafka_connect with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations
	KafkaConnect *bool `json:"kafka_connect,omitempty"`

	// Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations
	Prometheus *bool `json:"prometheus,omitempty"`
}

func (*KafkaConnectPrivateAccessUserConfig) DeepCopy

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

func (*KafkaConnectPrivateAccessUserConfig) DeepCopyInto

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

type KafkaConnectPublicAccessUserConfig

type KafkaConnectPublicAccessUserConfig struct {
	// Allow clients to connect to kafka_connect from the public internet for service nodes that are in a project VPC or another type of private network
	KafkaConnect *bool `json:"kafka_connect,omitempty"`

	// Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network
	Prometheus *bool `json:"prometheus,omitempty"`
}

func (*KafkaConnectPublicAccessUserConfig) DeepCopy

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

func (*KafkaConnectPublicAccessUserConfig) DeepCopyInto

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

type KafkaConnectSpec

type KafkaConnectSpec struct {
	ServiceCommonSpec `json:",inline"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`

	// PostgreSQL specific user configuration options
	UserConfig KafkaConnectUserConfig `json:"userConfig,omitempty"`
}

KafkaConnectSpec defines the desired state of KafkaConnect

func (*KafkaConnectSpec) DeepCopy

func (in *KafkaConnectSpec) DeepCopy() *KafkaConnectSpec

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

func (*KafkaConnectSpec) DeepCopyInto

func (in *KafkaConnectSpec) DeepCopyInto(out *KafkaConnectSpec)

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

type KafkaConnectUserConfig

type KafkaConnectUserConfig struct {
	// Defines what client configurations can be overridden by the connector. Default is None
	ConnectorClientConfigOverridePolicy string `json:"connector_client_config_override_policy,omitempty"`

	// What to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server. Default is earliest
	ConsumerAutoOffsetReset string `json:"consumer_auto_offset_reset,omitempty"`

	// Records are fetched in batches by the consumer, and if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that the consumer can make progress. As such, this is not a absolute maximum.
	ConsumerFetchMaxBytes *int64 `json:"consumer_fetch_max_bytes,omitempty"`

	// Transaction read isolation level. read_uncommitted is the default, but read_committed can be used if consume-exactly-once behavior is desired.
	ConsumerIsolationLevel string `json:"consumer_isolation_level,omitempty"`

	// Records are fetched in batches by the consumer.If the first record batch in the first non-empty partition of the fetch is larger than this limit, the batch will still be returned to ensure that the consumer can make progress.
	ConsumerMaxPartitionFetchBytes *int64 `json:"consumer_max_partition_fetch_bytes,omitempty"`

	// The maximum delay in milliseconds between invocations of poll() when using consumer group management (defaults to 300000).
	ConsumerMaxPollIntervalMs *int64 `json:"consumer_max_poll_interval_ms,omitempty"`

	// The maximum number of records returned in a single call to poll() (defaults to 500).
	ConsumerMaxPollRecords *int64 `json:"consumer_max_poll_records,omitempty"`

	// The interval at which to try committing offsets for tasks (defaults to 60000).
	OffsetFlushIntervalMs *int64 `json:"offset_flush_interval_ms,omitempty"`

	// This setting will limit the number of record batches the producer will send in a single request to avoid sending huge requests.
	ProducerMaxRequestSize *int64 `json:"producer_max_request_size,omitempty"`

	// The timeout in milliseconds used to detect failures when using Kafka’s group management facilities (defaults to 10000).
	SessionTimeoutMs *int64 `json:"session_timeout_ms,omitempty"`

	// Allow access to selected service ports from private networks
	PrivateAccess KafkaConnectPrivateAccessUserConfig `json:"private_access,omitempty"`

	// Allow access to selected service ports from the public Internet
	PublicAccess KafkaConnectPublicAccessUserConfig `json:"public_access,omitempty"`
}

func (*KafkaConnectUserConfig) DeepCopy

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

func (*KafkaConnectUserConfig) DeepCopyInto

func (in *KafkaConnectUserConfig) DeepCopyInto(out *KafkaConnectUserConfig)

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

type KafkaConnector

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

	Spec   KafkaConnectorSpec   `json:"spec,omitempty"`
	Status KafkaConnectorStatus `json:"status,omitempty"`
}

KafkaConnector is the Schema for the kafkaconnectors API +kubebuilder:printcolumn:name="Service Name",type="string",JSONPath=".spec.serviceName" +kubebuilder:printcolumn:name="Project",type="string",JSONPath=".spec.project" +kubebuilder:printcolumn:name="Connector Class",type="string",JSONPath=".spec.connectorClass" +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.state" +kubebuilder:printcolumn:name="Tasks Total",type="integer",JSONPath=".status.tasksStatus.total" +kubebuilder:printcolumn:name="Tasks Running",type="integer",JSONPath=".status.tasksStatus.running"

func (KafkaConnector) AuthSecretRef

func (kfk KafkaConnector) AuthSecretRef() AuthSecretReference

func (*KafkaConnector) DeepCopy

func (in *KafkaConnector) DeepCopy() *KafkaConnector

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

func (*KafkaConnector) DeepCopyInto

func (in *KafkaConnector) DeepCopyInto(out *KafkaConnector)

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

func (*KafkaConnector) DeepCopyObject

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

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

func (*KafkaConnector) Default

func (r *KafkaConnector) Default()

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

func (*KafkaConnector) SetupWebhookWithManager

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

func (*KafkaConnector) ValidateCreate

func (r *KafkaConnector) ValidateCreate() error

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

func (*KafkaConnector) ValidateDelete

func (r *KafkaConnector) ValidateDelete() error

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

func (*KafkaConnector) ValidateUpdate

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

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

type KafkaConnectorList

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

KafkaConnectorList contains a list of KafkaConnector

func (*KafkaConnectorList) DeepCopy

func (in *KafkaConnectorList) DeepCopy() *KafkaConnectorList

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

func (*KafkaConnectorList) DeepCopyInto

func (in *KafkaConnectorList) DeepCopyInto(out *KafkaConnectorList)

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

func (*KafkaConnectorList) DeepCopyObject

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

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

type KafkaConnectorPluginStatus

type KafkaConnectorPluginStatus struct {
	Author  string `json:"author"`
	Class   string `json:"class"`
	DocURL  string `json:"docUrl"`
	Title   string `json:"title"`
	Type    string `json:"type"`
	Version string `json:"version"`
}

KafkaConnectorPluginStatus describes the observed state of a Kafka Connector Plugin

func (*KafkaConnectorPluginStatus) DeepCopy

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

func (*KafkaConnectorPluginStatus) DeepCopyInto

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

type KafkaConnectorSpec

type KafkaConnectorSpec struct {
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Format="^[a-zA-Z0-9_-]*$"
	// Target project.
	Project string `json:"project"`

	// +kubebuilder:validation:MaxLength=63
	// Service name.
	ServiceName string `json:"serviceName"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`

	// +kubebuilder:validation:MaxLength=1024
	// The Java class of the connector.
	ConnectorClass string `json:"connectorClass"`

	// The connector specific configuration
	// To build config values from secret the template function `{{ fromSecret "name" "key" }}`
	// is provided when interpreting the keys
	UserConfig map[string]string `json:"userConfig"`
}

KafkaConnectorSpec defines the desired state of KafkaConnector

func (*KafkaConnectorSpec) DeepCopy

func (in *KafkaConnectorSpec) DeepCopy() *KafkaConnectorSpec

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

func (*KafkaConnectorSpec) DeepCopyInto

func (in *KafkaConnectorSpec) DeepCopyInto(out *KafkaConnectorSpec)

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

type KafkaConnectorStatus

type KafkaConnectorStatus struct {
	// Conditions represent the latest available observations of an kafka connector state
	Conditions []metav1.Condition `json:"conditions"`

	// Connector state
	State string `json:"state"`

	// PluginStatus contains metadata about the configured connector plugin
	PluginStatus KafkaConnectorPluginStatus `json:"pluginStatus"`

	// TasksStatus contains metadata about the running tasks
	TasksStatus KafkaConnectorTasksStatus `json:"tasksStatus"`
}

KafkaConnectorStatus defines the observed state of KafkaConnector

func (*KafkaConnectorStatus) DeepCopy

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

func (*KafkaConnectorStatus) DeepCopyInto

func (in *KafkaConnectorStatus) DeepCopyInto(out *KafkaConnectorStatus)

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

type KafkaConnectorTasksStatus

type KafkaConnectorTasksStatus struct {
	Total      uint   `json:"total"`
	Running    uint   `json:"running,omitempty"`
	Failed     uint   `json:"failed,omitempty"`
	Paused     uint   `json:"paused,omitempty"`
	Unassigned uint   `json:"unassigned,omitempty"`
	Unknown    uint   `json:"unknown,omitempty"`
	StackTrace string `json:"stackTrace,omitempty"`
}

KafkaConnectorTasksStatus describes the observed state of the Kafka Connector Tasks

func (*KafkaConnectorTasksStatus) DeepCopy

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

func (*KafkaConnectorTasksStatus) DeepCopyInto

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

type KafkaList

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

KafkaList contains a list of Kafka

func (*KafkaList) DeepCopy

func (in *KafkaList) DeepCopy() *KafkaList

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

func (*KafkaList) DeepCopyInto

func (in *KafkaList) DeepCopyInto(out *KafkaList)

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

func (*KafkaList) DeepCopyObject

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

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

type KafkaPrivateAccessUserConfig

type KafkaPrivateAccessUserConfig struct {
	// Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations
	Prometheus *bool `json:"prometheus,omitempty"`
}

func (*KafkaPrivateAccessUserConfig) DeepCopy

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

func (*KafkaPrivateAccessUserConfig) DeepCopyInto

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

type KafkaPublicAccessUserConfig

type KafkaPublicAccessUserConfig struct {
	// Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network
	Prometheus *bool `json:"prometheus,omitempty"`

	// Allow clients to connect to schema_registry from the public internet for service nodes that are in a project VPC or another type of private network
	SchemaRegistry *bool `json:"schema_registry,omitempty"`

	// Allow clients to connect to kafka from the public internet for service nodes that are in a project VPC or another type of private network
	Kafka *bool `json:"kafka,omitempty"`

	// Allow clients to connect to kafka_connect from the public internet for service nodes that are in a project VPC or another type of private network
	KafkaConnect *bool `json:"kafka_connect,omitempty"`

	// Allow clients to connect to kafka_rest from the public internet for service nodes that are in a project VPC or another type of private network
	KafkaRest *bool `json:"kafka_rest,omitempty"`
}

func (*KafkaPublicAccessUserConfig) DeepCopy

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

func (*KafkaPublicAccessUserConfig) DeepCopyInto

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

type KafkaRestUserConfig

type KafkaRestUserConfig struct {
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=671088640
	// consumer.request.max.bytes Maximum number of bytes in unencoded message keys and values by a single request
	ConsumerRequestMaxBytes *int64 `json:"consumer_request_max_bytes,omitempty"`

	// +kubebuilder:validation:Minimum=1000
	// +kubebuilder:validation:Maximum=30000
	// +kubebuilder:validation:Enum=1000;15000;30000
	// consumer.request.timeout.ms The maximum total time to wait for messages for a request if the maximum number of messages has not yet been reached
	ConsumerRequestTimeoutMs *int64 `json:"consumer_request_timeout_ms,omitempty"`

	// +kubebuilder:validation:Enum=all;-1;0;1
	// producer.acks The number of acknowledgments the producer requires the leader to have received before considering a request complete. If set to 'all' or '-1', the leader will wait for the full set of in-sync replicas to acknowledge the record.
	ProducerAcks string `json:"producer_acks,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=5000
	// producer.linger.ms Wait for up to the given delay to allow batching records together
	ProducerLingerMs *int64 `json:"producer_linger_ms,omitempty"`

	// +kubebuilder:validation:Minimum=10
	// +kubebuilder:validation:Maximum=250
	// simpleconsumer.pool.size.max Maximum number of SimpleConsumers that can be instantiated per broker
	SimpleconsumerPoolSizeMax *int64 `json:"simpleconsumer_pool_size_max,omitempty"`

	// consumer.enable.auto.commit If true the consumer's offset will be periodically committed to Kafka in the background
	ConsumerEnableAutoCommit *bool `json:"consumer_enable_auto_commit,omitempty"`

	// Allow access to selected service ports from the public Internet
	PublicAccess KafkaPublicAccessUserConfig `json:"public_access,omitempty"`

	// +kubebuilder:validation:MaxLength=255
	// Custom domain Serve the web frontend using a custom CNAME pointing to the Aiven DNS name
	CustomDomain string `json:"custom_domain,omitempty"`
}

func (*KafkaRestUserConfig) DeepCopy

func (in *KafkaRestUserConfig) DeepCopy() *KafkaRestUserConfig

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

func (*KafkaRestUserConfig) DeepCopyInto

func (in *KafkaRestUserConfig) DeepCopyInto(out *KafkaRestUserConfig)

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

type KafkaSchema

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

	Spec   KafkaSchemaSpec   `json:"spec,omitempty"`
	Status KafkaSchemaStatus `json:"status,omitempty"`
}

KafkaSchema is the Schema for the kafkaschemas API +kubebuilder:printcolumn:name="Service Name",type="string",JSONPath=".spec.serviceName" +kubebuilder:printcolumn:name="Project",type="string",JSONPath=".spec.project" +kubebuilder:printcolumn:name="Subject",type="string",JSONPath=".spec.subjectName" +kubebuilder:printcolumn:name="Compatibility Level",type="string",JSONPath=".spec.compatibilityLevel" +kubebuilder:printcolumn:name="Version",type="number",JSONPath=".status.version"

func (KafkaSchema) AuthSecretRef

func (kfks KafkaSchema) AuthSecretRef() AuthSecretReference

func (*KafkaSchema) DeepCopy

func (in *KafkaSchema) DeepCopy() *KafkaSchema

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

func (*KafkaSchema) DeepCopyInto

func (in *KafkaSchema) DeepCopyInto(out *KafkaSchema)

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

func (*KafkaSchema) DeepCopyObject

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

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

func (*KafkaSchema) Default

func (r *KafkaSchema) Default()

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

func (*KafkaSchema) SetupWebhookWithManager

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

func (*KafkaSchema) ValidateCreate

func (r *KafkaSchema) ValidateCreate() error

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

func (*KafkaSchema) ValidateDelete

func (r *KafkaSchema) ValidateDelete() error

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

func (*KafkaSchema) ValidateUpdate

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

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

type KafkaSchemaList

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

KafkaSchemaList contains a list of KafkaSchema

func (*KafkaSchemaList) DeepCopy

func (in *KafkaSchemaList) DeepCopy() *KafkaSchemaList

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

func (*KafkaSchemaList) DeepCopyInto

func (in *KafkaSchemaList) DeepCopyInto(out *KafkaSchemaList)

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

func (*KafkaSchemaList) DeepCopyObject

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

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

type KafkaSchemaRegistryConfig

type KafkaSchemaRegistryConfig struct {
	// leader_eligibility If true, Karapace / Schema Registry on the service nodes can participate in leader election. It might be needed to disable this when the schemas topic is replicated to a secondary cluster and Karapace / Schema Registry there must not participate in leader election. Defaults to 'true'.
	LeaderEligibility *bool `json:"leader_eligibility,omitempty"`

	// +kubebuilder:validation:MaxLength=249
	// topic_name The durable single partition topic that acts as the durable log for the data. This topic must be compacted to avoid losing data due to retention policy. Please note that changing this configuration in an existing Schema Registry / Karapace setup leads to previous schemas being inaccessible, data encoded with them potentially unreadable and schema ID sequence put out of order. It's only possible to do the switch while Schema Registry / Karapace is disabled. Defaults to '_schemas'.
	TopicName string `json:"topic_name,omitempty"`
}

func (*KafkaSchemaRegistryConfig) DeepCopy

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

func (*KafkaSchemaRegistryConfig) DeepCopyInto

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

type KafkaSchemaSpec

type KafkaSchemaSpec struct {
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Format="^[a-zA-Z0-9_-]*$"
	// Project to link the Kafka Schema to
	Project string `json:"project"`

	// +kubebuilder:validation:MaxLength=63
	// Service to link the Kafka Schema to
	ServiceName string `json:"serviceName"`

	// +kubebuilder:validation:MaxLength=63
	// Kafka Schema Subject name
	SubjectName string `json:"subjectName"`

	// Kafka Schema configuration should be a valid Avro Schema JSON format
	Schema string `json:"schema"`

	// +kubebuilder:validation:Enum=BACKWARD;BACKWARD_TRANSITIVE;FORWARD;FORWARD_TRANSITIVE;FULL;FULL_TRANSITIVE;NONE
	// Kafka Schemas compatibility level
	CompatibilityLevel string `json:"compatibilityLevel,omitempty"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`
}

KafkaSchemaSpec defines the desired state of KafkaSchema

func (*KafkaSchemaSpec) DeepCopy

func (in *KafkaSchemaSpec) DeepCopy() *KafkaSchemaSpec

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

func (*KafkaSchemaSpec) DeepCopyInto

func (in *KafkaSchemaSpec) DeepCopyInto(out *KafkaSchemaSpec)

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

type KafkaSchemaStatus

type KafkaSchemaStatus struct {
	// Conditions represent the latest available observations of an KafkaSchema state
	Conditions []metav1.Condition `json:"conditions"`

	// Kafka Schema configuration version
	Version int `json:"version"`
}

KafkaSchemaStatus defines the observed state of KafkaSchema

func (*KafkaSchemaStatus) DeepCopy

func (in *KafkaSchemaStatus) DeepCopy() *KafkaSchemaStatus

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

func (*KafkaSchemaStatus) DeepCopyInto

func (in *KafkaSchemaStatus) DeepCopyInto(out *KafkaSchemaStatus)

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

type KafkaSpec

type KafkaSpec struct {
	ServiceCommonSpec `json:",inline"`

	// +kubebuilder:validation:Format="^[1-9][0-9]*(GiB|G)*"
	// The disk space of the service, possible values depend on the service type, the cloud provider and the project. Reducing will result in the service re-balancing.
	DiskSpace string `json:"disk_space,omitempty"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`

	// Information regarding secret creation
	ConnInfoSecretTarget ConnInfoSecretTarget `json:"connInfoSecretTarget,omitempty"`

	// Switch the service to use Karapace for schema registry and REST proxy
	Karapace *bool `json:"karapace,omitempty"`

	// Kafka specific user configuration options
	UserConfig KafkaUserConfig `json:"userConfig,omitempty"`
}

KafkaSpec defines the desired state of Kafka

func (*KafkaSpec) DeepCopy

func (in *KafkaSpec) DeepCopy() *KafkaSpec

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

func (*KafkaSpec) DeepCopyInto

func (in *KafkaSpec) DeepCopyInto(out *KafkaSpec)

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

type KafkaSubKafkaUserConfig

type KafkaSubKafkaUserConfig struct {
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100001200
	// message.max.bytes The maximum size of message that the server can receive.
	MessageMaxBytes *int64 `json:"message_max_bytes,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=10
	// default.replication.factor Replication factor for autocreated topics
	DefaultReplicationFactor *int64 `json:"default_replication_factor,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=1
	// log.cleaner.min.cleanable.ratio Controls log compactor frequency. Larger value means more frequent compactions but also more space wasted for logs. Consider setting log.cleaner.max.compaction.lag.ms to enforce compactions sooner, instead of setting a very high value for this option.
	LogCleanerMinCleanableRatio *int64 `json:"log_cleaner_min_cleanable_ratio,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=104857600
	// log.index.interval.bytes The interval with which Kafka adds an entry to the offset index
	LogIndexIntervalBytes *int64 `json:"log_index_interval_bytes,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=3600000
	// log.segment.delete.delay.ms The amount of time to wait before deleting a file from the filesystem
	LogSegmentDeleteDelayMs *int64 `json:"log_segment_delete_delay_ms,omitempty"`

	// +kubebuilder:validation:Minimum=1000
	// +kubebuilder:validation:Maximum=10000
	// max.incremental.fetch.session.cache.slots The maximum number of incremental fetch sessions that the broker will maintain.
	MaxIncrementalFetchSessionCacheSlots *int64 `json:"max_incremental_fetch_session_cache_slots,omitempty"`

	// +kubebuilder:validation:Minimum=10485760
	// +kubebuilder:validation:Maximum=209715200
	// socket.request.max.bytes The maximum number of bytes in a socket request (defaults to 104857600).
	SocketRequestMaxBytes *int64 `json:"socket_request_max_bytes,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=315569260000
	// log.cleaner.delete.retention.ms How long are delete records retained?
	LogCleanerDeleteRetentionMs *int64 `json:"log_cleaner_delete_retention_ms,omitempty"`

	// +kubebuilder:validation:Minimum=1048576
	// +kubebuilder:validation:Maximum=104857600
	// log.index.size.max.bytes The maximum size in bytes of the offset index
	LogIndexSizeMaxBytes *int64 `json:"log_index_size_max_bytes,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// log.roll.jitter.ms The maximum jitter to subtract from logRollTimeMillis (in milliseconds). If not set, the value in log.roll.jitter.hours is used
	LogRollJitterMs *int64 `json:"log_roll_jitter_ms,omitempty"`

	// +kubebuilder:validation:Minimum=256
	// +kubebuilder:validation:Maximum=2147483647
	// max.connections.per.ip The maximum number of connections allowed from each ip address (defaults to 2147483647).
	MaxConnectionsPerIP *int64 `json:"max_connections_per_ip,omitempty"`

	// +kubebuilder:validation:Minimum=10485760
	// +kubebuilder:validation:Maximum=1048576000
	// replica.fetch.response.max.bytes Maximum bytes expected for the entire fetch response (defaults to 10485760). Records are fetched in batches, and if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that progress can be made. As such, this is not an absolute maximum.
	ReplicaFetchResponseMaxBytes *int64 `json:"replica_fetch_response_max_bytes,omitempty"`

	// auto.create.topics.enable Enable auto creation of topics
	AutoCreateTopicsEnable *bool `json:"auto_create_topics_enable,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// log.flush.interval.ms The maximum time in ms that a message in any topic is kept in memory before flushed to disk. If not set, the value in log.flush.scheduler.interval.ms is used
	LogFlushIntervalMs *int64 `json:"log_flush_interval_ms,omitempty"`

	// log.message.downconversion.enable This configuration controls whether down-conversion of message formats is enabled to satisfy consume requests.
	LogMessageDownconversionEnable *bool `json:"log_message_downconversion_enable,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// log.roll.ms The maximum time before a new log segment is rolled out (in milliseconds).
	LogRollMs *int64 `json:"log_roll_ms,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// log.cleaner.min.compaction.lag.ms The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted.
	LogCleanerMinCompactionLagMs *int64 `json:"log_cleaner_min_compaction_lag_ms,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// log.message.timestamp.difference.max.ms The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message
	LogMessageTimestampDifferenceMaxMs *int64 `json:"log_message_timestamp_difference_max_ms,omitempty"`

	// +kubebuilder:validation:Enum=CreateTime;LogAppendTime
	// log.message.timestamp.type Define whether the timestamp in the message is message create time or log append time.
	LogMessageTimestampType string `json:"log_message_timestamp_type,omitempty"`

	// log.retention.ms The number of milliseconds to keep a log file before deleting it (in milliseconds), If not set, the value in log.retention.minutes is used. If set to -1, no time limit is applied.
	LogRetentionMs *int64 `json:"log_retention_ms,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=60000
	// group.min.session.timeout.ms The minimum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures.
	GroupMinSessionTimeoutMs *int64 `json:"group_min_session_timeout_ms,omitempty"`

	// +kubebuilder:validation:Minimum=10485760
	// +kubebuilder:validation:Maximum=1073741824
	// log.segment.bytes The maximum size of a single log file
	LogSegmentBytes *int64 `json:"log_segment_bytes,omitempty"`

	// +kubebuilder:validation:Enum=gzip;snappy;lz4;zstd;uncompressed;producer
	// compression.type Specify the final compression type for a given topic. This configuration accepts the standard compression codecs ('gzip', 'snappy', 'lz4', 'zstd'). It additionally accepts 'uncompressed' which is equivalent to no compression; and 'producer' which means retain the original compression codec set by the producer.
	CompressionType string `json:"compression_type,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=1800000
	// group.max.session.timeout.ms The maximum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures.
	GroupMaxSessionTimeoutMs *int64 `json:"group_max_session_timeout_ms,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// log.flush.interval.messages The number of messages accumulated on a log partition before messages are flushed to disk
	LogFlushIntervalMessages *int64 `json:"log_flush_interval_messages,omitempty"`

	// log.preallocate Should pre allocate file when create new segment?
	LogPreallocate *bool `json:"log_preallocate,omitempty"`

	// log.retention.bytes The maximum size of the log before deleting messages
	LogRetentionBytes *int64 `json:"log_retention_bytes,omitempty"`

	// +kubebuilder:validation:Minimum=30000
	// log.cleaner.max.compaction.lag.ms The maximum amount of time message will remain uncompacted. Only applicable for logs that are being compacted
	LogCleanerMaxCompactionLagMs *int64 `json:"log_cleaner_max_compaction_lag_ms,omitempty"`

	// +kubebuilder:validation:Maximum=2147483647
	// log.retention.hours The number of hours to keep a log file before deleting it
	LogRetentionHours *int64 `json:"log_retention_hours,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=7
	// min.insync.replicas When a producer sets acks to 'all' (or '-1'), min.insync.replicas specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful.
	MinInsyncReplicas *int64 `json:"min_insync_replicas,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=1000
	// num.partitions Number of partitions for autocreated topics
	NumPartitions *int64 `json:"num_partitions,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=2147483647
	// offsets.retention.minutes Log retention window in minutes for offsets topic
	OffsetsRetentionMinutes *int64 `json:"offsets_retention_minutes,omitempty"`

	// +kubebuilder:validation:Minimum=1000
	// +kubebuilder:validation:Maximum=3600000
	// connections.max.idle.ms Idle connections timeout: the server socket processor threads close the connections that idle for longer than this.
	ConnectionsMaxIdleMs *int64 `json:"connections_max_idle_ms,omitempty"`

	// +kubebuilder:validation:Enum=compact;delete
	// log.cleanup.policy The default cleanup policy for segments beyond the retention window
	LogCleanupPolicy string `json:"log_cleanup_policy,omitempty"`
	// +kubebuilder:validation:Minimum=10
	// +kubebuilder:validation:Maximum=10000
	// producer.purgatory.purge.interval.requests The purge interval (in number of requests) of the producer request purgatory(defaults to 1000).
	ProducerPurgatoryPurgeIntervalRequests *int64 `json:"producer_purgatory_purge_interval_requests,omitempty"`

	// +kubebuilder:validation:Minimum=1048576
	// +kubebuilder:validation:Maximum=104857600
	// replica.fetch.max.bytes The number of bytes of messages to attempt to fetch for each partition (defaults to 1048576). This is not an absolute maximum, if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that progress can be made.
	ReplicaFetchMaxBytes *int64 `json:"replica_fetch_max_bytes,omitempty"`
}

func (*KafkaSubKafkaUserConfig) DeepCopy

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

func (*KafkaSubKafkaUserConfig) DeepCopyInto

func (in *KafkaSubKafkaUserConfig) DeepCopyInto(out *KafkaSubKafkaUserConfig)

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

type KafkaTopic

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

	Spec   KafkaTopicSpec   `json:"spec,omitempty"`
	Status KafkaTopicStatus `json:"status,omitempty"`
}

KafkaTopic is the Schema for the kafkatopics API +kubebuilder:printcolumn:name="Service Name",type="string",JSONPath=".spec.serviceName" +kubebuilder:printcolumn:name="Project",type="string",JSONPath=".spec.project" +kubebuilder:printcolumn:name="Partitions",type="string",JSONPath=".spec.partitions" +kubebuilder:printcolumn:name="Replication",type="string",JSONPath=".spec.replication"

func (KafkaTopic) AuthSecretRef

func (kfkt KafkaTopic) AuthSecretRef() AuthSecretReference

func (*KafkaTopic) DeepCopy

func (in *KafkaTopic) DeepCopy() *KafkaTopic

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

func (*KafkaTopic) DeepCopyInto

func (in *KafkaTopic) DeepCopyInto(out *KafkaTopic)

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

func (*KafkaTopic) DeepCopyObject

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

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

func (*KafkaTopic) Default

func (r *KafkaTopic) Default()

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

func (*KafkaTopic) SetupWebhookWithManager

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

func (*KafkaTopic) ValidateCreate

func (r *KafkaTopic) ValidateCreate() error

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

func (*KafkaTopic) ValidateDelete

func (r *KafkaTopic) ValidateDelete() error

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

func (*KafkaTopic) ValidateUpdate

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

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

type KafkaTopicConfig

type KafkaTopicConfig struct {
	// cleanup.policy value
	CleanupPolicy string `json:"cleanup_policy,omitempty"`

	// compression.type value
	CompressionType string `json:"compression_type,omitempty"`

	// delete.retention.ms value
	DeleteRetentionMs *int64 `json:"delete_retention_ms,omitempty"`

	// file.delete.delay.ms value
	FileDeleteDelayMs *int64 `json:"file_delete_delay_ms,omitempty"`

	// flush.messages value
	FlushMessages *int64 `json:"flush_messages,omitempty"`

	// flush.ms value
	FlushMs *int64 `json:"flush_ms,omitempty"`

	// index.interval.bytes value
	IndexIntervalBytes *int64 `json:"index_interval_bytes,omitempty"`

	// max.compaction.lag.ms value
	MaxCompactionLagMs *int64 `json:"max_compaction_lag_ms,omitempty"`

	// max.message.bytes value
	MaxMessageBytes *int64 `json:"max_message_bytes,omitempty"`

	// message.downconversion.enable value
	MessageDownconversionEnable *bool `json:"message_downconversion_enable,omitempty"`

	// message.format.version value
	MessageFormatVersion string `json:"message_format_version,omitempty"`

	// message.timestamp.difference.max.ms value
	MessageTimestampDifferenceMaxMs *int64 `json:"message_timestamp_difference_max_ms,omitempty"`

	// message.timestamp.type value
	MessageTimestampType string `json:"message_timestamp_type,omitempty"`

	// min.compaction.lag.ms value
	MinCompactionLagMs *int64 `json:"min_compaction_lag_ms,omitempty"`

	// min.insync.replicas value
	MinInsyncReplicas *int64 `json:"min_insync_replicas,omitempty"`

	// preallocate value
	Preallocate *bool `json:"preallocate,omitempty"`

	// retention.bytes value
	RetentionBytes *int64 `json:"retention_bytes,omitempty"`

	// retention.ms value
	RetentionMs *int64 `json:"retention_ms,omitempty"`

	// segment.bytes value
	SegmentBytes *int64 `json:"segment_bytes,omitempty"`

	// segment.index.bytes value
	SegmentIndexBytes *int64 `json:"segment_index_bytes,omitempty"`

	// segment.jitter.ms value
	SegmentJitterMs *int64 `json:"segment_jitter_ms,omitempty"`

	// segment.ms value
	SegmentMs *int64 `json:"segment_ms,omitempty"`

	// unclean.leader.election.enable value
	UncleanLeaderElectionEnable *bool `json:"unclean_leader_election_enable,omitempty"`
}

func (*KafkaTopicConfig) DeepCopy

func (in *KafkaTopicConfig) DeepCopy() *KafkaTopicConfig

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

func (*KafkaTopicConfig) DeepCopyInto

func (in *KafkaTopicConfig) DeepCopyInto(out *KafkaTopicConfig)

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

type KafkaTopicList

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

KafkaTopicList contains a list of KafkaTopic

func (*KafkaTopicList) DeepCopy

func (in *KafkaTopicList) DeepCopy() *KafkaTopicList

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

func (*KafkaTopicList) DeepCopyInto

func (in *KafkaTopicList) DeepCopyInto(out *KafkaTopicList)

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

func (*KafkaTopicList) DeepCopyObject

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

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

type KafkaTopicSpec

type KafkaTopicSpec struct {
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Format="^[a-zA-Z0-9_-]*$"
	// Target project.
	Project string `json:"project"`

	// +kubebuilder:validation:MaxLength=63
	// Service name.
	ServiceName string `json:"serviceName"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=1000000
	// Number of partitions to create in the topic
	Partitions int `json:"partitions"`

	// +kubebuilder:validation:Minimum=2
	// Replication factor for the topic
	Replication int `json:"replication"`

	// Kafka topic tags
	Tags []KafkaTopicTag `json:"tags,omitempty"`

	// Kafka topic configuration
	Config KafkaTopicConfig `json:"config,omitempty"`

	// It is a Kubernetes side deletion protections, which prevents the kafka topic
	// from being deleted by Kubernetes. It is recommended to enable this for any production
	// databases containing critical data.
	TerminationProtection bool `json:"termination_protection,omitempty"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`
}

KafkaTopicSpec defines the desired state of KafkaTopic

func (*KafkaTopicSpec) DeepCopy

func (in *KafkaTopicSpec) DeepCopy() *KafkaTopicSpec

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

func (*KafkaTopicSpec) DeepCopyInto

func (in *KafkaTopicSpec) DeepCopyInto(out *KafkaTopicSpec)

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

type KafkaTopicStatus

type KafkaTopicStatus struct {
	// Conditions represent the latest available observations of an KafkaTopic state
	Conditions []metav1.Condition `json:"conditions"`

	// State represents the state of the kafka topic
	State string `json:"state"`
}

KafkaTopicStatus defines the observed state of KafkaTopic

func (*KafkaTopicStatus) DeepCopy

func (in *KafkaTopicStatus) DeepCopy() *KafkaTopicStatus

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

func (*KafkaTopicStatus) DeepCopyInto

func (in *KafkaTopicStatus) DeepCopyInto(out *KafkaTopicStatus)

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

type KafkaTopicTag

type KafkaTopicTag struct {
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=64
	// +kubebuilder:validation:Format="^[a-zA-Z0-9_-]*$"
	Key string `json:"key"`

	// +kubebuilder:validation:MaxLength=256
	// +kubebuilder:validation:Format="^[a-zA-Z0-9_-]*$"
	Value string `json:"value,omitempty"`
}

func (*KafkaTopicTag) DeepCopy

func (in *KafkaTopicTag) DeepCopy() *KafkaTopicTag

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

func (*KafkaTopicTag) DeepCopyInto

func (in *KafkaTopicTag) DeepCopyInto(out *KafkaTopicTag)

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

type KafkaUserConfig

type KafkaUserConfig struct {
	// Kafka major version
	KafkaVersion string `json:"kafka_version,omitempty"`

	// Enable Schema-Registry service
	SchemaRegistry *bool `json:"schema_registry,omitempty"`

	// Kafka broker configuration values
	Kafka KafkaSubKafkaUserConfig `json:"kafka,omitempty"`

	// Kafka Connect configuration values
	KafkaConnectConfig KafkServiceKafkaConnectUserConfig `json:"kafka_connect_user_config,omitempty"`

	// Allow access to selected service ports from private networks
	PrivateAccess KafkaPrivateAccessUserConfig `json:"private_access,omitempty"`

	// Schema Registry configuration
	SchemaRegistryConfig KafkaSchemaRegistryConfig `json:"schema_registry_config,omitempty"`

	// IP filter Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IPFilter []string `json:"ip_filter,omitempty"`

	// Kafka authentication methods
	KafkaAuthenticationMethods KafkaAuthenticationMethodsUserConfig `json:"kafka_authentication_methods,omitempty"`

	// Enable Kafka Connect service
	KafkaConnect *bool `json:"kafka_connect,omitempty"`

	// Enable Kafka-REST service
	KafkaRest *bool `json:"kafka_rest,omitempty"`

	// Kafka REST configuration
	KafkaRestConfig KafkaRestUserConfig `json:"kafka_rest_config,omitempty"`
}

func (*KafkaUserConfig) DeepCopy

func (in *KafkaUserConfig) DeepCopy() *KafkaUserConfig

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

func (*KafkaUserConfig) DeepCopyInto

func (in *KafkaUserConfig) DeepCopyInto(out *KafkaUserConfig)

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

type MigrationUserConfig

type MigrationUserConfig struct {
	// +kubebuilder:validation:MaxLength=255
	// Hostname or IP address of the server where to migrate data from
	Host string `json:"host,omitempty"`

	// +kubebuilder:validation:MaxLength=256
	// Password for authentication with the server where to migrate data from
	Password string `json:"password,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	// Port number of the server where to migrate data from
	Port *int64 `json:"port,omitempty"`

	// The server where to migrate data from is secured with SSL
	Ssl *bool `json:"ssl,omitempty"`

	// +kubebuilder:validation:MaxLength=256
	// User name for authentication with the server where to migrate data from
	Username string `json:"username,omitempty"`

	// +kubebuilder:validation:MaxLength=63
	// Database name for bootstrapping the initial connection
	Dbname string `json:"dbname,omitempty"`
}

func (*MigrationUserConfig) DeepCopy

func (in *MigrationUserConfig) DeepCopy() *MigrationUserConfig

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

func (*MigrationUserConfig) DeepCopyInto

func (in *MigrationUserConfig) DeepCopyInto(out *MigrationUserConfig)

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

type OpenSearch added in v0.3.0

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

	Spec   OpenSearchSpec `json:"spec,omitempty"`
	Status ServiceStatus  `json:"status,omitempty"`
}

OpenSearch is the Schema for the opensearches API

func (OpenSearch) AuthSecretRef added in v0.3.0

func (o OpenSearch) AuthSecretRef() AuthSecretReference

func (*OpenSearch) DeepCopy added in v0.3.0

func (in *OpenSearch) DeepCopy() *OpenSearch

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

func (*OpenSearch) DeepCopyInto added in v0.3.0

func (in *OpenSearch) DeepCopyInto(out *OpenSearch)

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

func (*OpenSearch) DeepCopyObject added in v0.3.0

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

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

func (*OpenSearch) Default added in v0.3.0

func (r *OpenSearch) Default()

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

func (*OpenSearch) SetupWebhookWithManager added in v0.3.0

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

func (*OpenSearch) ValidateCreate added in v0.3.0

func (r *OpenSearch) ValidateCreate() error

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

func (*OpenSearch) ValidateDelete added in v0.3.0

func (r *OpenSearch) ValidateDelete() error

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

func (*OpenSearch) ValidateUpdate added in v0.3.0

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

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

type OpenSearchIndexPatterns added in v0.3.0

type OpenSearchIndexPatterns struct {
	// +kubebuilder:validation:Minimum=0
	// Maximum number of indexes to keep
	MaxIndexCount *int64 `json:"max_index_count,omitempty"`

	// +kubebuilder:validation:MaxLength=1024
	// Must consist of alpha-numeric characters, dashes, underscores, dots and glob characters (* and ?)
	Pattern string `json:"pattern,omitempty"`
}

func (*OpenSearchIndexPatterns) DeepCopy added in v0.3.0

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

func (*OpenSearchIndexPatterns) DeepCopyInto added in v0.3.0

func (in *OpenSearchIndexPatterns) DeepCopyInto(out *OpenSearchIndexPatterns)

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

type OpenSearchIndexTemplate added in v0.3.0

type OpenSearchIndexTemplate struct {
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=29
	// index.number_of_replicas The number of replicas each primary shard has.
	NumberOfReplicas *int64 `json:"number_of_replicas,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=1024
	// index.number_of_shards The number of primary shards that an index should have.
	NumberOfShards *int64 `json:"number_of_shards,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100000
	// index.mapping.nested_objects.limit The maximum number of nested JSON objects that a single document can contain across all nested types. This limit helps to prevent out of memory errors when a document contains too many nested objects. Default is 10000.
	MappingNestedObjectsLimit *int64 `json:"mapping_nested_objects_limit,omitempty"`
}

func (*OpenSearchIndexTemplate) DeepCopy added in v0.3.0

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

func (*OpenSearchIndexTemplate) DeepCopyInto added in v0.3.0

func (in *OpenSearchIndexTemplate) DeepCopyInto(out *OpenSearchIndexTemplate)

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

type OpenSearchList added in v0.3.0

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

OpenSearchList contains a list of OpenSearch

func (*OpenSearchList) DeepCopy added in v0.3.0

func (in *OpenSearchList) DeepCopy() *OpenSearchList

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

func (*OpenSearchList) DeepCopyInto added in v0.3.0

func (in *OpenSearchList) DeepCopyInto(out *OpenSearchList)

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

func (*OpenSearchList) DeepCopyObject added in v0.3.0

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

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

type OpenSearchPrivateAccess added in v0.3.0

type OpenSearchPrivateAccess struct {
	// Allow clients to connect to opensearch with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations
	Opensearch *bool `json:"opensearch,omitempty"`

	// Allow clients to connect to opensearch_dashboards with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations
	OpensearchDashboards *bool `json:"opensearch_dashboards,omitempty"`

	// Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations
	Prometheus *bool `json:"prometheus,omitempty"`
}

func (*OpenSearchPrivateAccess) DeepCopy added in v0.3.0

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

func (*OpenSearchPrivateAccess) DeepCopyInto added in v0.3.0

func (in *OpenSearchPrivateAccess) DeepCopyInto(out *OpenSearchPrivateAccess)

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

type OpenSearchPrivatelinkAccess added in v0.3.0

type OpenSearchPrivatelinkAccess struct {
	// Enable opensearch
	Opensearch *bool `json:"opensearch,omitempty"`

	// Enable opensearch_dashboards
	OpensearchDashboards *bool `json:"opensearch_dashboards,omitempty"`
}

func (*OpenSearchPrivatelinkAccess) DeepCopy added in v0.3.0

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

func (*OpenSearchPrivatelinkAccess) DeepCopyInto added in v0.3.0

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

type OpenSearchPublicAccess added in v0.3.0

type OpenSearchPublicAccess struct {
	// Allow clients to connect to opensearch_dashboards from the public internet for service nodes that are in a project VPC or another type of private network
	OpensearchDashboards *bool `json:"opensearch_dashboards,omitempty"`

	// Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network
	Prometheus *bool `json:"prometheus,omitempty"`

	// Allow clients to connect to opensearch from the public internet for service nodes that are in a project VPC or another type of private network
	Opensearch *bool `json:"opensearch,omitempty"`
}

func (*OpenSearchPublicAccess) DeepCopy added in v0.3.0

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

func (*OpenSearchPublicAccess) DeepCopyInto added in v0.3.0

func (in *OpenSearchPublicAccess) DeepCopyInto(out *OpenSearchPublicAccess)

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

type OpenSearchSpec added in v0.3.0

type OpenSearchSpec struct {
	ServiceCommonSpec `json:",inline"`

	// +kubebuilder:validation:Format="^[1-9][0-9]*(GiB|G)*"
	// The disk space of the service, possible values depend on the service type, the cloud provider and the project. Reducing will result in the service re-balancing.
	DiskSpace string `json:"disk_space,omitempty"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`

	// Information regarding secret creation
	ConnInfoSecretTarget ConnInfoSecretTarget `json:"connInfoSecretTarget,omitempty"`

	// OpenSearch specific user configuration options
	UserConfig OpenSearchUserConfig `json:"userConfig,omitempty"`
}

OpenSearchSpec defines the desired state of OpenSearch

func (*OpenSearchSpec) DeepCopy added in v0.3.0

func (in *OpenSearchSpec) DeepCopy() *OpenSearchSpec

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

func (*OpenSearchSpec) DeepCopyInto added in v0.3.0

func (in *OpenSearchSpec) DeepCopyInto(out *OpenSearchSpec)

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

type OpenSearchUserConfig added in v0.3.0

type OpenSearchUserConfig struct {
	// OpenSearch major version
	OpensearchVersion string `json:"opensearch_version,omitempty"`

	// OpenSearch Dashboards settings
	OpensearchDashboards OpensearchDashboards `json:"opensearch_dashboards,omitempty"`

	// +kubebuilder:validation:Format="^[a-zA-Z0-9-_:.]+$"
	// +kubebuilder:validation:MaxLength=128
	// Name of the basebackup to restore in forked service
	RecoveryBasebackupName string `json:"recovery_basebackup_name,omitempty"`

	// Allow access to selected service components through Privatelink
	PrivatelinkAccess OpenSearchPrivatelinkAccess `json:"privatelink_access,omitempty"`

	// Static IP addresses Use static public IP addresses
	StaticIps *bool `json:"static_ips,omitempty"`

	// Allow access to selected service ports from the public Internet
	PublicAccess OpenSearchPublicAccess `json:"public_access,omitempty"`

	// +kubebuilder:validation:MaxLength=255
	// Custom domain Serve the web frontend using a custom CNAME pointing to the Aiven DNS name
	CustomDomain string `json:"custom_domain,omitempty"`

	// Allows you to create glob style patterns and set a max number of indexes matching this pattern you want to keep. Creating indexes exceeding this value will cause the oldest one to get deleted. You could for example create a pattern looking like 'logs.?' and then create index logs.1, logs.2 etc, it will delete logs.1 once you create logs.6. Do note 'logs.?' does not apply to logs.10. Note: Setting max_index_count to 0 will do nothing and the pattern gets ignored.
	IndexPatterns []OpenSearchIndexPatterns `json:"index_patterns,omitempty"`

	// Glob pattern and number of indexes matching that pattern to be kept Allows you to create glob style patterns and set a max number of indexes matching this pattern you want to keep. Creating indexes exceeding this value will cause the oldest one to get deleted. You could for example create a pattern looking like 'logs.?' and then create index logs.1, logs.2 etc, it will delete logs.1 once you create logs.6. Do note 'logs.?' does not apply to logs.10. Note: Setting max_index_count to 0 will do nothing and the pattern gets ignored.
	// IP filter Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IpFilter []string `json:"ip_filter,omitempty"`

	// Allow access to selected service ports from private networks
	PrivateAccess OpenSearchPrivateAccess `json:"private_access,omitempty"`

	// Template settings for all new indexes
	IndexTemplate OpenSearchIndexTemplate `json:"index_template,omitempty"`

	// OpenSearch settings
	Opensearch OpenSearchUserConfigOpenSearch `json:"opensearch,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// Maximum index count Maximum number of indexes to keep before deleting the oldest one
	MaxIndexCount *int64 `json:"max_index_count,omitempty"`

	// +kubebuilder:validation:MaxLength=63
	// Name of another project to fork a service from. This has effect only when a new service is being created.
	ProjectToForkFrom string `json:"project_to_fork_from,omitempty"`

	// +kubebuilder:validation:MaxLength=63
	// Name of another service to fork from. This has effect only when a new service is being created.
	ServiceToForkFrom string `json:"service_to_fork_from,omitempty"`

	// Disable replication factor adjustment DEPRECATED: Disable automatic replication factor adjustment for multi-node services. By default, Aiven ensures all indexes are replicated at least to two nodes. Note: Due to potential data loss in case of losing a service node, this setting can no longer be activated.
	DisableReplicationFactorAdjustment *bool `json:"disable_replication_factor_adjustment,omitempty"`

	// Don't reset index.refresh_interval to the default value Aiven automation resets index.refresh_interval to default value for every index to be sure that indices are always visible to search. If it doesn't fit your case, you can disable this by setting up this flag to true.
	KeepIndexRefreshInterval *bool `json:"keep_index_refresh_interval,omitempty"`
}

func (*OpenSearchUserConfig) DeepCopy added in v0.3.0

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

func (*OpenSearchUserConfig) DeepCopyInto added in v0.3.0

func (in *OpenSearchUserConfig) DeepCopyInto(out *OpenSearchUserConfig)

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

type OpenSearchUserConfigOpenSearch added in v0.3.0

type OpenSearchUserConfigOpenSearch struct {
	// +kubebuilder:validation:Minimum=10
	// +kubebuilder:validation:Maximum=2000
	// analyze thread pool queue size for the thread pool queue. See documentation for exact details.
	ThreadPoolAnalyzeQueueSize *int64 `json:"thread_pool_analyze_queue_size,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=128
	// analyze thread pool size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.
	ThreadPoolAnalyzeSize *int64 `json:"thread_pool_analyze_size,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=128
	// force_merge thread pool size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.
	ThreadPoolForceMergeSize *int64 `json:"thread_pool_force_merge_size,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=128
	// get thread pool size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.
	ThreadPoolGetSize *int64 `json:"thread_pool_get_size,omitempty"`

	// +kubebuilder:validation:Minimum=10
	// +kubebuilder:validation:Maximum=2000
	// search_throttled thread pool queue size for the thread pool queue. See documentation for exact details.
	ThreadPoolSearchThrottledQueueSize *int64 `json:"thread_pool_search_throttled_queue_size,omitempty"`

	// +kubebuilder:validation:Minimum=10
	// +kubebuilder:validation:Maximum=2000
	// write thread pool queue size for the thread pool queue. See documentation for exact details.
	ThreadPoolWriteQueueSize *int64 `json:"thread_pool_write_queue_size,omitempty"`

	// reindex_remote_whitelist Whitelisted addresses for reindexing. Changing this value will cause all OpenSearch instances to restart.
	// Address (hostname:port or IP:port)
	ReindexRemoteWhitelist []string `json:"reindex_remote_whitelist,omitempty"`

	// +kubebuilder:validation:Minimum=3
	// +kubebuilder:validation:Maximum=100
	// indices.fielddata.cache.size Relative amount. Maximum amount of heap memory used for field data cache. This is an expert setting; decreasing the value too much will increase overhead of loading field data; too much memory used for field data cache will decrease amount of heap available for other operations.
	IndicesFielddataCacheSize *int64 `json:"indices_fielddata_cache_size,omitempty"`

	// +kubebuilder:validation:Minimum=64
	// +kubebuilder:validation:Maximum=4096
	// indices.query.bool.max_clause_count Maximum number of clauses Lucene BooleanQuery can have. The default value (1024) is relatively high, and increasing it may cause performance issues. Investigate other approaches first before increasing this value.
	IndicesQueryBoolMaxClauseCount *int64 `json:"indices_query_bool_max_clause_count,omitempty"`

	// +kubebuilder:validation:Minimum=10
	// +kubebuilder:validation:Maximum=2000
	// get thread pool queue size for the thread pool queue. See documentation for exact details.
	ThreadPoolGetQueueSize *int64 `json:"thread_pool_get_queue_size,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=128
	// index thread pool size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.
	ThreadPoolIndexSize *int64 `json:"thread_pool_index_size,omitempty"`

	// +kubebuilder:validation:Minimum=10
	// +kubebuilder:validation:Maximum=2000
	// search thread pool queue size for the thread pool queue. See documentation for exact details.
	ThreadPoolSearchQueueSize *int64 `json:"thread_pool_search_queue_size,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=128
	// write thread pool size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.
	ThreadPoolWriteSize *int64 `json:"thread_pool_write_size,omitempty"`

	// +kubebuilder:validation:Minimum=1024
	// +kubebuilder:validation:Maximum=262144
	// http.max_header_size The max size of allowed headers, in bytes
	HttpMaxHeaderSize *int64 `json:"http_max_header_size,omitempty"`

	// +kubebuilder:validation:Minimum=3
	// +kubebuilder:validation:Maximum=40
	// indices.memory.index_buffer_size Percentage value. Default is 10%. Total amount of heap used for indexing buffer, before writing segments to disk. This is an expert setting. Too low value will slow down indexing; too high value will increase indexing performance but causes performance issues for query performance.
	IndicesMemoryIndexBufferSize *int64 `json:"indices_memory_index_buffer_size,omitempty"`

	// +kubebuilder:validation:Minimum=3
	// +kubebuilder:validation:Maximum=40
	// indices.queries.cache.size Percentage value. Default is 10%. Maximum amount of heap used for query cache. This is an expert setting. Too low value will decrease query performance and increase performance for other operations; too high value will cause issues with other OpenSearch functionality.
	IndicesQueriesCacheSize *int64 `json:"indices_queries_cache_size,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=128
	// search thread pool size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.
	ThreadPoolSearchSize *int64 `json:"thread_pool_search_size,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=128
	// search_throttled thread pool size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.
	ThreadPoolSearchThrottledSize *int64 `json:"thread_pool_search_throttled_size,omitempty"`

	// +kubebuilder:validation:Minimum=1024
	// +kubebuilder:validation:Maximum=65536
	// http.max_initial_line_length The max length of an HTTP URL, in bytes
	HttpMaxInitialLineLength *int64 `json:"http_max_initial_line_length,omitempty"`

	// Require explicit index names when deleting
	ActionDestructiveRequiresName *bool `json:"action_destructive_requires_name,omitempty"`

	// +kubebuilder:validation:Minimum=100
	// +kubebuilder:validation:Maximum=10000
	// cluster.max_shards_per_node Controls the number of shards allowed in the cluster per data node
	ClusterMaxShardsPerNode *int64 `json:"cluster_max_shards_per_node,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=2147483647
	// http.max_content_length Maximum content length for HTTP requests to the OpenSearch HTTP API, in bytes.
	HttpMaxContentLength *int64 `json:"http_max_content_length,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=20000
	// search.max_buckets Maximum number of aggregation buckets allowed in a single response. OpenSearch default value is used when this is not defined.
	SearchMaxBuckets *int64 `json:"search_max_buckets,omitempty"`

	// action.auto_create_index Explicitly allow or block automatic creation of indices. Defaults to true
	ActionAutoCreateIndexEnabled *bool `json:"action_auto_create_index_enabled,omitempty"`
}

func (*OpenSearchUserConfigOpenSearch) DeepCopy added in v0.3.0

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

func (*OpenSearchUserConfigOpenSearch) DeepCopyInto added in v0.3.0

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

type OpensearchDashboards added in v0.3.0

type OpensearchDashboards struct {
	// Enable or disable OpenSearch Dashboards
	Enabled *bool `json:"enabled,omitempty"`

	// +kubebuilder:validation:Minimum=64
	// +kubebuilder:validation:Maximum=1024
	// max_old_space_size Limits the maximum amount of memory (in MiB) the OpenSearch Dashboards process can use. This sets the max_old_space_size option of the nodejs running the OpenSearch Dashboards. Note: the memory reserved by OpenSearch Dashboards is not available for OpenSearch.
	MaxOldSpaceSize *int64 `json:"max_old_space_size,omitempty"`

	// +kubebuilder:validation:Minimum=5000
	// +kubebuilder:validation:Maximum=120000
	// Timeout in milliseconds for requests made by OpenSearch Dashboards towards OpenSearch
	OpensearchRequestTimeout *int64 `json:"opensearch_request_timeout,omitempty"`
}

func (*OpensearchDashboards) DeepCopy added in v0.3.0

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

func (*OpensearchDashboards) DeepCopyInto added in v0.3.0

func (in *OpensearchDashboards) DeepCopyInto(out *OpensearchDashboards)

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

type PgLookoutUserConfig

type PgLookoutUserConfig struct {
	// +kubebuilder:validation:Minimum=10
	// max_failover_replication_time_lag Number of seconds of master unavailability before triggering database failover to standby
	MaxFailoverReplicationTimeLag *int64 `json:"max_failover_replication_time_lag,omitempty"`
}

func (*PgLookoutUserConfig) DeepCopy

func (in *PgLookoutUserConfig) DeepCopy() *PgLookoutUserConfig

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

func (*PgLookoutUserConfig) DeepCopyInto

func (in *PgLookoutUserConfig) DeepCopyInto(out *PgLookoutUserConfig)

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

type PgbouncerUserConfig

type PgbouncerUserConfig struct {
	// List of parameters to ignore when given in startup packet
	IgnoreStartupParameters []string `json:"ignore_startup_parameters,omitempty"`

	// Run server_reset_query (DISCARD ALL) in all pooling modes
	ServerResetQueryAlways *bool `json:"server_reset_query_always,omitempty"`
}

func (*PgbouncerUserConfig) DeepCopy

func (in *PgbouncerUserConfig) DeepCopy() *PgbouncerUserConfig

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

func (*PgbouncerUserConfig) DeepCopyInto

func (in *PgbouncerUserConfig) DeepCopyInto(out *PgbouncerUserConfig)

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

type PostgreSQL

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

	Spec   PostgreSQLSpec `json:"spec,omitempty"`
	Status ServiceStatus  `json:"status,omitempty"`
}

PostgreSQL is the Schema for the postgresql API +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Project",type="string",JSONPath=".spec.project" +kubebuilder:printcolumn:name="Region",type="string",JSONPath=".spec.cloudName" +kubebuilder:printcolumn:name="Plan",type="string",JSONPath=".spec.plan" +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.state"

func (PostgreSQL) AuthSecretRef

func (pg PostgreSQL) AuthSecretRef() AuthSecretReference

func (*PostgreSQL) DeepCopy

func (in *PostgreSQL) DeepCopy() *PostgreSQL

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

func (*PostgreSQL) DeepCopyInto

func (in *PostgreSQL) DeepCopyInto(out *PostgreSQL)

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

func (*PostgreSQL) DeepCopyObject

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

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

func (*PostgreSQL) Default

func (r *PostgreSQL) Default()

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

func (*PostgreSQL) SetupWebhookWithManager

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

func (*PostgreSQL) ValidateCreate

func (r *PostgreSQL) ValidateCreate() error

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

func (*PostgreSQL) ValidateDelete

func (r *PostgreSQL) ValidateDelete() error

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

func (*PostgreSQL) ValidateUpdate

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

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

type PostgreSQLList

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

PostgreSQLList contains a list of PostgreSQL instances

func (*PostgreSQLList) DeepCopy

func (in *PostgreSQLList) DeepCopy() *PostgreSQLList

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

func (*PostgreSQLList) DeepCopyInto

func (in *PostgreSQLList) DeepCopyInto(out *PostgreSQLList)

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

func (*PostgreSQLList) DeepCopyObject

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

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

type PostgreSQLSpec

type PostgreSQLSpec struct {
	ServiceCommonSpec `json:",inline"`

	// +kubebuilder:validation:Format="^[1-9][0-9]*(GiB|G)*"
	// The disk space of the service, possible values depend on the service type, the cloud provider and the project. Reducing will result in the service re-balancing.
	DiskSpace string `json:"disk_space,omitempty"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`

	// Information regarding secret creation
	ConnInfoSecretTarget ConnInfoSecretTarget `json:"connInfoSecretTarget,omitempty"`

	// PostgreSQL specific user configuration options
	UserConfig PostgreSQLUserconfig `json:"userConfig,omitempty"`
}

PostgreSQLSpec defines the desired state of postgres instance

func (*PostgreSQLSpec) DeepCopy

func (in *PostgreSQLSpec) DeepCopy() *PostgreSQLSpec

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

func (*PostgreSQLSpec) DeepCopyInto

func (in *PostgreSQLSpec) DeepCopyInto(out *PostgreSQLSpec)

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

type PostgreSQLSubUserConfig

type PostgreSQLSubUserConfig struct {
	// +kubebuilder:validation:Maximum=86400000
	// log_min_duration_statement Log statements that take more than this number of milliseconds to run, -1 disables
	LogMinDurationStatement *int64 `json:"log_min_duration_statement,omitempty"`

	// +kubebuilder:validation:Minimum=8
	// +kubebuilder:validation:Maximum=64
	// max_replication_slots PostgreSQL maximum replication slots
	MaxReplicationSlots *int64 `json:"max_replication_slots,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=43200000
	// max_standby_streaming_delay Max standby streaming delay in milliseconds
	MaxStandbyStreamingDelay *int64 `json:"max_standby_streaming_delay,omitempty"`

	// +kubebuilder:validation:Minimum=3600
	// +kubebuilder:validation:Maximum=604800
	// pg_partman_bgw.interval Sets the time interval to run pg_partman's scheduled tasks
	PgPartmanBgwInterval *int64 `json:"pg_partman_bgw.interval,omitempty"`

	// +kubebuilder:validation:Enum=all;top;none
	// pg_stat_statements.track Controls which statements are counted. Specify top to track top-level statements (those issued directly by clients), all to also track nested statements (such as statements invoked within functions), or none to disable statement statistics collection. The default value is top.
	PgStatStatementsTrack string `json:"pg_stat_statements.track,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=2147483647
	// autovacuum_vacuum_threshold Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is 50 tuples
	AutovacuumVacuumThreshold *int64 `json:"autovacuum_vacuum_threshold,omitempty"`

	// jit Controls system-wide use of Just-in-Time Compilation (JIT).
	Jit *bool `json:"jit,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=10000
	// max_prepared_transactions PostgreSQL maximum prepared transactions
	MaxPreparedTransactions *int64 `json:"max_prepared_transactions,omitempty"`

	// +kubebuilder:validation:Minimum=200000000
	// +kubebuilder:validation:Maximum=1500000000
	// autovacuum_freeze_max_age Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. This parameter will cause the server to be restarted.
	AutovacuumFreezeMaxAge *int64 `json:"autovacuum_freeze_max_age,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=604800000
	// idle_in_transaction_session_timeout Time out sessions with open transactions after this number of milliseconds
	IdleInTransactionSessionTimeout *int64 `json:"idle_in_transaction_session_timeout,omitempty"`

	// +kubebuilder:validation:Minimum=5000
	// +kubebuilder:validation:Maximum=600000
	// wal_sender_timeout Terminate replication connections that are inactive for longer than this amount of time, in milliseconds.
	WalSenderTimeout *int64 `json:"wal_sender_timeout,omitempty"`

	// +kubebuilder:validation:Minimum=64
	// +kubebuilder:validation:Maximum=640
	// max_pred_locks_per_transaction PostgreSQL maximum predicate locks per transaction
	MaxPredLocksPerTransaction *int64 `json:"max_pred_locks_per_transaction,omitempty"`

	// +kubebuilder:validation:MaxLength=64
	// timezone PostgreSQL service timezone
	Timezone string `json:"timezone,omitempty"`

	// +kubebuilder:validation:Minimum=8
	// +kubebuilder:validation:Maximum=64
	// max_wal_senders PostgreSQL maximum WAL senders
	MaxWalSenders *int64 `json:"max_wal_senders,omitempty"`

	// +kubebuilder:validation:Minimum=1024
	// +kubebuilder:validation:Maximum=10240
	// track_activity_query_size Specifies the number of bytes reserved to track the currently executing command for each active session.
	TrackActivityQuerySize *int64 `json:"track_activity_query_size,omitempty"`

	// +kubebuilder:validation:Minimum=1000
	// +kubebuilder:validation:Maximum=4096
	// max_files_per_process PostgreSQL maximum number of files that can be open per process
	MaxFilesPerProcess *int64 `json:"max_files_per_process,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=96
	// max_parallel_workers_per_gather Sets the maximum number of workers that can be started by a single Gather or Gather Merge node
	MaxParallelWorkersPerGather *int64 `json:"max_parallel_workers_per_gather,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=1
	// autovacuum_vacuum_scale_factor Specifies a fraction of the table size to add to autovacuum_vacuum_threshold when deciding whether to trigger a VACUUM. The default is 0.2 (20% of table size)
	AutovacuumVacuumScaleFactor *int64 `json:"autovacuum_vacuum_scale_factor,omitempty"`

	// +kubebuilder:validation:Maximum=2147483647
	// log_autovacuum_min_duration Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one (the default) disables logging autovacuum actions.
	LogAutovacuumMinDuration *int64 `json:"log_autovacuum_min_duration,omitempty"`

	// +kubebuilder:validation:Minimum=64
	// +kubebuilder:validation:Maximum=640
	// max_locks_per_transaction PostgreSQL maximum locks per transaction
	MaxLocksPerTransaction *int64 `json:"max_locks_per_transaction,omitempty"`

	// +kubebuilder:validation:Minimum=2097152
	// +kubebuilder:validation:Maximum=6291456
	// max_stack_depth Maximum depth of the stack in bytes
	MaxStackDepth *int64 `json:"max_stack_depth,omitempty"`

	// +kubebuilder:validation:Minimum=8
	// +kubebuilder:validation:Maximum=96
	// max_worker_processes Sets the maximum number of background processes that the system can support
	MaxWorkerProcesses *int64 `json:"max_worker_processes,omitempty"`

	// +kubebuilder:validation:Format="^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$"
	// +kubebuilder:validation:MaxLength=64
	// pg_partman_bgw.role Controls which role to use for pg_partman's scheduled background tasks.
	PgPartmanBgwRole string `json:"pg_partman_bgw.role,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=1
	// autovacuum_analyze_scale_factor Specifies a fraction of the table size to add to autovacuum_analyze_threshold when deciding whether to trigger an ANALYZE. The default is 0.2 (20% of table size)
	AutovacuumAnalyzeScaleFactor *int64 `json:"autovacuum_analyze_scale_factor,omitempty"`

	// +kubebuilder:validation:Maximum=10000
	// autovacuum_vacuum_cost_limit Specifies the cost limit value that will be used in automatic VACUUM operations. If -1 is specified (which is the default), the regular vacuum_cost_limit value will be used.
	AutovacuumVacuumCostLimit *int64 `json:"autovacuum_vacuum_cost_limit,omitempty"`

	// +kubebuilder:validation:Maximum=2147483647
	// temp_file_limit PostgreSQL temporary file limit in KiB, -1 for unlimited
	TempFileLimit *int64 `json:"temp_file_limit,omitempty"`

	// +kubebuilder:validation:Enum=all;pl;none
	// track_functions Enables tracking of function call counts and time used.
	TrackFunctions string `json:"track_functions,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=96
	// max_parallel_workers Sets the maximum number of workers that the system can support for parallel queries
	MaxParallelWorkers *int64 `json:"max_parallel_workers,omitempty"`

	// +kubebuilder:validation:Enum=off;on
	// track_commit_timestamp Record commit time of transactions.
	TrackCommitTimestamp string `json:"track_commit_timestamp,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=43200000
	// max_standby_archive_delay Max standby archive delay in milliseconds
	MaxStandbyArchiveDelay *int64 `json:"max_standby_archive_delay,omitempty"`

	// +kubebuilder:validation:Minimum=10
	// +kubebuilder:validation:Maximum=200
	// wal_writer_delay WAL flush interval in milliseconds. Note that setting this value to lower than the default 200ms may negatively impact performance
	WalWriterDelay *int64 `json:"wal_writer_delay,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=2147483647
	// autovacuum_analyze_threshold Specifies the minimum number of inserted, updated or deleted tuples needed to trigger an  ANALYZE in any one table. The default is 50 tuples.
	AutovacuumAnalyzeThreshold *int64 `json:"autovacuum_analyze_threshold,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=86400
	// autovacuum_naptime Specifies the minimum delay between autovacuum runs on any given database. The delay is measured in seconds, and the default is one minute
	AutovacuumNaptime *int64 `json:"autovacuum_naptime,omitempty"`

	// +kubebuilder:validation:Minimum=500
	// +kubebuilder:validation:Maximum=1800000
	// deadlock_timeout This is the amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition.
	DeadlockTimeout *int64 `json:"deadlock_timeout,omitempty"`

	// +kubebuilder:validation:Enum=TERSE;DEFAULT;VERBOSE
	// log_error_verbosity Controls the amount of detail written in the server log for each message that is logged.
	LogErrorVerbosity string `json:"log_error_verbosity,omitempty"`

	// +kubebuilder:validation:Minimum=4
	// +kubebuilder:validation:Maximum=64
	// max_logical_replication_workers PostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers)
	MaxLogicalReplicationWorkers *int64 `json:"max_logical_replication_workers,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=20
	// autovacuum_max_workers Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is three. This parameter can only be set at server start.
	AutovacuumMaxWorkers *int64 `json:"autovacuum_max_workers,omitempty"`

	// +kubebuilder:validation:Maximum=100
	// autovacuum_vacuum_cost_delay Specifies the cost delay value that will be used in automatic VACUUM operations. If -1 is specified, the regular vacuum_cost_delay value will be used. The default value is 20 milliseconds
	AutovacuumVacuumCostDelay *int64 `json:"autovacuum_vacuum_cost_delay,omitempty"`
}

func (*PostgreSQLSubUserConfig) DeepCopy

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

func (*PostgreSQLSubUserConfig) DeepCopyInto

func (in *PostgreSQLSubUserConfig) DeepCopyInto(out *PostgreSQLSubUserConfig)

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

type PostgreSQLUserconfig

type PostgreSQLUserconfig struct {
	// PostgreSQL major version
	PgVersion string `json:"pg_version,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=59
	// The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed.
	BackupMinute *int64 `json:"backup_minute,omitempty"`

	// +kubebuilder:validation:MaxLength=63
	// Name of the PostgreSQL Service from which to fork (deprecated, use service_to_fork_from). This has effect only when a new service is being created.
	PgServiceToForkFrom string `json:"pg_service_to_fork_from,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=23
	// The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed.
	BackupHour *int64 `json:"backup_hour,omitempty"`

	// PGLookout settings
	Pglookout PgLookoutUserConfig `json:"pglookout,omitempty"`

	// +kubebuilder:validation:Minimum=20
	// +kubebuilder:validation:Maximum=60
	// shared_buffers_percentage Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value. The absolute maximum is 12 GB.
	SharedBuffersPercentage *int64 `json:"shared_buffers_percentage,omitempty"`

	// +kubebuilder:validation:Enum=quorum;off
	// Synchronous replication type. Note that the service plan also needs to support synchronous replication.
	SynchronousReplication string `json:"synchronous_replication,omitempty"`

	// TimescaleDB extension configuration values
	Timescaledb TimescaledbUserConfig `json:"timescaledb,omitempty"`

	// +kubebuilder:validation:Format="^[a-zA-Z0-9-_]+$"
	// +kubebuilder:validation:MaxLength=256
	// Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.
	AdminPassword string `json:"admin_password,omitempty"`

	// IP filter Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IPFilter []string `json:"ip_filter,omitempty"`

	// PGBouncer connection pooling settings
	Pgbouncer PgbouncerUserConfig `json:"pgbouncer,omitempty"`

	// +kubebuilder:validation:MaxLength=32
	// Recovery target time when forking a service. This has effect only when a new service is being created.
	RecoveryTargetTime string `json:"recovery_target_time,omitempty"`

	// +kubebuilder:validation:Format="^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$"
	// +kubebuilder:validation:MaxLength=64
	// Custom username for admin user. This must be set only when a new service is being created.
	AdminUsername string `json:"admin_username,omitempty"`

	// Migrate data from existing server
	Migration MigrationUserConfig `json:"migration,omitempty"`

	// Allow access to selected service ports from private networks
	PrivateAccess PrivateAccessUserConfig `json:"private_access,omitempty"`

	// Allow access to selected service ports from the public Internet
	PublicAccess PublicAccessUserConfig `json:"public_access,omitempty"`

	// +kubebuilder:validation:MaxLength=63
	// Name of another service to fork from. This has effect only when a new service is being created.
	ServiceToForkFrom string `json:"service_to_fork_from,omitempty"`

	// +kubebuilder:validation:Enum=aiven;timescale
	// Variant of the PostgreSQL service, may affect the features that are exposed by default
	Variant string `json:"variant,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=1024
	// work_mem Sets the maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files, in MB. Default is 1MB + 0.075% of total RAM (up to 32MB).
	WorkMem *int64 `json:"work_mem,omitempty"`

	// postgresql.conf configuration values
	Pg PostgreSQLSubUserConfig `json:"pg,omitempty"`
}

func (*PostgreSQLUserconfig) DeepCopy

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

func (*PostgreSQLUserconfig) DeepCopyInto

func (in *PostgreSQLUserconfig) DeepCopyInto(out *PostgreSQLUserconfig)

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

type PrivateAccessUserConfig

type PrivateAccessUserConfig struct {
	// Allow clients to connect to pg with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations
	Pg *bool `json:"pg,omitempty"`

	// Allow clients to connect to pgbouncer with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations
	Pgbouncer *bool `json:"pgbouncer,omitempty"`

	// Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations
	Prometheus *bool `json:"prometheus,omitempty"`
}

func (*PrivateAccessUserConfig) DeepCopy

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

func (*PrivateAccessUserConfig) DeepCopyInto

func (in *PrivateAccessUserConfig) DeepCopyInto(out *PrivateAccessUserConfig)

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

type Project

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

	Spec   ProjectSpec   `json:"spec,omitempty"`
	Status ProjectStatus `json:"status,omitempty"`
}

Project is the Schema for the projects API +kubebuilder:subresource:status

func (Project) AuthSecretRef

func (proj Project) AuthSecretRef() AuthSecretReference

func (*Project) DeepCopy

func (in *Project) DeepCopy() *Project

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

func (*Project) DeepCopyInto

func (in *Project) DeepCopyInto(out *Project)

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

func (*Project) DeepCopyObject

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

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

func (*Project) Default

func (r *Project) Default()

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

func (*Project) SetupWebhookWithManager

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

func (*Project) ValidateCreate

func (r *Project) ValidateCreate() error

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

func (*Project) ValidateDelete

func (r *Project) ValidateDelete() error

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

func (*Project) ValidateUpdate

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

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

type ProjectList

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

ProjectList contains a list of Project

func (*ProjectList) DeepCopy

func (in *ProjectList) DeepCopy() *ProjectList

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

func (*ProjectList) DeepCopyInto

func (in *ProjectList) DeepCopyInto(out *ProjectList)

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

func (*ProjectList) DeepCopyObject

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

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

type ProjectSpec

type ProjectSpec struct {
	// +kubebuilder:validation:MaxLength=64
	// Credit card ID; The ID may be either last 4 digits of the card or the actual ID
	CardID string `json:"cardId,omitempty"`

	// +kubebuilder:validation:MaxLength=32
	// Account ID
	AccountID string `json:"accountId,omitempty"`

	// +kubebuilder:validation:MaxLength=1000
	// Billing name and address of the project
	BillingAddress string `json:"billingAddress,omitempty"`

	// +kubebuilder:validation:MaxItems=10
	// Billing contact emails of the project
	BillingEmails []string `json:"billingEmails,omitempty"`

	// +kubebuilder:validation:Enum=AUD;CAD;CHF;DKK;EUR;GBP;NOK;SEK;USD
	// Billing currency
	BillingCurrency string `json:"billingCurrency,omitempty"`

	// +kubebuilder:validation:MaxLength=1000
	// Extra text to be included in all project invoices, e.g. purchase order or cost center number
	BillingExtraText string `json:"billingExtraText,omitempty"`

	// +kubebuilder:validation:MaxLength=36
	// +kubebuilder:validation:MinLength=36
	// BillingGroup ID
	BillingGroupID string `json:"billingGroupId,omitempty"`

	// +kubebuilder:validation:MinLength=2
	// +kubebuilder:validation:MaxLength=2
	// Billing country code of the project
	CountryCode string `json:"countryCode,omitempty"`

	// +kubebuilder:validation:MaxLength=256
	// Target cloud, example: aws-eu-central-1
	Cloud string `json:"cloud,omitempty"`

	// +kubebuilder:validation:MaxLength=63
	// Project name from which to copy settings to the new project
	CopyFromProject string `json:"copyFromProject,omitempty"`

	// +kubebuilder:validation:MaxItems=10
	// Technical contact emails of the project
	TechnicalEmails []string `json:"technicalEmails,omitempty"`

	// Information regarding secret creation
	ConnInfoSecretTarget ConnInfoSecretTarget `json:"connInfoSecretTarget,omitempty"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`
}

ProjectSpec defines the desired state of Project

func (*ProjectSpec) DeepCopy

func (in *ProjectSpec) DeepCopy() *ProjectSpec

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

func (*ProjectSpec) DeepCopyInto

func (in *ProjectSpec) DeepCopyInto(out *ProjectSpec)

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

type ProjectStatus

type ProjectStatus struct {
	// Conditions represent the latest available observations of an Project state
	Conditions []metav1.Condition `json:"conditions"`

	// +kubebuilder:validation:MaxLength=64
	// EU VAT Identification Number
	VatID string `json:"vatId,omitempty"`

	// Available credirs
	AvailableCredits string `json:"availableCredits,omitempty"`

	// Country name
	Country string `json:"country,omitempty"`

	// Estimated balance
	EstimatedBalance string `json:"estimatedBalance,omitempty"`

	// Payment method name
	PaymentMethod string `json:"paymentMethod,omitempty"`
}

ProjectStatus defines the observed state of Project

func (*ProjectStatus) DeepCopy

func (in *ProjectStatus) DeepCopy() *ProjectStatus

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

func (*ProjectStatus) DeepCopyInto

func (in *ProjectStatus) DeepCopyInto(out *ProjectStatus)

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

type ProjectVPC

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

	Spec   ProjectVPCSpec   `json:"spec,omitempty"`
	Status ProjectVPCStatus `json:"status,omitempty"`
}

ProjectVPC is the Schema for the projectvpcs API +kubebuilder:printcolumn:name="Project",type="string",JSONPath=".spec.project" +kubebuilder:printcolumn:name="Cloud",type="string",JSONPath=".spec.cloudName" +kubebuilder:printcolumn:name="Network CIDR",type="string",JSONPath=".spec.networkCidr" +kubebuilder:printcolumn:name="State",type="string",JSONPath=".status.state"

func (ProjectVPC) AuthSecretRef

func (pvpc ProjectVPC) AuthSecretRef() AuthSecretReference

func (*ProjectVPC) DeepCopy

func (in *ProjectVPC) DeepCopy() *ProjectVPC

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

func (*ProjectVPC) DeepCopyInto

func (in *ProjectVPC) DeepCopyInto(out *ProjectVPC)

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

func (*ProjectVPC) DeepCopyObject

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

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

func (*ProjectVPC) Default

func (r *ProjectVPC) Default()

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

func (*ProjectVPC) SetupWebhookWithManager

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

func (*ProjectVPC) ValidateCreate

func (r *ProjectVPC) ValidateCreate() error

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

func (*ProjectVPC) ValidateDelete

func (r *ProjectVPC) ValidateDelete() error

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

func (*ProjectVPC) ValidateUpdate

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

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

type ProjectVPCList

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

ProjectVPCList contains a list of ProjectVPC

func (*ProjectVPCList) DeepCopy

func (in *ProjectVPCList) DeepCopy() *ProjectVPCList

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

func (*ProjectVPCList) DeepCopyInto

func (in *ProjectVPCList) DeepCopyInto(out *ProjectVPCList)

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

func (*ProjectVPCList) DeepCopyObject

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

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

type ProjectVPCSpec

type ProjectVPCSpec struct {
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Format="^[a-zA-Z0-9_-]*$"
	// The project the VPC belongs to
	Project string `json:"project"`

	// +kubebuilder:validation:MaxLength=256
	// Cloud the VPC is in
	CloudName string `json:"cloudName"`

	// +kubebuilder:validation:MaxLength=36
	// Network address range used by the VPC like 192.168.0.0/24
	NetworkCidr string `json:"networkCidr"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`
}

ProjectVPCSpec defines the desired state of ProjectVPC

func (*ProjectVPCSpec) DeepCopy

func (in *ProjectVPCSpec) DeepCopy() *ProjectVPCSpec

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

func (*ProjectVPCSpec) DeepCopyInto

func (in *ProjectVPCSpec) DeepCopyInto(out *ProjectVPCSpec)

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

type ProjectVPCStatus

type ProjectVPCStatus struct {
	// Conditions represent the latest available observations of an ProjectVPC state
	Conditions []metav1.Condition `json:"conditions"`

	// State of VPC
	State string `json:"state"`

	// Project VPC id
	ID string `json:"id"`
}

ProjectVPCStatus defines the observed state of ProjectVPC

func (*ProjectVPCStatus) DeepCopy

func (in *ProjectVPCStatus) DeepCopy() *ProjectVPCStatus

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

func (*ProjectVPCStatus) DeepCopyInto

func (in *ProjectVPCStatus) DeepCopyInto(out *ProjectVPCStatus)

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

type PublicAccessUserConfig

type PublicAccessUserConfig struct {
	// Allow clients to connect to pg from the public internet for service nodes that are in a project VPC or another type of private network
	Pg *bool `json:"pg,omitempty"`

	// Allow clients to connect to pgbouncer from the public internet for service nodes that are in a project VPC or another type of private network
	Pgbouncer *bool `json:"pgbouncer,omitempty"`

	// Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network
	Prometheus *bool `json:"prometheus,omitempty"`
}

func (*PublicAccessUserConfig) DeepCopy

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

func (*PublicAccessUserConfig) DeepCopyInto

func (in *PublicAccessUserConfig) DeepCopyInto(out *PublicAccessUserConfig)

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

type Redis added in v0.2.0

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

	Spec   RedisSpec     `json:"spec,omitempty"`
	Status ServiceStatus `json:"status,omitempty"`
}

Redis is the Schema for the redis API +kubebuilder:subresource:status

func (Redis) AuthSecretRef added in v0.2.0

func (r Redis) AuthSecretRef() AuthSecretReference

func (*Redis) DeepCopy added in v0.2.0

func (in *Redis) DeepCopy() *Redis

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

func (*Redis) DeepCopyInto added in v0.2.0

func (in *Redis) DeepCopyInto(out *Redis)

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

func (*Redis) DeepCopyObject added in v0.2.0

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

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

func (*Redis) Default added in v0.2.0

func (r *Redis) Default()

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

func (*Redis) SetupWebhookWithManager added in v0.2.0

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

func (*Redis) ValidateCreate added in v0.2.0

func (r *Redis) ValidateCreate() error

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

func (*Redis) ValidateDelete added in v0.2.0

func (r *Redis) ValidateDelete() error

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

func (*Redis) ValidateUpdate added in v0.2.0

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

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

type RedisList added in v0.2.0

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

RedisList contains a list of Redis

func (*RedisList) DeepCopy added in v0.2.0

func (in *RedisList) DeepCopy() *RedisList

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

func (*RedisList) DeepCopyInto added in v0.2.0

func (in *RedisList) DeepCopyInto(out *RedisList)

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

func (*RedisList) DeepCopyObject added in v0.2.0

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

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

type RedisMigration added in v0.2.0

type RedisMigration struct {
	// +kubebuilder:validation:MaxLength=2048
	// Comma-separated list of databases, which should be ignored during migration (supported by MySQL only at the moment)
	IgnoreDbs string `json:"ignore_dbs,omitempty"`

	// +kubebuilder:validation:MaxLength=256
	// Password for authentication with the server where to migrate data from
	Password string `json:"password,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	// Port number of the server where to migrate data from
	Port *int64 `json:"port,omitempty"`

	// The server where to migrate data from is secured with SSL
	Ssl *bool `json:"ssl,omitempty"`

	// +kubebuilder:validation:MaxLength=256
	// User name for authentication with the server where to migrate data from
	Username string `json:"username,omitempty"`

	// +kubebuilder:validation:MaxLength=63
	// Database name for bootstrapping the initial connection
	Dbname string `json:"dbname,omitempty"`

	// +kubebuilder:validation:MaxLength=255
	// Hostname or IP address of the server where to migrate data from
	Host string `json:"host,omitempty"`
}

func (*RedisMigration) DeepCopy added in v0.2.0

func (in *RedisMigration) DeepCopy() *RedisMigration

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

func (*RedisMigration) DeepCopyInto added in v0.2.0

func (in *RedisMigration) DeepCopyInto(out *RedisMigration)

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

type RedisPrivateAccess added in v0.2.0

type RedisPrivateAccess struct {
	// Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations
	Prometheus *bool `json:"prometheus,omitempty"`

	// Allow clients to connect to redis with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations
	Redis *bool `json:"redis,omitempty"`
}

func (*RedisPrivateAccess) DeepCopy added in v0.2.0

func (in *RedisPrivateAccess) DeepCopy() *RedisPrivateAccess

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

func (*RedisPrivateAccess) DeepCopyInto added in v0.2.0

func (in *RedisPrivateAccess) DeepCopyInto(out *RedisPrivateAccess)

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

type RedisPrivatelinkAccess added in v0.2.0

type RedisPrivatelinkAccess struct {
	// Enable redis
	Redis *bool `json:"redis,omitempty"`
}

func (*RedisPrivatelinkAccess) DeepCopy added in v0.2.0

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

func (*RedisPrivatelinkAccess) DeepCopyInto added in v0.2.0

func (in *RedisPrivatelinkAccess) DeepCopyInto(out *RedisPrivatelinkAccess)

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

type RedisPublicAccess added in v0.2.0

type RedisPublicAccess struct {
	// Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network
	Prometheus *bool `json:"prometheus,omitempty"`

	// Allow clients to connect to redis from the public internet for service nodes that are in a project VPC or another type of private network
	Redis *bool `json:"redis,omitempty"`
}

func (*RedisPublicAccess) DeepCopy added in v0.2.0

func (in *RedisPublicAccess) DeepCopy() *RedisPublicAccess

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

func (*RedisPublicAccess) DeepCopyInto added in v0.2.0

func (in *RedisPublicAccess) DeepCopyInto(out *RedisPublicAccess)

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

type RedisSpec added in v0.2.0

type RedisSpec struct {
	ServiceCommonSpec `json:",inline"`

	// The disk space of the service, possible values depend on the service type, the cloud provider and the project. Reducing will result in the service re-balancing.
	DiskSpace string `json:"disk_space,omitempty"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`

	// Information regarding secret creation
	ConnInfoSecretTarget ConnInfoSecretTarget `json:"connInfoSecretTarget,omitempty"`

	// Redis specific user configuration options
	UserConfig RedisUserConfig `json:"userConfig,omitempty"`
}

RedisSpec defines the desired state of Redis

func (*RedisSpec) DeepCopy added in v0.2.0

func (in *RedisSpec) DeepCopy() *RedisSpec

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

func (*RedisSpec) DeepCopyInto added in v0.2.0

func (in *RedisSpec) DeepCopyInto(out *RedisSpec)

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

type RedisUserConfig added in v0.2.0

type RedisUserConfig struct {
	// Migrate data from existing server
	Migration RedisMigration `json:"migration,omitempty"`

	// Allow access to selected service ports from the public internet
	PublicAccess RedisPublicAccess `json:"public_access,omitempty"`

	// Allow access to selected service ports from private networks
	PrivateAccess RedisPrivateAccess `json:"private_access,omitempty"`

	// Allow access to selected service components through Privatelink
	PrivatelinkAccess RedisPrivatelinkAccess `json:"privatelink_access,omitempty"`

	// +kubebuilder:validation:MaxLength=63
	// Name of another service to fork from. This has effect only when a new service is being created.
	ServiceToForkFrom string `json:"service_to_fork_from,omitempty"`

	// IP filter Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IPFilter []string `json:"ip_filter,omitempty"`

	// +kubebuilder:validation:MaxLength=63
	// Name of another project to fork a service from. This has effect only when a new service is being created.
	ProjectToForkFrom string `json:"project_to_fork_from,omitempty"`

	// +kubebuilder:validation:Enum=allchannels;resetchannels
	// Default ACL for pub/sub channels used when Redis user is created Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Redis configuration acl-pubsub-default.
	RedisAclChannelsDefault string `json:"redis_acl_channels_default,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=120
	// LFU maxmemory-policy counter decay time in minutes
	RedisLfuDecayTime *int64 `json:"redis_lfu_decay_time,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	// Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies
	RedisLfuLogFactor *int64 `json:"redis_lfu_log_factor,omitempty"`

	// +kubebuilder:validation:Enum=off;rdb
	// Redis persistence When persistence is 'rdb', Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is 'off', no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked.
	RedisPersistence string `json:"redis_persistence,omitempty"`

	// +kubebuilder:validation:Minimum=32
	// +kubebuilder:validation:Maximum=512
	// Pub/sub client output buffer hard limit in MB Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan.
	RedisPubsubClientOutputBufferLimit *int64 `json:"redis_pubsub_client_output_buffer_limit,omitempty"`

	// Static IP addresses Use static public IP addresses
	StaticIps *bool `json:"static_ips,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=32
	// Redis IO thread count
	RedisIoThreads *int64 `json:"redis_io_threads,omitempty"`

	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=31536000
	// Redis idle connection timeout
	RedisTimeout *int64 `json:"redis_timeout,omitempty"`

	// +kubebuilder:validation:Format="^[a-zA-Z0-9-_:.]+$"
	// +kubebuilder:validation:MaxLength=128
	// Name of the basebackup to restore in forked service
	RecoveryBasebackupName string `json:"recovery_basebackup_name,omitempty"`

	// +kubebuilder:validation:Enum=noeviction;allkeys-lru;volatile-lru;allkeys-random;volatile-random;volatile-ttl;volatile-lfu;allkeys-lfu
	// Redis maxmemory-policy
	RedisMaxmemoryPolicy string `json:"redis_maxmemory_policy,omitempty"`

	// +kubebuilder:validation:MaxLength=32
	// Set notify-keyspace-events option
	RedisNotifyKeyspaceEvents string `json:"redis_notify_keyspace_events,omitempty"`

	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=128
	// Number of redis databases Set number of redis databases. Changing this will cause a restart of redis service.
	RedisNumberOfDatabases *int64 `json:"redis_number_of_databases,omitempty"`

	// Require SSL to access Redis
	RedisSsl *bool `json:"redis_ssl,omitempty"`
}

func (*RedisUserConfig) DeepCopy added in v0.2.0

func (in *RedisUserConfig) DeepCopy() *RedisUserConfig

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

func (*RedisUserConfig) DeepCopyInto added in v0.2.0

func (in *RedisUserConfig) DeepCopyInto(out *RedisUserConfig)

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

type ServiceCommonSpec

type ServiceCommonSpec struct {
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Format="^[a-zA-Z0-9_-]*$"
	// Target project.
	Project string `json:"project"`

	// +kubebuilder:validation:MaxLength=128
	// Subscription plan.
	Plan string `json:"plan,omitempty"`

	// +kubebuilder:validation:MaxLength=256
	// Cloud the service runs in.
	CloudName string `json:"cloudName,omitempty"`

	// +kubebuilder:validation:MaxLength=36
	// Identifier of the VPC the service should be in, if any.
	ProjectVPCID string `json:"projectVpcId,omitempty"`

	// +kubebuilder:validation:Enum=monday;tuesday;wednesday;thursday;friday;saturday;sunday;never
	// Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
	MaintenanceWindowDow string `json:"maintenanceWindowDow,omitempty"`

	// +kubebuilder:validation:MaxLength=8
	// Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
	MaintenanceWindowTime string `json:"maintenanceWindowTime,omitempty"`

	// Prevent service from being deleted. It is recommended to have this enabled for all services.
	TerminationProtection bool `json:"terminationProtection,omitempty"`
}

func (*ServiceCommonSpec) DeepCopy

func (in *ServiceCommonSpec) DeepCopy() *ServiceCommonSpec

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

func (*ServiceCommonSpec) DeepCopyInto

func (in *ServiceCommonSpec) DeepCopyInto(out *ServiceCommonSpec)

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

type ServiceIntegration

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

	Spec   ServiceIntegrationSpec   `json:"spec,omitempty"`
	Status ServiceIntegrationStatus `json:"status,omitempty"`
}

ServiceIntegration is the Schema for the serviceintegrations API +kubebuilder:printcolumn:name="Project",type="string",JSONPath=".spec.project" +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".spec.integrationType" +kubebuilder:printcolumn:name="Source Service Name",type="string",JSONPath=".spec.sourceServiceName" +kubebuilder:printcolumn:name="Destination Service Name",type="string",JSONPath=".spec.destinationServiceName" +kubebuilder:printcolumn:name="Source Endpoint ID",type="string",JSONPath=".spec.sourceEndpointId" +kubebuilder:printcolumn:name="Destination Endpoint ID",type="string",JSONPath=".spec.destinationEndpointId"

func (ServiceIntegration) AuthSecretRef

func (svcint ServiceIntegration) AuthSecretRef() AuthSecretReference

func (*ServiceIntegration) DeepCopy

func (in *ServiceIntegration) DeepCopy() *ServiceIntegration

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

func (*ServiceIntegration) DeepCopyInto

func (in *ServiceIntegration) DeepCopyInto(out *ServiceIntegration)

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

func (*ServiceIntegration) DeepCopyObject

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

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

func (*ServiceIntegration) Default

func (r *ServiceIntegration) Default()

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

func (*ServiceIntegration) SetupWebhookWithManager

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

func (*ServiceIntegration) ValidateCreate

func (r *ServiceIntegration) ValidateCreate() error

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

func (*ServiceIntegration) ValidateDelete

func (r *ServiceIntegration) ValidateDelete() error

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

func (*ServiceIntegration) ValidateUpdate

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

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

type ServiceIntegrationDatadogUserConfig

type ServiceIntegrationDatadogUserConfig struct {
	// Consumer groups to exclude
	ExcludeConsumerGroups []string `json:"exclude_consumer_groups,omitempty"`

	// List of topics to exclude
	ExcludeTopics []string `json:"exclude_topics,omitempty"`

	// Consumer groups to include
	IncludeConsumerGroups []string `json:"include_consumer_groups,omitempty"`

	// Topics to include
	IncludeTopics []string `json:"include_topics,omitempty"`

	// List of custom metrics
	KafkaCustomMetrics []string `json:"kafka_custom_metrics,omitempty"`
}

func (*ServiceIntegrationDatadogUserConfig) DeepCopy

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

func (*ServiceIntegrationDatadogUserConfig) DeepCopyInto

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

type ServiceIntegrationKafkaConnect

type ServiceIntegrationKafkaConnect struct {
	// +kubebuilder:validation:MaxLength=249
	// The name of the topic where connector and task configuration data are stored. This must be the same for all workers with the same group_id.
	ConfigStorageTopic string `json:"config_storage_topic,omitempty"`

	// +kubebuilder:validation:MaxLength=249
	// A unique string that identifies the Connect cluster group this worker belongs to.
	GroupID string `json:"group_id,omitempty"`

	// +kubebuilder:validation:MaxLength=249
	// The name of the topic where connector and task configuration offsets are stored. This must be the same for all workers with the same group_id.
	OffsetStorageTopic string `json:"offset_storage_topic,omitempty"`

	// +kubebuilder:validation:MaxLength=249
	// The name of the topic where connector and task configuration status updates are stored.This must be the same for all workers with the same group_id.
	StatusStorageTopic string `json:"status_storage_topic,omitempty"`
}

func (*ServiceIntegrationKafkaConnect) DeepCopy

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

func (*ServiceIntegrationKafkaConnect) DeepCopyInto

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

type ServiceIntegrationKafkaConnectUserConfig

type ServiceIntegrationKafkaConnectUserConfig struct {
	KafkaConnect ServiceIntegrationKafkaConnect `json:"kafka_connect,omitempty"`
}

func (*ServiceIntegrationKafkaConnectUserConfig) DeepCopy

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

func (*ServiceIntegrationKafkaConnectUserConfig) DeepCopyInto

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

type ServiceIntegrationKafkaLogsUserConfig

type ServiceIntegrationKafkaLogsUserConfig struct {
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:MinLength=1
	// Topic name
	KafkaTopic string `json:"kafka_topic,omitempty"`
}

func (*ServiceIntegrationKafkaLogsUserConfig) DeepCopy

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

func (*ServiceIntegrationKafkaLogsUserConfig) DeepCopyInto

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

type ServiceIntegrationList

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

ServiceIntegrationList contains a list of ServiceIntegration

func (*ServiceIntegrationList) DeepCopy

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

func (*ServiceIntegrationList) DeepCopyInto

func (in *ServiceIntegrationList) DeepCopyInto(out *ServiceIntegrationList)

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

func (*ServiceIntegrationList) DeepCopyObject

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

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

type ServiceIntegrationMetricsUserConfig

type ServiceIntegrationMetricsUserConfig struct {
	// +kubebuilder:validation:Format="^[_A-Za-z0-9][-_A-Za-z0-9]{0,39}$"
	// +kubebuilder:validation:MaxLength=40
	// Name of the database where to store metric datapoints. Only affects PostgreSQL destinations
	Database string `json:"database,omitempty"`

	// +kubebuilder:validation:Max=10000
	// Number of days to keep old metrics. Only affects PostgreSQL destinations. Set to 0 for no automatic cleanup. Defaults to 30 days.
	RetentionDays int `json:"retention_days,omitempty"`

	// +kubebuilder:validation:Format="^[_A-Za-z0-9][-._A-Za-z0-9]{0,39}$"
	// +kubebuilder:validation:MaxLength=40
	// Name of a user that can be used to read metrics. This will be used for Grafana integration (if enabled) to prevent Grafana users from making undesired changes. Only affects PostgreSQL destinations. Defaults to 'metrics_reader'. Note that this must be the same for all metrics integrations that write data to the same PostgreSQL service.
	RoUsername string `json:"ro_username,omitempty"`

	// +kubebuilder:validation:Format="^[_A-Za-z0-9][-._A-Za-z0-9]{0,39}$"
	// +kubebuilder:validation:MaxLength=40
	// Name of the user used to write metrics. Only affects PostgreSQL destinations. Defaults to 'metrics_writer'. Note that this must be the same for all metrics integrations that write data to the same PostgreSQL service.
	Username string `json:"username,omitempty"`
}

func (*ServiceIntegrationMetricsUserConfig) DeepCopy

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

func (*ServiceIntegrationMetricsUserConfig) DeepCopyInto

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

type ServiceIntegrationSpec

type ServiceIntegrationSpec struct {
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Format="^[a-zA-Z0-9_-]*$"
	// Project the integration belongs to
	Project string `json:"project"`

	// +kubebuilder:validation:Enum=datadog;kafka_logs;kafka_connect;metrics;dashboard;rsyslog;read_replica;schema_registry_proxy;signalfx;jolokia;internal_connectivity;external_google_cloud_logging;datasource
	// Type of the service integration
	IntegrationType string `json:"integrationType"`

	// Source endpoint for the integration (if any)
	SourceEndpointID string `json:"sourceEndpointID,omitempty"`

	// Source service for the integration (if any)
	SourceServiceName string `json:"sourceServiceName,omitempty"`

	// Destination endpoint for the integration (if any)
	DestinationEndpointID string `json:"destinationEndpointId,omitempty"`

	// Destination service for the integration (if any)
	DestinationServiceName string `json:"destinationServiceName,omitempty"`

	// Datadog specific user configuration options
	DatadogUserConfig ServiceIntegrationDatadogUserConfig `json:"datadog,omitempty"`

	// Kafka Connect service configuration values
	KafkaConnectUserConfig ServiceIntegrationKafkaConnectUserConfig `json:"kafkaConnect,omitempty"`

	// Kafka logs configuration values
	KafkaLogsUserConfig ServiceIntegrationKafkaLogsUserConfig `json:"kafkaLogs,omitempty"`

	// Metrics configuration values
	MetricsUserConfig ServiceIntegrationMetricsUserConfig `json:"metrics,omitempty"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`
}

ServiceIntegrationSpec defines the desired state of ServiceIntegration

func (*ServiceIntegrationSpec) DeepCopy

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

func (*ServiceIntegrationSpec) DeepCopyInto

func (in *ServiceIntegrationSpec) DeepCopyInto(out *ServiceIntegrationSpec)

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

type ServiceIntegrationStatus

type ServiceIntegrationStatus struct {
	// Conditions represent the latest available observations of an ServiceIntegration state
	Conditions []metav1.Condition `json:"conditions"`

	// Service integration ID
	ID string `json:"id"`
}

ServiceIntegrationStatus defines the observed state of ServiceIntegration

func (*ServiceIntegrationStatus) DeepCopy

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

func (*ServiceIntegrationStatus) DeepCopyInto

func (in *ServiceIntegrationStatus) DeepCopyInto(out *ServiceIntegrationStatus)

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

type ServiceStatus

type ServiceStatus struct {
	// Conditions represent the latest available observations of a service state
	Conditions []metav1.Condition `json:"conditions"`

	// Service state
	State string `json:"state"`
}

ServiceStatus defines the observed state of service

func (*ServiceStatus) DeepCopy

func (in *ServiceStatus) DeepCopy() *ServiceStatus

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

func (*ServiceStatus) DeepCopyInto

func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus)

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

type ServiceUser

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

	Spec   ServiceUserSpec   `json:"spec,omitempty"`
	Status ServiceUserStatus `json:"status,omitempty"`
}

ServiceUser is the Schema for the serviceusers API +kubebuilder:printcolumn:name="Service Name",type="string",JSONPath=".spec.serviceName" +kubebuilder:printcolumn:name="Project",type="string",JSONPath=".spec.project" +kubebuilder:printcolumn:name="Connection Information Secret",type="string",JSONPath=".spec.connInfoSecretTarget.name"

func (ServiceUser) AuthSecretRef

func (svcusr ServiceUser) AuthSecretRef() AuthSecretReference

func (*ServiceUser) DeepCopy

func (in *ServiceUser) DeepCopy() *ServiceUser

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

func (*ServiceUser) DeepCopyInto

func (in *ServiceUser) DeepCopyInto(out *ServiceUser)

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

func (*ServiceUser) DeepCopyObject

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

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

func (*ServiceUser) Default

func (r *ServiceUser) Default()

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

func (*ServiceUser) SetupWebhookWithManager

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

func (*ServiceUser) ValidateCreate

func (r *ServiceUser) ValidateCreate() error

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

func (*ServiceUser) ValidateDelete

func (r *ServiceUser) ValidateDelete() error

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

func (*ServiceUser) ValidateUpdate

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

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

type ServiceUserList

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

ServiceUserList contains a list of ServiceUser

func (*ServiceUserList) DeepCopy

func (in *ServiceUserList) DeepCopy() *ServiceUserList

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

func (*ServiceUserList) DeepCopyInto

func (in *ServiceUserList) DeepCopyInto(out *ServiceUserList)

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

func (*ServiceUserList) DeepCopyObject

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

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

type ServiceUserSpec

type ServiceUserSpec struct {
	// +kubebuilder:validation:MaxLength=63
	// +kubebuilder:validation:Format="^[a-zA-Z0-9_-]*$"
	// Project to link the user to
	Project string `json:"project"`

	// +kubebuilder:validation:MaxLength=63
	// Service to link the user to
	ServiceName string `json:"serviceName"`

	// +kubebuilder:validation:Enum=caching_sha2_password;mysql_native_password
	// Authentication details
	Authentication string `json:"authentication,omitempty"`

	// Information regarding secret creation
	ConnInfoSecretTarget ConnInfoSecretTarget `json:"connInfoSecretTarget,omitempty"`

	// Authentication reference to Aiven token in a secret
	AuthSecretRef AuthSecretReference `json:"authSecretRef"`
}

ServiceUserSpec defines the desired state of ServiceUser

func (*ServiceUserSpec) DeepCopy

func (in *ServiceUserSpec) DeepCopy() *ServiceUserSpec

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

func (*ServiceUserSpec) DeepCopyInto

func (in *ServiceUserSpec) DeepCopyInto(out *ServiceUserSpec)

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

type ServiceUserStatus

type ServiceUserStatus struct {
	// Conditions represent the latest available observations of an ServiceUser state
	Conditions []metav1.Condition `json:"conditions"`

	// Type of the user account
	Type string `json:"type,omitempty"`
}

ServiceUserStatus defines the observed state of ServiceUser

func (*ServiceUserStatus) DeepCopy

func (in *ServiceUserStatus) DeepCopy() *ServiceUserStatus

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

func (*ServiceUserStatus) DeepCopyInto

func (in *ServiceUserStatus) DeepCopyInto(out *ServiceUserStatus)

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

type TimescaledbUserConfig

type TimescaledbUserConfig struct {
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=4096
	// timescaledb.max_background_workers The number of background workers for timescaledb operations. You should configure this setting to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time.
	MaxBackgroundWorkers *int64 `json:"max_background_workers,omitempty"`
}

func (*TimescaledbUserConfig) DeepCopy

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

func (*TimescaledbUserConfig) DeepCopyInto

func (in *TimescaledbUserConfig) DeepCopyInto(out *TimescaledbUserConfig)

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