Установка On-Prem

Пошаговая инструкция по развёртыванию Oopps.ai в вашем кластере Kubernetes с помощью Helm.

Предварительные требования

Ingress Controller

В Yandex Cloud рекомендуется использовать Gwin (встроенный Ingress Controller). Для других облаков и on-prem кластеров подойдёт nginx-ingress или любой другой контроллер, поддерживающий стандартные аннотации Ingress.

Установка через Helm

1. Установите платформу

Выполните команду helm install с OCI-чартом:

helm install oopps-platform \
  oci://cr.yandex/crpmb7aia1nose81sno1/oopps/platform/oopps-platform \
  --namespace oopps --create-namespace \
  -f values-marketplace.yaml

Файл values-marketplace.yaml содержит параметры вашей инсталляции. Пример минимальной конфигурации:

# values-marketplace.yaml
global:
  domain: oopps.example.com

externalDatabase:
  host: rc1a-xxx.mdb.yandexcloud.net
  port: 6432
  database: oopps
  user: oopps
  password: "<DB_PASSWORD>"

autoConnector:
  billingAccountID: "dn2xxxxxxxxxxxxxx"   # опционально, для биллинга

2. Проверьте статус подов

kubectl get pods -n oopps

Все поды должны перейти в статус Running в течение 2–3 минут.

3. Настройте DNS

Узнайте IP-адрес Ingress Controller:

kubectl get svc -A | grep -i ingress

Создайте A-запись в DNS, направляющую ваш домен (например, oopps.example.com) на полученный IP-адрес.

4. Настройте TLS

Вариант A: cert-manager (рекомендуется)

Если в кластере установлен cert-manager, сертификат будет выпущен автоматически. Убедитесь, что в values-marketplace.yaml указан корректный ClusterIssuer:

ingress:
  tls:
    enabled: true
    clusterIssuer: letsencrypt-prod

Вариант B: ручной секрет

Создайте TLS-секрет вручную:

kubectl create secret tls oopps-tls \
  --cert=fullchain.pem \
  --key=privkey.pem \
  -n oopps

И укажите его в values-marketplace.yaml:

ingress:
  tls:
    enabled: true
    secretName: oopps-tls

5. Зарегистрируйте первого пользователя

Откройте https://oopps.example.com/register в браузере. При регистрации первого пользователя автоматически создаётся организация и коннектор через metadata-сервис.

Авто-коннектор определяет folder_id и получает IAM-токен от сервисного аккаунта ноды (169.254.169.254). Если указан autoConnector.billingAccountID — данные биллинга также будут доступны сразу.

Параметры конфигурации

ПараметрПо умолчаниюОписание
global.domain Домен для доступа к платформе (обязательно)
externalDatabase.host Хост PostgreSQL (если не указан, используется встроенная БД)
externalDatabase.port 6432 Порт PostgreSQL
externalDatabase.database oopps Имя базы данных
externalDatabase.user oopps Пользователь PostgreSQL
externalDatabase.password Пароль PostgreSQL
autoConnector.billingAccountID ID биллинг-аккаунта Yandex Cloud (опционально, для биллинга)
ingress.tls.enabled true Включить TLS
ingress.tls.clusterIssuer Имя ClusterIssuer для cert-manager
ingress.tls.secretName Имя TLS-секрета (если без cert-manager)

Настройка выделенного сервисного аккаунта

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

После установки откройте настройки коннектора в UI платформы и измените метод аутентификации на авторизованный ключ выделенного сервисного аккаунта.

Мульти-кластер

Для мониторинга дополнительных кластеров установите Helm-чарт oopps-agent:

helm install oopps-agent \
  oci://cr.yandex/crpmb7aia1nose81sno1/oopps/platform/oopps-agent \
  --namespace oopps-system --create-namespace \
  --set agentToken=<TOKEN>

Токен можно получить в UI платформы: коннектор → вкладка АгентыЗарегистрировать агент.

Что дальше?