60 lines
5.3 KiB
JSON
60 lines
5.3 KiB
JSON
{
|
||
"_комментарий": "Профиль контура: всё, что зависит от конкретной инсталляции. Значения здесь — ПРИМЕР. Для реального контура скопируйте файл, подставьте настоящие имена и держите копию вне репозитория.",
|
||
|
||
"model": {
|
||
"name": "СДЕ Sarex — типовой контур (пример)",
|
||
"purpose": "Технологический слой типового контура. Имена кластера, узлов, доменов и реестра заменены на примеры. Прикладной слой присутствует только как потребители технологических сервисов — межсервисные связи приложений моделируются отдельно."
|
||
},
|
||
|
||
"cluster": {
|
||
"name": "Кластер k8s-prod",
|
||
"doc": "clusters/<contour>/kustomization.yaml. Развёртывание через FluxCD v2 (GitOps)."
|
||
},
|
||
|
||
"software": [
|
||
{ "id": "ss-istio-gw", "name": "Istio Ingress Gateway", "doc": "Ingress-контроллер, публикует контур наружу через NodePort." },
|
||
{ "id": "ss-istio-mesh", "name": "Istio Service Mesh", "doc": "chart istio-config-contour. Gateway, VirtualService, RequestAuthentication." },
|
||
{ "id": "ss-certmanager", "name": "cert-manager", "doc": "Выпуск сертификатов. В примере — самоподписанный ClusterIssuer, wildcard на домен контура." },
|
||
{ "id": "ss-zitadel", "name": "Zitadel", "doc": "chart idp-contour, ns zitadel. Основной поставщик идентичности." },
|
||
{ "id": "ss-vault", "name": "Vault + Agent Injector", "doc": "chart vault-contour, ns vault. Единственный механизм доставки секретов, путь secrets/data/apps/<app>/postgres." },
|
||
{ "id": "ss-postgres", "name": "PostgreSQL", "doc": "chart postgresql-contour, ns postgresql. PVC на сетевом хранилище." },
|
||
{ "id": "ss-redis", "name": "Redis", "doc": "Разворачивается не во всех контурах и не для всех приложений." },
|
||
{ "id": "ss-kafka", "name": "Kafka", "doc": "chart kafka-contour, ns kafka." },
|
||
{ "id": "ss-rabbit", "name": "RabbitMQ", "doc": "chart rabbitmq-contour, ns rabbitmq." },
|
||
{ "id": "ss-camunda", "name": "Camunda Platform", "doc": "chart camunda-contour, ns camunda. В этом примере потребителей не показано." }
|
||
],
|
||
|
||
"camunda_sub": ["Zeebe", "Zeebe Gateway", "Operate", "Tasklist", "Optimize", "Identity", "Connectors"],
|
||
|
||
"external": [
|
||
{ "id": "nd-s3", "name": "s3.example.com — объектное хранилище", "doc": "Внешнее по отношению к кластеру.", "realizes": "ts-object" },
|
||
{ "id": "nd-nfs", "name": "Сетевое хранилище (StorageClass)", "doc": "Класс хранения для PVC.", "serves": "ss-postgres" },
|
||
{ "id": "nd-gitea", "name": "Git-сервер контура", "doc": "Источник манифестов для Flux.", "serves": "cluster" },
|
||
{ "id": "nd-cr", "name": "registry.example.com", "doc": "Реестр Helm-чартов (OCI) и образов контейнеров.", "serves": "cluster",
|
||
"artifacts": [
|
||
{ "id": "ar-charts", "name": "Helm-чарты (OCI)" },
|
||
{ "id": "ar-images", "name": "Образы контейнеров" }
|
||
] }
|
||
],
|
||
|
||
"frontend_node": {
|
||
"id": "nd-frontend",
|
||
"name": "frontend-node-01",
|
||
"doc": "Выделенный узел, к которому ingress-gateway прибит через nodeSelector.",
|
||
"assigned_to": "ss-istio-gw"
|
||
},
|
||
|
||
"services": [
|
||
{ "id": "ts-ingress", "name": "Маршрутизация HTTPS-трафика", "realizers": ["ss-istio-gw", "ss-istio-mesh"], "key": "istio" },
|
||
{ "id": "ts-tls", "name": "Выпуск TLS-сертификатов", "realizers": ["ss-certmanager"], "key": null, "serves_software": "ss-istio-gw" },
|
||
{ "id": "ts-oidc", "name": "Аутентификация OIDC", "realizers": ["ss-zitadel"], "key": "oidc" },
|
||
{ "id": "ts-secrets", "name": "Управление секретами", "realizers": ["ss-vault"], "key": "vault" },
|
||
{ "id": "ts-rdbms", "name": "Реляционное хранилище", "realizers": ["ss-postgres"], "key": "postgres" },
|
||
{ "id": "ts-cache", "name": "Кэш", "realizers": ["ss-redis"], "key": "redis" },
|
||
{ "id": "ts-events", "name": "Событийная шина", "realizers": ["ss-kafka"], "key": "kafka" },
|
||
{ "id": "ts-amqp", "name": "Очередь сообщений AMQP", "realizers": ["ss-rabbit"], "key": "rabbitmq" },
|
||
{ "id": "ts-bpmn", "name": "Оркестрация процессов BPMN", "realizers": ["ss-camunda"], "key": "camunda" },
|
||
{ "id": "ts-object", "name": "Объектное хранилище", "realizers": ["nd-s3"], "key": "s3" }
|
||
]
|
||
}
|