iac/apps/documentations/base/outbox-relay.yaml
diamondrigido d318ea3f16 feat: дополнительные поддержка
1. outbox-relay для кафка
2. маршрутизация
2026-10-30 16:46:21 +02:00

150 lines
5.1 KiB
YAML

---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: outbox-relay
namespace: documentations
spec:
interval: 10m
chart:
spec:
chart: universal-chart
version: "0.1.9"
sourceRef:
kind: HelmRepository
name: yc-oci-charts
namespace: flux-system
interval: 10m
install:
remediation:
retries: 3
upgrade:
remediation:
retries: 3
values:
global:
env: _default
services:
outbox-relay:
enabled: true
serviceAccount:
enabled:
_default: true
name:
_default: documentations-vault
deployment:
enabled: true
name:
_default: outbox-relay
replicaCount:
_default: 1
revisionHistoryLimit:
_default: 5
resources:
requests:
cpu:
_default: 100m
memory:
_default: 128Mi
command:
_default: ["/bin/sh", "-ec"]
args:
_default:
- |
set -a
[ -f /vault/secrets/outbox-relay-postgres ] && . /vault/secrets/outbox-relay-postgres
[ -f /vault/secrets/outbox-relay-kafka ] && . /vault/secrets/outbox-relay-kafka
set +a
exec /opt/relay
image:
name:
_default: cr.yandex/crp3ccidau046kdj8g9q/outbox-relay:prod_bee3b2a
pullPolicy:
_default: IfNotPresent
service:
enabled: false
imagePullSecrets:
enabled:
_default: true
name:
_default: regcred
envs:
- name: OUTBOX_RELAY_APP_NAME
value:
_default: "cde-api-outbox-relay"
- name: OUTBOX_RELAY_APP_VERSION
value:
_default: "0.1.0"
- name: OUTBOX_RELAY_LOG_LEVEL
value:
_default: "info"
- name: OUTBOX_RELAY_SOURCE_SERVICE
value:
_default: "cde-api"
- name: OUTBOX_RELAY_SOURCE_VERSION
value:
_default: "0.1.0"
- name: OUTBOX_RELAY_PG__SSLMODE
value:
_default: "disable"
- name: OUTBOX_RELAY_PG__POOL_MIN
value:
_default: "1"
- name: OUTBOX_RELAY_PG__POOL_MAX
value:
_default: "3"
- name: OUTBOX_RELAY_PG__TABLE
value:
_default: "outbox"
- name: OUTBOX_RELAY_POLL_INTERVAL
value:
_default: "500ms"
- name: OUTBOX_RELAY_BATCH_SIZE
value:
_default: "100"
- name: OUTBOX_RELAY_MAX_ATTEMPTS
value:
_default: "8"
- name: OUTBOX_RELAY_INITIAL_BACKOFF
value:
_default: "1s"
- name: OUTBOX_RELAY_MAX_BACKOFF
value:
_default: "5m"
- name: OUTBOX_RELAY_SHUTDOWN_TIMEOUT
value:
_default: "30s"
- name: OUTBOX_RELAY_KAFKA__BROKERS
value:
_default: "kafka-kafka-contour.kafka.svc.cluster.local:9092"
- name: OUTBOX_RELAY_KAFKA__SECURITY_PROTOCOL
value:
_default: "SASL_SSL"
- name: OUTBOX_RELAY_KAFKA__INSECURE_SKIP_VERIFY
value:
_default: "true"
podAnnotations:
_default:
traffic.sidecar.istio.io/excludeOutboundPorts: "4317,4318,9411,8200"
vault.hashicorp.com/agent-init-first: "true"
vault.hashicorp.com/agent-inject: "true"
vault.hashicorp.com/agent-pre-populate-only: "true"
vault.hashicorp.com/auth-path: auth/kubernetes
vault.hashicorp.com/role: documentations
vault.hashicorp.com/agent-inject-secret-outbox-relay-postgres: secrets/data/apps/documentations/postgres
vault.hashicorp.com/agent-inject-template-outbox-relay-postgres: |-
{{- with secret "secrets/data/apps/documentations/postgres" -}}
OUTBOX_RELAY_PG__HOST={{ index .Data.data "host" }}
OUTBOX_RELAY_PG__PORT={{ index .Data.data "port" }}
OUTBOX_RELAY_PG__NAME={{ index .Data.data "database" }}
OUTBOX_RELAY_PG__USER={{ index .Data.data "username" }}
OUTBOX_RELAY_PG__PASSWORD={{ index .Data.data "password" }}
{{- end -}}
vault.hashicorp.com/agent-inject-secret-outbox-relay-kafka: secrets/data/kafka/apps/documentations
vault.hashicorp.com/agent-inject-template-outbox-relay-kafka: |-
{{- with secret "secrets/data/kafka/apps/documentations" -}}
OUTBOX_RELAY_KAFKA__SASL_MECHANISM={{ if .Data.data.auth }}{{ index .Data.data.auth "sasl_mechanism" }}{{ else }}{{ index .Data.data "sasl_mechanism" }}{{ end }}
OUTBOX_RELAY_KAFKA__SASL_USERNAME={{ index .Data.data "username" }}
OUTBOX_RELAY_KAFKA__SASL_PASSWORD={{ index .Data.data "password" }}
{{- end -}}