feat: billing — usage tracking per SQS operation in PostgreSQL

- New package app/billing: Init/RecordUsage/Close with auto-migrate
- Integration in actionHandler: record tenant_id, operation, msg_count, msg_bytes
- Helm chart: billing section in values.yaml, secret-billing.yaml, env vars in deployment
- Optional: billing disabled by default (BILLING_PG_HOST not set = no-op)
- Table: sqs_usage_records with index on (tenant_id, recorded_at)
This commit is contained in:
Naeel
2026-04-12 11:51:27 +03:00
parent d1af612b48
commit 1272388673
13 changed files with 448 additions and 4 deletions
@@ -0,0 +1,15 @@
# secret-billing.yaml — Secret с PostgreSQL credentials для billing
# Создаётся только если billing.enabled=true и existingSecret не указан
# Created: 2026-04-12
{{- if and .Values.billing.enabled (not .Values.billing.postgres.existingSecret) }}
apiVersion: v1
kind: Secret
metadata:
name: shared-sqs-billing-pg
namespace: {{ .Values.namespace }}
labels:
{{- include "shared-sqs.labels" . | nindent 4 }}
type: Opaque
stringData:
password: {{ required "billing.postgres.password is required when billing is enabled" .Values.billing.postgres.password | quote }}
{{- end }}