apiVersion: v1 kind: Service metadata: name: plausible-events-db labels: app.kubernetes.io/name: clickhouse app.kubernetes.io/component: database app.kubernetes.io/part-of: plausible spec: type: ClusterIP ports: - name: db port: 8123 targetPort: 8123 protocol: TCP selector: app.kubernetes.io/name: clickhouse app.kubernetes.io/component: database app.kubernetes.io/part-of: plausible --- apiVersion: apps/v1 kind: StatefulSet metadata: name: plausible-events-db labels: app.kubernetes.io/name: clickhouse app.kubernetes.io/component: database app.kubernetes.io/part-of: plausible spec: replicas: 1 serviceName: plausible-events-db selector: matchLabels: app.kubernetes.io/name: clickhouse app.kubernetes.io/component: database app.kubernetes.io/part-of: plausible template: metadata: labels: app.kubernetes.io/name: clickhouse app.kubernetes.io/component: database app.kubernetes.io/part-of: plausible spec: restartPolicy: Always containers: - name: plausible-events-db image: yandex/clickhouse-server:latest imagePullPolicy: Always ports: - containerPort: 8123 volumeMounts: - name: data mountPath: /var/lib/clickhouse env: - name: CLICKHOUSE_DB value: plausible - name: CLICKHOUSE_USER valueFrom: secretKeyRef: name: plausible-events-db-user key: username - name: CLICKHOUSE_PASSWORD valueFrom: secretKeyRef: name: plausible-events-db-user key: password securityContext: allowPrivilegeEscalation: false resources: limits: memory: 2Gi cpu: 1500m requests: memory: 200Mi cpu: 250m readinessProbe: httpGet: path: /ping port: 8123 initialDelaySeconds: 20 failureThreshold: 6 periodSeconds: 10 livenessProbe: httpGet: path: /ping port: 8123 initialDelaySeconds: 30 failureThreshold: 3 periodSeconds: 10 volumeClaimTemplates: - metadata: name: data labels: app.kubernetes.io/name: clickhouse app.kubernetes.io/component: database app.kubernetes.io/part-of: plausible spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 128Mi limits: storage: 20Gi