Skip to main content
Version: 1.12-grodno (current)

Admin.SPA

1. Введение

Версия чарта: 260814.207.1084 OCI-репозиторий: cr.yandex/crpt9c7igqasaqddbg0p/frontend/admin.spa/charts/admin-spa Важно: Для admin-spa Ingress управляется через Terraform в модуле terraform/modules/medikt-infra (параметр nginx_ingress_medikt_admin_spa). Данный параметр должен быть включен в конфигурации Terraform.

2. Подготовка к развертыванию

2.1 Secret'ы

Для развертывания admin-spa требуется secret featbit-appsettings со следующими параметрами:

Имя Secret'аКлючНазначение
featbit-appsettingsclient_secretКлюч клиента для Feature Flags
featbit-appsettingsstreaming_uriURI для streaming (wss://els-featuremgr.medikt.net)
featbit-appsettingsevent_uriURI для событий (https://els-featuremgr.medikt.net)

Управление Secret'ами через Terraform:

module "featbit-appsettings-secret" {
source = "./modules/k8s-secret"

k8s_secret_name = "featbit-appsettings"
k8s_ns = ["prod"]
data = {
client_secret = "<base64-encoded-client-secret>"
streaming_uri = "wss://els-featuremgr.medikt.net"
event_uri = "https://els-featuremgr.medikt.net"
}
type = "Opaque"
}

2.2 ConfigMap'ы

Конфигурация приложения (config.json) формируется из шаблона в чарте:

  • Шаблон: charts/admin-spa/templates/configmap.yaml
  • Template: Использует Helm-шаблоны (tpl) для подстановки значений из values.yaml
  • Mount path: /usr/share/nginx/html/config.json

3. Получение чарта

Установка из OCI-репозитория

helm pull oci://cr.yandex/crpt9c7igqasaqddbg0p/frontend/admin.spa/charts/admin-spa \
--version 260814.207.1084 \
--untar --untardir ./charts

4. Развертывание с помощью Helm

Установка в namespace prod

helm install medikt-admin-spa ./charts/admin-spa \
--namespace prod \
--create-namespace \
-f .values/admin-spa_prod.yaml

Обновление чарта

helm upgrade medikt-admin-spa ./charts/admin-spa \
--namespace prod \
-f .values/admin-spa_prod.yaml

Удаление

helm uninstall medikt-admin-spa --namespace prod

5. Конфигурация

Параметры values.yaml

Конфигурационные параметры (config.json)

Параметрprod значениеОписание
adminAuthApiUrlhttps://adm.medikt.netURL API авторизации админки
userSsrhttps://medikt.netURL SSR для пользователя
userApiUrlhttps://user.medikt.netURL API пользователя
contentApiUrlhttps://content.medikt.netURL API контента

Пример для prod (.values/admin-spa_prod.yaml)

config:
adminAuthApiUrl: "https://adm.medikt.net"
userSsr: "https://medikt.net"
userApiUrl: "https://user.medikt.net"
contentApiUrl: "https://content.medikt.net"

ingress:
enabled: false # Управляется через Terraform

6. Проверка развертывания

Проверка подов

kubectl get pods -n prod -l app.kubernetes.io/name=admin-spa

Проверка сервиса

kubectl get svc -n prod medikt-admin-spa

Проверка Ingress (Terraform)

kubectl get ingress -n prod medikt-admin-spa

Проверка конфигурации

kubectl exec -n prod <pod-name> -- cat /usr/share/nginx/html/config.json