diff --git a/cluster-config/kubeconfig.enc.yaml b/cluster-config/kubeconfig.enc.yaml new file mode 100644 index 0000000..e69de29 diff --git a/k8s/apps/messaging/memory-queues/Chart.yaml b/k8s/apps/messaging/memory-queues/Chart.yaml new file mode 100644 index 0000000..65a9bc4 --- /dev/null +++ b/k8s/apps/messaging/memory-queues/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: memory-queues +description: Kafka queues (DLQ) for Poimen Memory service (Phase 6.6) +type: application +version: 0.1.0 +appVersion: "1.0" diff --git a/k8s/apps/messaging/memory-queues/templates/queues.yaml b/k8s/apps/messaging/memory-queues/templates/queues.yaml new file mode 100644 index 0000000..0467780 --- /dev/null +++ b/k8s/apps/messaging/memory-queues/templates/queues.yaml @@ -0,0 +1,20 @@ +{{- range .Values.queues }} +--- +apiVersion: kmsvc.io/v1alpha1 +kind: Queue +metadata: + name: {{ .name }} + namespace: {{ $.Values.namespace }} + labels: + app: memory-service + queue: dlq +spec: + name: {{ .name }} + description: {{ .description }} + partitions: {{ .partitions }} + replicationFactor: {{ .replicationFactor }} + config: + retention.ms: "{{ .config.retention.ms }}" + message.retention.seconds: "{{ .config.message.retention.seconds }}" + visibility.timeout.seconds: "{{ .config.visibility.timeout.seconds }}" +{{- end }} diff --git a/k8s/apps/messaging/memory-queues/values.yaml b/k8s/apps/messaging/memory-queues/values.yaml new file mode 100644 index 0000000..c238e88 --- /dev/null +++ b/k8s/apps/messaging/memory-queues/values.yaml @@ -0,0 +1,25 @@ +# Poimen Memory Service Kafka Queues (kmsvc) +# Phase 6.6: DLQ topics for webhook + metrics failures + +queues: + # DLQ for extraction, webhook, and agent failures + - name: poimen-memory-dlq + description: "DLQ for extraction, webhook, and agent failures" + partitions: 3 + replicationFactor: 1 + config: + retention.ms: "1209600000" # 14 days + message.retention.seconds: "1209600" + visibility.timeout.seconds: "300" + + # DLQ for metrics persistence failures + - name: poimen-memory-metric-dlq + description: "DLQ for metrics persistence failures" + partitions: 3 + replicationFactor: 1 + config: + retention.ms: "1209600000" # 14 days + message.retention.seconds: "1209600" + visibility.timeout.seconds: "300" + +namespace: sqs diff --git a/k8s/argocd/apps/50-memory-queues.yaml b/k8s/argocd/apps/50-memory-queues.yaml new file mode 100644 index 0000000..2aaec84 --- /dev/null +++ b/k8s/argocd/apps/50-memory-queues.yaml @@ -0,0 +1,20 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: memory-queues + namespace: argocd + annotations: + argocd.argoproj.io/sync-wave: "7" +spec: + project: homelab + source: + repoURL: https://forgejo.riotpiao.com/rock/homelab.git + targetRevision: main + path: k8s/apps/messaging/memory-queues + destination: + server: https://kubernetes.default.svc + namespace: sqs + syncPolicy: + automated: + prune: true + selfHeal: true