Диаграмма зависимостей prod-infra
В этой диаграмме показаны зависимости между Terraform модулями в terraform/prod-infra.
Диаграмма уровней 0-2
Диаграмма показывает базовую инфраструктуру, инфраструктурные компоненты и ресурсы Kubernetes.
Диаграмма уровней 3 (Конфигурация)
Диаграмма показывает конфигурацию и secrets с зависимостями от Lockbox.
Диаграмма уровней 4-5 (Приложения)
Диаграмма показывает приложения и их зависимости.
Таблица зависимостей
| Модуль | Зависит от | Описание |
|---|---|---|
lockbox | - | Data sources для получения секретов |
vpc | - | Создает VPC и подсеть |
dns_zone | - | Создает DNS зону |
gw | vpc | VM Gateway в VPC |
opensearch_mini | vpc | OpenSearch Headless кластер |
k8s | vpc | Kubernetes Master кластер |
private_bucket | - | S3 бакет private.medikt.net |
public_bucket | - | S3 бакет public.medikt.net |
transcoder_bucket | - | S3 бакет transcoderbucket.medikt.net |
mongodb8_cluster | vpc | MongoDB кластер |
transcoder_queues | - | Yandex Message Queue очереди |
core_nodes_ssd | k8s, vpc | Node Group для web-api |
cc_nodes200 | k8s, vpc | Node Group для композиторов |
transcoder_workers8 | k8s, vpc | Node Group для транскодеров |
cc-extra | k8s, vpc | Доп. Node Group для композиторов |
transcoders-extra | k8s, vpc | Доп. Node Group для транскодеров |
featbit_nodes | k8s, vpc | Node Group для featbit |
nats_nodes | k8s, vpc | Node Group для NATS |
monitoring_nodes | k8s, vpc | Node Group для мониторинга |
nginx_node_ingress | k8s, vpc | Node Group для ingress |
namespaces | node_groups | Kubernetes namespace (prod) |
service_accounts | - | Service Accounts для сервисов |
service_accounts_infra | - | Service Accounts для инфраструктуры |
directorydb_config | lockbox, k8s, namespaces | Connection string для directorydb |
jwt_keys | namespaces | JWT ключи |
captcha_secret | namespaces | Секрет для капчи |
ya_metric_secret | namespaces | Секрет для Яндекс Метрика |
transcoder_cm | transcoder_queues, buckets | ConfigMap для транскодера |
transcoder-sa-secret | service_accounts, namespaces | SA credentials для транскодера |
user-sa | service_accounts, namespaces | SA credentials для user API |
content-sa-secret | service_accounts, namespaces | SA credentials для content API |
upload-sa-secret | service_accounts, namespaces | SA credentials для upload API |
admin-sa-secret | service_accounts, namespaces | SA credentials для admin API |
notification-sa-secret | service_accounts, namespaces | SA credentials для notification API |
user_db8 | mongodb8_cluster | MongoDB database userdb |
content_db8 | mongodb8_cluster | MongoDB database contentdb |
transcoderapi_db8 | mongodb8_cluster | MongoDB database transcoderapi |
transcodercomposer_db8 | mongodb8_cluster | MongoDB database trancodercomposer |
notification_db8 | mongodb8_cluster | MongoDB database notificationdb |
cdn | dns_zone, public_bucket, vpc | CDN для public.medikt.net |
featbit | mongodb8_cluster, dns_zone, vpc, k8s | Feature Flag сервис |
nats-namespace | - | Kubernetes namespace nats |
nats_nodes | k8s, vpc | Node Group для NATS |
nats_helm_chart | nats_nodes | NATS Helm Chart |
nats_connection_string | nats_helm_chart | Connection string для NATS |
medikt-infra | service_accounts, transcoder_queues, buckets, k8s, mongodb, featbit, cdn, transcoder_cm, namespaces | Основное приложение |
Цветовая легенда
| Цвет | Уровень | Описание |
|---|---|---|
| Синий | Уровень 0 | Базовая инфраструктура (Lockbox, VPC, DNS) |
| Бежевый | Уровень 1 | Инфраструктура (Buckets, MongoDB, K8s Master) |
| Зеленый | Уровень 2 | Kubernetes ресурсы (Node Groups, Namespaces, Service Accounts) |
| Красный | Уровень 3 | Конфигурация и Secrets |
| Фиолетовый | Уровень 4-5 | Приложения (CDN, NATS, Featbit, medikt-infra) |