Быстрый старт

Перед установкой чарта необходимо убедиться, что инфраструктура соответствует следующим условиям:

Требования

Вычислительные

Минимальные требования для запуска:

Сценарий

CPU (m)

RAM (Mi)

Без сервисов для поддержки ИИ

780 m

1950 Mi

С сервисами для поддержки ИИ

1030 m

2400 Mi

Лимиты:

Сценарий

CPU (m)

RAM (Mi)

Без сервисов для поддержки ИИ

1050 m

2505 Mi

С сервисами для поддержки ИИ

1800 m

3405 Mi

Аппаратные

Компонент

Требования

Kubernetes

Версия >= 1.19

Helm

Версия >= 3.10

Ingress Controller

Установлен и работает (например, ingress-nginx)

DNS

Доступ к управлению DNS-зоной у вашего провайдера (например, Regery) для создания A-записей

Доменные имена

Подготовлены домены для сервисов (например: portal.example.com, ges.example.com, app.example.com)

TLS

Для HTTPS необходимы TLS-сертификаты или wildcard-сертификат.

Добавление репозитория

Для установки чарта необходимо добавить наш публичный Helm-репозиторий:

helm repo add gramax https://s3.ics-it.ru/public/docreader/helm/ helm repo update

После этого вы можете убедиться, что репозиторий успешно добавлен: helm search repo gramax.

Пример values.yaml

Вы можете получить шаблон values.yaml для ускорения заполнения переменных с помощью такой команды:

curl -LO https://gram.ax/example.values.yaml

Настройка Gramax Enterprise Server

Задайте основные параметры Gramax Enterprise Server:

Переменная

Описание

Пример значения

CLIENT_NAME

Логин клиента Gramax Enterprise Server. Используется для аутентификации в нашем Docker Registry (хранилище образов) и при подстановке значений в переменные конфигурации. Выдаётся при покупке. Обязателен.

gramax

GES_URL

URL, на котором будет доступен GES. Обязателен.

https://enterprise.gramax.local

AUTH_SERVICE_URL

URL по которому будет доступен сервис auth.

https://ges.gram.ax/auth

DIAGRAM_RENDERER_SERVICE_URL

URL по которому будет доступен сервис Diagram-renderer.

https://ges.gram.ax/diagram-renderer

ALLOWED_GRAMAX_URLS

URL-адреса инстансов Gramax (портал документации, браузерная версия и Gramax Enterprise Server). Запятая в конце не нужна. Обязателен.

https://some-instance.gram.ax,https://another-instance.gram.ax

LICENSE_KEY

Лицензионный ключ Gramax Enterprise Server. Используется только для подстановки в конфигурацию. Выдаётся при покупке. Обязателен

765d562b9092eec3…

GIT_SERVER_TOKEN

Токен доступа к Git-серверу на стороне клиента. Нужен для чтения/клонирования репозиториев (доступ к API). Обязателен.

glpat-...

GES_ADMIN_EMAILS

Почты владельцев воркспейса (через запятую). Устанавливаются в конфиг только при первом запуске. Обязателен.

admin1@gramax.local,admin2@gramax.local

GIT_SERVER_URL

Адрес GitLab-сервера для внешнего хранилища. Обязателен.

https://gitlab.example.com

ENTERPRISE_STORAGE_TYPE

Тип хранилища конфигураций (gitlab или local). Обязателен.

gitlab

ENTERPRISE_CONFIG_PATH

При ENTERPRISE_STORAGE_TYPE = local:

путь до папки с настройками GES на виртуальной машине. Обязателен.

/app/config (по умолчанию)

GIT_PROJECT_PATH

При ENTERPRISE_STORAGE_TYPE = gitlab:

путь до репозитория с настройками в GitLab. Должен быть создан до инициализации. Хранится в формате «группа/название-репозитория». Обязателен.

dr/gramax-yaml-manager

ENTERPRISE_SERVICE_ENCRYPTION_KEY

Ключ, используется для безопасной передачи данных между сервисами. Обязателен.

5caf59ed...cddb8489

COOKIE_SECRET

Ключ для шифрования секретов пользователя в куках. Если не указан, используется ., рекомендуется заменить его на 32-байтный ключ (можно сгенерировать, используя openssl rand -hex 32

397b6f3bf51a73b9352e997f837f1d78ac0b68f12058d33a89dd33ade48ff928

Также настройте подключение к SSO, ИИ-функции и логирование.

Для чувствительных данных (токены, пароли, ключи) используется Kubernetes Secret. Настройка делается через параметры:

  • secrets.create — создавать Secret автоматически средствами чарта.

  • secrets.name — имя Secret для чтения переменных в подах.

Системные значения Helm-чарта

Настраиваются ресурсы сервисов (CPU и память) и параметры Ingress-доступа. Подробнее в статье.

Создание секретов

Есть два сценария:

  1. Secret создает чарт (secrets.create: true).

  2. Используется заранее созданный Secret (secrets.create: false, secrets.name: "<secret-name>").

Пример использования существующего Secret:

kubectl create secret generic gramax-app-secrets \ -n <namespace> \ --from-literal=COOKIE_SECRET='<...>' \ --from-literal=GIT_SERVER_TOKEN='<...>' \ --from-literal=ENTERPRISE_SERVICE_ENCRYPTION_KEY='<...>'

Установка чарта

После добавления и всех настроек можно установить чарт в ваш кластер Kubernetes.

helm install gramax gramax/gramax-enterprise-server-in-k8s -n <...> --create-namespace -f values.yaml

Пример установки c использованием существующего Secret:

helm install gramax gramax/gramax-enterprise-server-in-k8s \ -n <...> \ --create-namespace \ -f values.yaml \ --set secrets.create=false \ --set secrets.name=gramax-app-secrets