Add backend-s3, celery, and redis HelmReleases to d8-ugmk-prod: configure charts, deployment settings, and include in cluster Kustomization
This commit is contained in:
parent
ecd758d944
commit
3cd5600f23
21
apps/pm/d8-ugmk-prod/backend-s3.yaml
Normal file
21
apps/pm/d8-ugmk-prod/backend-s3.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: backend
|
||||
namespace: pm
|
||||
spec:
|
||||
values:
|
||||
services:
|
||||
backend:
|
||||
podAnnotations:
|
||||
_default:
|
||||
vault.hashicorp.com/agent-inject-template-pm-s3: |-
|
||||
{{- with secret "secrets/data/minio/apps/pm" -}}
|
||||
S3_HOST={{ index .Data.data.client "endpoint" }}
|
||||
S3_LOGIN={{ index .Data.data "access_key" }}
|
||||
S3_PASSWORD={{ index .Data.data "secret_key" }}
|
||||
S3_VERIFY=False
|
||||
{{- $buckets := index .Data.data "buckets" }}
|
||||
S3_BUCKET={{ if gt (len $buckets) 0 }}{{ index (index $buckets 0) "name" }}{{ else }}pm-bucket{{ end }}
|
||||
{{- end -}}
|
||||
141
apps/pm/d8-ugmk-prod/celery.yaml
Normal file
141
apps/pm/d8-ugmk-prod/celery.yaml
Normal file
@ -0,0 +1,141 @@
|
||||
---
|
||||
# Патч celery для контура УГМК.
|
||||
#
|
||||
# ВНИМАНИЕ: envs — список, kustomize заменяет его ЦЕЛИКОМ (JSON merge patch),
|
||||
# поэтому здесь продублирован весь набор из apps/pm/base/celery.yaml.
|
||||
# При добавлении переменной в base её нужно продублировать и сюда.
|
||||
# podAnnotations — map, мержится по ключам, поэтому переопределён только
|
||||
# один ключ agent-inject-template-pm-s3; остальные vault-аннотации берутся из base.
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: celery
|
||||
namespace: pm
|
||||
spec:
|
||||
values:
|
||||
services:
|
||||
celery:
|
||||
envs:
|
||||
# base: http://backend-service.sarex.svc.cluster.local:8000 — ns sarex не существует
|
||||
- name: USERS_INTERNAL_HOST
|
||||
value:
|
||||
_default: "http://backend-svc.django.svc.cluster.local:80"
|
||||
|
||||
- name: CELERY_REDIS_HOST
|
||||
value:
|
||||
_default: "redis.pm.svc.cluster.local"
|
||||
|
||||
# base: http://sarex-resources-service.resources — ns resources не развёрнут в контуре
|
||||
- name: RESOURCES_INTERNAL_HOST
|
||||
value:
|
||||
_default: "http://iam-backend.iam.svc.cluster.local:8000"
|
||||
|
||||
# base: http://eav-service.eav — сервис называется backend-svc и слушает 80
|
||||
- name: EAV_HOST
|
||||
value:
|
||||
_default: "http://backend-svc.eav.svc.cluster.local:80"
|
||||
|
||||
- name: EAV_API_PREFIX
|
||||
value:
|
||||
_default: "/api/v0"
|
||||
|
||||
- name: EAV_API_PREFIX_V1
|
||||
value:
|
||||
_default: "/api/v1"
|
||||
|
||||
- name: TRACING_INSECURE
|
||||
value:
|
||||
_default: "False"
|
||||
|
||||
- name: SERVER_ENABLE_SYNC_RESOURCES
|
||||
value:
|
||||
_default: "True"
|
||||
|
||||
- name: SERVER_DELETED_TASK_MAX_AGE_DAYS
|
||||
value:
|
||||
_default: "1"
|
||||
|
||||
- name: SERVER_EXPIRED_TASK_NOTIFICATION_HOUR
|
||||
value:
|
||||
_default: "17"
|
||||
|
||||
- name: LANG
|
||||
value:
|
||||
_default: "C.UTF-8"
|
||||
|
||||
- name: LC_ALL
|
||||
value:
|
||||
_default: "C.UTF-8"
|
||||
|
||||
- name: PYTHONUTF8
|
||||
value:
|
||||
_default: "1"
|
||||
|
||||
- name: CACHE_SSL
|
||||
value:
|
||||
_default: "False"
|
||||
|
||||
- name: CACHE_SSL_CA_CERTS
|
||||
value:
|
||||
_default: ""
|
||||
|
||||
- name: CACHE_ENABLE
|
||||
value:
|
||||
_default: "False"
|
||||
|
||||
- name: CLICKHOUSE_ENABLE
|
||||
value:
|
||||
_default: "False"
|
||||
|
||||
- name: KAFKA_ENABLE
|
||||
value:
|
||||
_default: "False"
|
||||
|
||||
# base: https://lk.sarex.io/api/token/public/
|
||||
- name: AUTH_PUBLIC_TOKEN_URL
|
||||
value:
|
||||
_default: "https://sarex.uralmine.com/api/token/public/"
|
||||
|
||||
# base: https://lk.sarex.io
|
||||
- name: SERVER_HOST
|
||||
value:
|
||||
_default: "https://sarex.uralmine.com"
|
||||
|
||||
# base: https://api.sarex.io
|
||||
- name: SERVER_API_HOST
|
||||
value:
|
||||
_default: "https://sarex.uralmine.com"
|
||||
|
||||
- name: SERVER_DEBUG
|
||||
value:
|
||||
_default: "False"
|
||||
|
||||
- name: SERVER_ALLOWED_HOSTS
|
||||
value:
|
||||
_default: '["*"]'
|
||||
|
||||
- name: SERVER_USE_OTEL
|
||||
value:
|
||||
_default: "False"
|
||||
|
||||
- name: SERVER_VERIFY_SSL
|
||||
value:
|
||||
_default: "False"
|
||||
|
||||
- name: SERVER_LOG_LEVEL
|
||||
value:
|
||||
_default: "INFO"
|
||||
|
||||
podAnnotations:
|
||||
_default:
|
||||
# base склеивал S3_BUCKET с S3_VERIFY: {{- end -}} съедал перевод строки.
|
||||
# S3_VERIFY поднят выше блока if, у {{ end }} убран хвостовой дефис.
|
||||
vault.hashicorp.com/agent-inject-template-pm-s3: |-
|
||||
{{- with secret "secrets/data/minio/apps/pm" -}}
|
||||
S3_HOST={{ index .Data.data.client "endpoint" }}
|
||||
S3_LOGIN={{ index .Data.data "access_key" }}
|
||||
S3_PASSWORD={{ index .Data.data "secret_key" }}
|
||||
S3_VERIFY=False
|
||||
{{- $buckets := index .Data.data "buckets" }}
|
||||
S3_BUCKET={{ if gt (len $buckets) 0 }}{{ index (index $buckets 0) "name" }}{{ else }}pm-bucket{{ end }}
|
||||
{{- end -}}
|
||||
@ -3,8 +3,17 @@ apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ../base
|
||||
- redis.yaml
|
||||
patches:
|
||||
- path: namespace.yaml
|
||||
target:
|
||||
kind: Namespace
|
||||
name: pm
|
||||
- path: backend-s3.yaml
|
||||
target:
|
||||
kind: HelmRelease
|
||||
name: backend
|
||||
- path: celery.yaml
|
||||
target:
|
||||
kind: HelmRelease
|
||||
name: celery
|
||||
|
||||
98
apps/pm/d8-ugmk-prod/redis.yaml
Normal file
98
apps/pm/d8-ugmk-prod/redis.yaml
Normal file
@ -0,0 +1,98 @@
|
||||
---
|
||||
# Redis для celery в ns pm. В base его нет — там CELERY_REDIS_HOST указывает
|
||||
# на redis.pm.svc.cluster.local, но сам сервис не разворачивается.
|
||||
#
|
||||
# Имя Service обязано быть ровно "redis" (не redis-svc, как принято в остальных
|
||||
# релизах), иначе не сойдётся с CELERY_REDIS_HOST в backend.yaml и celery.yaml.
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: redis
|
||||
namespace: pm
|
||||
|
||||
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:
|
||||
redis:
|
||||
enabled: true
|
||||
|
||||
image:
|
||||
name:
|
||||
_default: cr.yandex/crp3ccidau046kdj8g9q/redis:latest
|
||||
pullPolicy:
|
||||
_default: Always
|
||||
|
||||
deployment:
|
||||
enabled: true
|
||||
|
||||
name:
|
||||
_default: redis
|
||||
|
||||
replicaCount:
|
||||
_default: 1
|
||||
|
||||
port:
|
||||
_default: 6379
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu:
|
||||
_default: 25m
|
||||
memory:
|
||||
_default: 64Mi
|
||||
|
||||
probes:
|
||||
liveness:
|
||||
enabled: false
|
||||
readiness:
|
||||
enabled: false
|
||||
|
||||
service:
|
||||
enabled: true
|
||||
|
||||
name:
|
||||
_default: redis
|
||||
|
||||
type:
|
||||
_default: ClusterIP
|
||||
|
||||
port:
|
||||
_default: 6379
|
||||
|
||||
targetPort:
|
||||
_default: 6379
|
||||
|
||||
# НЕ http: чарт по умолчанию подставляет "http", и тогда Istio навесит
|
||||
# на 6379 HTTP-фильтры и сломает RESP. Префикс tcp- переводит порт
|
||||
# в режим обычного TCP-проксирования.
|
||||
portName:
|
||||
_default: tcp-redis
|
||||
|
||||
imagePullSecrets:
|
||||
enabled:
|
||||
_default: true
|
||||
name:
|
||||
_default: regcred
|
||||
Loading…
Reference in New Issue
Block a user