From 776e601583484d9532233a6f21187e72f2355631 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Dec 2023 09:27:35 +0000 Subject: [PATCH] build(deps): bump github.com/aiven/go-api-schemas from 1.46.0 to 1.47.0 (#556) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] --- CHANGELOG.md | 23 +++++++++ .../userconfig/service/cassandra/cassandra.go | 3 ++ .../cassandra/zz_generated.deepcopy.go | 5 ++ .../service/clickhouse/clickhouse.go | 3 ++ .../clickhouse/zz_generated.deepcopy.go | 5 ++ .../userconfig/service/grafana/grafana.go | 3 ++ .../service/grafana/zz_generated.deepcopy.go | 5 ++ .../userconfig/service/kafka/kafka.go | 6 +++ .../service/kafka/zz_generated.deepcopy.go | 10 ++++ .../service/kafka_connect/kafka_connect.go | 3 ++ .../kafka_connect/zz_generated.deepcopy.go | 5 ++ .../userconfig/service/mysql/mysql.go | 3 ++ .../service/mysql/zz_generated.deepcopy.go | 5 ++ .../service/opensearch/opensearch.go | 3 ++ .../opensearch/zz_generated.deepcopy.go | 5 ++ api/v1alpha1/userconfig/service/pg/pg.go | 34 +++++++++++-- .../service/pg/zz_generated.deepcopy.go | 50 +++++++++++++++++++ .../userconfig/service/redis/redis.go | 3 ++ .../service/redis/zz_generated.deepcopy.go | 5 ++ .../templates/aiven.io_cassandras.yaml | 4 ++ .../templates/aiven.io_clickhouses.yaml | 4 ++ .../templates/aiven.io_grafanas.yaml | 4 ++ .../templates/aiven.io_kafkaconnects.yaml | 4 ++ .../templates/aiven.io_kafkas.yaml | 9 ++++ .../templates/aiven.io_mysqls.yaml | 4 ++ .../templates/aiven.io_opensearches.yaml | 4 ++ .../templates/aiven.io_postgresqls.yaml | 29 ++++++++++- .../templates/aiven.io_redis.yaml | 4 ++ config/crd/bases/aiven.io_cassandras.yaml | 4 ++ config/crd/bases/aiven.io_clickhouses.yaml | 4 ++ config/crd/bases/aiven.io_grafanas.yaml | 4 ++ config/crd/bases/aiven.io_kafkaconnects.yaml | 4 ++ config/crd/bases/aiven.io_kafkas.yaml | 9 ++++ config/crd/bases/aiven.io_mysqls.yaml | 4 ++ config/crd/bases/aiven.io_opensearches.yaml | 4 ++ config/crd/bases/aiven.io_postgresqls.yaml | 29 ++++++++++- config/crd/bases/aiven.io_redis.yaml | 4 ++ docs/docs/api-reference/cassandra.md | 1 + docs/docs/api-reference/clickhouse.md | 1 + docs/docs/api-reference/grafana.md | 1 + docs/docs/api-reference/kafka.md | 2 + docs/docs/api-reference/kafkaconnect.md | 1 + docs/docs/api-reference/mysql.md | 1 + docs/docs/api-reference/opensearch.md | 1 + docs/docs/api-reference/postgresql.md | 24 +++++++-- docs/docs/api-reference/redis.md | 1 + go.mod | 2 +- go.sum | 4 +- 48 files changed, 335 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e1db425..440a6a15 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,29 @@ - Add `Kafka` field `userConfig.kafka.transaction_partition_verification_enable`, type `boolean`: Enable verification that checks that the partition has been added to the transaction before writing transactional records to the partition +- Add `Cassandra` field `userConfig.service_log`, type `boolean`: Store logs for the service so that + they are available in the HTTP API and console +- Add `Clickhouse` field `userConfig.service_log`, type `boolean`: Store logs for the service so that + they are available in the HTTP API and console +- Add `Grafana` field `userConfig.service_log`, type `boolean`: Store logs for the service so that they + are available in the HTTP API and console +- Add `KafkaConnect` field `userConfig.service_log`, type `boolean`: Store logs for the service so that + they are available in the HTTP API and console +- Add `Kafka` field `userConfig.kafka_rest_config.name_strategy_validation`, type `boolean`: If true, + validate that given schema is registered under expected subject name by the used name strategy when + producing messages +- Add `Kafka` field `userConfig.service_log`, type `boolean`: Store logs for the service so that they + are available in the HTTP API and console +- Add `MySQL` field `userConfig.service_log`, type `boolean`: Store logs for the service so that they + are available in the HTTP API and console +- Add `OpenSearch` field `userConfig.service_log`, type `boolean`: Store logs for the service so that + they are available in the HTTP API and console +- Add `PostgreSQL` field `userConfig.pg_qualstats`, type `object`: System-wide settings for the pg_qualstats + extension +- Add `PostgreSQL` field `userConfig.service_log`, type `boolean`: Store logs for the service so that + they are available in the HTTP API and console +- Add `Redis` field `userConfig.service_log`, type `boolean`: Store logs for the service so that they + are available in the HTTP API and console ## v0.15.0 - 2023-11-17 diff --git a/api/v1alpha1/userconfig/service/cassandra/cassandra.go b/api/v1alpha1/userconfig/service/cassandra/cassandra.go index d92d07e7..47f4112f 100644 --- a/api/v1alpha1/userconfig/service/cassandra/cassandra.go +++ b/api/v1alpha1/userconfig/service/cassandra/cassandra.go @@ -83,6 +83,9 @@ type CassandraUserConfig struct { // Allow access to selected service ports from the public Internet PublicAccess *PublicAccess `groups:"create,update" json:"public_access,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"` + // +kubebuilder:validation:MaxLength=64 // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // Name of another service to fork from. This has effect only when a new service is being created. diff --git a/api/v1alpha1/userconfig/service/cassandra/zz_generated.deepcopy.go b/api/v1alpha1/userconfig/service/cassandra/zz_generated.deepcopy.go index 27472421..6d74c519 100644 --- a/api/v1alpha1/userconfig/service/cassandra/zz_generated.deepcopy.go +++ b/api/v1alpha1/userconfig/service/cassandra/zz_generated.deepcopy.go @@ -96,6 +96,11 @@ func (in *CassandraUserConfig) DeepCopyInto(out *CassandraUserConfig) { *out = new(PublicAccess) (*in).DeepCopyInto(*out) } + if in.ServiceLog != nil { + in, out := &in.ServiceLog, &out.ServiceLog + *out = new(bool) + **out = **in + } if in.ServiceToForkFrom != nil { in, out := &in.ServiceToForkFrom, &out.ServiceToForkFrom *out = new(string) diff --git a/api/v1alpha1/userconfig/service/clickhouse/clickhouse.go b/api/v1alpha1/userconfig/service/clickhouse/clickhouse.go index 47d94248..780e7cb6 100644 --- a/api/v1alpha1/userconfig/service/clickhouse/clickhouse.go +++ b/api/v1alpha1/userconfig/service/clickhouse/clickhouse.go @@ -81,6 +81,9 @@ type ClickhouseUserConfig struct { // Allow access to selected service ports from the public Internet PublicAccess *PublicAccess `groups:"create,update" json:"public_access,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"` + // +kubebuilder:validation:MaxLength=64 // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // Name of another service to fork from. This has effect only when a new service is being created. diff --git a/api/v1alpha1/userconfig/service/clickhouse/zz_generated.deepcopy.go b/api/v1alpha1/userconfig/service/clickhouse/zz_generated.deepcopy.go index 177650e5..ae43d3a4 100644 --- a/api/v1alpha1/userconfig/service/clickhouse/zz_generated.deepcopy.go +++ b/api/v1alpha1/userconfig/service/clickhouse/zz_generated.deepcopy.go @@ -46,6 +46,11 @@ func (in *ClickhouseUserConfig) DeepCopyInto(out *ClickhouseUserConfig) { *out = new(PublicAccess) (*in).DeepCopyInto(*out) } + if in.ServiceLog != nil { + in, out := &in.ServiceLog, &out.ServiceLog + *out = new(bool) + **out = **in + } if in.ServiceToForkFrom != nil { in, out := &in.ServiceToForkFrom, &out.ServiceToForkFrom *out = new(string) diff --git a/api/v1alpha1/userconfig/service/grafana/grafana.go b/api/v1alpha1/userconfig/service/grafana/grafana.go index a3ba5bde..41e881be 100644 --- a/api/v1alpha1/userconfig/service/grafana/grafana.go +++ b/api/v1alpha1/userconfig/service/grafana/grafana.go @@ -407,6 +407,9 @@ type GrafanaUserConfig struct { // 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"` + // +kubebuilder:validation:MaxLength=64 // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // Name of another service to fork from. This has effect only when a new service is being created. diff --git a/api/v1alpha1/userconfig/service/grafana/zz_generated.deepcopy.go b/api/v1alpha1/userconfig/service/grafana/zz_generated.deepcopy.go index 00d54bb4..27af6676 100644 --- a/api/v1alpha1/userconfig/service/grafana/zz_generated.deepcopy.go +++ b/api/v1alpha1/userconfig/service/grafana/zz_generated.deepcopy.go @@ -416,6 +416,11 @@ func (in *GrafanaUserConfig) DeepCopyInto(out *GrafanaUserConfig) { *out = new(string) **out = **in } + if in.ServiceLog != nil { + in, out := &in.ServiceLog, &out.ServiceLog + *out = new(bool) + **out = **in + } if in.ServiceToForkFrom != nil { in, out := &in.ServiceToForkFrom, &out.ServiceToForkFrom *out = new(string) diff --git a/api/v1alpha1/userconfig/service/kafka/kafka.go b/api/v1alpha1/userconfig/service/kafka/kafka.go index 2df79133..642becb3 100644 --- a/api/v1alpha1/userconfig/service/kafka/kafka.go +++ b/api/v1alpha1/userconfig/service/kafka/kafka.go @@ -325,6 +325,9 @@ type KafkaRestConfig struct { // The maximum total time to wait for messages for a request if the maximum number of messages has not yet been reached ConsumerRequestTimeoutMs *int `groups:"create,update" json:"consumer_request_timeout_ms,omitempty"` + // If true, validate that given schema is registered under expected subject name by the used name strategy when producing messages. + NameStrategyValidation *bool `groups:"create,update" json:"name_strategy_validation,omitempty"` + // +kubebuilder:validation:Enum="all";"-1";"0";"1" // 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 `groups:"create,update" json:"producer_acks,omitempty"` @@ -491,6 +494,9 @@ type KafkaUserConfig struct { // Schema Registry configuration SchemaRegistryConfig *SchemaRegistryConfig `groups:"create,update" json:"schema_registry_config,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"` + // 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 f581d73d..cabbdfe5 100644 --- a/api/v1alpha1/userconfig/service/kafka/zz_generated.deepcopy.go +++ b/api/v1alpha1/userconfig/service/kafka/zz_generated.deepcopy.go @@ -410,6 +410,11 @@ func (in *KafkaRestConfig) DeepCopyInto(out *KafkaRestConfig) { *out = new(int) **out = **in } + if in.NameStrategyValidation != nil { + in, out := &in.NameStrategyValidation, &out.NameStrategyValidation + *out = new(bool) + **out = **in + } if in.ProducerAcks != nil { in, out := &in.ProducerAcks, &out.ProducerAcks *out = new(string) @@ -541,6 +546,11 @@ func (in *KafkaUserConfig) DeepCopyInto(out *KafkaUserConfig) { *out = new(SchemaRegistryConfig) (*in).DeepCopyInto(*out) } + if in.ServiceLog != nil { + in, out := &in.ServiceLog, &out.ServiceLog + *out = new(bool) + **out = **in + } if in.StaticIps != nil { in, out := &in.StaticIps, &out.StaticIps *out = new(bool) diff --git a/api/v1alpha1/userconfig/service/kafka_connect/kafka_connect.go b/api/v1alpha1/userconfig/service/kafka_connect/kafka_connect.go index e7f146b7..8dbe8f83 100644 --- a/api/v1alpha1/userconfig/service/kafka_connect/kafka_connect.go +++ b/api/v1alpha1/userconfig/service/kafka_connect/kafka_connect.go @@ -143,6 +143,9 @@ type KafkaConnectUserConfig struct { // Allow access to selected service ports from the public Internet PublicAccess *PublicAccess `groups:"create,update" json:"public_access,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"` + // Use static public IP addresses StaticIps *bool `groups:"create,update" json:"static_ips,omitempty"` } diff --git a/api/v1alpha1/userconfig/service/kafka_connect/zz_generated.deepcopy.go b/api/v1alpha1/userconfig/service/kafka_connect/zz_generated.deepcopy.go index 4ae945a2..97076113 100644 --- a/api/v1alpha1/userconfig/service/kafka_connect/zz_generated.deepcopy.go +++ b/api/v1alpha1/userconfig/service/kafka_connect/zz_generated.deepcopy.go @@ -161,6 +161,11 @@ func (in *KafkaConnectUserConfig) DeepCopyInto(out *KafkaConnectUserConfig) { *out = new(PublicAccess) (*in).DeepCopyInto(*out) } + if in.ServiceLog != nil { + in, out := &in.ServiceLog, &out.ServiceLog + *out = new(bool) + **out = **in + } if in.StaticIps != nil { in, out := &in.StaticIps, &out.StaticIps *out = new(bool) diff --git a/api/v1alpha1/userconfig/service/mysql/mysql.go b/api/v1alpha1/userconfig/service/mysql/mysql.go index 6c582571..3a16815e 100644 --- a/api/v1alpha1/userconfig/service/mysql/mysql.go +++ b/api/v1alpha1/userconfig/service/mysql/mysql.go @@ -293,6 +293,9 @@ type MysqlUserConfig struct { // Recovery target time when forking a service. This has effect only when a new service is being created. RecoveryTargetTime *string `groups:"create" json:"recovery_target_time,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"` + // +kubebuilder:validation:MaxLength=64 // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // Name of another service to fork from. This has effect only when a new service is being created. diff --git a/api/v1alpha1/userconfig/service/mysql/zz_generated.deepcopy.go b/api/v1alpha1/userconfig/service/mysql/zz_generated.deepcopy.go index 63770883..18d98d5a 100644 --- a/api/v1alpha1/userconfig/service/mysql/zz_generated.deepcopy.go +++ b/api/v1alpha1/userconfig/service/mysql/zz_generated.deepcopy.go @@ -321,6 +321,11 @@ func (in *MysqlUserConfig) DeepCopyInto(out *MysqlUserConfig) { *out = new(string) **out = **in } + if in.ServiceLog != nil { + in, out := &in.ServiceLog, &out.ServiceLog + *out = new(bool) + **out = **in + } if in.ServiceToForkFrom != nil { in, out := &in.ServiceToForkFrom, &out.ServiceToForkFrom *out = new(string) diff --git a/api/v1alpha1/userconfig/service/opensearch/opensearch.go b/api/v1alpha1/userconfig/service/opensearch/opensearch.go index b7a2d076..d0be5b40 100644 --- a/api/v1alpha1/userconfig/service/opensearch/opensearch.go +++ b/api/v1alpha1/userconfig/service/opensearch/opensearch.go @@ -522,6 +522,9 @@ type OpensearchUserConfig struct { // OpenSearch SAML configuration Saml *Saml `groups:"create,update" json:"saml,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"` + // +kubebuilder:validation:MaxLength=64 // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // Name of another service to fork from. This has effect only when a new service is being created. diff --git a/api/v1alpha1/userconfig/service/opensearch/zz_generated.deepcopy.go b/api/v1alpha1/userconfig/service/opensearch/zz_generated.deepcopy.go index 7973907b..12094c71 100644 --- a/api/v1alpha1/userconfig/service/opensearch/zz_generated.deepcopy.go +++ b/api/v1alpha1/userconfig/service/opensearch/zz_generated.deepcopy.go @@ -607,6 +607,11 @@ func (in *OpensearchUserConfig) DeepCopyInto(out *OpensearchUserConfig) { *out = new(Saml) (*in).DeepCopyInto(*out) } + if in.ServiceLog != nil { + in, out := &in.ServiceLog, &out.ServiceLog + *out = new(bool) + **out = **in + } if in.ServiceToForkFrom != nil { in, out := &in.ServiceToForkFrom, &out.ServiceToForkFrom *out = new(string) diff --git a/api/v1alpha1/userconfig/service/pg/pg.go b/api/v1alpha1/userconfig/service/pg/pg.go index 1bedbd27..a4c2eac4 100644 --- a/api/v1alpha1/userconfig/service/pg/pg.go +++ b/api/v1alpha1/userconfig/service/pg/pg.go @@ -283,6 +283,26 @@ type Pg struct { WalWriterDelay *int `groups:"create,update" json:"wal_writer_delay,omitempty"` } +// System-wide settings for the pg_qualstats extension +type PgQualstats struct { + // Enable / Disable pg_qualstats + Enabled *bool `groups:"create,update" json:"enabled,omitempty"` + + // +kubebuilder:validation:Minimum=0 + // Error estimation num threshold to save quals + MinErrEstimateNum *int `groups:"create,update" json:"min_err_estimate_num,omitempty"` + + // +kubebuilder:validation:Minimum=0 + // Error estimation ratio threshold to save quals + MinErrEstimateRatio *int `groups:"create,update" json:"min_err_estimate_ratio,omitempty"` + + // Enable / Disable pg_qualstats constants tracking + TrackConstants *bool `groups:"create,update" json:"track_constants,omitempty"` + + // Track quals on system catalogs too. + TrackPgCatalog *bool `groups:"create,update" json:"track_pg_catalog,omitempty"` +} + // PGBouncer connection pooling settings type Pgbouncer struct { // +kubebuilder:validation:Minimum=0 @@ -327,7 +347,7 @@ type Pgbouncer struct { ServerResetQueryAlways *bool `groups:"create,update" json:"server_reset_query_always,omitempty"` } -// PGLookout settings +// System-wide settings for pglookout. type Pglookout struct { // +kubebuilder:validation:Minimum=10 // Number of seconds of master unavailability before triggering database failover to standby @@ -370,7 +390,7 @@ type PublicAccess struct { Prometheus *bool `groups:"create,update" json:"prometheus,omitempty"` } -// TimescaleDB extension configuration values +// System-wide settings for the timescaledb extension type Timescaledb struct { // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=4096 @@ -418,6 +438,9 @@ type PgUserConfig struct { // postgresql.conf configuration values Pg *Pg `groups:"create,update" json:"pg,omitempty"` + // System-wide settings for the pg_qualstats extension + PgQualstats *PgQualstats `groups:"create,update" json:"pg_qualstats,omitempty"` + // Should the service which is being forked be a read replica (deprecated, use read_replica service integration instead). PgReadReplica *bool `groups:"create,update" json:"pg_read_replica,omitempty"` @@ -436,7 +459,7 @@ type PgUserConfig struct { // PGBouncer connection pooling settings Pgbouncer *Pgbouncer `groups:"create,update" json:"pgbouncer,omitempty"` - // PGLookout settings + // System-wide settings for pglookout. Pglookout *Pglookout `groups:"create,update" json:"pglookout,omitempty"` // Allow access to selected service ports from private networks @@ -458,6 +481,9 @@ type PgUserConfig struct { // Recovery target time when forking a service. This has effect only when a new service is being created. RecoveryTargetTime *string `groups:"create" json:"recovery_target_time,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"` + // +kubebuilder:validation:MaxLength=64 // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // Name of another service to fork from. This has effect only when a new service is being created. @@ -475,7 +501,7 @@ type PgUserConfig struct { // Synchronous replication type. Note that the service plan also needs to support synchronous replication. SynchronousReplication *string `groups:"create,update" json:"synchronous_replication,omitempty"` - // TimescaleDB extension configuration values + // System-wide settings for the timescaledb extension Timescaledb *Timescaledb `groups:"create,update" json:"timescaledb,omitempty"` // +kubebuilder:validation:Enum="aiven";"timescale" diff --git a/api/v1alpha1/userconfig/service/pg/zz_generated.deepcopy.go b/api/v1alpha1/userconfig/service/pg/zz_generated.deepcopy.go index 5737cfad..ef9003f1 100644 --- a/api/v1alpha1/userconfig/service/pg/zz_generated.deepcopy.go +++ b/api/v1alpha1/userconfig/service/pg/zz_generated.deepcopy.go @@ -332,6 +332,46 @@ func (in *Pg) DeepCopy() *Pg { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PgQualstats) DeepCopyInto(out *PgQualstats) { + *out = *in + if in.Enabled != nil { + in, out := &in.Enabled, &out.Enabled + *out = new(bool) + **out = **in + } + if in.MinErrEstimateNum != nil { + in, out := &in.MinErrEstimateNum, &out.MinErrEstimateNum + *out = new(int) + **out = **in + } + if in.MinErrEstimateRatio != nil { + in, out := &in.MinErrEstimateRatio, &out.MinErrEstimateRatio + *out = new(int) + **out = **in + } + if in.TrackConstants != nil { + in, out := &in.TrackConstants, &out.TrackConstants + *out = new(bool) + **out = **in + } + if in.TrackPgCatalog != nil { + in, out := &in.TrackPgCatalog, &out.TrackPgCatalog + *out = new(bool) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PgQualstats. +func (in *PgQualstats) DeepCopy() *PgQualstats { + if in == nil { + return nil + } + out := new(PgQualstats) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *PgUserConfig) DeepCopyInto(out *PgUserConfig) { *out = *in @@ -386,6 +426,11 @@ func (in *PgUserConfig) DeepCopyInto(out *PgUserConfig) { *out = new(Pg) (*in).DeepCopyInto(*out) } + if in.PgQualstats != nil { + in, out := &in.PgQualstats, &out.PgQualstats + *out = new(PgQualstats) + (*in).DeepCopyInto(*out) + } if in.PgReadReplica != nil { in, out := &in.PgReadReplica, &out.PgReadReplica *out = new(bool) @@ -441,6 +486,11 @@ func (in *PgUserConfig) DeepCopyInto(out *PgUserConfig) { *out = new(string) **out = **in } + if in.ServiceLog != nil { + in, out := &in.ServiceLog, &out.ServiceLog + *out = new(bool) + **out = **in + } if in.ServiceToForkFrom != nil { in, out := &in.ServiceToForkFrom, &out.ServiceToForkFrom *out = new(string) diff --git a/api/v1alpha1/userconfig/service/redis/redis.go b/api/v1alpha1/userconfig/service/redis/redis.go index 34d1739d..53391af4 100644 --- a/api/v1alpha1/userconfig/service/redis/redis.go +++ b/api/v1alpha1/userconfig/service/redis/redis.go @@ -156,6 +156,9 @@ type RedisUserConfig struct { // Redis idle connection timeout in seconds RedisTimeout *int `groups:"create,update" json:"redis_timeout,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"` + // +kubebuilder:validation:MaxLength=64 // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // Name of another service to fork from. This has effect only when a new service is being created. diff --git a/api/v1alpha1/userconfig/service/redis/zz_generated.deepcopy.go b/api/v1alpha1/userconfig/service/redis/zz_generated.deepcopy.go index 6582d2ba..65148de8 100644 --- a/api/v1alpha1/userconfig/service/redis/zz_generated.deepcopy.go +++ b/api/v1alpha1/userconfig/service/redis/zz_generated.deepcopy.go @@ -251,6 +251,11 @@ func (in *RedisUserConfig) DeepCopyInto(out *RedisUserConfig) { *out = new(int) **out = **in } + if in.ServiceLog != nil { + in, out := &in.ServiceLog, &out.ServiceLog + *out = new(bool) + **out = **in + } if in.ServiceToForkFrom != nil { in, out := &in.ServiceToForkFrom, &out.ServiceToForkFrom *out = new(string) diff --git a/charts/aiven-operator-crds/templates/aiven.io_cassandras.yaml b/charts/aiven-operator-crds/templates/aiven.io_cassandras.yaml index f317a50c..b92c2e97 100644 --- a/charts/aiven-operator-crds/templates/aiven.io_cassandras.yaml +++ b/charts/aiven-operator-crds/templates/aiven.io_cassandras.yaml @@ -285,6 +285,10 @@ spec: VPC or another type of private network type: boolean type: object + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean service_to_fork_from: description: Name of another service to fork from. This has effect only when a new service is being created. diff --git a/charts/aiven-operator-crds/templates/aiven.io_clickhouses.yaml b/charts/aiven-operator-crds/templates/aiven.io_clickhouses.yaml index 904f1d48..6fbd5c4e 100644 --- a/charts/aiven-operator-crds/templates/aiven.io_clickhouses.yaml +++ b/charts/aiven-operator-crds/templates/aiven.io_clickhouses.yaml @@ -270,6 +270,10 @@ spec: VPC or another type of private network type: boolean type: object + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean service_to_fork_from: description: Name of another service to fork from. This has effect only when a new service is being created. diff --git a/charts/aiven-operator-crds/templates/aiven.io_grafanas.yaml b/charts/aiven-operator-crds/templates/aiven.io_grafanas.yaml index b86d857a..7a9247f9 100644 --- a/charts/aiven-operator-crds/templates/aiven.io_grafanas.yaml +++ b/charts/aiven-operator-crds/templates/aiven.io_grafanas.yaml @@ -638,6 +638,10 @@ spec: maxLength: 128 pattern: ^[a-zA-Z0-9-_:.]+$ type: string + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean service_to_fork_from: description: Name of another service to fork from. This has effect only when a new service is being created. diff --git a/charts/aiven-operator-crds/templates/aiven.io_kafkaconnects.yaml b/charts/aiven-operator-crds/templates/aiven.io_kafkaconnects.yaml index 63af88a4..2abf81ff 100644 --- a/charts/aiven-operator-crds/templates/aiven.io_kafkaconnects.yaml +++ b/charts/aiven-operator-crds/templates/aiven.io_kafkaconnects.yaml @@ -344,6 +344,10 @@ spec: VPC or another type of private network type: boolean type: object + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean static_ips: description: Use static public IP addresses type: boolean diff --git a/charts/aiven-operator-crds/templates/aiven.io_kafkas.yaml b/charts/aiven-operator-crds/templates/aiven.io_kafkas.yaml index 91fb60db..d359f376 100644 --- a/charts/aiven-operator-crds/templates/aiven.io_kafkas.yaml +++ b/charts/aiven-operator-crds/templates/aiven.io_kafkas.yaml @@ -701,6 +701,11 @@ spec: maximum: 30000 minimum: 1000 type: integer + name_strategy_validation: + description: If true, validate that given schema is registered + under expected subject name by the used name strategy when + producing messages. + type: boolean producer_acks: description: The number of acknowledgments the producer requires the leader to have received before considering a request @@ -863,6 +868,10 @@ spec: minLength: 1 type: string type: object + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean 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 72d10b8a..635c30b8 100644 --- a/charts/aiven-operator-crds/templates/aiven.io_mysqls.yaml +++ b/charts/aiven-operator-crds/templates/aiven.io_mysqls.yaml @@ -568,6 +568,10 @@ spec: x-kubernetes-validations: - message: Value is immutable rule: self == oldSelf + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean service_to_fork_from: description: Name of another service to fork from. This has effect only when a new service is being created. diff --git a/charts/aiven-operator-crds/templates/aiven.io_opensearches.yaml b/charts/aiven-operator-crds/templates/aiven.io_opensearches.yaml index 3dabf974..95f63881 100644 --- a/charts/aiven-operator-crds/templates/aiven.io_opensearches.yaml +++ b/charts/aiven-operator-crds/templates/aiven.io_opensearches.yaml @@ -852,6 +852,10 @@ spec: - idp_metadata_url - sp_entity_id type: object + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean service_to_fork_from: description: Name of another service to fork from. This has effect only when a new service is being created. diff --git a/charts/aiven-operator-crds/templates/aiven.io_postgresqls.yaml b/charts/aiven-operator-crds/templates/aiven.io_postgresqls.yaml index c6f2937f..1dfc0fe2 100644 --- a/charts/aiven-operator-crds/templates/aiven.io_postgresqls.yaml +++ b/charts/aiven-operator-crds/templates/aiven.io_postgresqls.yaml @@ -623,6 +623,27 @@ spec: minimum: 10 type: integer type: object + pg_qualstats: + description: System-wide settings for the pg_qualstats extension + properties: + enabled: + description: Enable / Disable pg_qualstats + type: boolean + min_err_estimate_num: + description: Error estimation num threshold to save quals + minimum: 0 + type: integer + min_err_estimate_ratio: + description: Error estimation ratio threshold to save quals + minimum: 0 + type: integer + track_constants: + description: Enable / Disable pg_qualstats constants tracking + type: boolean + track_pg_catalog: + description: Track quals on system catalogs too. + type: boolean + type: object pg_read_replica: description: Should the service which is being forked be a read replica (deprecated, use read_replica service integration instead). @@ -715,7 +736,7 @@ spec: type: boolean type: object pglookout: - description: PGLookout settings + description: System-wide settings for pglookout. properties: max_failover_replication_time_lag: description: Number of seconds of master unavailability before @@ -793,6 +814,10 @@ spec: x-kubernetes-validations: - message: Value is immutable rule: self == oldSelf + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean service_to_fork_from: description: Name of another service to fork from. This has effect only when a new service is being created. @@ -820,7 +845,7 @@ spec: - "off" type: string timescaledb: - description: TimescaleDB extension configuration values + description: System-wide settings for the timescaledb extension properties: max_background_workers: description: The number of background workers for timescaledb diff --git a/charts/aiven-operator-crds/templates/aiven.io_redis.yaml b/charts/aiven-operator-crds/templates/aiven.io_redis.yaml index fd301ac5..2b665d1c 100644 --- a/charts/aiven-operator-crds/templates/aiven.io_redis.yaml +++ b/charts/aiven-operator-crds/templates/aiven.io_redis.yaml @@ -374,6 +374,10 @@ spec: maximum: 31536000 minimum: 0 type: integer + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean service_to_fork_from: description: Name of another service to fork from. This has effect only when a new service is being created. diff --git a/config/crd/bases/aiven.io_cassandras.yaml b/config/crd/bases/aiven.io_cassandras.yaml index f317a50c..b92c2e97 100644 --- a/config/crd/bases/aiven.io_cassandras.yaml +++ b/config/crd/bases/aiven.io_cassandras.yaml @@ -285,6 +285,10 @@ spec: VPC or another type of private network type: boolean type: object + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean service_to_fork_from: description: Name of another service to fork from. This has effect only when a new service is being created. diff --git a/config/crd/bases/aiven.io_clickhouses.yaml b/config/crd/bases/aiven.io_clickhouses.yaml index 904f1d48..6fbd5c4e 100644 --- a/config/crd/bases/aiven.io_clickhouses.yaml +++ b/config/crd/bases/aiven.io_clickhouses.yaml @@ -270,6 +270,10 @@ spec: VPC or another type of private network type: boolean type: object + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean service_to_fork_from: description: Name of another service to fork from. This has effect only when a new service is being created. diff --git a/config/crd/bases/aiven.io_grafanas.yaml b/config/crd/bases/aiven.io_grafanas.yaml index b86d857a..7a9247f9 100644 --- a/config/crd/bases/aiven.io_grafanas.yaml +++ b/config/crd/bases/aiven.io_grafanas.yaml @@ -638,6 +638,10 @@ spec: maxLength: 128 pattern: ^[a-zA-Z0-9-_:.]+$ type: string + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean service_to_fork_from: description: Name of another service to fork from. This has effect only when a new service is being created. diff --git a/config/crd/bases/aiven.io_kafkaconnects.yaml b/config/crd/bases/aiven.io_kafkaconnects.yaml index 63af88a4..2abf81ff 100644 --- a/config/crd/bases/aiven.io_kafkaconnects.yaml +++ b/config/crd/bases/aiven.io_kafkaconnects.yaml @@ -344,6 +344,10 @@ spec: VPC or another type of private network type: boolean type: object + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean static_ips: description: Use static public IP addresses type: boolean diff --git a/config/crd/bases/aiven.io_kafkas.yaml b/config/crd/bases/aiven.io_kafkas.yaml index 91fb60db..d359f376 100644 --- a/config/crd/bases/aiven.io_kafkas.yaml +++ b/config/crd/bases/aiven.io_kafkas.yaml @@ -701,6 +701,11 @@ spec: maximum: 30000 minimum: 1000 type: integer + name_strategy_validation: + description: If true, validate that given schema is registered + under expected subject name by the used name strategy when + producing messages. + type: boolean producer_acks: description: The number of acknowledgments the producer requires the leader to have received before considering a request @@ -863,6 +868,10 @@ spec: minLength: 1 type: string type: object + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean 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 72d10b8a..635c30b8 100644 --- a/config/crd/bases/aiven.io_mysqls.yaml +++ b/config/crd/bases/aiven.io_mysqls.yaml @@ -568,6 +568,10 @@ spec: x-kubernetes-validations: - message: Value is immutable rule: self == oldSelf + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean service_to_fork_from: description: Name of another service to fork from. This has effect only when a new service is being created. diff --git a/config/crd/bases/aiven.io_opensearches.yaml b/config/crd/bases/aiven.io_opensearches.yaml index 3dabf974..95f63881 100644 --- a/config/crd/bases/aiven.io_opensearches.yaml +++ b/config/crd/bases/aiven.io_opensearches.yaml @@ -852,6 +852,10 @@ spec: - idp_metadata_url - sp_entity_id type: object + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean service_to_fork_from: description: Name of another service to fork from. This has effect only when a new service is being created. diff --git a/config/crd/bases/aiven.io_postgresqls.yaml b/config/crd/bases/aiven.io_postgresqls.yaml index c6f2937f..1dfc0fe2 100644 --- a/config/crd/bases/aiven.io_postgresqls.yaml +++ b/config/crd/bases/aiven.io_postgresqls.yaml @@ -623,6 +623,27 @@ spec: minimum: 10 type: integer type: object + pg_qualstats: + description: System-wide settings for the pg_qualstats extension + properties: + enabled: + description: Enable / Disable pg_qualstats + type: boolean + min_err_estimate_num: + description: Error estimation num threshold to save quals + minimum: 0 + type: integer + min_err_estimate_ratio: + description: Error estimation ratio threshold to save quals + minimum: 0 + type: integer + track_constants: + description: Enable / Disable pg_qualstats constants tracking + type: boolean + track_pg_catalog: + description: Track quals on system catalogs too. + type: boolean + type: object pg_read_replica: description: Should the service which is being forked be a read replica (deprecated, use read_replica service integration instead). @@ -715,7 +736,7 @@ spec: type: boolean type: object pglookout: - description: PGLookout settings + description: System-wide settings for pglookout. properties: max_failover_replication_time_lag: description: Number of seconds of master unavailability before @@ -793,6 +814,10 @@ spec: x-kubernetes-validations: - message: Value is immutable rule: self == oldSelf + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean service_to_fork_from: description: Name of another service to fork from. This has effect only when a new service is being created. @@ -820,7 +845,7 @@ spec: - "off" type: string timescaledb: - description: TimescaleDB extension configuration values + description: System-wide settings for the timescaledb extension properties: max_background_workers: description: The number of background workers for timescaledb diff --git a/config/crd/bases/aiven.io_redis.yaml b/config/crd/bases/aiven.io_redis.yaml index fd301ac5..2b665d1c 100644 --- a/config/crd/bases/aiven.io_redis.yaml +++ b/config/crd/bases/aiven.io_redis.yaml @@ -374,6 +374,10 @@ spec: maximum: 31536000 minimum: 0 type: integer + service_log: + description: Store logs for the service so that they are available + in the HTTP API and console. + type: boolean service_to_fork_from: description: Name of another service to fork from. This has effect only when a new service is being created. diff --git a/docs/docs/api-reference/cassandra.md b/docs/docs/api-reference/cassandra.md index c8059f1d..b200d4ce 100644 --- a/docs/docs/api-reference/cassandra.md +++ b/docs/docs/api-reference/cassandra.md @@ -146,6 +146,7 @@ Cassandra specific user configuration options. - [`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). - [`project_to_fork_from`](#spec.userConfig.project_to_fork_from-property){: name='spec.userConfig.project_to_fork_from-property'} (string, Immutable, 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). +- [`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, MaxLength: 64). Name of another service to fork from. This has effect only when a new service is being created. - [`service_to_join_with`](#spec.userConfig.service_to_join_with-property){: name='spec.userConfig.service_to_join_with-property'} (string, MaxLength: 64). When bootstrapping, instead of creating a new Cassandra cluster try to join an existing one from another service. Can only be set on service creation. - [`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/clickhouse.md b/docs/docs/api-reference/clickhouse.md index c1700b73..f95407db 100644 --- a/docs/docs/api-reference/clickhouse.md +++ b/docs/docs/api-reference/clickhouse.md @@ -133,6 +133,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, 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). +- [`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, 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 f70af033..29cd7f3c 100644 --- a/docs/docs/api-reference/grafana.md +++ b/docs/docs/api-reference/grafana.md @@ -167,6 +167,7 @@ Cassandra 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, 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, MaxLength: 64). Name of another service to fork from. This has effect only when a new service is being created. - [`smtp_server`](#spec.userConfig.smtp_server-property){: name='spec.userConfig.smtp_server-property'} (object). SMTP server settings. See below for [nested schema](#spec.userConfig.smtp_server). - [`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/kafka.md b/docs/docs/api-reference/kafka.md index 17de83a8..60eb266d 100644 --- a/docs/docs/api-reference/kafka.md +++ b/docs/docs/api-reference/kafka.md @@ -145,6 +145,7 @@ Kafka specific user configuration options. - [`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). - [`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. - [`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). @@ -264,6 +265,7 @@ Kafka REST configuration. - [`consumer_enable_auto_commit`](#spec.userConfig.kafka_rest_config.consumer_enable_auto_commit-property){: name='spec.userConfig.kafka_rest_config.consumer_enable_auto_commit-property'} (boolean). If true the consumer's offset will be periodically committed to Kafka in the background. - [`consumer_request_max_bytes`](#spec.userConfig.kafka_rest_config.consumer_request_max_bytes-property){: name='spec.userConfig.kafka_rest_config.consumer_request_max_bytes-property'} (integer, Minimum: 0, Maximum: 671088640). Maximum number of bytes in unencoded message keys and values by a single request. - [`consumer_request_timeout_ms`](#spec.userConfig.kafka_rest_config.consumer_request_timeout_ms-property){: name='spec.userConfig.kafka_rest_config.consumer_request_timeout_ms-property'} (integer, Enum: `1000`, `15000`, `30000`, Minimum: 1000, Maximum: 30000). The maximum total time to wait for messages for a request if the maximum number of messages has not yet been reached. +- [`name_strategy_validation`](#spec.userConfig.kafka_rest_config.name_strategy_validation-property){: name='spec.userConfig.kafka_rest_config.name_strategy_validation-property'} (boolean). If true, validate that given schema is registered under expected subject name by the used name strategy when producing messages. - [`producer_acks`](#spec.userConfig.kafka_rest_config.producer_acks-property){: name='spec.userConfig.kafka_rest_config.producer_acks-property'} (string, Enum: `all`, `-1`, `0`, `1`). 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. - [`producer_compression_type`](#spec.userConfig.kafka_rest_config.producer_compression_type-property){: name='spec.userConfig.kafka_rest_config.producer_compression_type-property'} (string, Enum: `gzip`, `snappy`, `lz4`, `zstd`, `none`). Specify the default compression type for producers. This configuration accepts the standard compression codecs (`gzip`, `snappy`, `lz4`, `zstd`). It additionally accepts `none` which is the default and equivalent to no compression. - [`producer_linger_ms`](#spec.userConfig.kafka_rest_config.producer_linger_ms-property){: name='spec.userConfig.kafka_rest_config.producer_linger_ms-property'} (integer, Minimum: 0, Maximum: 5000). Wait for up to the given delay to allow batching records together. diff --git a/docs/docs/api-reference/kafkaconnect.md b/docs/docs/api-reference/kafkaconnect.md index 420e4902..9670e11b 100644 --- a/docs/docs/api-reference/kafkaconnect.md +++ b/docs/docs/api-reference/kafkaconnect.md @@ -110,6 +110,7 @@ KafkaConnect specific user configuration options. - [`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). - [`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). +- [`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. - [`static_ips`](#spec.userConfig.static_ips-property){: name='spec.userConfig.static_ips-property'} (boolean). Use static public IP addresses. ### ip_filter {: #spec.userConfig.ip_filter } diff --git a/docs/docs/api-reference/mysql.md b/docs/docs/api-reference/mysql.md index 18aae5d7..27afc1bd 100644 --- a/docs/docs/api-reference/mysql.md +++ b/docs/docs/api-reference/mysql.md @@ -150,6 +150,7 @@ MySQL 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, 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_target_time`](#spec.userConfig.recovery_target_time-property){: name='spec.userConfig.recovery_target_time-property'} (string, Immutable, MaxLength: 32). Recovery target time when forking a service. This has effect only when a new service is being created. +- [`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, 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/opensearch.md b/docs/docs/api-reference/opensearch.md index 50b01d6d..6116279c 100644 --- a/docs/docs/api-reference/opensearch.md +++ b/docs/docs/api-reference/opensearch.md @@ -146,6 +146,7 @@ OpenSearch specific user configuration options. - [`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. - [`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, 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/postgresql.md b/docs/docs/api-reference/postgresql.md index e7600d8f..82520699 100644 --- a/docs/docs/api-reference/postgresql.md +++ b/docs/docs/api-reference/postgresql.md @@ -139,22 +139,24 @@ PostgreSQL specific user configuration options. - [`ip_filter`](#spec.userConfig.ip_filter-property){: name='spec.userConfig.ip_filter-property'} (array of objects, MaxItems: 1024). Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`. See below for [nested schema](#spec.userConfig.ip_filter). - [`migration`](#spec.userConfig.migration-property){: name='spec.userConfig.migration-property'} (object). Migrate data from existing server. See below for [nested schema](#spec.userConfig.migration). - [`pg`](#spec.userConfig.pg-property){: name='spec.userConfig.pg-property'} (object). postgresql.conf configuration values. See below for [nested schema](#spec.userConfig.pg). +- [`pg_qualstats`](#spec.userConfig.pg_qualstats-property){: name='spec.userConfig.pg_qualstats-property'} (object). System-wide settings for the pg_qualstats extension. See below for [nested schema](#spec.userConfig.pg_qualstats). - [`pg_read_replica`](#spec.userConfig.pg_read_replica-property){: name='spec.userConfig.pg_read_replica-property'} (boolean). Should the service which is being forked be a read replica (deprecated, use read_replica service integration instead). - [`pg_service_to_fork_from`](#spec.userConfig.pg_service_to_fork_from-property){: name='spec.userConfig.pg_service_to_fork_from-property'} (string, Immutable, MaxLength: 64). Name of the PG Service from which to fork (deprecated, use service_to_fork_from). This has effect only when a new service is being created. - [`pg_stat_monitor_enable`](#spec.userConfig.pg_stat_monitor_enable-property){: name='spec.userConfig.pg_stat_monitor_enable-property'} (boolean). Enable the pg_stat_monitor extension. Enabling this extension will cause the cluster to be restarted.When this extension is enabled, pg_stat_statements results for utility commands are unreliable. - [`pg_version`](#spec.userConfig.pg_version-property){: name='spec.userConfig.pg_version-property'} (string, Enum: `11`, `12`, `13`, `14`, `15`). PostgreSQL major version. - [`pgbouncer`](#spec.userConfig.pgbouncer-property){: name='spec.userConfig.pgbouncer-property'} (object). PGBouncer connection pooling settings. See below for [nested schema](#spec.userConfig.pgbouncer). -- [`pglookout`](#spec.userConfig.pglookout-property){: name='spec.userConfig.pglookout-property'} (object). PGLookout settings. See below for [nested schema](#spec.userConfig.pglookout). +- [`pglookout`](#spec.userConfig.pglookout-property){: name='spec.userConfig.pglookout-property'} (object). System-wide settings for pglookout. See below for [nested schema](#spec.userConfig.pglookout). - [`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). - [`project_to_fork_from`](#spec.userConfig.project_to_fork_from-property){: name='spec.userConfig.project_to_fork_from-property'} (string, Immutable, 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_target_time`](#spec.userConfig.recovery_target_time-property){: name='spec.userConfig.recovery_target_time-property'} (string, Immutable, MaxLength: 32). Recovery target time when forking a service. This has effect only when a new service is being created. +- [`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, MaxLength: 64). Name of another service to fork from. This has effect only when a new service is being created. - [`shared_buffers_percentage`](#spec.userConfig.shared_buffers_percentage-property){: name='spec.userConfig.shared_buffers_percentage-property'} (number, Minimum: 20, Maximum: 60). 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. - [`static_ips`](#spec.userConfig.static_ips-property){: name='spec.userConfig.static_ips-property'} (boolean). Use static public IP addresses. - [`synchronous_replication`](#spec.userConfig.synchronous_replication-property){: name='spec.userConfig.synchronous_replication-property'} (string, Enum: `quorum`, `off`). Synchronous replication type. Note that the service plan also needs to support synchronous replication. -- [`timescaledb`](#spec.userConfig.timescaledb-property){: name='spec.userConfig.timescaledb-property'} (object). TimescaleDB extension configuration values. See below for [nested schema](#spec.userConfig.timescaledb). +- [`timescaledb`](#spec.userConfig.timescaledb-property){: name='spec.userConfig.timescaledb-property'} (object). System-wide settings for the timescaledb extension. See below for [nested schema](#spec.userConfig.timescaledb). - [`variant`](#spec.userConfig.variant-property){: name='spec.userConfig.variant-property'} (string, Enum: `aiven`, `timescale`). Variant of the PostgreSQL service, may affect the features that are exposed by default. - [`work_mem`](#spec.userConfig.work_mem-property){: name='spec.userConfig.work_mem-property'} (integer, Minimum: 1, Maximum: 1024). 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). @@ -250,6 +252,20 @@ postgresql.conf configuration values. - [`wal_sender_timeout`](#spec.userConfig.pg.wal_sender_timeout-property){: name='spec.userConfig.pg.wal_sender_timeout-property'} (integer). Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout. - [`wal_writer_delay`](#spec.userConfig.pg.wal_writer_delay-property){: name='spec.userConfig.pg.wal_writer_delay-property'} (integer, Minimum: 10, Maximum: 200). WAL flush interval in milliseconds. Note that setting this value to lower than the default 200ms may negatively impact performance. +### pg_qualstats {: #spec.userConfig.pg_qualstats } + +_Appears on [`spec.userConfig`](#spec.userConfig)._ + +System-wide settings for the pg_qualstats extension. + +**Optional** + +- [`enabled`](#spec.userConfig.pg_qualstats.enabled-property){: name='spec.userConfig.pg_qualstats.enabled-property'} (boolean). Enable / Disable pg_qualstats. +- [`min_err_estimate_num`](#spec.userConfig.pg_qualstats.min_err_estimate_num-property){: name='spec.userConfig.pg_qualstats.min_err_estimate_num-property'} (integer, Minimum: 0). Error estimation num threshold to save quals. +- [`min_err_estimate_ratio`](#spec.userConfig.pg_qualstats.min_err_estimate_ratio-property){: name='spec.userConfig.pg_qualstats.min_err_estimate_ratio-property'} (integer, Minimum: 0). Error estimation ratio threshold to save quals. +- [`track_constants`](#spec.userConfig.pg_qualstats.track_constants-property){: name='spec.userConfig.pg_qualstats.track_constants-property'} (boolean). Enable / Disable pg_qualstats constants tracking. +- [`track_pg_catalog`](#spec.userConfig.pg_qualstats.track_pg_catalog-property){: name='spec.userConfig.pg_qualstats.track_pg_catalog-property'} (boolean). Track quals on system catalogs too. + ### pgbouncer {: #spec.userConfig.pgbouncer } _Appears on [`spec.userConfig`](#spec.userConfig)._ @@ -272,7 +288,7 @@ PGBouncer connection pooling settings. _Appears on [`spec.userConfig`](#spec.userConfig)._ -PGLookout settings. +System-wide settings for pglookout. **Required** @@ -318,7 +334,7 @@ Allow access to selected service ports from the public Internet. _Appears on [`spec.userConfig`](#spec.userConfig)._ -TimescaleDB extension configuration values. +System-wide settings for the timescaledb extension. **Required** diff --git a/docs/docs/api-reference/redis.md b/docs/docs/api-reference/redis.md index b9ec986e..04d3996a 100644 --- a/docs/docs/api-reference/redis.md +++ b/docs/docs/api-reference/redis.md @@ -149,6 +149,7 @@ Redis specific user configuration options. - [`redis_pubsub_client_output_buffer_limit`](#spec.userConfig.redis_pubsub_client_output_buffer_limit-property){: name='spec.userConfig.redis_pubsub_client_output_buffer_limit-property'} (integer, Minimum: 32, Maximum: 512). 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. - [`redis_ssl`](#spec.userConfig.redis_ssl-property){: name='spec.userConfig.redis_ssl-property'} (boolean). Require SSL to access Redis. - [`redis_timeout`](#spec.userConfig.redis_timeout-property){: name='spec.userConfig.redis_timeout-property'} (integer, Minimum: 0, Maximum: 31536000). Redis idle connection timeout in seconds. +- [`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, 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/go.mod b/go.mod index b321bc70..e5dfc9d7 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/aiven/aiven-go-client/v2 v2.4.0 - github.com/aiven/go-api-schemas v1.46.0 + github.com/aiven/go-api-schemas v1.47.0 github.com/dave/jennifer v1.7.0 github.com/docker/go-units v0.5.0 github.com/ghodss/yaml v1.0.0 diff --git a/go.sum b/go.sum index d1222788..1b3b2065 100644 --- a/go.sum +++ b/go.sum @@ -65,8 +65,8 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/aiven/aiven-go-client/v2 v2.4.0 h1:vBBKgYEYyFZp/f+vcdxTkWnJ2b09Wlto3kwEzj5uvBQ= github.com/aiven/aiven-go-client/v2 v2.4.0/go.mod h1:x0xhzxWEKAwKv0xY5FvECiI6tesWshcPHvjwl0B/1SU= -github.com/aiven/go-api-schemas v1.46.0 h1:l2IC2qSfAIL5ISobB7uF9cYqQPn5YoYxZ1KiYgm8pgE= -github.com/aiven/go-api-schemas v1.46.0/go.mod h1:/bPxBUHza/2Aeer6hIIdB++GxKiw9K1KCBtRa2rtZ5I= +github.com/aiven/go-api-schemas v1.47.0 h1:TWzXlDrhh2SO6Xi+FSpgFT1YFJIJ+Qkkq15XcvdfPzE= +github.com/aiven/go-api-schemas v1.47.0/go.mod h1:/bPxBUHza/2Aeer6hIIdB++GxKiw9K1KCBtRa2rtZ5I= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=