Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
023afa5
extract common properties to role config
maltesander Aug 25, 2025
0a21d44
rename KafkaConfig to BrokerConfig
maltesander Aug 25, 2025
cd6e03b
rename Container to BrokerContainer
maltesander Aug 25, 2025
2a27fbc
make zookeeper config map ref optional
maltesander Aug 25, 2025
f29baa1
remove zookeeper.connect and timeout from product config
maltesander Aug 25, 2025
2a12e3f
add controller role and move configs in own module
maltesander Aug 25, 2025
2139393
fix tests
maltesander Aug 25, 2025
f58e01d
regenerated charts
maltesander Aug 25, 2025
0b34d01
use broker.properties and controller.properties
maltesander Aug 25, 2025
2d49b45
replace missing server.properties
maltesander Aug 25, 2025
baae4ce
remove unused errors
maltesander Aug 25, 2025
f74c255
add controller to product confif machinery
maltesander Aug 25, 2025
8c8e4fc
remove cp
maltesander Aug 25, 2025
b01b931
add controller to security.properties
maltesander Aug 26, 2025
8e95e72
add controller to security properties
maltesander Aug 26, 2025
a87c3f2
wip - add AnyConfig to access different role configs
maltesander Aug 26, 2025
5d1f9b1
remove errors from product logging
maltesander Aug 26, 2025
2fb197e
finished controller prep work
maltesander Aug 26, 2025
0296ede
remove clones
maltesander Aug 26, 2025
a44c056
remove obsolete methods
maltesander Aug 26, 2025
ab61dd1
cleanup
maltesander Aug 26, 2025
25b95e8
use role methods
maltesander Aug 27, 2025
50d4a43
remove obsolete errors
maltesander Aug 27, 2025
c712ff7
remove unwrap
maltesander Aug 27, 2025
f646b1e
wip - kafka controller cleanup, move resources to own module
maltesander Aug 27, 2025
1a0b5d4
wip - controller working
maltesander Aug 28, 2025
3a42eca
wip - combine broker & controller
maltesander Aug 28, 2025
f324409
fix todos
maltesander Aug 28, 2025
934f6e1
zookeeper working again
maltesander Aug 29, 2025
03bcb41
fix todos
maltesander Aug 29, 2025
b7d9738
kraftify smoke test
maltesander Aug 29, 2025
1f42b83
kraftify tests definition
maltesander Aug 29, 2025
104c1b1
revert test changes
maltesander Aug 29, 2025
f33fbc1
wip - controller tls
maltesander Sep 1, 2025
e64d9aa
fix 3.7.x commands
maltesander Sep 2, 2025
b660793
hash node.id offset from rolegroup
maltesander Sep 2, 2025
d38d6ba
started kerberos tests
maltesander Sep 2, 2025
6d7383e
adapt logging tests
maltesander Sep 3, 2025
f2b97a5
error out on node id hash collision
maltesander Sep 3, 2025
34bde59
fix cluster operation tests
maltesander Sep 3, 2025
094ecaa
fix configuration tests
maltesander Sep 3, 2025
ec9fd3c
fix upgrade tests
maltesander Sep 3, 2025
f20d5f3
start fix remove rolegroup tests
maltesander Sep 3, 2025
1f8d9a5
started kraft docs
maltesander Sep 4, 2025
ecc76fb
Merge branch 'main' into feat/kafka-4.0
maltesander Sep 4, 2025
ce171c0
fix unit tests
maltesander Sep 5, 2025
e5f366b
fix docs
maltesander Sep 5, 2025
d654a97
run pre commit
maltesander Sep 5, 2025
53121de
fix yaml lint
maltesander Sep 5, 2025
cfac3fc
clarify docs, clean up
maltesander Sep 8, 2025
6054d1c
linter
maltesander Sep 8, 2025
0e6244c
improve jaas config
maltesander Sep 8, 2025
d413bb8
add comments, remove todo
maltesander Sep 8, 2025
91659bb
remove redundant memory increase
maltesander Sep 9, 2025
43a1759
implement node.id hashing check for all roles
maltesander Sep 9, 2025
d5ee2fd
fix linter
maltesander Sep 9, 2025
87809b5
prepare log4j2 config
maltesander Sep 10, 2025
34f6c67
consolidate cluster operation tests
maltesander Sep 11, 2025
98307ed
consolidate delete rolegroup
maltesander Sep 11, 2025
aca7a24
adjust kerberos tests
maltesander Sep 11, 2025
14eb096
fix logging tests
maltesander Sep 11, 2025
3e49961
fix smoke test
maltesander Sep 11, 2025
c91ce20
fix tls tests
maltesander Sep 11, 2025
604de9f
fix upgrade tests
maltesander Sep 11, 2025
1ed9489
Apply suggestions from code review
maltesander Sep 12, 2025
3decd23
do not apply znodes in kraftmode
maltesander Sep 12, 2025
5e2a59e
use cluster name instead of uid for kafka cluster-id
maltesander Sep 12, 2025
4f387ef
replace uid with name for cluster-id
maltesander Sep 12, 2025
a8b71fe
Merge branch 'main' into feat/kafka-4.0
razvan Sep 16, 2025
079fe5a
add pre-stop sleep hook to controller kafka container
maltesander Sep 18, 2025
cceb2be
add "kraft" test suite
razvan Sep 18, 2025
c1d1dfa
add experimental warning to kraft docs
maltesander Sep 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,17 @@
"request": "launch",
"name": "Debug operator binary",
"cargo": {
"args": ["build"],
"args": [
"build"
],
"filter": {
"name": "stackable-{[ operator.name }]",
"kind": "bin"
}
},
"args": ["run"],
"args": [
"run"
],
"cwd": "${workspaceFolder}"
}
]
Expand Down
67 changes: 10 additions & 57 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 Down Expand Up @@ -35,6 +36,8 @@ properties:
roles:
- name: "broker"
required: true
- name: "controller"
required: true
asOfVersion: "0.0.0"
comment: "TTL for successfully resolved domain names."
description: "TTL for successfully resolved domain names."
Expand All @@ -54,52 +57,18 @@ properties:
roles:
- name: "broker"
required: true
- name: "controller"
required: true
asOfVersion: "0.0.0"
comment: "TTL for domain names that cannot be resolved."
description: "TTL for domain names that cannot be resolved."

- property: &zookeeperConnect
propertyNames:
- name: "zookeeper.connect"
kind:
type: "file"
file: "server.properties"
datatype:
type: "string"
unit: *unitUrl
defaultValues:
- fromVersion: "0.0.0"
value: "localhost:2181"
roles:
- name: "broker"
required: true
asOfVersion: "0.0.0"
description: "The zookeeper connection string"

- property: &zookeeperTimeout
propertyNames:
- name: "zookeeper.connection.timeout.ms"
kind:
type: "file"
file: "server.properties"
datatype:
type: "integer"
unit: *unitMilliseconds
defaultValues:
- fromVersion: "0.0.0"
value: "18000"
roles:
- name: "broker"
required: true
asOfVersion: "0.0.0"
description: "Zookeeper connection timeout in milliseconds."

- property: &opaAuthorizerClassName
propertyNames:
- name: "authorizer.class.name"
kind:
type: "file"
file: "server.properties"
file: "broker.properties"
datatype:
type: "string"
defaultValues:
Expand All @@ -118,7 +87,7 @@ properties:
- name: "opa.authorizer.url"
kind:
type: "file"
file: "server.properties"
file: "broker.properties"
datatype:
type: "string"
unit: *unitUrl
Expand All @@ -133,7 +102,7 @@ properties:
- name: "opa.authorizer.cache.initial.capacity"
kind:
type: "file"
file: "server.properties"
file: "broker.properties"
datatype:
type: "integer"
unit: *unitCapacity
Expand All @@ -151,7 +120,7 @@ properties:
- name: "opa.authorizer.cache.maximum.size"
kind:
type: "file"
file: "server.properties"
file: "broker.properties"
datatype:
type: "integer"
unit: *unitCapacity
Expand All @@ -169,7 +138,7 @@ properties:
- name: "opa.authorizer.cache.expire.after.seconds"
kind:
type: "file"
file: "server.properties"
file: "broker.properties"
datatype:
type: "integer"
unit: *unitCapacity
Expand All @@ -181,19 +150,3 @@ properties:
required: false
asOfVersion: "0.0.0"
description: "The number of seconds after which the OPA authorizer cache expires"

- property: &logDirs
propertyNames:
- name: "log.dirs"
kind:
type: "file"
file: "server.properties"
datatype:
type: "string"
recommendedValues:
- value: "/stackable/data/topicdata"
roles:
- name: "broker"
required: true
asOfVersion: "0.0.0"
description: "A comma separated list of directories under which to store log files"
67 changes: 10 additions & 57 deletions deploy/helm/kafka-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 Down Expand Up @@ -35,6 +36,8 @@ properties:
roles:
- name: "broker"
required: true
- name: "controller"
required: true
asOfVersion: "0.0.0"
comment: "TTL for successfully resolved domain names."
description: "TTL for successfully resolved domain names."
Expand All @@ -54,52 +57,18 @@ properties:
roles:
- name: "broker"
required: true
- name: "controller"
required: true
asOfVersion: "0.0.0"
comment: "TTL for domain names that cannot be resolved."
description: "TTL for domain names that cannot be resolved."

- property: &zookeeperConnect
propertyNames:
- name: "zookeeper.connect"
kind:
type: "file"
file: "server.properties"
datatype:
type: "string"
unit: *unitUrl
defaultValues:
- fromVersion: "0.0.0"
value: "localhost:2181"
roles:
- name: "broker"
required: true
asOfVersion: "0.0.0"
description: "The zookeeper connection string"

- property: &zookeeperTimeout
propertyNames:
- name: "zookeeper.connection.timeout.ms"
kind:
type: "file"
file: "server.properties"
datatype:
type: "integer"
unit: *unitMilliseconds
defaultValues:
- fromVersion: "0.0.0"
value: "18000"
roles:
- name: "broker"
required: true
asOfVersion: "0.0.0"
description: "Zookeeper connection timeout in milliseconds."

- property: &opaAuthorizerClassName
propertyNames:
- name: "authorizer.class.name"
kind:
type: "file"
file: "server.properties"
file: "broker.properties"
datatype:
type: "string"
defaultValues:
Expand All @@ -118,7 +87,7 @@ properties:
- name: "opa.authorizer.url"
kind:
type: "file"
file: "server.properties"
file: "broker.properties"
datatype:
type: "string"
unit: *unitUrl
Expand All @@ -133,7 +102,7 @@ properties:
- name: "opa.authorizer.cache.initial.capacity"
kind:
type: "file"
file: "server.properties"
file: "broker.properties"
datatype:
type: "integer"
unit: *unitCapacity
Expand All @@ -151,7 +120,7 @@ properties:
- name: "opa.authorizer.cache.maximum.size"
kind:
type: "file"
file: "server.properties"
file: "broker.properties"
datatype:
type: "integer"
unit: *unitCapacity
Expand All @@ -169,7 +138,7 @@ properties:
- name: "opa.authorizer.cache.expire.after.seconds"
kind:
type: "file"
file: "server.properties"
file: "broker.properties"
datatype:
type: "integer"
unit: *unitCapacity
Expand All @@ -181,19 +150,3 @@ properties:
required: false
asOfVersion: "0.0.0"
description: "The number of seconds after which the OPA authorizer cache expires"

- property: &logDirs
propertyNames:
- name: "log.dirs"
kind:
type: "file"
file: "server.properties"
datatype:
type: "string"
recommendedValues:
- value: "/stackable/data/topicdata"
roles:
- name: "broker"
required: true
asOfVersion: "0.0.0"
description: "A comma separated list of directories under which to store log files"
Loading