Skip to content
Open
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,19 @@ All notable changes to this project will be documented in this file.
### Changed

- BREAKING: `configOverrides` now only accepts the supported config file names `runtime.properties`, `jvm.config` and `security.properties`. Previously arbitrary keys were silently accepted but ignored ([#813]).
- BREAKING: Implement generic database connection for metadata storage ([#814]).
Renamed CRD: `metadataStorageDatabase` -> `metadataDatabase`.
The `metadataDatabase` has subfields according to the supported db types: `postgresql`, `mysql` and `derby`.
- Bump `stackable-operator` to 0.110.1 and `kube` to 3.1.0 ([#813]).
- Document Helm deployed RBAC permissions and remove unnecessary permissions ([#810]).

### Deleted

- Removed all metadata storage related properties from product config ([#814]).

[#810]: https://github.com/stackabletech/druid-operator/pull/810
[#813]: https://github.com/stackabletech/druid-operator/pull/813
[#814]: https://github.com/stackabletech/druid-operator/pull/814

## [26.3.0] - 2026-03-16

Expand Down
146 changes: 9 additions & 137 deletions deploy/config-spec/properties.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
version: 0.1.0
spec:
units:
Expand All @@ -8,13 +9,15 @@ spec:
- "/tmp/xyz"
- unit: &unitPort
name: "port"
regex: "^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$"
regex: "^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]\
|6553[0-5])$"
- unit: &unitPrometheusNamespace
name: "prometheusNamespace"
regex: "^[a-zA-Z_:][a-zA-Z0-9_:]*$"
- unit: &unitDuration
name: "duration"
regex: "^P(?!$)(\\d+Y)?(\\d+M)?(\\d+W)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+S)?)?$"
regex: "^P(?!$)(\\d+Y)?(\\d+M)?(\\d+W)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+S)\
?)?$"
examples:
- "PT300S"

Expand Down Expand Up @@ -214,7 +217,6 @@ properties:
comment: "TTL for host names that cannot be resolved."
description: "TTL for host names that cannot be resolved."


- property: &plaintextPort
propertyNames:
- name: "druid.plaintextPort"
Expand Down Expand Up @@ -418,139 +420,6 @@ properties:
required: true
asOfVersion: "0.0.0"

- property: &metadataStorageType
propertyNames:
- name: "druid.metadata.storage.type"
kind:
type: "file"
file: "runtime.properties"
datatype:
type: "string"
allowedValues:
- "mysql"
- "postgresql"
- "derby"
roles:
- name: "broker"
required: true
- name: "coordinator"
required: true
- name: "historical"
required: true
- name: "middlemanager"
required: true
- name: "router"
required: true
asOfVersion: "0.0.0"

- property: &metadataStorageConnectURI
propertyNames:
- name: "druid.metadata.storage.connector.connectURI"
kind:
type: "file"
file: "runtime.properties"
datatype:
type: "string"
roles:
- name: "broker"
required: true
- name: "coordinator"
required: true
- name: "historical"
required: true
- name: "middlemanager"
required: true
- name: "router"
required: true
asOfVersion: "0.0.0"

- property: &metadataStorageHost
propertyNames:
- name: "druid.metadata.storage.connector.host"
kind:
type: "file"
file: "runtime.properties"
datatype:
type: "string"
roles:
- name: "broker"
required: true
- name: "coordinator"
required: true
- name: "historical"
required: true
- name: "middlemanager"
required: true
- name: "router"
required: true
asOfVersion: "0.0.0"

- property: &metadataStoragePort
propertyNames:
- name: "druid.metadata.storage.connector.port"
kind:
type: "file"
file: "runtime.properties"
datatype:
type: "integer"
min: "1024"
max: "65535"
unit: *unitPort
roles:
- name: "broker"
required: true
- name: "coordinator"
required: true
- name: "historical"
required: true
- name: "middlemanager"
required: true
- name: "router"
required: true
asOfVersion: "0.0.0"

- property: &metadataStorageUser
propertyNames:
- name: "druid.metadata.storage.connector.user"
kind:
type: "file"
file: "runtime.properties"
datatype:
type: "string"
roles:
- name: "broker"
required: false
- name: "coordinator"
required: false
- name: "historical"
required: false
- name: "middlemanager"
required: false
- name: "router"
required: false
asOfVersion: "0.0.0"

- property: &metadataStoragePassword
propertyNames:
- name: "druid.metadata.storage.connector.password"
kind:
type: "file"
file: "runtime.properties"
datatype:
type: "string"
roles:
- name: "broker"
required: false
- name: "coordinator"
required: false
- name: "historical"
required: false
- name: "middlemanager"
required: false
- name: "router"
required: false
asOfVersion: "0.0.0"

- property: &indexerLogsDirectory
propertyNames:
- name: "druid.indexer.logs.directory"
Expand Down Expand Up @@ -661,7 +530,10 @@ properties:
type: "string"
defaultValues:
- fromVersion: "0.0.0"
value: "-server -Xms256m -Xmx256m -XX:MaxDirectMemorySize=300m -Duser.timezone=UTC -Dfile.encoding=UTF-8 -XX:+ExitOnOutOfMemoryError -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager"
value: "-server -Xms256m -Xmx256m -XX:MaxDirectMemorySize=300m
-Duser.timezone=UTC -Dfile.encoding=UTF-8
-XX:+ExitOnOutOfMemoryError
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager"
roles:
- name: "broker"
required: false
Expand Down
1 change: 1 addition & 0 deletions deploy/helm/chart_testing.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
remote: origin
target-branch: main
chart-dirs:
Expand Down
146 changes: 9 additions & 137 deletions deploy/helm/druid-operator/configs/properties.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
---
version: 0.1.0
spec:
units:
Expand All @@ -8,13 +9,15 @@ spec:
- "/tmp/xyz"
- unit: &unitPort
name: "port"
regex: "^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$"
regex: "^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]\
|6553[0-5])$"
- unit: &unitPrometheusNamespace
name: "prometheusNamespace"
regex: "^[a-zA-Z_:][a-zA-Z0-9_:]*$"
- unit: &unitDuration
name: "duration"
regex: "^P(?!$)(\\d+Y)?(\\d+M)?(\\d+W)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+S)?)?$"
regex: "^P(?!$)(\\d+Y)?(\\d+M)?(\\d+W)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+S)\
?)?$"
examples:
- "PT300S"

Expand Down Expand Up @@ -214,7 +217,6 @@ properties:
comment: "TTL for host names that cannot be resolved."
description: "TTL for host names that cannot be resolved."


- property: &plaintextPort
propertyNames:
- name: "druid.plaintextPort"
Expand Down Expand Up @@ -418,139 +420,6 @@ properties:
required: true
asOfVersion: "0.0.0"

- property: &metadataStorageType
propertyNames:
- name: "druid.metadata.storage.type"
kind:
type: "file"
file: "runtime.properties"
datatype:
type: "string"
allowedValues:
- "mysql"
- "postgresql"
- "derby"
roles:
- name: "broker"
required: true
- name: "coordinator"
required: true
- name: "historical"
required: true
- name: "middlemanager"
required: true
- name: "router"
required: true
asOfVersion: "0.0.0"

- property: &metadataStorageConnectURI
propertyNames:
- name: "druid.metadata.storage.connector.connectURI"
kind:
type: "file"
file: "runtime.properties"
datatype:
type: "string"
roles:
- name: "broker"
required: true
- name: "coordinator"
required: true
- name: "historical"
required: true
- name: "middlemanager"
required: true
- name: "router"
required: true
asOfVersion: "0.0.0"

- property: &metadataStorageHost
propertyNames:
- name: "druid.metadata.storage.connector.host"
kind:
type: "file"
file: "runtime.properties"
datatype:
type: "string"
roles:
- name: "broker"
required: true
- name: "coordinator"
required: true
- name: "historical"
required: true
- name: "middlemanager"
required: true
- name: "router"
required: true
asOfVersion: "0.0.0"

- property: &metadataStoragePort
propertyNames:
- name: "druid.metadata.storage.connector.port"
kind:
type: "file"
file: "runtime.properties"
datatype:
type: "integer"
min: "1024"
max: "65535"
unit: *unitPort
roles:
- name: "broker"
required: true
- name: "coordinator"
required: true
- name: "historical"
required: true
- name: "middlemanager"
required: true
- name: "router"
required: true
asOfVersion: "0.0.0"

- property: &metadataStorageUser
propertyNames:
- name: "druid.metadata.storage.connector.user"
kind:
type: "file"
file: "runtime.properties"
datatype:
type: "string"
roles:
- name: "broker"
required: false
- name: "coordinator"
required: false
- name: "historical"
required: false
- name: "middlemanager"
required: false
- name: "router"
required: false
asOfVersion: "0.0.0"

- property: &metadataStoragePassword
propertyNames:
- name: "druid.metadata.storage.connector.password"
kind:
type: "file"
file: "runtime.properties"
datatype:
type: "string"
roles:
- name: "broker"
required: false
- name: "coordinator"
required: false
- name: "historical"
required: false
- name: "middlemanager"
required: false
- name: "router"
required: false
asOfVersion: "0.0.0"

- property: &indexerLogsDirectory
propertyNames:
- name: "druid.indexer.logs.directory"
Expand Down Expand Up @@ -661,7 +530,10 @@ properties:
type: "string"
defaultValues:
- fromVersion: "0.0.0"
value: "-server -Xms256m -Xmx256m -XX:MaxDirectMemorySize=300m -Duser.timezone=UTC -Dfile.encoding=UTF-8 -XX:+ExitOnOutOfMemoryError -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager"
value: "-server -Xms256m -Xmx256m -XX:MaxDirectMemorySize=300m
-Duser.timezone=UTC -Dfile.encoding=UTF-8
-XX:+ExitOnOutOfMemoryError
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager"
roles:
- name: "broker"
required: false
Expand Down
Loading
Loading