Changelog¶
v0.46.0 - 2026-09-04¶
- Fix
KafkaSchemasilently ignoring the removal ofcompatibilityLevel: a subject-level override previously applied by the operator is now reverted to a snapshot of the registry's current global default. Overrides created outside the operator, or changed outside it since they were applied, are never modified. Resources whosecompatibilityLevelwas removed under an older operator version are not detected retroactively: their override is picked up again the next timecompatibilityLevelis set and applied, after which removing the field reverts it as described above. - Add
status.versionto service resources (Kafka,PostgreSQL,MySQL,ClickHouse,OpenSearch,Grafana,Flink,Valkey): the version the service is currently running. - Deprecate
Projectin favor ofOrganizationProject.Projectkeeps working; see the new migration guide for moving an existing project over without deleting it - Change
KafkafielduserConfig.schema_registry_config.sasl_oauthbearer_method_roles: maxLength4096 - Add
OpenSearchfielduserConfig.opensearch.ml_commons_connector_access_control_enabled, typeboolean: When set to true, the setting allows admins to control access and permissions to the connector API using backend_roles - Add
OpenSearchfielduserConfig.opensearch.ml_commons_trusted_connector_endpoints_regex, typearray: Adds the trusted endpoints to the cluster settings. Supports Java regex expressions - Add
ServiceIntegrationfielddatadog.datadog_function_metrics_enabled, typeboolean: Enable collection of PL/pgSQL function metrics from pg_stat_user_functions - Add
ServiceIntegrationfielddatadog.datadog_pg_relations, typearray: Relations to collect PostgreSQL relation metrics for, such as table size, index statistics, row counts, vacuum ages and locks
v0.45.0 - 2026-08-24¶
ServiceUser: increased the amount of concurrent reconcilers up to 10- Fix
KafkaNativeACLandKafkaSchemaRegistryACLto adopt the matching ACL that is already present on Aiven instead of trying to create a second one. Existence is decided by matching every identifying field against the ACL list. This covers an ACLs created outside the operator as well. Note that an adopted ACL is deleted together with the custom resource unless thecontrollers.aiven.io/deletion-policy: Orphanannotation is set. - Fix
KafkaSchemanever converging whenschemaandcompatibilityLevelchange in the same apply: the compatibility level is now set before the new schema version is registered. Behavior change: a rejected schema leaves the new level applied, and tightening the level alongside a schema that violates it now fails. - Docs: clarified that removing
KafkaSchema.spec.compatibilityLevelleaves the existing subject-level override in place instead of reverting it to the registry's global default. - Add
KafkafielduserConfig.karapace_version, typestring: Pin a specific installed Karapace version on this service - Add
KafkafielduserConfig.schema_registry_config.sasl_oauthbearer_authentication_enabled, typeboolean: If enabled, the Schema Registry validates OAuth2/OIDC JWT bearer tokens on incoming requests - Add
KafkafielduserConfig.schema_registry_config.sasl_oauthbearer_authorization_enabled, typeboolean: If enabled, the Schema Registry enforces role-based authorization derived from the JWT roles claim - Add
KafkafielduserConfig.schema_registry_config.sasl_oauthbearer_method_roles, typeobject: Mapping of HTTP methods to the list of roles allowed to perform them on the Schema Registry - Add
KafkafielduserConfig.schema_registry_config.sasl_oauthbearer_roles_claim_path, typestring: JSON path used to extract the roles claim from the JWT for Schema Registry authorization - Add
MySQLfielduserConfig.mysql.max_connections, typeinteger: The maximum permitted number of simultaneous client connections - Add
MySQLfielduserConfig.mysql.max_user_connections, typeinteger: The maximum number of simultaneous connections permitted to any single user account - Add
PostgreSQLfielduserConfig.pg.pg_stat_plans.track, typestring: Controls which statements' plans are tracked - Add
PostgreSQLfielduserConfig.pg_stat_plans_enable, typeboolean: Enable the pg_stat_plans extension. Changing this parameter causes a service restart - Add
PostgreSQLfielduserConfig.pgbouncer.server_connect_timeout, typenumber: If connection and login don’t finish in this amount of time, the connection will be closed - Add
PostgreSQLfielduserConfig.pgbouncer.server_login_retry, typenumber: If login to the server failed, because of failure to connect or from authentication, the pooler waits this much before retrying to connect - Add
--poll-intervalflag and matchingpollIntervalHelm value, to configure how often resources in a steady state are re-reconciled against the Aiven API. Accepted range is 10m-60m, so the interval can only be raised; the default is unchanged at 10 minutes. Does not apply to the service kinds (Clickhouse,Flink,Grafana,Kafka,KafkaConnect,MySQL,OpenSearch,PostgreSQL,Valkey), which do not re-reconcile on a fixed interval.
v0.44.0 - 2026-08-11¶
- Add kind:
OrganizationProjectto manage Aiven projects that belong to an organization or organizational unit. - Fix
KafkaACL,KafkaQuota, andKafkaSchemaRegistryACLto reach theReadyToUsestate in a single reconcile cycle after creation or update. - Add
extraEnvsoption to Helm chart, to set additional environment variables on the operator deployment. - Add
logging.encoderoption to Helm chart, to log injsonorconsoleformat. - Add
ValkeyfielduserConfig.valkey_activedefrag, typeboolean: Enable active memory defragmentation - Fix
ProjectVPCadopting a VPC that Aiven is already tearing down. Re-creating aProjectVPCwith the samecloudNameandnetworkCidrshortly after deleting one left the resource waiting forever for anACTIVEstate. It now waits for the old VPC to disappear and then creates a replacement.
v0.43.0 - 2026-07-24¶
- Add
ServiceUserfieldusername, typestring: Username of the service user on Aiven. Defaults to the resource name. Aiven accepts usernames that are not valid Kubernetes object names (e.g. containing underscores or uppercase characters); set this field to manage such users. Can only be set at creation and is immutable afterwards. - Add
GrafanafielduserConfig.grafana_version, typestring: Available versions:11. Newer versions may also be available. Grafana major version - Add
KafkaConnectfielduserConfig.preferred_zones, typearray: List of preferred zone IDs for service node placement - Add
MySQLfielduserConfig.mysql.automatic_sp_privileges, typeboolean: When enabled, the server automatically grants the EXECUTE and ALTER ROUTINE privileges to the creator of a stored routine and drops them when the routine is dropped - Add
MySQLfielduserConfig.mysql.end_markers_in_json, typeboolean: Whether optimizer JSON output such as EXPLAIN FORMAT=JSON adds end markers that repeat a structure's key near its closing bracket, making large JSON structures easier to read - Add
MySQLfielduserConfig.mysql.innodb_optimize_fulltext_only, typeboolean: When enabled, OPTIMIZE TABLE on InnoDB tables only updates the FULLTEXT index instead of rebuilding the table - Add
MySQLfielduserConfig.mysql.windowing_use_high_precision, typeboolean: Whether window functions are computed to high precision - Add
MySQLfielduserConfig.mysql.div_precision_increment, typeinteger: Number of digits by which to increase the scale of the result of division operations performed with the / operator - Add
MySQLfielduserConfig.mysql.eq_range_index_dive_limit, typeinteger: The number of equality ranges in a query at or above which the optimizer switches from index dives to index statistics when estimating the number of qualifying rows - Add
MySQLfielduserConfig.mysql.innodb_ft_enable_stopword, typeboolean: Whether stopword processing is applied when creating or rebuilding an InnoDB FULLTEXT index - Add
MySQLfielduserConfig.mysql.innodb_ft_max_token_size, typeinteger: Maximum length of words that are stored in an InnoDB FULLTEXT index - Add
MySQLfielduserConfig.mysql.innodb_ft_num_word_optimize, typeinteger: Number of words processed during each OPTIMIZE TABLE operation on an InnoDB FULLTEXT index - Add
MySQLfielduserConfig.mysql.innodb_ft_result_cache_limit, typeinteger: Maximum memory in bytes used per query for the InnoDB FULLTEXT search query result cache - Add
MySQLfielduserConfig.mysql.innodb_ft_user_stopword_table, typestring: This option is used to specify your own InnoDB FULLTEXT index stopword list for specific InnoDB tables - Add
MySQLfielduserConfig.mysql.max_execution_time, typeinteger: Execution timeout in milliseconds for read-only top-level SELECT statements - Add
MySQLfielduserConfig.mysql.max_seeks_for_key, typeinteger: Limit on the assumed maximum number of index seeks when looking up rows based on a key - Add
MySQLfielduserConfig.mysql.optimizer_prune_level, typeinteger: Controls the heuristics applied during query optimization to prune less-promising partial plans from the optimizer search space - Add
MySQLfielduserConfig.mysql.optimizer_search_depth, typeinteger: Maximum depth of search performed by the query optimizer when choosing a join order - Add
MySQLfielduserConfig.mysql.optimizer_switch, typestring: Comma-separated list of optimizer flag assignments in the form flag=on|off|default, or the single value 'default' to reset all flags - Change
OpenSearchfielduserConfig.opensearch.http_max_content_length: minimum→11048576
v0.42.0 - 2026-07-08¶
- Upgrade
sigs.k8s.io/controller-runtimetov0.21.0; the minimum supported Kubernetes version is now1.30 - Add
KafkafielduserConfig.preferred_zones, typearray: List of preferred zone IDs for service node placement - Add
ServiceIntegrationfieldkafkaMirrormaker.kafka_mirrormaker.consumer_fetch_max_wait_ms, typeinteger: The maximum amount of time the server will block before answering the fetch request if there isn't sufficient data to immediately satisfyconsumer_fetch_min_bytes
v0.41.0 - 2026-07-02¶
- Fix a stale
Errorstatus condition on resources after they recover from a failed reconciliation; the condition is now cleared once reconciliation succeeds - Change
ClickhouseGrantreconciliation to the managed reconciler: the resource now registers a finalizer, periodically re-reconciles, and reportsRunningstatus conditions - Add Kafka SASL and Schema Registry endpoint keys to
ServiceUserconnection secrets for Kafka services. - Change
ServiceIntegrationEndpointreconciliation to the managed reconciler: the resource now adopts a pre-existing endpoint matching itsendpointNameandendpointType. - Change
ServiceIntegrationEndpointfielddatadog.site: enum addus2.ddog-gov.com - Add new 'KafkaQuota' resource to manage quotas for Aiven for Apache Kafka® services.
- Change
ClickhouseDatabasereconciliation to the managed reconciler: the resource now registers a finalizer, periodically re-reconciles, and reportsRunningstatus conditions - Change
KafkaSchemaRegistryACLreconciliation to the managed reconciler: the resource now registers a finalizer, periodically re-reconciles, and reportsRunningstatus conditions ConnectionPoolreconciliation: changes topoolModeandpoolSizeare now detected and applied on update, and the connection info secret is kept in sync on every reconcile- Add
KafkafielduserConfig.kafka.group_coordinator_rebalance_protocols, typestring: The enabled consumer group rebalance protocols - Add
KafkafielduserConfig.kafka.group_share_delivery_count_limit, typeinteger: The maximum delivery attempts for a share-group record - Add
KafkafielduserConfig.kafka.group_share_heartbeat_interval_ms, typeinteger: The heartbeat interval used by share group members - Add
KafkafielduserConfig.kafka.group_share_max_groups, typeinteger: The maximum number of share groups allowed on the broker - Add
KafkafielduserConfig.kafka.group_share_max_heartbeat_interval_ms, typeinteger: The maximum heartbeat interval allowed for share group members - Add
KafkafielduserConfig.kafka.group_share_max_record_lock_duration_ms, typeinteger: The maximum record lock duration allowed for share groups - Add
KafkafielduserConfig.kafka.group_share_max_session_timeout_ms, typeinteger: The maximum session timeout allowed for share group members - Add
KafkafielduserConfig.kafka.group_share_max_size, typeinteger: The maximum number of members allowed in a share group - Add
KafkafielduserConfig.kafka.group_share_min_heartbeat_interval_ms, typeinteger: The minimum heartbeat interval allowed for share group members - Add
KafkafielduserConfig.kafka.group_share_min_record_lock_duration_ms, typeinteger: The minimum record lock duration allowed for share groups - Add
KafkafielduserConfig.kafka.group_share_min_session_timeout_ms, typeinteger: The minimum session timeout allowed for share group members - Add
KafkafielduserConfig.kafka.group_share_partition_max_record_locks, typeinteger: The maximum number of record locks allowed per share group partition - Add
KafkafielduserConfig.kafka.group_share_record_lock_duration_ms, typeinteger: The duration for which a fetched share-group record is locked - Add
KafkafielduserConfig.kafka.group_share_session_timeout_ms, typeinteger: The timeout used to detect share group member failures - Add
MySQLfielduserConfig.mysql.relay_log_space_limit, typeinteger: The maximum amount of space in bytes to use for all relay logs while replicating from an external migration source - Add
KafkafielduserConfig.kafka.audit_log, typeobject: Enable Kafka audit logging by providing this object. Removing it disables the feature - Add
MySQLfielduserConfig.mysql.innodb_adaptive_hash_index, typeboolean: Whether InnoDB adaptive hash indexing is enabled - Add
MySQLfielduserConfig.mysql.innodb_io_capacity_max, typeinteger: The maximum number of I/O operations per second (IOPS) that InnoDB background tasks may perform when flushing falls behind - Add
MySQLfielduserConfig.mysql.innodb_io_capacity, typeinteger: The number of I/O operations per second (IOPS) available to InnoDB background tasks, such as flushing pages from the buffer pool and merging data from the change buffer - Add
OpenSearchfielduserConfig.azure_migration.max_restore_bytes_per_sec, typestring: Throttles the restore rate per node. Defaults to unlimited - Add
OpenSearchfielduserConfig.azure_migration.max_snapshot_bytes_per_sec, typestring: Throttles the snapshot rate per node. Defaults to 40mb - Add
OpenSearchfielduserConfig.gcs_migration.max_restore_bytes_per_sec, typestring: Throttles the restore rate per node. Defaults to unlimited - Add
OpenSearchfielduserConfig.gcs_migration.max_snapshot_bytes_per_sec, typestring: Throttles the snapshot rate per node. Defaults to 40mb - Add
OpenSearchfielduserConfig.s3_migration.max_restore_bytes_per_sec, typestring: Throttles the restore rate per node. Defaults to unlimited - Add
OpenSearchfielduserConfig.s3_migration.max_snapshot_bytes_per_sec, typestring: Throttles the snapshot rate per node. Defaults to 40mb - Add
ServiceIntegrationEndpointfieldrsyslog.escape_newlines, typeboolean: When true, embedded newlines in a log message are escaped so a multi-line record (e.g - Change
ServiceIntegrationEndpointfielddatadog.kafka_consumer_stats_timeout: maximum→300298 - Add
KafkafielduserConfig.kafka_diskless.auto_diskless_topic_regexes, typearray: The regexes of topics to auto enable diskless - Change
KafkafielduserConfig.kafka.audit_log.aggregation_period_sec: maximum→6001800
v0.40.0 - 2026-06-05¶
- Add
MySQLfielduserConfig.mysql.performance_schema_events_statements_history_size, typeinteger: The number of rows per thread in the events_statements_history table - Add
ServiceIntegrationfieldkafkaMirrormaker.kafka_mirrormaker.consumer_fetch_max_bytes, typeinteger: The maximum amount of data the server should return for a fetch request - Add
ServiceIntegrationfieldkafkaMirrormaker.kafka_mirrormaker.consumer_max_partition_fetch_bytes, typeinteger: The maximum amount of data per partition the server will return - Add
ServiceIntegrationfieldkafkaMirrormaker.kafka_mirrormaker.consumer_receive_buffer_bytes, typeinteger: The size of the TCP receive buffer (SO_RCVBUF) to use when reading data. -1 uses the OS default - Add
ServiceIntegrationfieldkafkaMirrormaker.kafka_mirrormaker.consumer_request_timeout_ms, typeinteger: The maximum time the client will wait for a response to a request - Add
ServiceIntegrationfieldkafkaMirrormaker.kafka_mirrormaker.producer_request_timeout_ms, typeinteger: The maximum time the client will wait for a response to a request - Add
ServiceIntegrationfieldkafkaMirrormaker.kafka_mirrormaker.producer_send_buffer_bytes, typeinteger: The size of the TCP send buffer (SO_SNDBUF) to use when sending data. -1 uses the OS default - Add
UpgradePipelineStepto manage Aiven upgrade pipeline steps
v0.39.0 - 2026-05-29¶
- Add
KafkaSchemafieldreferences[].kafkaSchemaRef, typeobject: Reference to anotherKafkaSchemaresource in the same namespace. The subject and version are resolved from the referenced resource's spec and status, dependents pick up new versions automatically. Mutually exclusive withsubject+versionon the same entry. - Change
KafkaSchemafieldreferences: maxItems100 - BREAKING: Change
KafkaSchemadeletion to perform a hard delete instead of soft delete only. The subject is no longer visible in the registry's listing after deletion, and re-applying aKafkaSchemawith the samesubjectNameafter deletion starts at version 1.
v0.38.0 - 2026-05-18¶
- Add
MySQLandPostgreSQLfieldmigrationSecretSource, typeobject: Reference to a Secret containing migration credentials. Secret keys must match userConfig.migration JSON field names. If set, takes precedence over userConfig.migration. - Add
ClickhousefielduserConfig.server_settings, typeobject: ClickHouse server settings, which can be found in thesystem.server_settingstable - Add
ClickhousefielduserConfig.session_settings, typeobject: ClickHouse session settings, which can be found in thesystem.settingstable - Add
KafkaConnectfielduserConfig.kafka_connect.prefer_ipv6_address_enable, typeboolean: When enabled, connectors will automatically resolve IPv6 addresses from external server names configured with dual-stack - Add
KafkafielduserConfig.inkless, typeobject: Inkless configuration values - Add
KafkafielduserConfig.kafka_connect_config.prefer_ipv6_address_enable, typeboolean: When enabled, connectors will automatically resolve IPv6 addresses from external server names configured with dual-stack - Change
KafkafielduserConfig.backup_interval_hours: enum add12,24,3,4,6,8 - Add
MySQLfielduserConfig.mysql.lower_case_table_names, typeinteger: Sets how table and database names are stored and compared - Change
OpenSearchfielduserConfig.opensearch.cluster_max_shards_per_node: minimum→10010 - Add
PostgreSQLfielduserConfig.pg.synchronous_commit, typestring: Sets the current transaction's synchronization level. The default isoff - Add
PostgreSQLfielduserConfig.switchover_windows, typearray: no description - Change
PostgreSQLfielduserConfig.backup_interval_hours: enum add12,24,3,4,6,8 - Add
ServiceIntegrationfieldmetrics.source_mysql.telegraf.gather_replica_status, typeboolean: Gather metrics from SHOW REPLICA STATUS command output - Add
ValkeyfielduserConfig.valkey_version, typestring: Available versions:8.1,9.0. Newer versions may also be available. Valkey major version - Add
KafkaSchemafieldreferences, typearray: Schema references for Protobuf or JSON schemas that import other schemas - BREAKING: Remove deprecated
AlloyDBOmniandCassandrakinds and controllers from the operator - BREAKING: Change
ServiceIntegrationfieldintegrationType: enum removem3aggregator,m3coordinator - Add
MySQLandPostgreSQLfieldmigrationSecretSource.deleteAfterMigration, typeboolean: When true, the operator deletes the referenced Secret after migration completes successfully. Defaults tofalse. - Remove the 63-character limit for the
KafkaSchemafieldsubjectName - Make
ConnectionPoolfieldsdatabaseNameandusernameimmutable - Add
ClickhousefielduserConfig.private_access.clickhouse_arrowflight, typeboolean: Allow clients to connect to clickhouse_arrowflight with a DNS name that always resolves to the service's private IP addresses - Add
ClickhousefielduserConfig.privatelink_access.clickhouse_arrowflight, typeboolean: Enable clickhouse_arrowflight - Add
ClickhousefielduserConfig.public_access.clickhouse_arrowflight, typeboolean: Allow clients to connect to clickhouse_arrowflight from the public internet for service nodes that are in a project VPC or another type of private network - Add kind:
KafkaQuota
v0.37.0 - 2026-04-09¶
- Add
ServiceUserfieldaccessControl, typeobject: AccessControl configures service-specific access control rules for the user. When this block is present, the operator manages the full access-control scope it contains - Add
OpenSearchACLConfigto manage OpenSearch ACL - BREAKING: Removed
ClickhouseUser/ServiceUserfieldconnInfoSecretSource.namespace, typestring: cross-namespace secret references are no longer supported. The source secret must be in the same namespace as the resource. This fixes a potential confused deputy vulnerability where the operator could be exploited to exfiltrate secrets from other namespaces.
v0.36.0 - 2026-03-05¶
KafkaTopic: continuous reconciliation now automatically re-creates topics that are deleted directly in Aiven (outside Kubernetes).- Add
ServiceIntegrationfielddestinationEndpointRef, typeobject: Destination endpoint reference for the integration (if any). - Fix service resources: resolve deadlock when deleting a service whose
terminationProtectionwas set tofalseshortly before deletion - Add
ClickhousefielduserConfig.clickhouse_version, typestring: Available versions:25.3. Newer versions may also be available. ClickHouse major version - Add
ClickhousefielduserConfig.tiered_storage_move_factor, typenumber: The percentage of free disk space required on local storage before data is moved to object storage - Change
GrafanafielduserConfig.smtp_server.from_address: maxLength→319254, pattern^[A-Za-z0-9_\-\.+\'&]+@(([\da-zA-Z])([_\w-]{,62})\.){,127}(([\da-zA-Z])[_\w-]{,61})?([\da-zA-Z]\.((xn\-\-[a-zA-Z\d]+)|([a-zA-Z\d]{2,})))$ - Add
KafkaConnectfielduserConfig.gcp_auth_allowed_urls, typearray: Allow-list of HTTPS URLs used to validate GCP credential_source requests for Kafka Connect - Add
KafkafielduserConfig.enable_ipv6, typeboolean: Register AAAA DNS records for the service, and allow IPv6 packets to service ports - Add
KafkafielduserConfig.gcp_auth_allowed_urls, typearray: Allow-list of HTTPS URLs used to validate GCP credential_source requests for Kafka Connect - Add
OpenSearchfielduserConfig.opensearch_dashboards.session_keepalive, typeboolean: Determines whether the session TTL resets (is “kept alive”) on each user activity. Optional - Add
OpenSearchfielduserConfig.opensearch_dashboards.session_ttl, typestring: Defines the time-to-live (TTL) for user sessions. The value should be a time value with unit, e.g - Change
OpenSearchfielduserConfig.opensearch.cluster.remote_store.state.global_metadata.upload_timeout: pattern→\d+(?:d|h|m|s|ms|micros|nanos)^\d+\s*(?:[dhms]|ms|micros|nanos)$ - Change
OpenSearchfielduserConfig.opensearch.cluster.remote_store.state.metadata_manifest.upload_timeout: pattern→\d+(?:d|h|m|s|ms|micros|nanos)^\d+\s*(?:[dhms]|ms|micros|nanos)$ - Change
OpenSearchfielduserConfig.opensearch.cluster.remote_store.translog.buffer_interval: pattern→\d+(?:d|h|m|s|ms|micros|nanos)^\d+\s*(?:[dhms]|ms|micros|nanos)$ - Change
OpenSearchfielduserConfig.opensearch.search.insights.top_queries.cpu.window_size: pattern→^(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?)(,(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?))*[,]?$^\d+\s*(?:[dhms]|ms|micros|nanos)$ - Change
OpenSearchfielduserConfig.opensearch.search.insights.top_queries.latency.window_size: pattern→^(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?)(,(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?))*[,]?$^\d+\s*(?:[dhms]|ms|micros|nanos)$ - Change
OpenSearchfielduserConfig.opensearch.search.insights.top_queries.memory.window_size: pattern→^(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?)(,(\*?[a-z0-9._-]*\*?|-\*?[a-z0-9._-]*\*?))*[,]?$^\d+\s*(?:[dhms]|ms|micros|nanos)$ - Change
ServiceIntegrationEndpointfielddatadog.site: enum addap2.datadoghq.com - Change
ValkeyfielduserConfig.valkey_pubsub_client_output_buffer_limit: maximum→512262144
v0.35.0 - 2026-01-20¶
- Upgraded controller-runtime to v0.16.6: This version supports Kubernetes v0.28 and requires Go 1.20+. See compatibility matrix for details.
- Change
MySQLfielduserConfig.binlog_retention_period: maximum→6048009007199254740991 - Add
MySQLfielduserConfig.migration.dump_tool, typestring: Experimental! Tool to use for database dump and restore during migration. Default: mysqldump - Remove
Rediskind and controller from the operator: useValkeyinstead for caching services, since Redis has reached end of life (EOL) - Add
KafkaConnectfielduserConfig.sasl_oauthbearer_allowed_urls, typearray: List of allowed URLs for SASL OAUTHBEARER authentication - Add
KafkafielduserConfig.letsencrypt_sasl, typeboolean: Use a Let's Encrypt certificate authority (CA) for Kafka SASL authentication. (Default: False) - Add
KafkafielduserConfig.sasl_oauthbearer_allowed_urls, typearray: List of allowed URLs for SASL OAUTHBEARER authentication - Add
PostgreSQLfielduserConfig.enable_ha_replica_dns, typeboolean: Creates a dedicated read-only DNS that automatically falls back to the primary if standby nodes are unavailable - Add
OpenSearchfielduserConfig.opensearch.ml_commons_model_access_control_enabled, typeboolean: Enable or disable model access control for ML Commons - Add
OpenSearchfielduserConfig.opensearch.ml_commons_native_memory_threshold, typeinteger: Native memory threshold percentage for ML Commons - Add
OpenSearchfielduserConfig.opensearch.ml_commons_only_run_on_ml_node, typeboolean: Enable or disable running ML Commons tasks only on ML nodes - Add
MySQLfielduserConfig.migration.reestablish_replication, typeboolean: Skip dump-restore part and start replication - Change
ValkeyfielduserConfig.valkey_io_threads: maximum→32256 - Add
KafkafielduserConfig.backup_interval_hours, typeinteger: Interval in hours between automatic backups. Minimum value is 3 hours - Add
KafkafielduserConfig.backup_retention_days, typeinteger: Number of days to retain automatic backups - Change
KafkafielduserConfig.kafka_diskless.enabled: immutabletrue - Add
PostgreSQLfielduserConfig.backup_interval_hours, typeinteger: Interval in hours between automatic backups. Minimum value is 3 hours - Add
PostgreSQLfielduserConfig.backup_retention_days, typeinteger: Number of days to retain automatic backups
v0.34.0 - 2025-10-21¶
- Change service version fields: removed enum validation from
userConfig(affectsAlloyDBOmni.userConfig.alloydbomni_version,AlloyDBOmni.userConfig.pg_version,Cassandra.userConfig.cassandra_version,Flink.userConfig.flink_version,MySQL.userConfig.mysql_version,OpenSearch.userConfig.opensearch_version,Redis.userConfig.redis_version,PostgreSQL.userConfig.pg_version,Kafka.userConfig.kafka_version) - Change
ServiceIntegration: operator now adopts existing integrations instead of failing with conflict - Fix
PostgreSQL: added retry logic for errors during upgrade task - Add
AlloyDBOmnifielduserConfig.node_count, typeinteger: Number of nodes for the service - Add
KafkafielduserConfig.kafka_diskless, typeobject: Kafka Diskless configuration values - Change
MySQLfielduserConfig.mysql.innodb_log_buffer_size: maximum→42949672954294967296 - Add
OpenSearchfielduserConfig.jwt, typeobject: OpenSearch JWT Configuration - Change
OpenSearchfielduserConfig.opensearch.knn_memory_circuit_breaker_limit: minimum→30 - Add
PostgreSQLfielduserConfig.node_count, typeinteger: Number of nodes for the service - Add
PostgreSQLfielduserConfig.pg.io_combine_limit, typeinteger: EXPERIMENTAL: Controls the largest I/O size in operations that combine I/O in 8kB units - Add
PostgreSQLfielduserConfig.pg.io_max_combine_limit, typeinteger: EXPERIMENTAL: Controls the largest I/O size in operations that combine I/O in 8kB units, and silently limits the user-settable parameter io_combine_limit - Add
PostgreSQLfielduserConfig.pg.io_max_concurrency, typeinteger: EXPERIMENTAL: Controls the maximum number of I/O operations that one process can execute simultaneously - Add
PostgreSQLfielduserConfig.pg.io_method, typestring: EXPERIMENTAL: Controls the maximum number of I/O operations that one process can execute simultaneously - Add
PostgreSQLfielduserConfig.pg.io_workers, typeinteger: EXPERIMENTAL: Number of IO worker processes, for io_method=worker. Version 18 and up only - Change
PostgreSQLfielduserConfig.pg.max_connections: maximum60000 - Remove
OpenSearchfielduserConfig.custom_keystores, typearray: the field has invalid schema definition - Add
KafkaTopicfieldconfig.diskless_enable, typeboolean: Indicates whether diskless should be enabled - Remove
KafkaTopicfieldconfig.inkless_enable, typeboolean: Indicates whether inkless should be enabled - Remove
Rediskind and controller from the operator: useValkeyinstead for caching services
v0.33.1 - 2025-10-08¶
- Fix
PostgreSQL: resolved panic during upgrade check task fails
v0.33.0 - 2025-09-30¶
- DEPRECATION:
AlloyDBOmniis deprecated and entering its end-of-life cycle. See https://aiven.io/docs/platform/reference/end-of-life for details - Add
KafkafielduserConfig.kafka.log_message_timestamp_after_max_ms, typeinteger: The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message - Add
KafkafielduserConfig.kafka.log_message_timestamp_before_max_ms, typeinteger: The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message - Add
OpenSearchfielduserConfig.custom_keystores, typearray: Allow to register custom keystores in OpenSearch - Change
OpenSearchfielduserConfig.opensearch_version: enum add2.19
v0.32.0 - 2025-09-04¶
- BREAKING CHANGE: Removed unprefixed keys from ServiceUser secrets to resolve environment variable collisions. Previously ServiceUser secrets contained both prefixed keys (e.g.,
SERVICEUSER_HOST,SERVICEUSER_PASSWORD) and unprefixed keys (e.g.,HOST,PASSWORD). The unprefixed keys have been removed. - Important: Status conditions
Create,UpdateandCreateOrUpdate(all cases) have been consolidated intoCreatedOrUpdateddue to limitations in reliably determining operation type - Added secret watcher controller to automatically update resources when their
connInfoSecretSourcesecrets change - Fix
ServiceUser: retry API calls when password is not received in response - Add
AlloyDBOmnifielduserConfig.pg.max_sync_workers_per_subscription, typeinteger: Maximum number of synchronization workers per subscription. The default is2 - Change
AlloyDBOmnifielduserConfig.pg.max_logical_replication_workers: maximum→64256 - Change
AlloyDBOmnifielduserConfig.pg.max_replication_slots: maximum→64256 - Change
AlloyDBOmnifielduserConfig.pg.max_worker_processes: maximum→96288 - Add
MySQLfielduserConfig.mysql_incremental_backup, typeobject: MySQL incremental backup configuration - Add
PostgreSQLfielduserConfig.pg.max_connections, typeinteger: Sets the PostgreSQL maximum number of concurrent connections to the database server - Add
PostgreSQLfielduserConfig.pg.max_sync_workers_per_subscription, typeinteger: Maximum number of synchronization workers per subscription. The default is2 - Change
PostgreSQLfielduserConfig.pg.max_logical_replication_workers: maximum→64256 - Change
PostgreSQLfielduserConfig.pg.max_replication_slots: maximum→64256 - Change
PostgreSQLfielduserConfig.pg.max_worker_processes: maximum→96288 - Change
ServiceIntegrationEndpointfieldprometheus.basic_auth_password: maxLength→64256 - Change
MySQLfielduserConfig.binlog_retention_period: maximum→86400604800
v0.31.0 - 2025-07-25¶
KafkaTopic: added concurrent reconcilers and optimized API calls- Upgraded HPA from deprecated
autoscaling/v2beta1to stableautoscaling/v2API - Added
ServiceUserfieldconnInfoSecretSource: Allows reading passwords from existing secrets for credential management. Supports setting passwords for new users and existing users - Change
AlloyDBOmnifielduserConfig.pg.max_wal_senders: maximum→64256 - Add
KafkafielduserConfig.single_zone.availability_zone, typestring: The availability zone to use for the service. This is only used when enabled is set to true - Change
PostgreSQLfielduserConfig.pg.max_wal_senders: maximum→64256 - Add
ClickhouseUserfieldconnInfoSecretSource: Allows reading passwords from existing secrets for credential management. Supports setting passwords for new users and existing users
v0.30.0 - 2025-07-03¶
- Added
poweredfield (default:true) to control service power state. Whenfalse, the service is powered off. Note: Kafka services without backups will lose topic data on power off. See field description for more information. - Completely replace the old go client with the new one, which is generated from the OpenAPI spec
- Change
PostgreSQLfielduserConfig.pg_version: enum remove12 - Add
KafkaTopicfieldconfig.inkless_enable, typeboolean: Indicates whether inkless should be enabled - Add
KafkaTopicfieldconfig.unclean_leader_election_enable, typeboolean: Indicates whether to enable replicas not in the ISR set to be elected as leader as a last resort, even though doing so may result in data loss - Refactor
KafkaTopic: replace HTTP client with code-generated one to improve maintainability and type safety - Add kind:
KafkaNativeACL. Creates and manages Kafka-native access control lists (ACLs) for an Aiven for Apache Kafka® service. - Add key
OPENSEARCH_URItoOpenSearchservice secrets: Contains the OpenSearch service URI. - Change
KafkaSchemafieldsschemaTypeandsubjectNameto be immutable since these fields cannot be modified after creation in the Kafka Schema Registry API - Improve
KafkaSchemacontroller: optimize polling and add better error handling - Improve
KafkaTopic: better handle API 5xx errors. - Improve
KafkaConnector: better handle API 404 and 5xx errors. - Fix webhooks
containerPortconfiguration not being properly applied in deployment template - Change
AlloyDBOmni,Cassandra,Clickhouse,Flink,Grafana,KafkaConnect,Kafka,MySQL,OpenSearch,PostgreSQL,Redis,ValkeyfielduserConfig.ip_filter: maxItems→20488000 - Add
ClickhousefielduserConfig.enable_ipv6, typeboolean: Register AAAA DNS records for the service, and allow IPv6 packets to service ports - Add
OpenSearchfielduserConfig.opensearch.cluster.filecache.remote_data_ratio, typenumber: Defines a limit of how much total remote data can be referenced as a ratio of the size of the disk reserved for the file cache - Add
OpenSearchfielduserConfig.opensearch.cluster.remote_store, typeobject: no description - Add
OpenSearchfielduserConfig.opensearch.enable_snapshot_api, typeboolean: Enable/Disable snapshot API for custom repositories, this requires security management to be enabled - Add
OpenSearchfielduserConfig.opensearch.node.search.cache.size, typestring: Defines a limit of how much total remote data can be referenced as a ratio of the size of the disk reserved for the file cache - Add
OpenSearchfielduserConfig.opensearch.remote_store, typeobject: no description
v0.29.0 - 2025-04-29¶
- Added retry logic to the
ServiceIntegrationcontroller - Made
ConnectionPoolusername field optional, allowing connection pools to use the credentials of the connecting client instead of a fixed service user - Add
KafkafielduserConfig.kafka_rest_config.consumer_idle_disconnect_timeout, typeinteger: Specifies the maximum duration (in seconds) a client can remain idle before it is deleted - Change
ServiceIntegrationfieldclickhouseKafka.tables: maxItems→100400 - Add
ValkeyfielduserConfig.enable_ipv6, typeboolean: Register AAAA DNS records for the service, and allow IPv6 packets to service ports - Add
ValkeyfielduserConfig.valkey_active_expire_effort, typeinteger: Valkey reclaims expired keys both when accessed and in the background - Add
OpenSearchfielduserConfig.azure_migration.readonly, typeboolean: Whether the repository is read-only - Add
OpenSearchfielduserConfig.gcs_migration.readonly, typeboolean: Whether the repository is read-only - Add
OpenSearchfielduserConfig.opensearch.disk_watermarks, typeobject: Watermark settings - Add
OpenSearchfielduserConfig.s3_migration.readonly, typeboolean: Whether the repository is read-only - Add
AlloyDBOmnifielduserConfig.pgaudit, typeobject: System-wide settings for the pgaudit extension - Add
ClickhousefielduserConfig.backup_hour, typeinteger: The hour of day (in UTC) when backup for the service is started - Add
ClickhousefielduserConfig.backup_minute, typeinteger: The minute of an hour when backup for the service is started - Add
KafkafielduserConfig.kafka_connect_plugin_versions, typearray: The plugin selected by the user - Change
KafkafielduserConfig.kafka_version: enum add3.9 - Add
OpenSearchfielduserConfig.opensearch.enable_searchable_snapshots, typeboolean: Enable searchable snapshots - Change
PostgreSQLfielduserConfig.pgaudit.log_level: enum adddebug1,debug2,debug3,debug4,debug5,info,log,notice
v0.28.0 - 2025-02-17¶
- Add kind:
AlloyDBOmni - Deprecate
Redis: useValkeyinstead. Please follow these instructions to upgrade your service to Valkey - Deprecate
Cassandra, see Aiven platform end-of-life policy. - Change
CassandrafielduserConfig.ip_filter: maxItems→10242048 - Change
ClickhousefielduserConfig.ip_filter: maxItems→10242048 - Change
FlinkfielduserConfig.custom_code: immutabletrue - Change
FlinkfielduserConfig.ip_filter: maxItems→10242048 - Add
GrafanafielduserConfig.dashboard_scenes_enabled, typeboolean: Enable use of the Grafana Scenes Library as the dashboard engine. i.e - Change
GrafanafielduserConfig.ip_filter: maxItems→10242048 - Add
KafkaConnectfielduserConfig.plugin_versions, typearray: The plugin selected by the user - Change
KafkaConnectfielduserConfig.ip_filter: maxItems→10242048 - Change
KafkafielduserConfig.ip_filter: maxItems→10242048 - Change
MySQLfielduserConfig.ip_filter: maxItems→10242048 - Add
OpenSearchfielduserConfig.opensearch.cluster.search.request.slowlog, typeobject - Add
OpenSearchfielduserConfig.opensearch.enable_remote_backed_storage, typeboolean: Enable remote-backed storage - Change
OpenSearchfielduserConfig.ip_filter: maxItems→10242048 - Change
PostgreSQLfielduserConfig.ip_filter: maxItems→10242048 - Change
RedisfielduserConfig.ip_filter: maxItems→10242048 - Change
ServiceIntegrationfieldlogs.elasticsearch_index_prefix: pattern^[a-z0-9][a-z0-9-_.]+$ - Change
ValkeyfielduserConfig.ip_filter: maxItems→10242048 - Add
ValkeyfielduserConfig.frequent_snapshots, typeboolean: When enabled, Valkey will create frequent local RDB snapshots - Change
OpenSearchfielduserConfig.opensearch.auth_failure_listeners.internal_authentication_backend_limiting.allowed_tries: maximum→214748364732767 - Change
OpenSearchfielduserConfig.opensearch.auth_failure_listeners.ip_rate_limiting: deprecated - Add
DatabasefielddatabaseNametypestring: DatabaseName is the name of the database to be created.
v0.27.0 - 2025-01-16¶
- Add
ServiceIntegrationEndpointfielddatadog.extra_tags_prefix, typestring: Extra tags prefix. Defaults to aiven - Change
FlinkfielduserConfig.flink_version: enum add1.20 - Add
OpenSearchfielduserConfig.opensearch_dashboards.multiple_data_source_enabled, typeboolean: Enable or disable multiple data sources in OpenSearch Dashboards - Change
OpenSearchfielduserConfig.opensearch_dashboards.max_old_space_size: maximum→20484096 - Change
PostgreSQLfielduserConfig.pg_version: enum add17 - Add
PostgreSQLfielduserConfig.pg.password_encryption, typestring: Chooses the algorithm for encrypting passwords - Add
OpenSearchfielduserConfig.opensearch.cluster.routing.allocation.balance.prefer_primary, typeboolean: When set to true, OpenSearch attempts to evenly distribute the primary shards between the cluster nodes - Add
OpenSearchfielduserConfig.opensearch.segrep, typeobject: Segment Replication Backpressure Settings - Add
FlinkfielduserConfig.custom_code, typeboolean: Enable to upload Custom JARs for Flink applications - Add kind:
Valkey
v0.26.0 - 2024-11-21¶
- Add kind:
Flink - Add
ClickhousefielduserConfig.recovery_basebackup_name, typestring: Name of the basebackup to restore in forked service - Add
GrafanafielduserConfig.auth_generic_oauth.use_refresh_token, typeboolean: Set to true to use refresh token and check access token expiration - Add
KafkafielduserConfig.schema_registry_config.retriable_errors_silenced, typeboolean: 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
KafkafielduserConfig.schema_registry_config.schema_reader_strict_mode, typeboolean: If enabled, causes the Karapace schema-registry service to shutdown when there are invalid schema records in the_schemastopic - Add
KafkafielduserConfig.single_zone, typeobject: Single-zone configuration - Change
KafkafielduserConfig.kafka_version: enum remove3.5,3.6 - Add
MySQLfielduserConfig.mysql.log_output, typestring: The slow log output destination when slow_query_log is ON - Add
OpenSearchfielduserConfig.azure_migration.indices, typestring: A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported - Add
OpenSearchfielduserConfig.gcs_migration.indices, typestring: A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported - Add
OpenSearchfielduserConfig.s3_migration.indices, typestring: A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported - Change
PostgreSQLfielduserConfig.additional_backup_regions: deprecated - Add
OpenSearchfielduserConfig.azure_migration.restore_global_state, typeboolean: If true, restore the cluster state. Defaults to false - Add
OpenSearchfielduserConfig.gcs_migration.restore_global_state, typeboolean: If true, restore the cluster state. Defaults to false - Add
OpenSearchfielduserConfig.opensearch.search_backpressure, typeobject: Search Backpressure Settings - Add
OpenSearchfielduserConfig.opensearch.shard_indexing_pressure, typeobject: Shard indexing back pressure settings - Add
OpenSearchfielduserConfig.s3_migration.restore_global_state, typeboolean: If true, restore the cluster state. Defaults to false - Change
RedisfielduserConfig.redis_timeout: maximum→315360002073600 - Add
OpenSearchfielduserConfig.azure_migration.include_aliases, typeboolean: Whether to restore aliases alongside their associated indexes. Default is true - Add
OpenSearchfielduserConfig.gcs_migration.include_aliases, typeboolean: Whether to restore aliases alongside their associated indexes. Default is true - Add
OpenSearchfielduserConfig.s3_migration.include_aliases, typeboolean: Whether to restore aliases alongside their associated indexes. Default is true - Add
ServiceIntegrationfieldautoscaler, typeobject: Autoscaler specific user configuration options - Add
ServiceIntegrationEndpointfieldautoscaler, typeobject: Autoscaler configuration values - Change
GrafanafielduserConfig.alerting_enabled: deprecated - Change
OpenSearchfielduserConfig.opensearch.auth_failure_listeners.internal_authentication_backend_limiting.allowed_tries: minimum→01 - Change
OpenSearchfielduserConfig.opensearch.auth_failure_listeners.ip_rate_limiting.block_expiry_seconds: minimum→10 - Change
OpenSearchfielduserConfig.opensearch.auth_failure_listeners.ip_rate_limiting.time_window_seconds: minimum→10 - Change
CassandrafielduserConfig.cassandra_version: enum remove4 - Change
PostgreSQLfielduserConfig.pg_version: enum remove12 - Add
OpenSearchfielduserConfig.opensearch.search.insights.top_queries, typeobject
v0.25.0 - 2024-09-19¶
- Fix
KafkaTopic: fails to create a topic with the replication factor set more than running Kafka nodes - Fix
ServiceIntegration: sends empty source and destination projects - Fix
KafkaSchema: poll resource availability - Add
KafkaSchemafieldschemaType, typestring: Schema type - Add
KafkafielduserConfig.follower_fetching, typeobject: Enable follower fetching - Add
KafkafielduserConfig.kafka_sasl_mechanisms, typeobject: Kafka SASL mechanisms - Change
KafkafielduserConfig.kafka.sasl_oauthbearer_sub_claim_name: pattern→^[^\r\n]*$^[^\r\n]*\S[^\r\n]*$ - Add
MySQLfielduserConfig.migration.ignore_roles, typestring: Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment) - Add
PostgreSQLfielduserConfig.migration.ignore_roles, typestring: Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment) - Add
PostgreSQLfielduserConfig.pgbouncer.max_prepared_statements, typeinteger: PgBouncer tracks protocol-level named prepared statements related commands sent by the client in transaction and statement pooling modes when max_prepared_statements is set to a non-zero value - Add
RedisfielduserConfig.migration.ignore_roles, typestring: Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment) - Add
RedisfielduserConfig.backup_hour, typeinteger: The hour of day (in UTC) when backup for the service is started - Add
RedisfielduserConfig.backup_minute, typeinteger: The minute of an hour when backup for the service is started - Add
GrafanafielduserConfig.wal, typeboolean: Setting to enable/disable Write-Ahead Logging. The default value is false (disabled) - Add
OpenSearchfielduserConfig.azure_migration, typeobject: Azure migration settings - Add
OpenSearchfielduserConfig.gcs_migration, typeobject: Google Cloud Storage migration settings - Add
OpenSearchfielduserConfig.index_rollup, typeobject: Index rollup settings - Add
OpenSearchfielduserConfig.s3_migration, typeobject: AWS S3 / AWS S3 compatible migration settings - Change
OpenSearchfielduserConfig.openid.connect_url: pattern^[^\r\n]*$ - Change
OpenSearchfielduserConfig.opensearch.script_max_compilations_rate: pattern^[^\r\n]*$ - Change
OpenSearchfielduserConfig.saml.idp_metadata_url: pattern^[^\r\n]*$
v0.24.0 - 2024-07-16¶
- Fix
PostgreSQL: wait for a valid backup to create read replica - Fix
ClickhouseGrant: grant privileges for an unknown table (Clickhouse can do that) - Fix
ClickhouseGrant: track the state to revoke only known privileges - Add
CassandrafielduserConfig.cassandra.read_request_timeout_in_ms, typeinteger: How long the coordinator waits for read operations to complete before timing it out - Add
CassandrafielduserConfig.cassandra.write_request_timeout_in_ms, typeinteger: How long the coordinator waits for write requests to complete with at least one node in the local datacenter - Add
OpenSearchfielduserConfig.opensearch.knn_memory_circuit_breaker_enabled, typeboolean: Enable or disable KNN memory circuit breaker. Defaults to true - Add
OpenSearchfielduserConfig.opensearch.knn_memory_circuit_breaker_limit, typeinteger: Maximum amount of memory that can be used for KNN index. Defaults to 50% of the JVM heap size - Change
PostgreSQLfielduserConfig.pg.log_line_prefix: enum→['%m [%p] %q[user=%u,db=%d,app=%a] ', '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h ', 'pid=%p,user=%u,db=%d,app=%a,client=%h ']['%m [%p] %q[user=%u,db=%d,app=%a] ', '%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h ', 'pid=%p,user=%u,db=%d,app=%a,client=%h ', 'pid=%p,user=%u,db=%d,app=%a,client=%h,txid=%x,qid=%Q ']
v0.23.0 - 2024-07-12¶
- Ignore
http.StatusBadRequestonClickhouseGrantdeletion - Retry conflict error when k8s object saved to the storage
- Fix
ClickhouseGrantinvalid remote and local privileges comparison - Fix
ClickhouseGrant: doesn't escape role name to grant - Fix
ClickhouseUser: password was reset due to an incorrect processing cycle
v0.22.0 - 2024-07-02¶
- Ignore
ClickhouseRoledeletion error (missing database) - Ignore
ClickhouseGrantdeletion errors (missing database, service, role) - Do not block service operations in
REBALANCINGstate
v0.21.0 - 2024-06-25¶
- Add kind:
ClickhouseGrant - Add
KafkaConnectfielduserConfig.secret_providers, typearray: Configure external secret providers in order to reference external secrets in connector configuration - Add
KafkafielduserConfig.kafka_connect_secret_providers, typearray: Configure external secret providers in order to reference external secrets in connector configuration - Add
KafkafielduserConfig.letsencrypt_sasl_privatelink, typeboolean: Use Letsencrypt CA for Kafka SASL via Privatelink - Add
ServiceIntegrationfielddatadog.mirrormaker_custom_metrics, typearray: List of custom metrics - Add
ServiceIntegrationfieldkafkaMirrormaker.kafka_mirrormaker.consumer_auto_offset_reset, typestring: Set where consumer starts to consume data - Add
ServiceIntegrationfieldkafkaMirrormaker.kafka_mirrormaker.consumer_max_poll_records, typeinteger: Set consumer max.poll.records. The default is 500 - Change
PostgreSQLfielduserConfig.pgaudit: deprecated - Breaking change
ServiceIntegrationEndpointfieldexternalPostgresql.ssl_mode: enum→[allow, disable, prefer, require, verify-ca, verify-full][require, verify-ca, verify-full]
v0.20.0 - 2024-06-05¶
- Add kind:
ServiceIntegrationEndpoint - Add
ServiceIntegrationflink_external_postgresqltype - Add
ServiceIntegrationfielddatadog.datadog_pgbouncer_enabled, typeboolean: Enable Datadog PgBouncer Metric Tracking - Fix
ServiceIntegrationdeletion when instance has no id set - Fix service types
disk_spacefield validation - Fix resources
project,serviceNamefields validation - Fix
ConnectionPooldoesn't check service user precondition - Remove
CA_CERTsecret key forGrafana,OpenSearch,Redis, andClickhouse. Can't be used with these service types ddog-gov.com, us3.datadoghq.com, us5.datadoghq.com]` - Change
ServiceIntegrationEndpointfieldexternalKafka.ssl_endpoint_identification_algorithm: enum→[, https][https] - Remove
ClickhouseUserwebhook. Doesn't do any validation or mutation - Change
KafkafielduserConfig.kafka_version: enum→[3.4, 3.5, 3.6][3.4, 3.5, 3.6, 3.7] - Change
ServiceIntegrationEndpointfielddatadog.site: enum→ `[ap1.datadoghq.com, datadoghq.com, datadoghq.eu,[datadoghq.com, datadoghq.eu, ddog-gov.com, us3.datadoghq.com, us5.datadoghq.com] - Move immutable fields validation from webhooks to CRD validation rules
v0.19.0 - 2024-04-18¶
- Add kind:
ClickhouseRole - Unified User-Agent format with the Terraform Provider
- Unify cluster role permissions
- Add missing role permissions to
KafkaACL
v0.18.1 - 2024-04-02¶
- Add
KafkaSchemaRegistryACLkind - Add
ClickhouseDatabasekind - Fix secret creation for kinds with no secrets
- Include the Kubernetes version in the Go client's user agent
- Replace
Databasekind validations and default values with CRD validation rules - Perform upgrade tasks to check if PG service can be upgraded before updating the service
- Expose project CA certificate to service secrets:
REDIS_CA_CERT,MYSQL_CA_CERT, etc. - Add
KafkaTopicfieldconfig.local_retention_bytes, typeinteger: local.retention.bytes value - Add
KafkaTopicfieldconfig.local_retention_ms, typeinteger: local.retention.ms value - Add
KafkaTopicfieldconfig.remote_storage_enable, typeboolean: remote_storage_enable - Change
CassandrafielduserConfig.cassandra_version: pattern^[0-9]+(\.[0-9]+)?$ - Change
CassandrafielduserConfig.project_to_fork_from: pattern^[a-z][-a-z0-9]{0,63}$|^$ - Change
CassandrafielduserConfig.service_to_fork_from: pattern^[a-z][-a-z0-9]{0,63}$|^$ - Change
CassandrafielduserConfig.service_to_join_with: pattern^[a-z][-a-z0-9]{0,63}$ - Change
ClickhousefielduserConfig.project_to_fork_from: pattern^[a-z][-a-z0-9]{0,63}$|^$ - Change
ClickhousefielduserConfig.service_to_fork_from: pattern^[a-z][-a-z0-9]{0,63}$|^$ - Change
GrafanafielduserConfig.project_to_fork_from: pattern^[a-z][-a-z0-9]{0,63}$|^$ - Change
GrafanafielduserConfig.service_to_fork_from: pattern^[a-z][-a-z0-9]{0,63}$|^$ - Change
KafkafielduserConfig.kafka.sasl_oauthbearer_expected_audience: pattern^[^\r\n]*$ - Change
KafkafielduserConfig.kafka.sasl_oauthbearer_expected_issuer: pattern^[^\r\n]*$ - Change
KafkafielduserConfig.kafka.sasl_oauthbearer_sub_claim_name: pattern^[^\r\n]*$ - Change
MySQLfielduserConfig.mysql.default_time_zone: pattern^([-+][\d:]*|[\w/]*)$ - Change
MySQLfielduserConfig.project_to_fork_from: pattern^[a-z][-a-z0-9]{0,63}$|^$ - Change
MySQLfielduserConfig.service_to_fork_from: pattern^[a-z][-a-z0-9]{0,63}$|^$ - Change
OpenSearchfielduserConfig.openid.client_id: pattern^[^\r\n]*$ - Change
OpenSearchfielduserConfig.openid.client_secret: pattern^[^\r\n]*$ - Change
OpenSearchfielduserConfig.openid.header: pattern^[^\r\n]*$ - Change
OpenSearchfielduserConfig.openid.jwt_header: pattern^[^\r\n]*$ - Change
OpenSearchfielduserConfig.openid.jwt_url_parameter: pattern^[^\r\n]*$ - Change
OpenSearchfielduserConfig.openid.roles_key: pattern^[^\r\n]*$ - Change
OpenSearchfielduserConfig.openid.scope: pattern^[^\r\n]*$ - Change
OpenSearchfielduserConfig.openid.subject_key: pattern^[^\r\n]*$ - Change
OpenSearchfielduserConfig.project_to_fork_from: pattern^[a-z][-a-z0-9]{0,63}$|^$ - Change
OpenSearchfielduserConfig.saml.idp_entity_id: pattern^[^\r\n]*$ - Change
OpenSearchfielduserConfig.saml.roles_key: pattern^[^\r\n]*$ - Change
OpenSearchfielduserConfig.saml.sp_entity_id: pattern^[^\r\n]*$ - Change
OpenSearchfielduserConfig.saml.subject_key: pattern^[^\r\n]*$ - Change
OpenSearchfielduserConfig.service_to_fork_from: pattern^[a-z][-a-z0-9]{0,63}$|^$ - Change
PostgreSQLfielduserConfig.pg.timezone: pattern^[\w/]*$ - Change
PostgreSQLfielduserConfig.pg_service_to_fork_from: pattern^[a-z][-a-z0-9]{0,63}$|^$ - Change
PostgreSQLfielduserConfig.project_to_fork_from: pattern^[a-z][-a-z0-9]{0,63}$|^$ - Change
PostgreSQLfielduserConfig.service_to_fork_from: pattern^[a-z][-a-z0-9]{0,63}$|^$ - Change
RedisfielduserConfig.project_to_fork_from: pattern^[a-z][-a-z0-9]{0,63}$|^$ - Change
RedisfielduserConfig.service_to_fork_from: pattern^[a-z][-a-z0-9]{0,63}$|^$ - Add
OpenSearchfielduserConfig.opensearch.plugins_alerting_filter_by_backend_roles, typeboolean: Enable or disable filtering of alerting by backend roles. Requires Security plugin - Change
RedisfielduserConfig.redis_notify_keyspace_events: pattern→^[KEg\$lshzxeA]*$^[KEg\$lshzxentdmA]*$ - Add
PostgreSQLfielduserConfig.pgaudit, typeobject: System-wide settings for the pgaudit extension - Add
ServiceIntegrationfielddatadog.opensearch.cluster_stats_enabled, typeboolean: Enable Datadog Opensearch Cluster Monitoring
v0.17.0 - 2024-02-01¶
- Bump k8s deps to 1.26.13
- Add
OpenSearchfielduserConfig.opensearch.enable_security_audit, typeboolean: Enable/Disable security audit - Add
KafkafielduserConfig.kafka_rest_config.name_strategy, typestring: Name strategy to use when selecting subject for storing schemas - Add
RedisfielduserConfig.redis_version, typestring: Redis major version - Add
GrafanafielduserConfig.auth_github.auto_login, typeboolean: Allow users to bypass the login screen and automatically log in - Add
GrafanafielduserConfig.auth_github.skip_org_role_sync, typeboolean: Stop automatically syncing user roles - Change
ClickhousefielduserConfig.additional_backup_regions: deprecated - Change
GrafanafielduserConfig.additional_backup_regions: deprecated - Change
KafkaConnectfielduserConfig.additional_backup_regions: deprecated - Change
KafkafielduserConfig.additional_backup_regions: deprecated - Change
OpenSearchfielduserConfig.additional_backup_regions: deprecated - Change
RedisfielduserConfig.additional_backup_regions: deprecated - Change
CassandrafielduserConfig.cassandra_version: enum→[3, 4, 4.1][4, 4.1] - Change
KafkafielduserConfig.kafka_version: enum→[3.1, 3.3, 3.4, 3.5, 3.6][3.4, 3.5, 3.6] - Change
PostgreSQLfielduserConfig.pg_version: enum→[11, 12, 13, 14, 15, 16][12, 13, 14, 15, 16] - Add
CassandrafieldtechnicalEmails, typearray: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability - Add
ClickhousefieldtechnicalEmails, typearray: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability - Add
GrafanafieldtechnicalEmails, typearray: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability - Add
KafkaConnectfieldtechnicalEmails, typearray: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability - Add
KafkafieldtechnicalEmails, typearray: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability - Add
MySQLfieldtechnicalEmails, typearray: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability - Add
OpenSearchfieldtechnicalEmails, typearray: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability - Add
PostgreSQLfieldtechnicalEmails, typearray: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability - Add
RedisfieldtechnicalEmails, typearray: Defines the email addresses that will receive alerts about upcoming maintenance updates or warnings about service instability - Add
CassandrafieldconnInfoSecretTargetDisabled, typeboolean: When true, the secret containing connection information will not be created, defaults to false - Add
ClickhousefieldconnInfoSecretTargetDisabled, typeboolean: When true, the secret containing connection information will not be created, defaults to false - Add
ClickhouseUserfieldconnInfoSecretTargetDisabled, typeboolean: When true, the secret containing connection information will not be created, defaults to false - Add
ConnectionPoolfieldconnInfoSecretTargetDisabled, typeboolean: When true, the secret containing connection information will not be created, defaults to false - Add
GrafanafieldconnInfoSecretTargetDisabled, typeboolean: When true, the secret containing connection information will not be created, defaults to false - Add
KafkafieldconnInfoSecretTargetDisabled, typeboolean: When true, the secret containing connection information will not be created, defaults to false - Add
MySQLfieldconnInfoSecretTargetDisabled, typeboolean: When true, the secret containing connection information will not be created, defaults to false - Add
OpenSearchfieldconnInfoSecretTargetDisabled, typeboolean: When true, the secret containing connection information will not be created, defaults to false - Add
PostgreSQLfieldconnInfoSecretTargetDisabled, typeboolean: When true, the secret containing connection information will not be created, defaults to false - Add
ProjectfieldconnInfoSecretTargetDisabled, typeboolean: When true, the secret containing connection information will not be created, defaults to false - Add
RedisfieldconnInfoSecretTargetDisabled, typeboolean: When true, the secret containing connection information will not be created, defaults to false - Add
ServiceUserfieldconnInfoSecretTargetDisabled, typeboolean: When true, the secret containing connection information will not be created, defaults to false
v0.16.1 - 2023-12-15¶
- Check VPC for running services before deletion. Prevents VPC from hanging in the DELETING state
- Expose
KAFKA_SCHEMA_REGISTRY_URIandKAFKA_REST_URItoKafkasecret - Expose
CONNECTIONPOOL_NAMEinConnectionPoolsecret - Fix
CONNECTIONPOOL_PORTexposes service port instead of pool port - Fix
SERVICEUSER_PORTwhensaslis the only authentication method - Change
PostgreSQLfielduserConfig.pg_qualstats.enabled: deprecated - Change
PostgreSQLfielduserConfig.pg_qualstats.min_err_estimate_num: deprecated - Change
PostgreSQLfielduserConfig.pg_qualstats.min_err_estimate_ratio: deprecated - Change
PostgreSQLfielduserConfig.pg_qualstats.track_constants: deprecated - Change
PostgreSQLfielduserConfig.pg_qualstats.track_pg_catalog: deprecated
v0.16.0 - 2023-12-07¶
- Set conditions on errors:
Preconditions,CreateOrUpdate,Delete. Thanks to @atarax - Fix object updates lost when reconciler exits before the object is committed
- Add
KafkafielduserConfig.kafka.transaction_partition_verification_enable, typeboolean: Enable verification that checks that the partition has been added to the transaction before writing transactional records to the partition - Add
CassandrafielduserConfig.service_log, typeboolean: Store logs for the service so that they are available in the HTTP API and console - Add
ClickhousefielduserConfig.service_log, typeboolean: Store logs for the service so that they are available in the HTTP API and console - Add
GrafanafielduserConfig.service_log, typeboolean: Store logs for the service so that they are available in the HTTP API and console - Add
KafkaConnectfielduserConfig.service_log, typeboolean: Store logs for the service so that they are available in the HTTP API and console - Add
KafkafielduserConfig.kafka_rest_config.name_strategy_validation, typeboolean: If true, validate that given schema is registered under expected subject name by the used name strategy when producing messages - Add
KafkafielduserConfig.service_log, typeboolean: Store logs for the service so that they are available in the HTTP API and console - Add
MySQLfielduserConfig.service_log, typeboolean: Store logs for the service so that they are available in the HTTP API and console - Add
OpenSearchfielduserConfig.service_log, typeboolean: Store logs for the service so that they are available in the HTTP API and console - Add
PostgreSQLfielduserConfig.pg_qualstats, typeobject: System-wide settings for the pg_qualstats extension - Add
PostgreSQLfielduserConfig.service_log, typeboolean: Store logs for the service so that they are available in the HTTP API and console - Add
RedisfielduserConfig.service_log, typeboolean: Store logs for the service so that they are available in the HTTP API and console
v0.15.0 - 2023-11-17¶
- Upgrade to Go 1.21
- Add option to orphan resources. Thanks to @atarax
- Fix
ServiceIntegration: do not send empty user config to the API - Add a format for
stringtype fields to the documentation - Generate CRDs changelog
- Add
ClickhousefielduserConfig.private_access.clickhouse_mysql, typeboolean: Allow clients to connect to clickhouse_mysql with a DNS name that always resolves to the service's private IP addresses - Add
ClickhousefielduserConfig.privatelink_access.clickhouse_mysql, typeboolean: Enable clickhouse_mysql - Add
ClickhousefielduserConfig.public_access.clickhouse_mysql, typeboolean: Allow clients to connect to clickhouse_mysql from the public internet for service nodes that are in a project VPC or another type of private network - Add
GrafanafielduserConfig.unified_alerting_enabled, typeboolean: Enable or disable Grafana unified alerting functionality - Add
KafkafielduserConfig.aiven_kafka_topic_messages, typeboolean: Allow access to read Kafka topic messages in the Aiven Console and REST API - Add
KafkafielduserConfig.kafka.sasl_oauthbearer_expected_audience, typestring: The (optional) comma-delimited setting for the broker to use to verify that the JWT was issued for one of the expected audiences - Add
KafkafielduserConfig.kafka.sasl_oauthbearer_expected_issuer, typestring: Optional setting for the broker to use to verify that the JWT was created by the expected issuer - Add
KafkafielduserConfig.kafka.sasl_oauthbearer_jwks_endpoint_url, typestring: OIDC JWKS endpoint URL. By setting this the SASL SSL OAuth2/OIDC authentication is enabled - Add
KafkafielduserConfig.kafka.sasl_oauthbearer_sub_claim_name, typestring: Name of the scope from which to extract the subject claim from the JWT. Defaults to sub - Change
KafkafielduserConfig.kafka_version: enum→[3.1, 3.3, 3.4, 3.5][3.1, 3.3, 3.4, 3.5, 3.6] - Change
KafkafielduserConfig.tiered_storage.local_cache.size: deprecated - Add
OpenSearchfielduserConfig.opensearch.indices_memory_max_index_buffer_size, typeinteger: Absolute value. Default is unbound. Doesn't work without indices.memory.index_buffer_size - Add
OpenSearchfielduserConfig.opensearch.indices_memory_min_index_buffer_size, typeinteger: Absolute value. Default is 48mb. Doesn't work without indices.memory.index_buffer_size - Change
OpenSearchfielduserConfig.opensearch.auth_failure_listeners.internal_authentication_backend_limiting.authentication_backend: enum[internal] - Change
OpenSearchfielduserConfig.opensearch.auth_failure_listeners.internal_authentication_backend_limiting.type: enum[username] - Change
OpenSearchfielduserConfig.opensearch.auth_failure_listeners.ip_rate_limiting.type: enum[ip] - Change
OpenSearchfielduserConfig.opensearch.search_max_buckets: maximum→655361000000 - Change
ServiceIntegrationfieldkafkaMirrormaker.kafka_mirrormaker.producer_max_request_size: maximum→67108864268435456
v0.14.0 - 2023-09-21¶
- Make
projectVpcIdandprojectVPCRefmutable - Fix panic on
niluser config conversion - Use aiven-go-client with context support
- Deprecate
Cassandrakind optionadditional_backup_regions - Add
Grafanakind optionauto_login - Add
Kafkakind propertieslog_local_retention_bytes,log_local_retention_ms - Remove
Kafkakind optionremote_log_storage_system_enable - Add
OpenSearchkind optionauth_failure_listeners - Add
OpenSearchkind Index State Management options
v0.13.0 - 2023-08-18¶
- Add TieredStorage support to
Kafka - Add
Kafkaversion3.5 - Add
Kafkaspec propertyscheduled_rebalance_max_delay_ms - Mark deprecated
Kafkaspec propertyremote_log_storage_system_enable - Add
KafkaConnectspec propertyscheduled_rebalance_max_delay_ms - Add
OpenSearchspec propertyopenid - Use updated go client with enhanced retries
v0.12.3 - 2023-07-13¶
- Expose
KAFKA_SCHEMA_REGISTRY_HOSTandKAFKA_SCHEMA_REGISTRY_PORTforKafka - Expose
KAFKA_CONNECT_HOST,KAFKA_CONNECT_PORT,KAFKA_REST_HOSTandKAFKA_REST_PORTforKafka. Thanks to @Dariusch
v0.12.2 - 2023-06-20¶
- Make conditions and state optional attributes of service status. Thanks to @mortenlj
- Remove deprecated
unclean_leader_election_enablefromKafkaTopickind config - Expose
KAFKA_SASL_PORTforKafkakind ifSASLauthentication method is enabled - Add
redisoptions to datadogServiceIntegration - Add
Cassandraversion3 - Add
Kafkaversions3.1and3.4 - Add
kafka_rest_config.producer_max_request_sizeoption - Add
kafka_mirrormaker.producer_compression_typeoption
v0.12.0 - 2023-05-10¶
- Fix service tags create/update. Thanks to @mortenlj
- Add prefix name option for secrets. Thanks to @jordiclariana
- Add
clusterRole.createoption to Helm chart. Thanks to @ryaneorth - Use kind name as default prefix for secrets to avoid collisions. Please migrate your applications before legacy names removed
- Fix secrets creation on openshift
- Add
OpenSearch.spec.userConfig.idp_pemtrustedcas_contentoption. Specifies the PEM-encoded root certificate authority (CA) content for the SAML identity provider (IdP) server verification.
v0.11.0 - 2023-04-25¶
- Add
ServiceIntegrationkindSourceProjectNameandDestinationProjectNamefields - Add
ServiceIntegrationfieldsMaxLengthvalidation - Add
ServiceIntegrationvalidation: multiple user configs cannot be set - Fix
ServiceIntegration, should not requiredestinationServiceNameorsourceEndpointIDfield - Fix
ServiceIntegration, add missingexternal_aws_cloudwatch_metricstype config serialization - Update
ServiceIntegrationintegration type list - Add
annotationsandlabelsfields toconnInfoSecretTarget - Allow to disable capabilities check to install webhooks. Thanks to @amstee
- Set
OpenSearch.spec.userConfig.opensearch.search_max_bucketsmaximum to65536
v0.10.0 - 2023-04-17¶
- Mark service
planas a required field - Add
minumim,maximumvalidations fornumbertype - Move helm charts to the operator repository
- Add helm charts generator
- Remove
ip_filterbackward compatibility - Fix deletion errors omitted
- Add service integration
clickhouseKafka.tables.data_format-propertyenumRawBLOBvalue - Update OpenSearch
userConfig.opensearch.email_sender_usernamevalidation pattern - Add Kafka
log_cleaner_min_cleanable_ratiominimum and maximum validation rules - Remove Kafka version
3.2, reached EOL - Remove PostgreSQL version
10, reached EOL - Explicitly delete
ProjectVPCbyIDto avoid conflicts - Speed up
ProjectVPCdeletion by exiting onDELETINGstatus - Fix missing RBAC permissions to update finalizers for various controllers
- Refactor
ClickhouseUsercontroller - Mark
ClickhouseUser.spec.projectandClickhouseUser.spec.serviceNameas immutable - Remove deprecated service integration type
signalfx - Add build version to the Aiven client user-agent
v0.9.0 - 2023-03-03¶
AuthSecretReffields marked as required- Generate user configs for existing service integrations:
datadog,kafka_connect,kafka_logs,metrics - Add new service integrations:
clickhouse_postgresql,clickhouse_kafka,clickhouse_kafka,logs,external_aws_cloudwatch_metrics - Add
KafkaTopic.Spec.topicNamefield. Unlike themetadata.name, supports additional characters and has a longer length.KafkaTopic.Spec.topicNamereplacesmetadata.namein future releases and will be marked as required. - Accept
falsevalue fortermination_protectionproperty - Fix
min_cleanable_dirty_ratio. Thanks to @TV2rd
v0.8.0 - 2023-02-15¶
Important: This release brings breaking changes to the userConfig property.
After new charts are installed, update your existing instances manually using the kubectl edit command
according to the API reference.
Note: It is now recommended to disable webhooks for Kubernetes version 1.25 and higher, as native CRD validation rules are used.
- Breaking change:
ip_filterfield is now ofobjecttype - Breaking change: Update user configs for following kinds: PostgreSQL, Kafka, KafkaConnect, Redis, Clickhouse, OpenSearch
- Add CRD validation rules for immutable fields
- Add user config field validations (enum, minimum, maximum, minLength, and others)
- Add
serviceIntegrationson service types. Only theread_replicatype is available. - Add KafkaTopic
min_cleanable_dirty_ratioconfig field support - Add Clickhouse
spec.disk_spaceproperty - Use updated aiven-go-client with retries
- Add
linux/amd64build. Thanks to @christoffer-eide
v0.7.1 - 2023-01-24¶
- Add Cassandra Kind
- Add Grafana Kind
- Recreate Kafka ACL if modified. Note: Modification of ACL created prior to v0.5.1 won't delete existing instance at Aiven. It must be deleted manually.
- Fix MySQL webhook
v0.6.0 - 2023-01-16¶
- Remove
neverfrom choices of maintenance dow - Add
developmentflag to configure logger's behavior - Add user config generator (see
make generate-user-configs) - Add
genericServiceHandlerto generalize service management - Add MySQL Kind
v0.5.2 - 2022-12-09¶
- Fix deployment release manifest generation
v0.5.1 - 2022-11-28¶
- Fix
KafkaACLdeletion
v0.5.0 - 2022-11-27¶
- Add ability to link resources through the references
- Add
ProjectVPCRefproperty toKafka,OpenSearch,ClickhouseandRediskinds to getProjectVPCID when resource is ready - Improve
ProjectVPCdeletion, deletes by ID first if possible, then tries by name - Fix
client.Objectstorage update data loss
v0.4.0 - 2022-08-04¶
- Upgrade to Go 1.18
- Add support for connection pull incoming user
- Fix typo on config/samples/kafka disk_space
- Add tags support for project and service resources
- Enable termination protection
v0.2.0 - 2021-11-17¶
features:
- add Redis CRD
improvements:
- watch CRDs to reconcile token secrets
fixes:
- fix RBACs of KafkaACL CRD
v0.1.1 - 2021-09-13¶
improvements:
- update helm installation docs
fixes:
- fix typo in a kafka-connector kuttl test
v0.1.0 - 2021-09-10¶
features:
- initial release