Files
stack/deploy/k8s/api-eventbus.yml
2025-12-13 13:12:25 +01:00

99 lines
2.4 KiB
YAML

apiVersion: v1
kind: PersistentVolume
metadata:
name: api-eventbus-pv
# namespace: egommerce
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
storageClassName: api-eventbus-pv
hostPath:
path: "/home/keedosn/.egommerce/kafka" # Ensure this path exists on the node
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: api-eventbus-pvc
namespace: egommerce
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: api-eventbus-pv
---
apiVersion: v1
kind: Service
metadata:
name: api-eventbus
namespace: egommerce
labels:
app: api-eventbus
spec:
type: NodePort
selector:
app: api-eventbus
ports:
- name: api-eventbus-main
protocol: TCP
port: 9092
nodePort: 31200
- name: api-eventbus-ctrl
protocol: TCP
port: 9093
nodePort: 31299
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: api-eventbus
namespace: egommerce
spec:
serviceName: "api-eventbus"
replicas: 1
selector:
matchLabels:
app: api-eventbus
template:
metadata:
labels:
app: api-eventbus
spec:
containers:
- name: api-eventbus
image: apache/kafka:latest
imagePullPolicy: Always
ports:
- containerPort: 9092
name: eventbus-brkr
- containerPort: 9093
name: eventbus-ctrl
volumeMounts:
- name: api-eventbus-storage
mountPath: /var/lib/kafka/data
env:
- name: KAFKA_PROCESS_ROLES
value: "broker,controller"
- name: KAFKA_CONTROLLER_LISTENER_NAMES
value: "CONTROLLER"
- name: KAFKA_NODE_ID
value: "1"
- name: KAFKA_LISTENERS
value: "PLAINTEXT://:9092,CONTROLLER://:9093"
- name: KAFKA_CONTROLLER_QUORUM_VOTERS
value: "1@api-eventbus:9093"
- name: KAFKA_ADVERTISED_LISTENERS
value: "PLAINTEXT://api-eventbus:9092"
- name: KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR
value: "1"
- name: KAFKA_LOG_DIRS
value: "/var/lib/kafka/data"
imagePullSecrets:
- name: regcred
volumes:
- name: api-eventbus-storage
persistentVolumeClaim:
claimName: api-eventbus-pvc