Features that need to be implemented for the new operator to match the go operator.
Effort estimate: L(ow), M(edium), H(igh)
The tasks are generally ordered based on dependencies and priority.
Features marked with * can be simulated by env. variables and PodTemplateSpec.
[ ] Support both operator-defined and user-defined env. variables. They should be merged before being applied. (M)
[ ] Define default env. variables, such as QUARKUS_PROFILE. (L)Go example
[ ] Support user-defined PodTemplateSpec. (M)Go example
[ ] Support user-defined number of Registry/UI replicas. (L)Go example
[ ] Support status conditions, so errors and warnings can be reported in the CR status. (M)
[ ] Operator should report the Ready and Initializing conditions, based on HTTP call to the Registry. (M)Go example
[ ] Operator should create PodDisruptionBudget. (L)Go example
[ ] Operator should create NetworkPolicy. (L)Go example
[ ] Allow users to enable/disable Operator-managed Ingress, PodDisruptionBudget, and NetworkPolicy. (M)
[ ] Storage: Support in-memory storage. (L) *
[ ] Storage: Support sql storage. (L) * Go example
[ ] Storage: Support plain kafkasql storage. (L) * Go example
[ ] Support for JAVA_OPTS_APPEND env. variable, which can be set both by user and the operator. It should be merged before being applied. (M)
[ ] Storage: Support kafkasql storage with TLS security. (M) * Go example
[ ] Storage: Support kafkasql storage with SCRAM security. (H) * Go example
[ ] Configure CORS env. variable. (L) * Go example
[ ] HTTPS support (does not include Ingress or Route, just HTTPS port on the Service). (H) * Go example
[ ] Support for auth configuration with Keycloak (H) * Go example
The following features should be replaced by PodTemplateSpec:
Configure pod affinity
Configure pod annotations
Configure Registry/UI image
Configure image pull policy
Configure image pull secrets
Configure pod labels
Configure pod tolerations
The following features should be replaced by user-defined env. variables:
Features that need to be implemented for the new operator to match the go operator.
Effort estimate: L(ow), M(edium), H(igh) The tasks are generally ordered based on dependencies and priority. Features marked with * can be simulated by env. variables and
PodTemplateSpec
.QUARKUS_PROFILE
. (L) Go examplePodTemplateSpec
. (M) Go exampleReady
andInitializing
conditions, based on HTTP call to the Registry. (M) Go examplePodDisruptionBudget
. (L) Go exampleNetworkPolicy
. (L) Go exampleIngress
,PodDisruptionBudget
, andNetworkPolicy
. (M)JAVA_OPTS_APPEND
env. variable, which can be set both by user and the operator. It should be merged before being applied. (M)Ingress
orRoute
, just HTTPS port on theService
). (H) * Go exampleThe following features should be replaced by
PodTemplateSpec
:The following features should be replaced by user-defined env. variables:
LOG_LEVEL
andREGISTRY_LOG_LEVEL
.REGISTRY_UI_FEATURES_READONLY
.