Commit Graph

368 Commits

Author SHA1 Message Date
ivan
f0af3ed8a0 sarex-contour: django_auth explicit username/password
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 12:57:19 +05:00
ivan
442fc92816 ++ sarex-contour: flows, issues, checklists, contracts vault (+ documentations stub for flows cross-db read)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 12:51:08 +05:00
ivan
68cdd58196 ++ sarex-contour: databases (flows, issues, checklists, contracts, documentations) + buckets (issues, contracts)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 12:45:18 +05:00
ivan
d9409fd6bd ++ sarex-contour: eav + bi vault (postgres, eav также minio)
applications.eav — apps/eav/postgres + read_paths на minio/apps/eav и
vault/common/rsa_keys; minio.apps.eav с client.endpoint (шаблон eav
читает YC_S3_ENDPOINT_URL из .Data.data.client.endpoint, в отличие от
django, где эндпоинт захардкожен в манифесте).
applications.bi — apps/bi/postgres, единственная зависимость.
Все пароли — литералом из live/database и live/s3.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 12:26:52 +05:00
ivan
fd31350ae0 ++ sarex-contour: databases (eav, bi) + bucket (eav)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 12:22:58 +05:00
ivan
ac534338e8 ++ sarex-contour: rabbitmq.apps.django
All checks were successful
Terraform Terragrunt (contour) / validate (push) Successful in 1m10s
Terraform Terragrunt (contour) / plan (push) Successful in 1m9s
Terraform Terragrunt (contour) / apply (push) Successful in 1m11s
vhost/юзер django реально созданы в живом RabbitMQ (rabbitmqctl
add_vhost/add_user/set_permissions через kubectl exec) — тут только
кладём те же значения в Vault (generate: false, литерал), чтобы
vault-agent django их подхватил.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-15 13:05:13 +05:00
ivan
eb3afef85a ++ sarex-contour: RSA keys + kafka.apps.django
create_rsa_keys: true + common.rsa_keys.generate — закрывает
vault/common/rsa_keys для django (JWT_PRIVATE_KEY/JWT_PUBLIC_KEY).
kafka.apps.django.generate — закрывает kafka/apps/django; функционально
kafka django не использует (SERVER_KAFKA_ENABLED=False), но путь должен
резолвиться для vault-agent-init.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-15 13:01:47 +05:00
ivan
dda946f59e ++ sarex-contour: django postgres + zitadel access token
applications.django — secret_path apps/django/postgres (путь из
apps/django/base/backend.yaml), данные литералом из live/database.
read_paths включает rabbitmq/apps/django, minio/apps/django,
kafka/apps/django (ещё не заведены — следующим шагом) и
vault/common/{rsa_keys,django_auth}.

django_zitadel_access_token — то же значение, что у yc-k8s-test
(общее поле vault/common/django_auth.extra, по просьбе).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-15 12:59:21 +05:00
ivan
6686dc9d44 ++ sarex-contour: databases (django)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-15 12:56:19 +05:00
ivan
94f98b36ff ++ sarex-contour: minio.apps.django (данные из live/s3)
minio.enabled: true только ради apps.django — admin/role явно
выключены (нет in-cluster minio-инстанса, писать туда нечего и незачем
роль заводить). access_key/secret_key — реальные, с внешнего MinIO
(live/s3, bucket "django" + IAM-юзер django-sa с policy только на этот
бакет).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-15 12:52:06 +05:00
ivan
b1e935b4f7 ++ sarex-contour: minio endpoint + bucket django
Тот же внешний MinIO, что уже используется под tfstate
(111.88.252.72:9000) — не отдельный in-cluster инстанс.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-15 12:50:16 +05:00
ivan
4e0ea3532d ++ sarex-contour: workspaces (postgres + django_auth stub)
applications.workspaces — secret_path apps/workspaces/postgres (путь,
захардкоженный в iac base/backend.yaml), данные литералом из
live/database (реальная роль/база workspaces_db на 111.88.255.180).
read_paths включает vault/common/django_auth — приложение объявляет
эту vault-secret в манифесте (DJANGO_BASIC_AUTH), хотя код её не
использует (см. apps/workspaces/CONFIGURATION.md) — без неё
vault-agent-init не стартует.

create_django_auth/create_app_policies/create_app_roles: true —
только для sarex-contour, остальные окружения не тронуты (diff
подтверждён).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-15 12:32:25 +05:00
ivan
b774caedce ++ sarex-contour: databases (workspaces_db)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-15 12:28:54 +05:00
ivan
37d89a1b44 ++ sarex-contour: zitadel role.service_account_names: zitadel
All checks were successful
Terraform Terragrunt (contour) / validate (push) Successful in 1m18s
Terraform Terragrunt (contour) / plan (push) Successful in 1m7s
Terraform Terragrunt (contour) / apply (push) Successful in 1m11s
chart с serviceAccount.name: zitadel (не дефолтный zitadel-idp-contour)
- vault role должен биндиться на реальное имя SA, иначе 403 "service
account name not authorized" (как у vad — тот же паттерн).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-11 18:19:50 +05:00
ivan
679e79e4e1 ++ sarex-contour: zitadel.postgresql (пароль от live/database)
zitadel.enabled: true, postgresql.password — литерал, взят из вывода
live/database (реальная роль/база zitadel на внешнем postgres
111.88.255.180, создана этим же прогоном). generate: false — держим
терраформ-модуль в синхроне с уже существующей БД, а не плодим
отдельный независимый пароль.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-11 18:12:26 +05:00
ivan
0cde523972 ++ sarex-contour: databases (zitadel)
environments.sarex-contour.databases в infrastructure.yaml (plaintext,
без sops) — для live/database stack. Postgres внешний, отдельная тачка
(111.88.255.180:5432), не наш in-cluster instance. Только новый
top-level ключ, остальные окружения не тронуты (чистый append, diff
подтверждён).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-11 18:09:36 +05:00
ivan
9741451e97 ++ sarex-contour: rabbitmq auth.username: sarex
Забыл перенести username при копировании из yc-k8s-test — ушёл пустой
default, из-за которого bitnami-образ засеял админа как литеральный
'user' вместо ожидаемого, а readiness-проба (читает vault-файл с пустым
именем) падала на invalid credentials.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-11 17:28:54 +05:00
ivan
1c6c0542fc ++ sarex-contour: vault env block (kafka + rabbitmq)
Новое окружение environments.sarex-contour.vault — только то, что уже
раскатано через iac: kafka (bootstrap, role по дефолту kafka-kafka-contour/
kafka) и rabbitmq (auth, role по дефолту rabbitmq/rabbitmq), пароли
generate: true. postgresql/minio/zitadel/camunda явно enabled:false —
этих сервисов в sarex-contour ещё нет, инфраструктурные дефолты модуля
иначе завели бы под них пустые secrets/roles.

Остальные environments (yc-k8s-test, ugmk, brusnika-stage, wb, vad) не
затронуты — проверено построчным diff расшифрованного содержимого.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-11 17:08:12 +05:00
ivan
1d85cab221 ++ ugmk: bi jwt secret (vault/apps/bi), mock value for now
All checks were successful
Terraform Terragrunt (contour) / validate (push) Successful in 1m11s
Terraform Terragrunt (contour) / plan (push) Successful in 1m8s
Terraform Terragrunt (contour) / apply (push) Successful in 1m9s
Adds bi-jwt (opaque, SUPERSET_JWT_SECRET) to the secrets list and
vault/apps/bi to bi's read_paths, so bi can drop the plain
superset-jwt-secret k8s secret and pull it from vault instead.
Value is a mock placeholder until the real one is known.
2026-08-31 16:31:05 +05:00
ivan
444e372749 ++ ugmk: bi postgres database + vault role, mirroring documentations
bi_db with ltree/pg_stat_statements/uuid-ossp extensions in
infrastructure.yaml; bi vault application role and bi-postgres secret
(apps/bi/postgres) in infrastructure-secrets.yaml, same shape as the
documentations app.
2026-08-31 15:59:21 +05:00
6d1e4fa861 ++ add postgresql namespace to regcred rollout list
All checks were successful
Terraform Terragrunt (contour) / validate (push) Successful in 1m2s
Terraform Terragrunt (contour) / plan (push) Successful in 1m5s
Terraform Terragrunt (contour) / apply (push) Successful in 1m13s
2026-08-26 14:49:21 +03:00
a66155e598 ++ remove stale v1 keys left on zitadel-postgresql v2 entry 2026-08-26 14:29:06 +03:00
9006521b68 ++ generate real zitadel postgres password via in-cluster postgres users secret 2026-08-26 14:22:02 +03:00
96ff8968e9 ++ compose keycloak-password into the policy-allowed camunda/postgresql secret 2026-08-26 14:17:25 +03:00
4b487e1fa0 ++ eliminate identity-password circular vault reference 2026-08-26 14:03:22 +03:00
e122f93749 ++ add missing camunda identity-components and identity-firstuser secrets 2026-08-26 13:51:44 +03:00
863c4896b0 ++ fix custom_keys misuse that overwrote real generated passwords 2026-08-26 13:44:22 +03:00
d2c2698765 ++ bind zitadel vault role to real service account name 2026-08-26 13:30:35 +03:00
17aede83c0 ++ drop circular keycloak-password ref from camunda-postgresql 2026-08-26 12:53:12 +03:00
d3b447e34c ++ fix camunda-postgresql secret to v2 contract shape 2026-08-26 12:45:49 +03:00
b578f442a7 ++ add regcred and protect existing infra secrets
All checks were successful
Terraform Terragrunt (contour) / validate (push) Successful in 1m0s
Terraform Terragrunt (contour) / plan (push) Successful in 1m5s
Terraform Terragrunt (contour) / apply (push) Successful in 1m3s
2026-08-26 12:32:46 +03:00
e28206025e ++ drop s3-proxy vault application 2026-08-26 12:20:56 +03:00
24de70dfa7 ++ add s3-proxy vault application for vad 2026-08-26 12:13:38 +03:00
5d0844b4c5 ++ wire zitadel and camunda vault secrets from real postgres passwords 2026-08-26 11:58:30 +03:00
917151ec16 ++ generate camunda and zitadel vault secrets for vad, drop conflicting db entries 2026-08-26 11:37:41 +03:00
ebb54303ab ++ add kafka camunda zitadel namespaces and databases for vad 2026-08-26 11:33:32 +03:00
8d39c5d612 ++ align vad rabbitmq with brusnika-stage contract 2026-08-26 10:57:05 +03:00
715177b0a4 ++ add vad vault secrets stub 2026-08-25 20:03:37 +03:00
c69704e250 ++ add vad test database
All checks were successful
Terraform Terragrunt (contour) / validate (push) Successful in 1m2s
Terraform Terragrunt (contour) / plan (push) Successful in 1m3s
Terraform Terragrunt (contour) / apply (push) Successful in 1m3s
2026-08-25 19:37:05 +03:00
a81c1776bd ++ add empty vad environment 2026-08-25 19:20:36 +03:00
ivan
d5813ccd54 ++
All checks were successful
Terraform Terragrunt (contour) / validate (push) Successful in 1m22s
Terraform Terragrunt (contour) / plan (push) Successful in 1m31s
Terraform Terragrunt (contour) / apply (push) Successful in 1m39s
2026-08-21 14:30:35 +05:00
511814cab8 ++ fix superset database grant
All checks were successful
Terraform Terragrunt (contour) / validate (push) Successful in 1m6s
Terraform Terragrunt (contour) / plan (push) Successful in 1m9s
Terraform Terragrunt (contour) / apply (push) Successful in 1m10s
2026-08-20 13:29:26 +03:00
280559e7c8 ++ add superset trino ugmk secrets 2026-08-20 13:08:10 +03:00
0b7545670f ++ service contract compiler, issues on brusnika-stage
All checks were successful
Terraform Terragrunt (contour) / validate (push) Successful in 59s
Terraform Terragrunt (contour) / plan (push) Successful in 1m5s
Terraform Terragrunt (contour) / apply (push) Successful in 1m56s
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 16:17:33 +03:00
78316216b3 ++ fall back to the rabbitmq endpoint default when the var is set but empty
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 15:50:43 +03:00
128cdf0958 ++ drop test-terraform and rabbitmq-module-test from brusnika-stage
Some checks failed
Terraform Terragrunt (contour) / plan (push) Failing after 27s
Terraform Terragrunt (contour) / validate (push) Successful in 53s
Terraform Terragrunt (contour) / apply (push) Has been skipped
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 15:44:43 +03:00
84454b41ae ++ point brusnika-stage at the shared rabbitmq
Some checks failed
Terraform Terragrunt (contour) / validate (push) Successful in 51s
Terraform Terragrunt (contour) / apply (push) Has been cancelled
Terraform Terragrunt (contour) / plan (push) Has been cancelled
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 12:24:06 +03:00
a64eee3e4f ++ fall back to provider defaults when contour vars are set but empty
Some checks failed
Terraform Terragrunt (contour) / plan (push) Has been cancelled
Terraform Terragrunt (contour) / apply (push) Has been cancelled
Terraform Terragrunt (contour) / validate (push) Has been cancelled
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 12:17:38 +03:00
0d34391acd ++ ignore task.txt
Some checks failed
Terraform Terragrunt (contour) / validate (push) Failing after 2s
Terraform Terragrunt (contour) / plan (push) Has been skipped
Terraform Terragrunt (contour) / apply (push) Has been skipped
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 12:10:44 +03:00
ed3aaaed49 ++ vault creds and regcred for the shared rabbitmq on brusnika-stage
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 12:10:44 +03:00