Commit Graph

365 Commits

Author SHA1 Message Date
8e366632a1 ++ runner chart 17.5.4 2026-10-17 14:44:07 +03:00
1120ed4411 ++ prod runner no pool 2026-10-17 14:33:10 +03:00
84231c856e ++ nexus infra 2026-10-15 18:25:08 +03:00
ivan
b36a349aff ++ 2026-10-15 16:58:22 +05:00
79d89bac13 ++ runner prod 2026-10-15 13:05:06 +03:00
fcc754d9f8 ++ pin prod lb ip 2026-10-15 12:31:21 +03:00
20e5a08e75 ++ vk prod istio 2026-10-15 12:21:40 +03:00
ca94c91084 ++ vault unseal sidecar 2026-10-14 18:33:28 +03:00
145afeb702 ++ vk infra vault kb runner 2026-10-14 17:35:05 +03:00
da1c83ef59 ++ zitadel rollout strategy 2026-10-14 16:48:53 +03:00
e62e78c273 ++ zitadel 4.19.4 2026-10-14 16:42:40 +03:00
54b430c48d ++ zitadel 3.4.15 2026-10-14 16:37:18 +03:00
0b3d1b8aec ++ zitadel 2.71.19 2026-10-14 15:17:29 +03:00
79d614ee0e ++ zitadel init off 2026-10-14 15:17:29 +03:00
653a95cd6b ++ zitadel init job 2026-10-14 14:14:56 +03:00
eb33446997 ++ zitadel sslmode prefer 2026-10-14 14:05:40 +03:00
09d49a334f ++ fix issuer key and kubectl image 2026-10-14 13:51:19 +03:00
7f3658078c ++ issuer via istio config 2026-10-14 13:46:27 +03:00
c43ffe5bcc ++ vk infra cert zitadel 2026-10-14 13:42:14 +03:00
ivan
e4d145ec95 ++ 2026-10-14 14:49:18 +05:00
ivan
e85bf3800e premises: add app (base + vad) and route /premises/api/ in vad
New service on universal-chart with Vault Agent: role premises, SA
premises-vault, creds for its own postgres, kafka and S3 plus the five
neighbour databases the sync script reads. The vad overlay mounts the Kafka CA
and drops the prod-sized resource requests; istio-config routes
sarex.vadroad.ru/premises/api/ to backend-svc.premises.
2026-10-14 14:48:51 +05:00
ivan
ce64374b4c brusnika-stage: orchestrator routes like vad
/orchestrator/api/process/, /orchestrator/api/sign and /orchestrator/ are
rewritten to /api/... before reaching cde.orchestrator:8080, same rules as
the cde-api virtual service in vad. Replaces the single prefix route that
passed the path through unchanged.
2026-10-14 14:48:42 +05:00
5d5884a1e0 ++ pin lb ip 2026-10-14 12:12:59 +03:00
831aa2ad28 ++ vk infra istio 1.30.5 2026-10-14 10:49:58 +03:00
6ef56742d7 ++ vk infra istio 2026-10-14 10:36:18 +03:00
ivan
b6aca0dc88 istio-config: route /orchestrator/ to cde in vad and uralkal
Same cde-api virtual service as d8-ugmk-prod: /orchestrator/api/process/,
/orchestrator/api/sign and /orchestrator/ are rewritten to /api/... and sent
to cde-svc.cde.svc.cluster.local:80.
2026-10-08 19:02:55 +05:00
247a753f5d ++ camunda processing nodes 2026-10-07 15:06:31 +03:00
emelinda
4f66b55d10 Enable allowCredentials in CORS settings for multiple services in brusnika-prod Istio configuration 2026-10-06 20:29:33 +03:00
emelinda
bee959edee Add CORS and routes for cde, pdm-api-api, and documentations services in brusnika-prod Istio configuration 2026-10-05 23:42:24 +03:00
emelinda
bb144b1563 Add CORS and routes for new backend services in brusnika-prod Istio configuration 2026-10-05 23:31:51 +03:00
emelinda
2fa77d717e Add CORS and routes for transmittal-api, inspections-backend, workflows-api, and workspaces-api in brusnika-prod Istio configuration 2026-10-05 23:17:03 +03:00
emelinda
ef5ae0c01d Add CORS and routes for multiple frontend services in brusnika-prod Istio configuration 2026-10-05 22:46:57 +03:00
emelinda
445336e721 Add TLS and routes for MinIO Console in brusnika-prod Istio configuration 2026-10-05 21:21:30 +03:00
emelinda
6b2cf9b208 Update MinIO routes and CORS settings in brusnika-prod Istio configuration 2026-10-05 20:58:21 +03:00
emelinda
8cf5b3e056 Add routes for checklist and issues services in brusnika-prod Istio configuration 2026-10-05 20:28:46 +03:00
emelinda
6f44ecf79e Update openobserve-web service reference in brusnika-prod Istio configuration 2026-10-05 19:14:45 +03:00
emelinda
02d96adcec Update openobserve-web service reference in brusnika-prod Istio configuration 2026-10-05 19:13:39 +03:00
emelinda
5e40cbd08b Restructure brusnika-prod infrastructure by splitting component configurations into dedicated directories and adding respective kustomizations. 2026-10-05 19:02:52 +03:00
emelinda
dfab98373f Add HelmRelease patch and kustomization for failed-pod-cleanup in brusnika-prod configuration. 2026-10-05 18:57:50 +03:00
ivan
5564778337 control-interface: add admin-frontend (universal-chart) to base, route it in vad istio-config
New HelmRelease services.admin-frontend in apps/control-interface/base,
matching the live Deployment's image/port/resources (cpu 100m, memory
100Mi) and istio tracing podAnnotations. Downward-API envs (K8S_POD_UID/
K8S_POD_NAME/K8S_NAMESPACE/OTEL_RESOURCE_ATTRIBUTES) were left out — no
existing app in this repo uses valueFrom/fieldRef in the universal-chart
envs schema and the chart source isn't reachable to confirm support.
imagePullSecrets uses regcred (vad's actual convention) instead of the
source's dockerhub.

Since control-interface/vad and /uralkal both just inherit ../base
unmodified, this also shows up in uralkal as a side effect.

infrastructure/istio-config/vad: adds a plain admin-frontend route
(/admin-frontend/static/ -> admin-frontend-svc.control-interface, rewrite
/), matching the minimal style of the other sarex.vadroad.ru routes —
no cors block, per request.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-02 15:34:54 +05:00
ivan
d44378a432 brusnika-stage: route checklists/inspections/workflows/workspaces/comparisons/etc. through Istio instead of the global-ingress nginx proxy
Adds 13 new VirtualServices on the existing test.sarex.brusnika.tech host
and ingress-nginx/main-gateway, matching the active (non-commented)
location blocks in global-ingress's nginx-configmap (fetched live from the
cluster and cross-checked service/port/namespace names against what's
actually running). The root path (/) stays routed to
nginx-service.global-ingress as a fallback for anything not covered here.

Two deliberate deviations from literally replaying the nginx config:
- /comparisons/api/: nginx proxies to port 8080, but the real
  backend-service.comparisons Service listens on 80 (targetPort 8080) —
  used 80.
- /orchestrator/: nginx declares 4 location blocks, but the first
  (bare ~^/orchestrator/) shadows the other three for any non-empty
  path (nginx picks the first matching regex location, not the most
  specific), so only one route (no rewrite) was ported, matching what
  nginx actually does today.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-01 18:50:27 +05:00
emelinda
a438f5bd6b Uncomment vs-resources-admin configuration in brusnika-stage Istio settings. 2026-09-30 17:55:40 +03:00
emelinda
8244e56f02 Comment out vs-resources-admin configuration in brusnika-stage Istio settings. 2026-09-30 17:52:55 +03:00
emelinda
70e4b24eee Uncomment vs-resources-admin configuration in brusnika-stage Istio settings. 2026-09-30 17:42:18 +03:00
emelinda
474298459a comment vs-resources-admin configuration in brusnika-stage Istio settings. 2026-09-30 17:35:11 +03:00
emelinda
c471cf39e0 Uncomment vs-resources-admin configuration in brusnika-stage Istio settings. 2026-09-30 15:20:40 +03:00
emelinda
809febe4dc Comment out vs-resources-admin configuration in brusnika-stage Istio settings. 2026-09-30 14:06:07 +03:00
emelinda
c602ca904a Uncomment vs-resources-admin configuration in brusnika-stage Istio settings. 2026-09-30 09:38:28 +03:00
emelinda
9ea8ab675e Comment out vs-resources-admin configuration in brusnika-stage Istio settings. 2026-09-30 09:23:04 +03:00
emelinda
e04fc5b850 Update Istio route prefix for resource-management in brusnika-stage configuration. 2026-09-29 17:47:23 +03:00
a204213979 ++ uralkal camunda domains 2026-09-28 18:23:45 +03:00
ivan
9ec172c0f4 uralkal: replicate the vad business-app footprint (36 apps) with uralkal domains
apps/<app>/uralkal mirrors apps/<app>/vad for all 36 apps from
clusters/vad/kustomization.yaml, with domains remapped (not a suffix swap —
vad's sarex-login.vadroad.ru etc. use a different host scheme than uralkal's
login.sarex.local.uralkali.com). Two things are left as explicit
placeholders pending real infra: the Zitadel client_id/org_id
(TBD_URALKAL_ZITADEL_CLIENT_ID, since uralkal's Zitadel has no application
registered yet) and the Kafka CA cert in pm/issues/message-hub/flows
(copied from vad, will need swapping once uralkal's Kafka actually
generates its own CA, same as vad's history).

infrastructure/s3-proxy/uralkal: new component, nginx upstream points at
the single uralkal minio endpoint (10.133.0.245:9000) from terraform,
unlike vad's 4-node list.

clusters/uralkal/kustomization.yaml: wires in s3-proxy + all 36 apps.

infrastructure/istio-config/uralkal/istio-config.yaml: adds the 28
path-routed virtualServices under sarex.local.uralkali.com (mirroring
vad's sarex.vadroad.ru routing, incl. the documentations-api CORS policy)
plus stamp-verification/document-link/s3 on their already-declared hosts.
Pre-existing zitadel/superset/camunda-operate blocks are untouched.

apps/django/vad/backend.yaml: drop a stale explanatory comment (also
removed from the uralkal copy before this commit).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-28 14:56:17 +03:00
e23783997e ++ uralkal istio-config domains 2026-09-28 11:02:53 +03:00
dcab7c00ed ++ uralkal superset image with deps 2026-09-28 11:02:53 +03:00
ivan
2595d174aa vad: allow cross-origin credentialed requests to documentations-api (document-link, stamp-verification)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-27 22:41:17 +03:00
ivan
3dcf6ef89f vad: istio path routing for pm (/pm/api/, /pm/)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-27 21:44:39 +03:00
emelinda
15d1f11d8a Remove HelmRelease configurations (failed-pod-cleanup.yaml, goalert.yaml, and istio-config.yaml) from brusnika-stage cluster. 2026-09-25 18:04:55 +03:00
4703b77906 ++ uralkal bundled postgres 2026-09-25 17:27:14 +03:00
692647f4ec ++ uralkal trino node 2026-09-25 16:47:46 +03:00
69c45fc7f1 ++ uralkal apps 2026-09-25 16:46:07 +03:00
26f4d13d47 ++ uralkal kafka rabbitmq 2026-09-25 12:07:57 +03:00
b053237833 ++ pin uralkal ingressgateway to 1 replica 2026-09-24 11:23:36 +03:00
6ec7167c04 ++ uralkal vault istio-base istio-pilot istio-gateway 2026-09-23 17:48:37 +03:00
ivan
ef3120352e vad: fix zitadel ExternalDomain to match the actual istio host
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 15:55:01 +05:00
ivan
c75d178fb5 vad: istio path-routing for sarex.vadroad.ru
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 02:16:07 +05:00
d14b072432 ++ vad camunda identity urls to flat sarex- scheme 2026-09-17 13:28:24 +03:00
5f48671f0e ++ vad istio hosts to flat sarex- scheme 2026-09-17 12:54:40 +03:00
ivan
24fa9db719 sarex-contour: remove explanatory comments
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 12:40:46 +05:00
ivan
9baaa3d7f1 ++ sarex-contour: zitadel
infrastructure/zitadel/sarex-contour (chart idp-contour 4.12.13), по
образцу overlay vad: без dependsOn на postgresql (БД внешняя, отдельная
машина 111.88.255.180 — заказана через terraform live/database, не
in-cluster HelmRelease), postRenderer снимает nodeSelector с Deployment
+ 2 Job'ов и подменяет vault-agent template на свой (кладёт
Admin.Password/FirstInstance.Org.Human.Password из
secrets/data/zitadel/postgresql).

ExternalDomain — заглушка zitadel.sarex-contour.internal, istio-config
для внешнего доступа ещё не заведён.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-11 18:15:12 +05:00
ivan
48f7934699 ++ sarex-contour: rabbitmq — вырезать Certificate/Gateway/VirtualService
cert-manager в sarex-contour не раскатан, chart рендерит Certificate/
Gateway/VirtualService для ingress несмотря на values:null (как и в
vad/d8-ugmk-prod) — install падал на "no matches for kind Certificate".
Тот же postRenderer $patch:delete, что у vad.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-11 17:18:05 +05:00
ivan
0c882d76c2 ++ sarex-contour: kafka + rabbitmq
infrastructure/kafka/sarex-contour, infrastructure/rabbitmq/sarex-contour
(values по образцу yc-k8s-test, controller-only kafka KRaft, rabbitmq
1 реплика, local-path). Vault для них уже заведён отдельно (terraform
environments.sarex-contour.vault, kafka/rabbitmq policy+role+kv).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-11 17:17:00 +05:00
ivan
e37507aa6c ++ sarex-contour: vault ha.replicas=1
chart всегда рендерит raft HA; для контура держим одну ноду вместо
дефолтных трёх — меньше unseal-операций и PVC.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-10 18:48:30 +05:00
ivan
b98b4b6ee3 ++ sarex-contour: vault dataStorage.size 10Gi
chart 0.2.3 дефолтит 20Gi, живой StatefulSet с 0.1.0 — 10Gi, поле
volumeClaimTemplates иммутабельно → helm upgrade падал Forbidden.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-10 18:44:14 +05:00
ivan
f3e2f84947 ++ sarex-contour: vault — values по образцу ugok
chart 0.2.3 игнорирует server.standalone/ha.enabled и рендерит raft;
не воюем с ним — values только regcred + backup off, как в overlay ugok.
postRenderer снимает nodeSelector dedicated=sts.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-10 18:28:10 +05:00
ivan
b9154da622 ++ sarex-contour: vault — снять nodeSelector dedicated=sts
chart vault-contour 0.2.3 прибивает server-под к нодам dedicated=sts,
в кластере их нет → под висел Pending. postRenderer + values обнуляют
nodeSelector/tolerations на StatefulSet и injector.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-10 18:17:47 +05:00
ivan
b4f3fc6851 ++ sarex-contour: vault под управление flux
vault уже стоял в кластере (helm CLI, chart 0.1.0, standalone/raft,
инициализирован, данных нет). Overlay infrastructure/vault/sarex-contour:
values как у прочих свежих контуров (regcred, backup off, standalone),
namespace istio-injection: disabled. helm-controller перенимает релиз
`vault` и апгрейдит до 0.2.3 (base). StatefulSet updateStrategy: OnDelete —
под не дёргается автоматически.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-10 18:15:57 +05:00
ivan
5d5fde4374 ++ sarex-contour: ingressgateway replicaCount=1
base-чарт istio-gateway прибит к control-plane нодам и просит 3 реплики
с hostPort — в sarex-contour одна control-plane нода, 2 пода висли Pending.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-10 17:27:36 +05:00
ivan
ea759acd09 ++ sarex-contour: flux entrypoint + istio rollout
Новый кластер clusters/sarex-contour: flux-system (bootstrap на
gitlab.sarex.io, path ./clusters/sarex-contour), helm-repositories
(yc-oci-charts), раскатка istio-base/istiod/ingressgateway.
Gateway опубликован через NodePort 30080/30443 — в контуре нет
облачного LoadBalancer.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-10 17:18:46 +05:00
d37c229249 ++ default local-path storage class to retain 2026-09-01 18:21:48 +03:00
ivan
9591d770be ++ 2026-08-31 16:55:22 +05:00
ivan
1ffe61ea88 feat(bi/d8-ugmk-prod): istio-маршруты для bi на sarex-bi.uralmine.com
/analytics-v2/api/ -> /api/  -> bi-backend-service.bi:80
/analytics-v2/static/, /analytics-v2/ -> / -> bi-frontend-frontend-svc.bi:80
Префиксы уже, чем catch-all `/` -> superset на том же хосте.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-31 16:54:09 +05:00
bd62e7c153 ++ force empty nodeselector and tolerations for ugok vault 2026-08-28 13:21:49 +03:00
75cecf0321 ++ add vault install for ugok 2026-08-28 13:14:11 +03:00
b911b7ea50 ++ deploy dedicated in-cluster postgres for zitadel, point zitadel at it 2026-08-26 14:22:02 +03:00
2bbf786aa6 ++ revert keycloak db password to allowed vault path 2026-08-26 14:17:25 +03:00
7b5f249581 ++ read identity password from canonical vault key, drop staging secret 2026-08-26 14:03:22 +03:00
09b0d4e8d1 ++ point keycloak db password at its own vault path 2026-08-26 12:53:12 +03:00
30e58fdc30 ++ fix gateway wildcard and drop foreign domains 2026-08-26 12:32:46 +03:00
9e66a1e31d ++ route s3 domain through ingressgateway to nginx service 2026-08-26 12:20:56 +03:00
8bbc158e49 ++ add s3-proxy nginx service for vad 2026-08-26 12:15:11 +03:00
d2df6afaa4 ++ add istio-config for vad with self-signed tls 2026-08-26 12:06:00 +03:00
f051fd67b8 ++ zitadel admin password reads same key as user 2026-08-26 11:58:30 +03:00
4420efb5a1 ++ match ugmk zitadel admin username pattern 2026-08-26 11:51:32 +03:00
c38032e64e ++ add kafka camunda zitadel overlays for vad 2026-08-26 11:32:23 +03:00
9db6db713a ++ nest ingressgateway service override under internal defaults key 2026-08-25 18:43:38 +03:00
b5acdf28b5 ++ fix vad ingressgateway values schema, expose 30080/30443 2026-08-25 18:40:55 +03:00
e2c3079ab1 ++ fix vad rabbitmq gateway crd and istio image pull secrets 2026-08-25 18:28:13 +03:00
83262697c0 ++ add vault, rabbitmq and istio for vad 2026-08-25 18:22:55 +03:00
98f8ad1635 ++ null out sarex_db and resources_db chart defaults in trino catalogs 2026-08-25 14:57:43 +03:00
88b58158de ++ point trino at django_db, drop dead resources_db catalog 2026-08-21 15:56:15 +03:00