debezium-operator
debezium-operator copied to clipboard
Debezium Operator
Debezium operator provides an easy way to run the Debezium Server on Kubernetes or Openshift.
Installation steps
The debezium operator currently support only per namespace installation unless installing via OLM. To install the operator to your kubernetes cluster,
simply create the descriptors available in the k8
directory.
kubectl create -f k8/ -n $NAMESPACE
Note: In the future the operator will support OLM and Helm chart installations.
Quickstart Example
The exmaples/postgres
directory contains an example deployment of debezium server with PostgreSQL source and kafka
sink.
# Install Strimzi Kafka operator
kubectl create -f "https://strimzi.io/install/latest?namespace=$NAMESPACE" -n $NAMESPACE
# Deploy PostgreSQL, Kafka and Debezium Server
kubectl create -f examples/postgres/ -n $NAMESPACE
DebeziumServerSpec Reference
The snippet bellow provides a rough outline of the DebeziumServer
spec. See the full API reference for more details.
spec:
version: String
image: String # exclusive with version
runtime:
environment:
vars:
- name: String
value: String
from: EnvFromSource array # https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#envfromsource-v1-core
storage:
data:
type: persistent | ephemeral # enum
claimName: String # only valid and required for "persistent" type
external: Volume array # https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#volume-v1-core
jmx:
enabled: boolean
port: int # defaults to 1099
templates:
container:
resources: # https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#resourcerequirements-v1-core
securityContext: # https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#securitycontext-v1-core
pod:
metadata:
annotations: Map<String, String>
labels: Map<String, String>
imagePullSecrets: List # https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#localobjectreference-v1-core
affinity: # https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#affinity-v1-core
securityContext: # https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#podsecuritycontext-v1-core
quarkus:
config:
# quarkus properties
format:
value:
type: String
config:
# other format properties
key:
type: String
config:
# other format properties
header:
type: String
config:
# other format properties
transforms:
- type: String
predicate: String
negate: Boolean
config:
# other transformation properties
predicates:
name:
type: String
config:
# other preticate properties
sink:
type: String
config:
# other sink properties
source:
class: String
config:
# other source connector properties