diff --git a/CHANGELOG.md b/CHANGELOG.md index 58cac74b..cc4c2725 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,8 @@ the cluster nodes - Add `OpenSearch` field `userConfig.opensearch.segrep`, type `object`: Segment Replication Backpressure Settings +- Add `Flink` field `userConfig.custom_code`, type `boolean`: Enable to upload Custom JARs for Flink + applications ## v0.26.0 - 2024-11-21 diff --git a/api/v1alpha1/userconfig/service/flink/flink.go b/api/v1alpha1/userconfig/service/flink/flink.go index 3b0dd36a..74c37786 100644 --- a/api/v1alpha1/userconfig/service/flink/flink.go +++ b/api/v1alpha1/userconfig/service/flink/flink.go @@ -34,6 +34,9 @@ type FlinkUserConfig struct { // Deprecated. Additional Cloud Regions for Backup Replication AdditionalBackupRegions []string `groups:"create,update" json:"additional_backup_regions,omitempty"` + // Enable to upload Custom JARs for Flink applications + CustomCode *bool `groups:"create,update" json:"custom_code,omitempty"` + // +kubebuilder:validation:Enum="1.19";"1.20" // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // Flink major version diff --git a/api/v1alpha1/userconfig/service/flink/zz_generated.deepcopy.go b/api/v1alpha1/userconfig/service/flink/zz_generated.deepcopy.go index d4428ab3..73557ce7 100644 --- a/api/v1alpha1/userconfig/service/flink/zz_generated.deepcopy.go +++ b/api/v1alpha1/userconfig/service/flink/zz_generated.deepcopy.go @@ -14,6 +14,11 @@ func (in *FlinkUserConfig) DeepCopyInto(out *FlinkUserConfig) { *out = make([]string, len(*in)) copy(*out, *in) } + if in.CustomCode != nil { + in, out := &in.CustomCode, &out.CustomCode + *out = new(bool) + **out = **in + } if in.FlinkVersion != nil { in, out := &in.FlinkVersion, &out.FlinkVersion *out = new(string) diff --git a/charts/aiven-operator-crds/templates/aiven.io_flinks.yaml b/charts/aiven-operator-crds/templates/aiven.io_flinks.yaml index f669ff35..c1a3ae76 100644 --- a/charts/aiven-operator-crds/templates/aiven.io_flinks.yaml +++ b/charts/aiven-operator-crds/templates/aiven.io_flinks.yaml @@ -230,6 +230,9 @@ spec: type: string maxItems: 1 type: array + custom_code: + description: Enable to upload Custom JARs for Flink applications + type: boolean flink_version: description: Flink major version enum: diff --git a/config/crd/bases/aiven.io_flinks.yaml b/config/crd/bases/aiven.io_flinks.yaml index f669ff35..c1a3ae76 100644 --- a/config/crd/bases/aiven.io_flinks.yaml +++ b/config/crd/bases/aiven.io_flinks.yaml @@ -230,6 +230,9 @@ spec: type: string maxItems: 1 type: array + custom_code: + description: Enable to upload Custom JARs for Flink applications + type: boolean flink_version: description: Flink major version enum: diff --git a/docs/docs/api-reference/flink.md b/docs/docs/api-reference/flink.md index 57be84af..c17bfde0 100644 --- a/docs/docs/api-reference/flink.md +++ b/docs/docs/api-reference/flink.md @@ -200,6 +200,7 @@ Cassandra specific user configuration options. **Optional** - [`additional_backup_regions`](#spec.userConfig.additional_backup_regions-property){: name='spec.userConfig.additional_backup_regions-property'} (array of strings, MaxItems: 1). Deprecated. Additional Cloud Regions for Backup Replication. +- [`custom_code`](#spec.userConfig.custom_code-property){: name='spec.userConfig.custom_code-property'} (boolean). Enable to upload Custom JARs for Flink applications. - [`flink_version`](#spec.userConfig.flink_version-property){: name='spec.userConfig.flink_version-property'} (string, Enum: `1.19`, `1.20`, Immutable). Flink major version. - [`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). - [`number_of_task_slots`](#spec.userConfig.number_of_task_slots-property){: name='spec.userConfig.number_of_task_slots-property'} (integer, Minimum: 1, Maximum: 1024). Task slots per node. For a 3 node plan, total number of task slots is 3x this value.