From 60351cc6712fbbe4be3b56d8bb85e3da6bcffa23 Mon Sep 17 00:00:00 2001 From: Murad Biashimov Date: Mon, 14 Oct 2024 15:00:50 +0200 Subject: [PATCH] chore: run generators --- CHANGELOG.md | 22 ++++++++++++ .../service/clickhouse/clickhouse.go | 5 +++ .../clickhouse/zz_generated.deepcopy.go | 5 +++ .../userconfig/service/grafana/grafana.go | 3 ++ .../service/grafana/zz_generated.deepcopy.go | 5 +++ .../userconfig/service/kafka/kafka.go | 17 ++++++++- .../service/kafka/zz_generated.deepcopy.go | 35 +++++++++++++++++++ .../userconfig/service/mysql/mysql.go | 8 +++-- .../service/mysql/zz_generated.deepcopy.go | 5 +++ .../service/opensearch/opensearch.go | 22 +++++++++++- .../opensearch/zz_generated.deepcopy.go | 15 ++++++++ api/v1alpha1/userconfig/service/pg/pg.go | 3 +- .../templates/aiven.io_clickhouses.yaml | 5 +++ .../templates/aiven.io_grafanas.yaml | 5 +++ .../templates/aiven.io_kafkas.yaml | 27 +++++++++++++- .../templates/aiven.io_mysqls.yaml | 18 ++++++++-- .../templates/aiven.io_opensearches.yaml | 35 ++++++++++++++++++- .../templates/aiven.io_postgresqls.yaml | 2 +- config/crd/bases/aiven.io_clickhouses.yaml | 5 +++ config/crd/bases/aiven.io_grafanas.yaml | 5 +++ config/crd/bases/aiven.io_kafkas.yaml | 27 +++++++++++++- config/crd/bases/aiven.io_mysqls.yaml | 18 ++++++++-- config/crd/bases/aiven.io_opensearches.yaml | 35 ++++++++++++++++++- config/crd/bases/aiven.io_postgresqls.yaml | 2 +- docs/docs/api-reference/clickhouse.md | 1 + docs/docs/api-reference/grafana.md | 1 + docs/docs/api-reference/kafka.md | 15 +++++++- docs/docs/api-reference/mysql.md | 5 +-- docs/docs/api-reference/opensearch.md | 17 ++++++--- docs/docs/api-reference/postgresql.md | 2 +- go.mod | 5 +-- 31 files changed, 348 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 43e963ff..c8921aaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,28 @@ ## [MAJOR.MINOR.PATCH] - YYYY-MM-DD +- Add `Clickhouse` field `userConfig.recovery_basebackup_name`, type `string`: Name of the basebackup + to restore in forked service +- Add `Grafana` field `userConfig.auth_generic_oauth.use_refresh_token`, type `boolean`: Set to true + to use refresh token and check access token expiration +- Add `Kafka` field `userConfig.schema_registry_config.retriable_errors_silenced`, type `boolean`: If + enabled, kafka errors which can be retried or custom errors specified for the service will not be + raised, instead, a warning log is emitted +- Add `Kafka` field `userConfig.schema_registry_config.schema_reader_strict_mode`, type `boolean`: If + enabled, causes the Karapace schema-registry service to shutdown when there are invalid schema records + in the `_schemas` topic +- Add `Kafka` field `userConfig.single_zone`, type `object`: Single-zone configuration +- Change `Kafka` field `userConfig.kafka_version`: enum ~~`[3.4, 3.5, 3.6, 3.7]`~~ → `[3.5, 3.6, 3.7, 3.8]` +- Add `MySQL` field `userConfig.mysql.log_output`, type `string`: The slow log output destination when + slow_query_log is ON +- Add `OpenSearch` field `userConfig.azure_migration.indices`, type `string`: A comma-delimited list + of indices to restore from the snapshot. Multi-index syntax is supported +- Add `OpenSearch` field `userConfig.gcs_migration.indices`, type `string`: A comma-delimited list of + indices to restore from the snapshot. Multi-index syntax is supported +- Add `OpenSearch` field `userConfig.s3_migration.indices`, type `string`: A comma-delimited list of + indices to restore from the snapshot. Multi-index syntax is supported +- Change `PostgreSQL` field `userConfig.additional_backup_regions`: deprecated + ## v0.25.0 - 2024-09-19 - Fix `KafkaTopic`: fails to create a topic with the replication factor set more than running Kafka nodes diff --git a/api/v1alpha1/userconfig/service/clickhouse/clickhouse.go b/api/v1alpha1/userconfig/service/clickhouse/clickhouse.go index 6495871b..7d8b57b9 100644 --- a/api/v1alpha1/userconfig/service/clickhouse/clickhouse.go +++ b/api/v1alpha1/userconfig/service/clickhouse/clickhouse.go @@ -83,6 +83,11 @@ type ClickhouseUserConfig struct { // Allow access to selected service ports from the public Internet PublicAccess *PublicAccess `groups:"create,update" json:"public_access,omitempty"` + // +kubebuilder:validation:MaxLength=128 + // +kubebuilder:validation:Pattern=`^[a-zA-Z0-9-_:.+]+$` + // Name of the basebackup to restore in forked service + RecoveryBasebackupName *string `groups:"create,update" json:"recovery_basebackup_name,omitempty"` + // Store logs for the service so that they are available in the HTTP API and console. ServiceLog *bool `groups:"create,update" json:"service_log,omitempty"` diff --git a/api/v1alpha1/userconfig/service/clickhouse/zz_generated.deepcopy.go b/api/v1alpha1/userconfig/service/clickhouse/zz_generated.deepcopy.go index 950928d9..813cc2a6 100644 --- a/api/v1alpha1/userconfig/service/clickhouse/zz_generated.deepcopy.go +++ b/api/v1alpha1/userconfig/service/clickhouse/zz_generated.deepcopy.go @@ -45,6 +45,11 @@ func (in *ClickhouseUserConfig) DeepCopyInto(out *ClickhouseUserConfig) { *out = new(PublicAccess) (*in).DeepCopyInto(*out) } + if in.RecoveryBasebackupName != nil { + in, out := &in.RecoveryBasebackupName, &out.RecoveryBasebackupName + *out = new(string) + **out = **in + } if in.ServiceLog != nil { in, out := &in.ServiceLog, &out.ServiceLog *out = new(bool) diff --git a/api/v1alpha1/userconfig/service/grafana/grafana.go b/api/v1alpha1/userconfig/service/grafana/grafana.go index 6846edd3..b7c4af3c 100644 --- a/api/v1alpha1/userconfig/service/grafana/grafana.go +++ b/api/v1alpha1/userconfig/service/grafana/grafana.go @@ -81,6 +81,9 @@ type AuthGenericOauth struct { // +kubebuilder:validation:MaxLength=2048 // Token URL TokenUrl string `groups:"create,update" json:"token_url"` + + // Set to true to use refresh token and check access token expiration. + UseRefreshToken *bool `groups:"create,update" json:"use_refresh_token,omitempty"` } // Github Auth integration diff --git a/api/v1alpha1/userconfig/service/grafana/zz_generated.deepcopy.go b/api/v1alpha1/userconfig/service/grafana/zz_generated.deepcopy.go index baebdeb9..538e36f7 100644 --- a/api/v1alpha1/userconfig/service/grafana/zz_generated.deepcopy.go +++ b/api/v1alpha1/userconfig/service/grafana/zz_generated.deepcopy.go @@ -69,6 +69,11 @@ func (in *AuthGenericOauth) DeepCopyInto(out *AuthGenericOauth) { *out = make([]string, len(*in)) copy(*out, *in) } + if in.UseRefreshToken != nil { + in, out := &in.UseRefreshToken, &out.UseRefreshToken + *out = new(bool) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthGenericOauth. diff --git a/api/v1alpha1/userconfig/service/kafka/kafka.go b/api/v1alpha1/userconfig/service/kafka/kafka.go index e033ce35..14191f9e 100644 --- a/api/v1alpha1/userconfig/service/kafka/kafka.go +++ b/api/v1alpha1/userconfig/service/kafka/kafka.go @@ -493,12 +493,24 @@ type SchemaRegistryConfig struct { // 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 `groups:"create,update" json:"leader_eligibility,omitempty"` + // If enabled, kafka errors which can be retried or custom errors specified for the service will not be raised, instead, a warning log is emitted. This will denoise issue tracking systems, i.e. sentry. Defaults to `true`. + RetriableErrorsSilenced *bool `groups:"create,update" json:"retriable_errors_silenced,omitempty"` + + // If enabled, causes the Karapace schema-registry service to shutdown when there are invalid schema records in the `_schemas` topic. Defaults to `false`. + SchemaReaderStrictMode *bool `groups:"create,update" json:"schema_reader_strict_mode,omitempty"` + // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=249 // 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 `groups:"create,update" json:"topic_name,omitempty"` } +// Single-zone configuration +type SingleZone struct { + // Whether to allocate nodes on the same Availability Zone or spread across zones available. By default service nodes are spread across different AZs. The single AZ support is best-effort and may temporarily allocate nodes in different AZs e.g. in case of capacity limitations in one AZ. + Enabled *bool `groups:"create,update" json:"enabled,omitempty"` +} + // Deprecated. Local cache configuration type LocalCache struct { // +kubebuilder:validation:Minimum=1 @@ -564,7 +576,7 @@ type KafkaUserConfig struct { // Kafka SASL mechanisms KafkaSaslMechanisms *KafkaSaslMechanisms `groups:"create,update" json:"kafka_sasl_mechanisms,omitempty"` - // +kubebuilder:validation:Enum="3.4";"3.5";"3.6";"3.7" + // +kubebuilder:validation:Enum="3.5";"3.6";"3.7";"3.8" // Kafka major version KafkaVersion *string `groups:"create,update" json:"kafka_version,omitempty"` @@ -589,6 +601,9 @@ type KafkaUserConfig struct { // Store logs for the service so that they are available in the HTTP API and console. ServiceLog *bool `groups:"create,update" json:"service_log,omitempty"` + // Single-zone configuration + SingleZone *SingleZone `groups:"create,update" json:"single_zone,omitempty"` + // Use static public IP addresses StaticIps *bool `groups:"create,update" json:"static_ips,omitempty"` diff --git a/api/v1alpha1/userconfig/service/kafka/zz_generated.deepcopy.go b/api/v1alpha1/userconfig/service/kafka/zz_generated.deepcopy.go index 16f48614..6326cb0b 100644 --- a/api/v1alpha1/userconfig/service/kafka/zz_generated.deepcopy.go +++ b/api/v1alpha1/userconfig/service/kafka/zz_generated.deepcopy.go @@ -681,6 +681,11 @@ func (in *KafkaUserConfig) DeepCopyInto(out *KafkaUserConfig) { *out = new(bool) **out = **in } + if in.SingleZone != nil { + in, out := &in.SingleZone, &out.SingleZone + *out = new(SingleZone) + (*in).DeepCopyInto(*out) + } if in.StaticIps != nil { in, out := &in.StaticIps, &out.StaticIps *out = new(bool) @@ -856,6 +861,16 @@ func (in *SchemaRegistryConfig) DeepCopyInto(out *SchemaRegistryConfig) { *out = new(bool) **out = **in } + if in.RetriableErrorsSilenced != nil { + in, out := &in.RetriableErrorsSilenced, &out.RetriableErrorsSilenced + *out = new(bool) + **out = **in + } + if in.SchemaReaderStrictMode != nil { + in, out := &in.SchemaReaderStrictMode, &out.SchemaReaderStrictMode + *out = new(bool) + **out = **in + } if in.TopicName != nil { in, out := &in.TopicName, &out.TopicName *out = new(string) @@ -873,6 +888,26 @@ func (in *SchemaRegistryConfig) DeepCopy() *SchemaRegistryConfig { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SingleZone) DeepCopyInto(out *SingleZone) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SingleZone. +func (in *SingleZone) DeepCopy() *SingleZone { + if in == nil { + return nil + } + out := new(SingleZone) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *TieredStorage) DeepCopyInto(out *TieredStorage) { *out = *in diff --git a/api/v1alpha1/userconfig/service/mysql/mysql.go b/api/v1alpha1/userconfig/service/mysql/mysql.go index 3f16578b..54279075 100644 --- a/api/v1alpha1/userconfig/service/mysql/mysql.go +++ b/api/v1alpha1/userconfig/service/mysql/mysql.go @@ -140,9 +140,13 @@ type Mysql struct { // The storage engine for in-memory internal temporary tables. InternalTmpMemStorageEngine *string `groups:"create,update" json:"internal_tmp_mem_storage_engine,omitempty"` + // +kubebuilder:validation:Enum="INSIGHTS";"NONE";"TABLE";"INSIGHTS,TABLE" + // The slow log output destination when slow_query_log is ON. To enable MySQL AI Insights, choose INSIGHTS. To use MySQL AI Insights and the mysql.slow_log table at the same time, choose INSIGHTS,TABLE. To only use the mysql.slow_log table, choose TABLE. To silence slow logs, choose NONE. + LogOutput *string `groups:"create,update" json:"log_output,omitempty"` + // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=3600 - // The slow_query_logs work as SQL statements that take more than long_query_time seconds to execute. Default is 10s + // The slow_query_logs work as SQL statements that take more than long_query_time seconds to execute. LongQueryTime *float64 `groups:"create,update" json:"long_query_time,omitempty"` // +kubebuilder:validation:Minimum=102400 @@ -170,7 +174,7 @@ type Mysql struct { // The number of seconds to wait for a block to be written to a connection before aborting the write. NetWriteTimeout *int `groups:"create,update" json:"net_write_timeout,omitempty"` - // Slow query log enables capturing of slow queries. Setting slow_query_log to false also truncates the mysql.slow_log table. Default is off + // Slow query log enables capturing of slow queries. Setting slow_query_log to false also truncates the mysql.slow_log table. SlowQueryLog *bool `groups:"create,update" json:"slow_query_log,omitempty"` // +kubebuilder:validation:Minimum=32768 diff --git a/api/v1alpha1/userconfig/service/mysql/zz_generated.deepcopy.go b/api/v1alpha1/userconfig/service/mysql/zz_generated.deepcopy.go index 3d7967aa..020c6b42 100644 --- a/api/v1alpha1/userconfig/service/mysql/zz_generated.deepcopy.go +++ b/api/v1alpha1/userconfig/service/mysql/zz_generated.deepcopy.go @@ -169,6 +169,11 @@ func (in *Mysql) DeepCopyInto(out *Mysql) { *out = new(string) **out = **in } + if in.LogOutput != nil { + in, out := &in.LogOutput, &out.LogOutput + *out = new(string) + **out = **in + } if in.LongQueryTime != nil { in, out := &in.LongQueryTime, &out.LongQueryTime *out = new(float64) diff --git a/api/v1alpha1/userconfig/service/opensearch/opensearch.go b/api/v1alpha1/userconfig/service/opensearch/opensearch.go index d18d3f56..3186cd54 100644 --- a/api/v1alpha1/userconfig/service/opensearch/opensearch.go +++ b/api/v1alpha1/userconfig/service/opensearch/opensearch.go @@ -3,6 +3,7 @@ package opensearchuserconfig +// Azure migration settings type AzureMigration struct { // +kubebuilder:validation:Pattern=`^[^\r\n]*$` // Azure account name @@ -27,6 +28,10 @@ type AzureMigration struct { // Defines the DNS suffix for Azure Storage endpoints. EndpointSuffix *string `groups:"create,update" json:"endpoint_suffix,omitempty"` + // +kubebuilder:validation:Pattern=`^(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?)(,(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?))*[,]?$` + // A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. + Indices *string `groups:"create,update" json:"indices,omitempty"` + // +kubebuilder:validation:Pattern=`^[^\r\n]*$` // Azure account secret key. One of key or sas_token should be specified Key *string `groups:"create,update" json:"key,omitempty"` @@ -39,6 +44,8 @@ type AzureMigration struct { // The snapshot name to restore from SnapshotName string `groups:"create,update" json:"snapshot_name"` } + +// Google Cloud Storage migration settings type GcsMigration struct { // +kubebuilder:validation:Pattern=`^[^\r\n]*$` // The path to the repository data within its container. The value of this setting should not start or end with a / @@ -59,6 +66,10 @@ type GcsMigration struct { // Google Cloud Storage credentials file content Credentials string `groups:"create,update" json:"credentials"` + // +kubebuilder:validation:Pattern=`^(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?)(,(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?))*[,]?$` + // A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. + Indices *string `groups:"create,update" json:"indices,omitempty"` + // +kubebuilder:validation:Pattern=`^[^\r\n]*$` // The snapshot name to restore from SnapshotName string `groups:"create,update" json:"snapshot_name"` @@ -291,7 +302,7 @@ type Opensearch struct { // +kubebuilder:validation:Minimum=2 // +kubebuilder:validation:Maximum=16 - // How many concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen on a node. Defaults to 2. + // How many concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen on a node. Defaults to node cpu count * 2. ClusterRoutingAllocationNodeConcurrentRecoveries *int `groups:"create,update" json:"cluster_routing_allocation_node_concurrent_recoveries,omitempty"` // +kubebuilder:validation:MaxLength=40 @@ -527,6 +538,8 @@ type PublicAccess 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 `groups:"create,update" json:"prometheus,omitempty"` } + +// AWS S3 / AWS S3 compatible migration settings type S3Migration struct { // +kubebuilder:validation:Pattern=`^[^\r\n]*$` // AWS Access key @@ -551,6 +564,10 @@ type S3Migration struct { // The S3 service endpoint to connect to. If you are using an S3-compatible service then you should set this to the service’s endpoint Endpoint *string `groups:"create,update" json:"endpoint,omitempty"` + // +kubebuilder:validation:Pattern=`^(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?)(,(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?))*[,]?$` + // A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. + Indices *string `groups:"create,update" json:"indices,omitempty"` + // +kubebuilder:validation:Pattern=`^[^\r\n]*$` // S3 region Region string `groups:"create,update" json:"region"` @@ -611,6 +628,7 @@ type OpensearchUserConfig struct { // Additional Cloud Regions for Backup Replication AdditionalBackupRegions []string `groups:"create,update" json:"additional_backup_regions,omitempty"` + // Azure migration settings AzureMigration *AzureMigration `groups:"create,update" json:"azure_migration,omitempty"` // +kubebuilder:validation:MaxLength=255 @@ -620,6 +638,7 @@ type OpensearchUserConfig struct { // 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 `groups:"create,update" json:"disable_replication_factor_adjustment,omitempty"` + // Google Cloud Storage migration settings GcsMigration *GcsMigration `groups:"create,update" json:"gcs_migration,omitempty"` // +kubebuilder:validation:MaxItems=512 @@ -676,6 +695,7 @@ type OpensearchUserConfig struct { // Name of the basebackup to restore in forked service RecoveryBasebackupName *string `groups:"create,update" json:"recovery_basebackup_name,omitempty"` + // AWS S3 / AWS S3 compatible migration settings S3Migration *S3Migration `groups:"create,update" json:"s3_migration,omitempty"` // OpenSearch SAML configuration diff --git a/api/v1alpha1/userconfig/service/opensearch/zz_generated.deepcopy.go b/api/v1alpha1/userconfig/service/opensearch/zz_generated.deepcopy.go index 8d3b981f..db799713 100644 --- a/api/v1alpha1/userconfig/service/opensearch/zz_generated.deepcopy.go +++ b/api/v1alpha1/userconfig/service/opensearch/zz_generated.deepcopy.go @@ -49,6 +49,11 @@ func (in *AzureMigration) DeepCopyInto(out *AzureMigration) { *out = new(string) **out = **in } + if in.Indices != nil { + in, out := &in.Indices, &out.Indices + *out = new(string) + **out = **in + } if in.Key != nil { in, out := &in.Key, &out.Key *out = new(string) @@ -84,6 +89,11 @@ func (in *GcsMigration) DeepCopyInto(out *GcsMigration) { *out = new(bool) **out = **in } + if in.Indices != nil { + in, out := &in.Indices, &out.Indices + *out = new(string) + **out = **in + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GcsMigration. @@ -881,6 +891,11 @@ func (in *S3Migration) DeepCopyInto(out *S3Migration) { *out = new(string) **out = **in } + if in.Indices != nil { + in, out := &in.Indices, &out.Indices + *out = new(string) + **out = **in + } if in.ServerSideEncryption != nil { in, out := &in.ServerSideEncryption, &out.ServerSideEncryption *out = new(bool) diff --git a/api/v1alpha1/userconfig/service/pg/pg.go b/api/v1alpha1/userconfig/service/pg/pg.go index 497c56cf..a1963ebf 100644 --- a/api/v1alpha1/userconfig/service/pg/pg.go +++ b/api/v1alpha1/userconfig/service/pg/pg.go @@ -477,7 +477,8 @@ type Timescaledb struct { } type PgUserConfig struct { // +kubebuilder:validation:MaxItems=1 - // Additional Cloud Regions for Backup Replication + // +kubebuilder:deprecatedversion:warning="additional_backup_regions is deprecated" + // Deprecated. Additional Cloud Regions for Backup Replication AdditionalBackupRegions []string `groups:"create,update" json:"additional_backup_regions,omitempty"` // +kubebuilder:validation:MinLength=8 diff --git a/charts/aiven-operator-crds/templates/aiven.io_clickhouses.yaml b/charts/aiven-operator-crds/templates/aiven.io_clickhouses.yaml index 61d12fbd..318e0c39 100644 --- a/charts/aiven-operator-crds/templates/aiven.io_clickhouses.yaml +++ b/charts/aiven-operator-crds/templates/aiven.io_clickhouses.yaml @@ -340,6 +340,11 @@ spec: VPC or another type of private network type: boolean type: object + recovery_basebackup_name: + description: Name of the basebackup to restore in forked service + maxLength: 128 + pattern: ^[a-zA-Z0-9-_:.+]+$ + type: string service_log: description: Store logs for the service so that they are available diff --git a/charts/aiven-operator-crds/templates/aiven.io_grafanas.yaml b/charts/aiven-operator-crds/templates/aiven.io_grafanas.yaml index 091b7727..3a3140c7 100644 --- a/charts/aiven-operator-crds/templates/aiven.io_grafanas.yaml +++ b/charts/aiven-operator-crds/templates/aiven.io_grafanas.yaml @@ -370,6 +370,11 @@ spec: description: Token URL maxLength: 2048 type: string + use_refresh_token: + description: + Set to true to use refresh token and check access + token expiration. + type: boolean required: - api_url - auth_url diff --git a/charts/aiven-operator-crds/templates/aiven.io_kafkas.yaml b/charts/aiven-operator-crds/templates/aiven.io_kafkas.yaml index 81af8eeb..5d40d3c8 100644 --- a/charts/aiven-operator-crds/templates/aiven.io_kafkas.yaml +++ b/charts/aiven-operator-crds/templates/aiven.io_kafkas.yaml @@ -1000,10 +1000,10 @@ spec: kafka_version: description: Kafka major version enum: - - "3.4" - "3.5" - "3.6" - "3.7" + - "3.8" type: string letsencrypt_sasl_privatelink: description: Use Letsencrypt CA for Kafka SASL via Privatelink @@ -1118,6 +1118,19 @@ spec: a secondary cluster and Karapace / Schema Registry there must not participate in leader election. Defaults to `true`. type: boolean + retriable_errors_silenced: + description: + If enabled, kafka errors which can be retried + or custom errors specified for the service will not be raised, + instead, a warning log is emitted. This will denoise issue + tracking systems, i.e. sentry. Defaults to `true`. + type: boolean + schema_reader_strict_mode: + description: + If enabled, causes the Karapace schema-registry + service to shutdown when there are invalid schema records + in the `_schemas` topic. Defaults to `false`. + type: boolean topic_name: description: The durable single partition topic that acts @@ -1138,6 +1151,18 @@ spec: Store logs for the service so that they are available in the HTTP API and console. type: boolean + single_zone: + description: Single-zone configuration + properties: + enabled: + description: + Whether to allocate nodes on the same Availability + Zone or spread across zones available. By default service + nodes are spread across different AZs. The single AZ support + is best-effort and may temporarily allocate nodes in different + AZs e.g. in case of capacity limitations in one AZ. + type: boolean + type: object static_ips: description: Use static public IP addresses type: boolean diff --git a/charts/aiven-operator-crds/templates/aiven.io_mysqls.yaml b/charts/aiven-operator-crds/templates/aiven.io_mysqls.yaml index b7eefee8..9b46a342 100644 --- a/charts/aiven-operator-crds/templates/aiven.io_mysqls.yaml +++ b/charts/aiven-operator-crds/templates/aiven.io_mysqls.yaml @@ -498,11 +498,23 @@ spec: - TempTable - MEMORY type: string + log_output: + description: + The slow log output destination when slow_query_log + is ON. To enable MySQL AI Insights, choose INSIGHTS. To + use MySQL AI Insights and the mysql.slow_log table at the + same time, choose INSIGHTS,TABLE. To only use the mysql.slow_log + table, choose TABLE. To silence slow logs, choose NONE. + enum: + - INSIGHTS + - NONE + - TABLE + - INSIGHTS,TABLE + type: string long_query_time: description: The slow_query_logs work as SQL statements that - take more than long_query_time seconds to execute. Default - is 10s + take more than long_query_time seconds to execute. maximum: 3600 minimum: 0 type: number @@ -546,7 +558,7 @@ spec: description: Slow query log enables capturing of slow queries. Setting slow_query_log to false also truncates the mysql.slow_log - table. Default is off + table. type: boolean sort_buffer_size: description: diff --git a/charts/aiven-operator-crds/templates/aiven.io_opensearches.yaml b/charts/aiven-operator-crds/templates/aiven.io_opensearches.yaml index 3b23172b..56772861 100644 --- a/charts/aiven-operator-crds/templates/aiven.io_opensearches.yaml +++ b/charts/aiven-operator-crds/templates/aiven.io_opensearches.yaml @@ -231,6 +231,7 @@ spec: maxItems: 1 type: array azure_migration: + description: Azure migration settings properties: account: description: Azure account name @@ -263,6 +264,16 @@ spec: description: Defines the DNS suffix for Azure Storage endpoints. pattern: ^[^\r\n]*$ type: string + indices: + description: + A comma-delimited list of indices to restore + from the snapshot. Multi-index syntax is supported. By default, + a restore operation includes all data streams and indices + in the snapshot. If this argument is provided, the restore + operation only includes the data streams and indices that + you specify. + pattern: ^(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?)(,(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?))*[,]?$ + type: string key: description: Azure account secret key. One of key or sas_token @@ -300,6 +311,7 @@ spec: setting can no longer be activated." type: boolean gcs_migration: + description: Google Cloud Storage migration settings properties: base_path: description: @@ -328,6 +340,16 @@ spec: description: Google Cloud Storage credentials file content pattern: ^[^\r\n]*$ type: string + indices: + description: + A comma-delimited list of indices to restore + from the snapshot. Multi-index syntax is supported. By default, + a restore operation includes all data streams and indices + in the snapshot. If this argument is provided, the restore + operation only includes the data streams and indices that + you specify. + pattern: ^(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?)(,(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?))*[,]?$ + type: string snapshot_name: description: The snapshot name to restore from pattern: ^[^\r\n]*$ @@ -685,7 +707,7 @@ spec: description: How many concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen on a node. Defaults - to 2. + to node cpu count * 2. maximum: 16 minimum: 2 type: integer @@ -1081,6 +1103,7 @@ spec: pattern: ^[a-zA-Z0-9-_:.]+$ type: string s3_migration: + description: AWS S3 / AWS S3 compatible migration settings properties: access_key: description: AWS Access key @@ -1116,6 +1139,16 @@ spec: to the service’s endpoint pattern: ^[^\r\n]*$ type: string + indices: + description: + A comma-delimited list of indices to restore + from the snapshot. Multi-index syntax is supported. By default, + a restore operation includes all data streams and indices + in the snapshot. If this argument is provided, the restore + operation only includes the data streams and indices that + you specify. + pattern: ^(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?)(,(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?))*[,]?$ + type: string region: description: S3 region pattern: ^[^\r\n]*$ diff --git a/charts/aiven-operator-crds/templates/aiven.io_postgresqls.yaml b/charts/aiven-operator-crds/templates/aiven.io_postgresqls.yaml index dbec0116..e9e93bca 100644 --- a/charts/aiven-operator-crds/templates/aiven.io_postgresqls.yaml +++ b/charts/aiven-operator-crds/templates/aiven.io_postgresqls.yaml @@ -225,7 +225,7 @@ spec: description: PostgreSQL specific user configuration options properties: additional_backup_regions: - description: Additional Cloud Regions for Backup Replication + description: Deprecated. Additional Cloud Regions for Backup Replication items: type: string maxItems: 1 diff --git a/config/crd/bases/aiven.io_clickhouses.yaml b/config/crd/bases/aiven.io_clickhouses.yaml index 61d12fbd..318e0c39 100644 --- a/config/crd/bases/aiven.io_clickhouses.yaml +++ b/config/crd/bases/aiven.io_clickhouses.yaml @@ -340,6 +340,11 @@ spec: VPC or another type of private network type: boolean type: object + recovery_basebackup_name: + description: Name of the basebackup to restore in forked service + maxLength: 128 + pattern: ^[a-zA-Z0-9-_:.+]+$ + type: string service_log: description: Store logs for the service so that they are available diff --git a/config/crd/bases/aiven.io_grafanas.yaml b/config/crd/bases/aiven.io_grafanas.yaml index 091b7727..3a3140c7 100644 --- a/config/crd/bases/aiven.io_grafanas.yaml +++ b/config/crd/bases/aiven.io_grafanas.yaml @@ -370,6 +370,11 @@ spec: description: Token URL maxLength: 2048 type: string + use_refresh_token: + description: + Set to true to use refresh token and check access + token expiration. + type: boolean required: - api_url - auth_url diff --git a/config/crd/bases/aiven.io_kafkas.yaml b/config/crd/bases/aiven.io_kafkas.yaml index 81af8eeb..5d40d3c8 100644 --- a/config/crd/bases/aiven.io_kafkas.yaml +++ b/config/crd/bases/aiven.io_kafkas.yaml @@ -1000,10 +1000,10 @@ spec: kafka_version: description: Kafka major version enum: - - "3.4" - "3.5" - "3.6" - "3.7" + - "3.8" type: string letsencrypt_sasl_privatelink: description: Use Letsencrypt CA for Kafka SASL via Privatelink @@ -1118,6 +1118,19 @@ spec: a secondary cluster and Karapace / Schema Registry there must not participate in leader election. Defaults to `true`. type: boolean + retriable_errors_silenced: + description: + If enabled, kafka errors which can be retried + or custom errors specified for the service will not be raised, + instead, a warning log is emitted. This will denoise issue + tracking systems, i.e. sentry. Defaults to `true`. + type: boolean + schema_reader_strict_mode: + description: + If enabled, causes the Karapace schema-registry + service to shutdown when there are invalid schema records + in the `_schemas` topic. Defaults to `false`. + type: boolean topic_name: description: The durable single partition topic that acts @@ -1138,6 +1151,18 @@ spec: Store logs for the service so that they are available in the HTTP API and console. type: boolean + single_zone: + description: Single-zone configuration + properties: + enabled: + description: + Whether to allocate nodes on the same Availability + Zone or spread across zones available. By default service + nodes are spread across different AZs. The single AZ support + is best-effort and may temporarily allocate nodes in different + AZs e.g. in case of capacity limitations in one AZ. + type: boolean + type: object static_ips: description: Use static public IP addresses type: boolean diff --git a/config/crd/bases/aiven.io_mysqls.yaml b/config/crd/bases/aiven.io_mysqls.yaml index b7eefee8..9b46a342 100644 --- a/config/crd/bases/aiven.io_mysqls.yaml +++ b/config/crd/bases/aiven.io_mysqls.yaml @@ -498,11 +498,23 @@ spec: - TempTable - MEMORY type: string + log_output: + description: + The slow log output destination when slow_query_log + is ON. To enable MySQL AI Insights, choose INSIGHTS. To + use MySQL AI Insights and the mysql.slow_log table at the + same time, choose INSIGHTS,TABLE. To only use the mysql.slow_log + table, choose TABLE. To silence slow logs, choose NONE. + enum: + - INSIGHTS + - NONE + - TABLE + - INSIGHTS,TABLE + type: string long_query_time: description: The slow_query_logs work as SQL statements that - take more than long_query_time seconds to execute. Default - is 10s + take more than long_query_time seconds to execute. maximum: 3600 minimum: 0 type: number @@ -546,7 +558,7 @@ spec: description: Slow query log enables capturing of slow queries. Setting slow_query_log to false also truncates the mysql.slow_log - table. Default is off + table. type: boolean sort_buffer_size: description: diff --git a/config/crd/bases/aiven.io_opensearches.yaml b/config/crd/bases/aiven.io_opensearches.yaml index 3b23172b..56772861 100644 --- a/config/crd/bases/aiven.io_opensearches.yaml +++ b/config/crd/bases/aiven.io_opensearches.yaml @@ -231,6 +231,7 @@ spec: maxItems: 1 type: array azure_migration: + description: Azure migration settings properties: account: description: Azure account name @@ -263,6 +264,16 @@ spec: description: Defines the DNS suffix for Azure Storage endpoints. pattern: ^[^\r\n]*$ type: string + indices: + description: + A comma-delimited list of indices to restore + from the snapshot. Multi-index syntax is supported. By default, + a restore operation includes all data streams and indices + in the snapshot. If this argument is provided, the restore + operation only includes the data streams and indices that + you specify. + pattern: ^(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?)(,(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?))*[,]?$ + type: string key: description: Azure account secret key. One of key or sas_token @@ -300,6 +311,7 @@ spec: setting can no longer be activated." type: boolean gcs_migration: + description: Google Cloud Storage migration settings properties: base_path: description: @@ -328,6 +340,16 @@ spec: description: Google Cloud Storage credentials file content pattern: ^[^\r\n]*$ type: string + indices: + description: + A comma-delimited list of indices to restore + from the snapshot. Multi-index syntax is supported. By default, + a restore operation includes all data streams and indices + in the snapshot. If this argument is provided, the restore + operation only includes the data streams and indices that + you specify. + pattern: ^(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?)(,(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?))*[,]?$ + type: string snapshot_name: description: The snapshot name to restore from pattern: ^[^\r\n]*$ @@ -685,7 +707,7 @@ spec: description: How many concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen on a node. Defaults - to 2. + to node cpu count * 2. maximum: 16 minimum: 2 type: integer @@ -1081,6 +1103,7 @@ spec: pattern: ^[a-zA-Z0-9-_:.]+$ type: string s3_migration: + description: AWS S3 / AWS S3 compatible migration settings properties: access_key: description: AWS Access key @@ -1116,6 +1139,16 @@ spec: to the service’s endpoint pattern: ^[^\r\n]*$ type: string + indices: + description: + A comma-delimited list of indices to restore + from the snapshot. Multi-index syntax is supported. By default, + a restore operation includes all data streams and indices + in the snapshot. If this argument is provided, the restore + operation only includes the data streams and indices that + you specify. + pattern: ^(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?)(,(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?))*[,]?$ + type: string region: description: S3 region pattern: ^[^\r\n]*$ diff --git a/config/crd/bases/aiven.io_postgresqls.yaml b/config/crd/bases/aiven.io_postgresqls.yaml index dbec0116..e9e93bca 100644 --- a/config/crd/bases/aiven.io_postgresqls.yaml +++ b/config/crd/bases/aiven.io_postgresqls.yaml @@ -225,7 +225,7 @@ spec: description: PostgreSQL specific user configuration options properties: additional_backup_regions: - description: Additional Cloud Regions for Backup Replication + description: Deprecated. Additional Cloud Regions for Backup Replication items: type: string maxItems: 1 diff --git a/docs/docs/api-reference/clickhouse.md b/docs/docs/api-reference/clickhouse.md index 8ad4bc63..82723b04 100644 --- a/docs/docs/api-reference/clickhouse.md +++ b/docs/docs/api-reference/clickhouse.md @@ -206,6 +206,7 @@ OpenSearch specific user configuration options. - [`privatelink_access`](#spec.userConfig.privatelink_access-property){: name='spec.userConfig.privatelink_access-property'} (object). Allow access to selected service components through Privatelink. See below for [nested schema](#spec.userConfig.privatelink_access). - [`project_to_fork_from`](#spec.userConfig.project_to_fork_from-property){: name='spec.userConfig.project_to_fork_from-property'} (string, Immutable, Pattern: `^[a-z][-a-z0-9]{0,63}$|^$`, MaxLength: 63). Name of another project to fork a service from. This has effect only when a new service is being created. - [`public_access`](#spec.userConfig.public_access-property){: name='spec.userConfig.public_access-property'} (object). Allow access to selected service ports from the public Internet. See below for [nested schema](#spec.userConfig.public_access). +- [`recovery_basebackup_name`](#spec.userConfig.recovery_basebackup_name-property){: name='spec.userConfig.recovery_basebackup_name-property'} (string, Pattern: `^[a-zA-Z0-9-_:.+]+$`, MaxLength: 128). Name of the basebackup to restore in forked service. - [`service_log`](#spec.userConfig.service_log-property){: name='spec.userConfig.service_log-property'} (boolean). Store logs for the service so that they are available in the HTTP API and console. - [`service_to_fork_from`](#spec.userConfig.service_to_fork_from-property){: name='spec.userConfig.service_to_fork_from-property'} (string, Immutable, Pattern: `^[a-z][-a-z0-9]{0,63}$|^$`, MaxLength: 64). Name of another service to fork from. This has effect only when a new service is being created. - [`static_ips`](#spec.userConfig.static_ips-property){: name='spec.userConfig.static_ips-property'} (boolean). Use static public IP addresses. diff --git a/docs/docs/api-reference/grafana.md b/docs/docs/api-reference/grafana.md index 935b4e8a..f760d063 100644 --- a/docs/docs/api-reference/grafana.md +++ b/docs/docs/api-reference/grafana.md @@ -284,6 +284,7 @@ Generic OAuth integration. - [`auto_login`](#spec.userConfig.auth_generic_oauth.auto_login-property){: name='spec.userConfig.auth_generic_oauth.auto_login-property'} (boolean). Allow users to bypass the login screen and automatically log in. - [`name`](#spec.userConfig.auth_generic_oauth.name-property){: name='spec.userConfig.auth_generic_oauth.name-property'} (string, Pattern: `^[a-zA-Z0-9_\- ]+$`, MaxLength: 128). Name of the OAuth integration. - [`scopes`](#spec.userConfig.auth_generic_oauth.scopes-property){: name='spec.userConfig.auth_generic_oauth.scopes-property'} (array of strings, MaxItems: 50). OAuth scopes. +- [`use_refresh_token`](#spec.userConfig.auth_generic_oauth.use_refresh_token-property){: name='spec.userConfig.auth_generic_oauth.use_refresh_token-property'} (boolean). Set to true to use refresh token and check access token expiration. ### auth_github {: #spec.userConfig.auth_github } diff --git a/docs/docs/api-reference/kafka.md b/docs/docs/api-reference/kafka.md index e35e068b..4f00d46b 100644 --- a/docs/docs/api-reference/kafka.md +++ b/docs/docs/api-reference/kafka.md @@ -217,7 +217,7 @@ Kafka specific user configuration options. - [`kafka_rest_authorization`](#spec.userConfig.kafka_rest_authorization-property){: name='spec.userConfig.kafka_rest_authorization-property'} (boolean). Enable authorization in Kafka-REST service. - [`kafka_rest_config`](#spec.userConfig.kafka_rest_config-property){: name='spec.userConfig.kafka_rest_config-property'} (object). Kafka REST configuration. See below for [nested schema](#spec.userConfig.kafka_rest_config). - [`kafka_sasl_mechanisms`](#spec.userConfig.kafka_sasl_mechanisms-property){: name='spec.userConfig.kafka_sasl_mechanisms-property'} (object). Kafka SASL mechanisms. See below for [nested schema](#spec.userConfig.kafka_sasl_mechanisms). -- [`kafka_version`](#spec.userConfig.kafka_version-property){: name='spec.userConfig.kafka_version-property'} (string, Enum: `3.4`, `3.5`, `3.6`, `3.7`). Kafka major version. +- [`kafka_version`](#spec.userConfig.kafka_version-property){: name='spec.userConfig.kafka_version-property'} (string, Enum: `3.5`, `3.6`, `3.7`, `3.8`). Kafka major version. - [`letsencrypt_sasl_privatelink`](#spec.userConfig.letsencrypt_sasl_privatelink-property){: name='spec.userConfig.letsencrypt_sasl_privatelink-property'} (boolean). Use Letsencrypt CA for Kafka SASL via Privatelink. - [`private_access`](#spec.userConfig.private_access-property){: name='spec.userConfig.private_access-property'} (object). Allow access to selected service ports from private networks. See below for [nested schema](#spec.userConfig.private_access). - [`privatelink_access`](#spec.userConfig.privatelink_access-property){: name='spec.userConfig.privatelink_access-property'} (object). Allow access to selected service components through Privatelink. See below for [nested schema](#spec.userConfig.privatelink_access). @@ -225,6 +225,7 @@ Kafka specific user configuration options. - [`schema_registry`](#spec.userConfig.schema_registry-property){: name='spec.userConfig.schema_registry-property'} (boolean). Enable Schema-Registry service. - [`schema_registry_config`](#spec.userConfig.schema_registry_config-property){: name='spec.userConfig.schema_registry_config-property'} (object). Schema Registry configuration. See below for [nested schema](#spec.userConfig.schema_registry_config). - [`service_log`](#spec.userConfig.service_log-property){: name='spec.userConfig.service_log-property'} (boolean). Store logs for the service so that they are available in the HTTP API and console. +- [`single_zone`](#spec.userConfig.single_zone-property){: name='spec.userConfig.single_zone-property'} (object). Single-zone configuration. See below for [nested schema](#spec.userConfig.single_zone). - [`static_ips`](#spec.userConfig.static_ips-property){: name='spec.userConfig.static_ips-property'} (boolean). Use static public IP addresses. - [`tiered_storage`](#spec.userConfig.tiered_storage-property){: name='spec.userConfig.tiered_storage-property'} (object). Tiered storage configuration. See below for [nested schema](#spec.userConfig.tiered_storage). @@ -474,8 +475,20 @@ Schema Registry configuration. **Optional** - [`leader_eligibility`](#spec.userConfig.schema_registry_config.leader_eligibility-property){: name='spec.userConfig.schema_registry_config.leader_eligibility-property'} (boolean). 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`. +- [`retriable_errors_silenced`](#spec.userConfig.schema_registry_config.retriable_errors_silenced-property){: name='spec.userConfig.schema_registry_config.retriable_errors_silenced-property'} (boolean). If enabled, kafka errors which can be retried or custom errors specified for the service will not be raised, instead, a warning log is emitted. This will denoise issue tracking systems, i.e. sentry. Defaults to `true`. +- [`schema_reader_strict_mode`](#spec.userConfig.schema_registry_config.schema_reader_strict_mode-property){: name='spec.userConfig.schema_registry_config.schema_reader_strict_mode-property'} (boolean). If enabled, causes the Karapace schema-registry service to shutdown when there are invalid schema records in the `_schemas` topic. Defaults to `false`. - [`topic_name`](#spec.userConfig.schema_registry_config.topic_name-property){: name='spec.userConfig.schema_registry_config.topic_name-property'} (string, MinLength: 1, MaxLength: 249). 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`. +### single_zone {: #spec.userConfig.single_zone } + +_Appears on [`spec.userConfig`](#spec.userConfig)._ + +Single-zone configuration. + +**Required** + +- [`enabled`](#spec.userConfig.single_zone.enabled-property){: name='spec.userConfig.single_zone.enabled-property'} (boolean). Whether to allocate nodes on the same Availability Zone or spread across zones available. By default service nodes are spread across different AZs. The single AZ support is best-effort and may temporarily allocate nodes in different AZs e.g. in case of capacity limitations in one AZ. + ### tiered_storage {: #spec.userConfig.tiered_storage } _Appears on [`spec.userConfig`](#spec.userConfig)._ diff --git a/docs/docs/api-reference/mysql.md b/docs/docs/api-reference/mysql.md index 8fe49b8f..89d912e5 100644 --- a/docs/docs/api-reference/mysql.md +++ b/docs/docs/api-reference/mysql.md @@ -284,13 +284,14 @@ mysql.conf configuration values. - [`innodb_write_io_threads`](#spec.userConfig.mysql.innodb_write_io_threads-property){: name='spec.userConfig.mysql.innodb_write_io_threads-property'} (integer, Minimum: 1, Maximum: 64). The number of I/O threads for write operations in InnoDB. Default is 4. Changing this parameter will lead to a restart of the MySQL service. - [`interactive_timeout`](#spec.userConfig.mysql.interactive_timeout-property){: name='spec.userConfig.mysql.interactive_timeout-property'} (integer, Minimum: 30, Maximum: 604800). The number of seconds the server waits for activity on an interactive connection before closing it. - [`internal_tmp_mem_storage_engine`](#spec.userConfig.mysql.internal_tmp_mem_storage_engine-property){: name='spec.userConfig.mysql.internal_tmp_mem_storage_engine-property'} (string, Enum: `TempTable`, `MEMORY`). The storage engine for in-memory internal temporary tables. -- [`long_query_time`](#spec.userConfig.mysql.long_query_time-property){: name='spec.userConfig.mysql.long_query_time-property'} (number, Minimum: 0, Maximum: 3600). The slow_query_logs work as SQL statements that take more than long_query_time seconds to execute. Default is 10s. +- [`log_output`](#spec.userConfig.mysql.log_output-property){: name='spec.userConfig.mysql.log_output-property'} (string, Enum: `INSIGHTS`, `NONE`, `TABLE`, `INSIGHTS,TABLE`). The slow log output destination when slow_query_log is ON. To enable MySQL AI Insights, choose INSIGHTS. To use MySQL AI Insights and the mysql.slow_log table at the same time, choose INSIGHTS,TABLE. To only use the mysql.slow_log table, choose TABLE. To silence slow logs, choose NONE. +- [`long_query_time`](#spec.userConfig.mysql.long_query_time-property){: name='spec.userConfig.mysql.long_query_time-property'} (number, Minimum: 0, Maximum: 3600). The slow_query_logs work as SQL statements that take more than long_query_time seconds to execute. - [`max_allowed_packet`](#spec.userConfig.mysql.max_allowed_packet-property){: name='spec.userConfig.mysql.max_allowed_packet-property'} (integer, Minimum: 102400, Maximum: 1073741824). Size of the largest message in bytes that can be received by the server. Default is 67108864 (64M). - [`max_heap_table_size`](#spec.userConfig.mysql.max_heap_table_size-property){: name='spec.userConfig.mysql.max_heap_table_size-property'} (integer, Minimum: 1048576, Maximum: 1073741824). Limits the size of internal in-memory tables. Also set tmp_table_size. Default is 16777216 (16M). - [`net_buffer_length`](#spec.userConfig.mysql.net_buffer_length-property){: name='spec.userConfig.mysql.net_buffer_length-property'} (integer, Minimum: 1024, Maximum: 1048576). Start sizes of connection buffer and result buffer. Default is 16384 (16K). Changing this parameter will lead to a restart of the MySQL service. - [`net_read_timeout`](#spec.userConfig.mysql.net_read_timeout-property){: name='spec.userConfig.mysql.net_read_timeout-property'} (integer, Minimum: 1, Maximum: 3600). The number of seconds to wait for more data from a connection before aborting the read. - [`net_write_timeout`](#spec.userConfig.mysql.net_write_timeout-property){: name='spec.userConfig.mysql.net_write_timeout-property'} (integer, Minimum: 1, Maximum: 3600). The number of seconds to wait for a block to be written to a connection before aborting the write. -- [`slow_query_log`](#spec.userConfig.mysql.slow_query_log-property){: name='spec.userConfig.mysql.slow_query_log-property'} (boolean). Slow query log enables capturing of slow queries. Setting slow_query_log to false also truncates the mysql.slow_log table. Default is off. +- [`slow_query_log`](#spec.userConfig.mysql.slow_query_log-property){: name='spec.userConfig.mysql.slow_query_log-property'} (boolean). Slow query log enables capturing of slow queries. Setting slow_query_log to false also truncates the mysql.slow_log table. - [`sort_buffer_size`](#spec.userConfig.mysql.sort_buffer_size-property){: name='spec.userConfig.mysql.sort_buffer_size-property'} (integer, Minimum: 32768, Maximum: 1073741824). Sort buffer size in bytes for ORDER BY optimization. Default is 262144 (256K). - [`sql_mode`](#spec.userConfig.mysql.sql_mode-property){: name='spec.userConfig.mysql.sql_mode-property'} (string, Pattern: `^[A-Z_]*(,[A-Z_]+)*$`, MaxLength: 1024). Global SQL mode. Set to empty to use MySQL server defaults. When creating a new service and not setting this field Aiven default SQL mode (strict, SQL standard compliant) will be assigned. - [`sql_require_primary_key`](#spec.userConfig.mysql.sql_require_primary_key-property){: name='spec.userConfig.mysql.sql_require_primary_key-property'} (boolean). Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them. diff --git a/docs/docs/api-reference/opensearch.md b/docs/docs/api-reference/opensearch.md index 159cfa3e..43de9a77 100644 --- a/docs/docs/api-reference/opensearch.md +++ b/docs/docs/api-reference/opensearch.md @@ -193,10 +193,10 @@ OpenSearch specific user configuration options. **Optional** - [`additional_backup_regions`](#spec.userConfig.additional_backup_regions-property){: name='spec.userConfig.additional_backup_regions-property'} (array of strings, MaxItems: 1). Additional Cloud Regions for Backup Replication. -- [`azure_migration`](#spec.userConfig.azure_migration-property){: name='spec.userConfig.azure_migration-property'} (object). See below for [nested schema](#spec.userConfig.azure_migration). +- [`azure_migration`](#spec.userConfig.azure_migration-property){: name='spec.userConfig.azure_migration-property'} (object). Azure migration settings. See below for [nested schema](#spec.userConfig.azure_migration). - [`custom_domain`](#spec.userConfig.custom_domain-property){: name='spec.userConfig.custom_domain-property'} (string, MaxLength: 255). Serve the web frontend using a custom CNAME pointing to the Aiven DNS name. - [`disable_replication_factor_adjustment`](#spec.userConfig.disable_replication_factor_adjustment-property){: name='spec.userConfig.disable_replication_factor_adjustment-property'} (boolean). 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. -- [`gcs_migration`](#spec.userConfig.gcs_migration-property){: name='spec.userConfig.gcs_migration-property'} (object). See below for [nested schema](#spec.userConfig.gcs_migration). +- [`gcs_migration`](#spec.userConfig.gcs_migration-property){: name='spec.userConfig.gcs_migration-property'} (object). Google Cloud Storage migration settings. See below for [nested schema](#spec.userConfig.gcs_migration). - [`index_patterns`](#spec.userConfig.index_patterns-property){: name='spec.userConfig.index_patterns-property'} (array of objects, MaxItems: 512). Index patterns. See below for [nested schema](#spec.userConfig.index_patterns). - [`index_rollup`](#spec.userConfig.index_rollup-property){: name='spec.userConfig.index_rollup-property'} (object). Index rollup settings. See below for [nested schema](#spec.userConfig.index_rollup). - [`index_template`](#spec.userConfig.index_template-property){: name='spec.userConfig.index_template-property'} (object). Template settings for all new indexes. See below for [nested schema](#spec.userConfig.index_template). @@ -212,7 +212,7 @@ OpenSearch specific user configuration options. - [`project_to_fork_from`](#spec.userConfig.project_to_fork_from-property){: name='spec.userConfig.project_to_fork_from-property'} (string, Immutable, Pattern: `^[a-z][-a-z0-9]{0,63}$|^$`, MaxLength: 63). Name of another project to fork a service from. This has effect only when a new service is being created. - [`public_access`](#spec.userConfig.public_access-property){: name='spec.userConfig.public_access-property'} (object). Allow access to selected service ports from the public Internet. See below for [nested schema](#spec.userConfig.public_access). - [`recovery_basebackup_name`](#spec.userConfig.recovery_basebackup_name-property){: name='spec.userConfig.recovery_basebackup_name-property'} (string, Pattern: `^[a-zA-Z0-9-_:.]+$`, MaxLength: 128). Name of the basebackup to restore in forked service. -- [`s3_migration`](#spec.userConfig.s3_migration-property){: name='spec.userConfig.s3_migration-property'} (object). See below for [nested schema](#spec.userConfig.s3_migration). +- [`s3_migration`](#spec.userConfig.s3_migration-property){: name='spec.userConfig.s3_migration-property'} (object). AWS S3 / AWS S3 compatible migration settings. See below for [nested schema](#spec.userConfig.s3_migration). - [`saml`](#spec.userConfig.saml-property){: name='spec.userConfig.saml-property'} (object). OpenSearch SAML configuration. See below for [nested schema](#spec.userConfig.saml). - [`service_log`](#spec.userConfig.service_log-property){: name='spec.userConfig.service_log-property'} (boolean). Store logs for the service so that they are available in the HTTP API and console. - [`service_to_fork_from`](#spec.userConfig.service_to_fork_from-property){: name='spec.userConfig.service_to_fork_from-property'} (string, Immutable, Pattern: `^[a-z][-a-z0-9]{0,63}$|^$`, MaxLength: 64). Name of another service to fork from. This has effect only when a new service is being created. @@ -222,6 +222,8 @@ OpenSearch specific user configuration options. _Appears on [`spec.userConfig`](#spec.userConfig)._ +Azure migration settings. + **Required** - [`account`](#spec.userConfig.azure_migration.account-property){: name='spec.userConfig.azure_migration.account-property'} (string, Pattern: `^[^\r\n]*$`). Azure account name. @@ -234,6 +236,7 @@ _Appears on [`spec.userConfig`](#spec.userConfig)._ - [`chunk_size`](#spec.userConfig.azure_migration.chunk_size-property){: name='spec.userConfig.azure_migration.chunk_size-property'} (string, Pattern: `^[^\r\n]*$`). Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository. - [`compress`](#spec.userConfig.azure_migration.compress-property){: name='spec.userConfig.azure_migration.compress-property'} (boolean). when set to true metadata files are stored in compressed format. - [`endpoint_suffix`](#spec.userConfig.azure_migration.endpoint_suffix-property){: name='spec.userConfig.azure_migration.endpoint_suffix-property'} (string, Pattern: `^[^\r\n]*$`). Defines the DNS suffix for Azure Storage endpoints. +- [`indices`](#spec.userConfig.azure_migration.indices-property){: name='spec.userConfig.azure_migration.indices-property'} (string). A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. - [`key`](#spec.userConfig.azure_migration.key-property){: name='spec.userConfig.azure_migration.key-property'} (string, Pattern: `^[^\r\n]*$`). Azure account secret key. One of key or sas_token should be specified. - [`sas_token`](#spec.userConfig.azure_migration.sas_token-property){: name='spec.userConfig.azure_migration.sas_token-property'} (string, Pattern: `^[^\r\n]*$`). A shared access signatures (SAS) token. One of key or sas_token should be specified. @@ -241,6 +244,8 @@ _Appears on [`spec.userConfig`](#spec.userConfig)._ _Appears on [`spec.userConfig`](#spec.userConfig)._ +Google Cloud Storage migration settings. + **Required** - [`base_path`](#spec.userConfig.gcs_migration.base_path-property){: name='spec.userConfig.gcs_migration.base_path-property'} (string, Pattern: `^[^\r\n]*$`). The path to the repository data within its container. The value of this setting should not start or end with a /. @@ -252,6 +257,7 @@ _Appears on [`spec.userConfig`](#spec.userConfig)._ - [`chunk_size`](#spec.userConfig.gcs_migration.chunk_size-property){: name='spec.userConfig.gcs_migration.chunk_size-property'} (string, Pattern: `^[^\r\n]*$`). Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository. - [`compress`](#spec.userConfig.gcs_migration.compress-property){: name='spec.userConfig.gcs_migration.compress-property'} (boolean). when set to true metadata files are stored in compressed format. +- [`indices`](#spec.userConfig.gcs_migration.indices-property){: name='spec.userConfig.gcs_migration.indices-property'} (string). A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. ### index_patterns {: #spec.userConfig.index_patterns } @@ -344,7 +350,7 @@ OpenSearch settings. - [`action_destructive_requires_name`](#spec.userConfig.opensearch.action_destructive_requires_name-property){: name='spec.userConfig.opensearch.action_destructive_requires_name-property'} (boolean). Require explicit index names when deleting. - [`auth_failure_listeners`](#spec.userConfig.opensearch.auth_failure_listeners-property){: name='spec.userConfig.opensearch.auth_failure_listeners-property'} (object). Opensearch Security Plugin Settings. See below for [nested schema](#spec.userConfig.opensearch.auth_failure_listeners). - [`cluster_max_shards_per_node`](#spec.userConfig.opensearch.cluster_max_shards_per_node-property){: name='spec.userConfig.opensearch.cluster_max_shards_per_node-property'} (integer, Minimum: 100, Maximum: 10000). Controls the number of shards allowed in the cluster per data node. -- [`cluster_routing_allocation_node_concurrent_recoveries`](#spec.userConfig.opensearch.cluster_routing_allocation_node_concurrent_recoveries-property){: name='spec.userConfig.opensearch.cluster_routing_allocation_node_concurrent_recoveries-property'} (integer, Minimum: 2, Maximum: 16). How many concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen on a node. Defaults to 2. +- [`cluster_routing_allocation_node_concurrent_recoveries`](#spec.userConfig.opensearch.cluster_routing_allocation_node_concurrent_recoveries-property){: name='spec.userConfig.opensearch.cluster_routing_allocation_node_concurrent_recoveries-property'} (integer, Minimum: 2, Maximum: 16). How many concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen on a node. Defaults to node cpu count * 2. - [`email_sender_name`](#spec.userConfig.opensearch.email_sender_name-property){: name='spec.userConfig.opensearch.email_sender_name-property'} (string, Pattern: `^[a-zA-Z0-9-_]+$`, MaxLength: 40). Sender name placeholder to be used in Opensearch Dashboards and Opensearch keystore. - [`email_sender_password`](#spec.userConfig.opensearch.email_sender_password-property){: name='spec.userConfig.opensearch.email_sender_password-property'} (string, Pattern: `^[^\x00-\x1F]+$`, MaxLength: 1024). Sender password for Opensearch alerts to authenticate with SMTP server. - [`email_sender_username`](#spec.userConfig.opensearch.email_sender_username-property){: name='spec.userConfig.opensearch.email_sender_username-property'} (string, Pattern: `^[^\x00-\x1F]+$`, MaxLength: 320). Sender username for Opensearch alerts. @@ -477,6 +483,8 @@ Allow access to selected service ports from the public Internet. _Appears on [`spec.userConfig`](#spec.userConfig)._ +AWS S3 / AWS S3 compatible migration settings. + **Required** - [`access_key`](#spec.userConfig.s3_migration.access_key-property){: name='spec.userConfig.s3_migration.access_key-property'} (string, Pattern: `^[^\r\n]*$`). AWS Access key. @@ -491,6 +499,7 @@ _Appears on [`spec.userConfig`](#spec.userConfig)._ - [`chunk_size`](#spec.userConfig.s3_migration.chunk_size-property){: name='spec.userConfig.s3_migration.chunk_size-property'} (string, Pattern: `^[^\r\n]*$`). Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository. - [`compress`](#spec.userConfig.s3_migration.compress-property){: name='spec.userConfig.s3_migration.compress-property'} (boolean). when set to true metadata files are stored in compressed format. - [`endpoint`](#spec.userConfig.s3_migration.endpoint-property){: name='spec.userConfig.s3_migration.endpoint-property'} (string, Pattern: `^[^\r\n]*$`). The S3 service endpoint to connect to. If you are using an S3-compatible service then you should set this to the service’s endpoint. +- [`indices`](#spec.userConfig.s3_migration.indices-property){: name='spec.userConfig.s3_migration.indices-property'} (string). A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. By default, a restore operation includes all data streams and indices in the snapshot. If this argument is provided, the restore operation only includes the data streams and indices that you specify. - [`server_side_encryption`](#spec.userConfig.s3_migration.server_side_encryption-property){: name='spec.userConfig.s3_migration.server_side_encryption-property'} (boolean). When set to true files are encrypted on server side. ### saml {: #spec.userConfig.saml } diff --git a/docs/docs/api-reference/postgresql.md b/docs/docs/api-reference/postgresql.md index cfdb3fc6..bf9556bf 100644 --- a/docs/docs/api-reference/postgresql.md +++ b/docs/docs/api-reference/postgresql.md @@ -198,7 +198,7 @@ PostgreSQL specific user configuration options. **Optional** -- [`additional_backup_regions`](#spec.userConfig.additional_backup_regions-property){: name='spec.userConfig.additional_backup_regions-property'} (array of strings, MaxItems: 1). Additional Cloud Regions for Backup Replication. +- [`additional_backup_regions`](#spec.userConfig.additional_backup_regions-property){: name='spec.userConfig.additional_backup_regions-property'} (array of strings, MaxItems: 1). Deprecated. Additional Cloud Regions for Backup Replication. - [`admin_password`](#spec.userConfig.admin_password-property){: name='spec.userConfig.admin_password-property'} (string, Immutable, Pattern: `^[a-zA-Z0-9-_]+$`, MinLength: 8, MaxLength: 256). Custom password for admin user. Defaults to random string. This must be set only when a new service is being created. - [`admin_username`](#spec.userConfig.admin_username-property){: name='spec.userConfig.admin_username-property'} (string, Immutable, Pattern: `^[_A-Za-z0-9][-._A-Za-z0-9]{0,63}$`, MaxLength: 64). Custom username for admin user. This must be set only when a new service is being created. - [`backup_hour`](#spec.userConfig.backup_hour-property){: name='spec.userConfig.backup_hour-property'} (integer, Minimum: 0, 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. diff --git a/go.mod b/go.mod index 03fc52ff..e35e6845 100644 --- a/go.mod +++ b/go.mod @@ -1,7 +1,8 @@ module github.com/aiven/aiven-operator -go 1.22 -toolchain go1.22.5 +go 1.22.0 + +toolchain go1.23.0 require ( github.com/ClickHouse/clickhouse-go/v2 v2.29.0