PostgreSQL разворачивается пустым инстансом, состав баз повторяет то, что
сейчас провижинит postgres-init в compose:
sarex_db -> django (ltree)
workflow_db -> processing (uuid-ossp, ltree, hstore)
bim_db -> bim
workspace_db -> workspace
Пароли администратора и владельцев берутся из Vault через
vault-agent-injector, в репозитории их нет. Расширения создаёт бутстрап
заранее: роли не суперпользователи и CREATE EXTENSION в миграциях им
недоступен. timescaledb включён в shared_preload_libraries сразу, хотя этим
базам не нужен, — параметр читается только при старте, и добавить его позже
означает перезапуск СУБД.
nodeSelector снимается postRenderers'ом. Чарт по умолчанию ставит
dedicated: sts в расчёте на выделенный пул нод; в контуре таких нет, и под
навсегда повисал в Pending, а следом застревал PVC, потому что у local-path
режим WaitForFirstConsumer. Через values это недостижимо: Helm сливает карты
по ключам, поэтому ни {}, ни другая метка dedicated: sts не убирают.
Цикл реконсиляции сокращён с 10 до 2 минут у всех Kustomization и
HelmRelease контура. Корневая Kustomization патчится из clusters/aero:
её файл генерирует flux bootstrap с пометкой DO NOT EDIT, а флаг --interval
задаёт периодичность только GitRepository. Таймаут установки postgresql
снижен с 20 до 10 минут — он определяет цену одной неудачной итерации.
Отключение собственных Gateway/VirtualService/Certificate чарта rabbitmq
переведено с JSON6902 на postRenderers: kustomize нормализует null в {}, а
пустую карту Helm сливает с дефолтами, поэтому настоящий null до Helm не
доходит ни одним путём.
41 lines
1.6 KiB
YAML
41 lines
1.6 KiB
YAML
apiVersion: helm.toolkit.fluxcd.io/v2
|
||
kind: HelmRelease
|
||
metadata:
|
||
name: minio
|
||
namespace: minio
|
||
spec:
|
||
interval: 2m
|
||
timeout: 10m
|
||
values:
|
||
nameOverride: "minio"
|
||
mode: standalone
|
||
replicas: 1
|
||
drivesPerNode: 1
|
||
imagePullSecrets:
|
||
- name: regcred
|
||
environment:
|
||
# Внешние адреса: консоль отдаётся с /console/ того же домена,
|
||
# маршрутизацию задаёт infrastructure/istio-config/aero.
|
||
MINIO_SERVER_URL: "https://minio.sarex.local.lonsdaleites.ru"
|
||
MINIO_BROWSER_REDIRECT_URL: "https://minio.sarex.local.lonsdaleites.ru/console/"
|
||
MINIO_API_CORS_ALLOW_ORIGIN: "https://minio.sarex.local.lonsdaleites.ru"
|
||
# Root-креды приезжают из Vault через vault-agent-injector: секрет кладёт
|
||
# ansible (роль sarex_stack, vault_app_secrets), роль minio в auth/kubernetes
|
||
# создаётся там же. В манифестах и в git паролей нет.
|
||
vaultRoot:
|
||
enabled: true
|
||
role: minio
|
||
authPath: auth/kubernetes
|
||
secretPath: secrets/data/minio/admin
|
||
rootUserKey: rootUser
|
||
rootPasswordKey: rootPassword
|
||
# В yc-k8s-test minio прибит к выделенным нодам (nodeSelector/tolerations
|
||
# dedicated=s3). В контуре aero таких нод нет — всего три, и планировщику
|
||
# ничего ограничивать не нужно.
|
||
persistence:
|
||
storageClass: local-path
|
||
size: 20Gi
|
||
resources:
|
||
requests:
|
||
memory: 512Mi
|