Skip to main content

Configuration of Services

После развёртки всех сервисов необходимо выполнить первоначальную настройку каждого из них. В этом разделе описана настройка основных сервисов.

Vault​

Vault уже настроен на этапе развёртки базовой инфраструктуры (см. Развёртка базовой инфраструктуры).

Дополнительная настройка​

Configuration политик доступа​

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

kubectl exec -n service deployment/vault -- vault policy write <policy-name> - <<EOF
path "secret/data/<service>/*" {
capabilities = ["read", "list"]
}
EOF

Интеграция с Kubernetes​

Интеграция с Kubernetes уже настроена скриптом vault-setup.sh. Дополнительные настройки можно выполнить через веб-интерфейс или CLI.

Authentik​

Authentik - SSO решение для единого входа во все сервисы.

Первоначальный вход​

  1. Откройте веб-интерфейс Authentik:

    https://authentik.local
  2. Войдите используя bootstrap токен (если это первый запуск):

    • Токен находится в секретах (authentikBootstrapToken)
  3. Создайте административный аккаунт:

    • Email: укажите ваш email
    • Пароль: создайте надёжный пароль
    • Сохраните учётные данные

Configuration источников пользователей​

  1. Navigate to раздел "Directory" → "Users"
  2. Создайте пользователей вручную или настройте LDAP/Active Directory
  3. Настройте группы пользователей

Configuration провайдеров​

OAuth2/OIDC провайдер​

  1. Navigate to "Applications" → "Providers"
  2. Создайте новый OAuth2/OIDC Provider:
    • Name: название провайдера
    • Authorization flow: выберите flow
    • Client ID и Client Secret: сгенерируйте автоматически

SAML провайдер​

  1. Создайте SAML Provider:
    • Настройте Entity ID
    • Укажите Service Provider binding
    • Настройте атрибуты

Интеграция с другими сервисами​

Настройте интеграцию Authentik с:

  • GitLab (через OAuth2)
  • YouTrack (через SAML)
  • Grafana (через OAuth2)
  • И другими сервисами

Для каждого сервиса:

  1. Создайте Provider в Authentik
  2. Создайте Application в Authentik
  3. Настройте сервис для использования Authentik (см. документацию конкретного сервиса)

Vaultwarden​

Vaultwarden - self-hosted сервер для Bitwarden.

Первый вход​

  1. Откройте веб-интерфейс:

    https://vaultwarden.local
  2. Зарегистрируйте первого пользователя:

    • Нажмите "Create account"
    • Заполните форму регистрации
    • Создайте мастер-пароль

Регистрация пользователей​

По умолчанию регистрация открыта. Для её отключения:

  1. Откройте административную панель:

    https://vaultwarden.local/admin
  2. Войдите используя admin token (из секретов)

  3. Отключите регистрацию:

    • Settings → General → Signups allowed: Off

Configuration административной панели​

  1. Войдите в админ панель (/admin)
  2. Используйте admin token из секретов
  3. Настройте:
    • Email уведомления
    • Приглашения пользователей
    • Политики безопасности

Configuration email уведомлений​

В секретах настройте:

  • vaultwardenEmail - email для отправки
  • SMTP настройки (через Authentik или внешний SMTP)

Использование через клиент​

  1. Скачайте клиент Bitwarden (Desktop, Mobile, Browser extension)
  2. В настройках сервера укажите:
    Server URL: https://vaultwarden.local
  3. Войдите используя созданный аккаунт

YouTrack​

YouTrack - система управления проектами от JetBrains.

Первый запуск​

  1. Откройте веб-интерфейс:

    https://youtrack.local
  2. Дождитесь завершения инициализации (может занять несколько минут)

  3. Войдите с учётными данными:

    • По умолчанию: admin / admin
    • Смените пароль при первом входе

Интеграция с JetBrains Hub​

  1. Настройте JetBrains Hub (см. раздел Hub)
  2. В YouTrack перейдите в Settings → Hub
  3. Укажите URL Hub сервера:
    https://hub.local
  4. Выполните подключение

Configuration проектов​

  1. Создайте первый проект:

    • Projects → Create Project
    • Выберите шаблон проекта
    • Настройте поля и workflow
  2. Настройте интеграции:

    • Git (GitLab, GitHub)
    • CI/CD (TeamCity)
    • Другие сервисы

Configuration интеграции с GitLab​

  1. В GitLab создайте Personal Access Token
  2. В YouTrack: Settings → Integrations → GitLab
  3. Укажите URL GitLab и токен
  4. Настройте синхронизацию коммитов и issues

TeamCity​

TeamCity - CI/CD сервер от JetBrains.

Первая настройка​

  1. Откройте веб-интерфейс:

    https://teamcity.local
  2. Примите лицензионное соглашение

  3. Настройте базу данных:

    • Используется внешний PostgreSQL (уже настроен)
    • TeamCity автоматически подключится к базе
  4. Создайте административный аккаунт

Подключение к базе данных​

База данных уже настроена в values.yaml. Check подключение:

kubectl exec -n code deployment/teamcity-server -- psql -h postgresql.db.svc.cluster.local -U teamcity -d teamcity -c "SELECT 1"

Configuration build агентов​

  1. Navigate to Administration → Agents
  2. Build агенты автоматически подключаются (если включены в конфигурации)
  3. Авторизуйте агентов для работы
  4. Check статус: Agents должны быть "Authorized" и "Connected"

Интеграция с GitLab​

  1. В GitLab создайте Personal Access Token
  2. В TeamCity: Administration → Integrations → GitLab
  3. Настройте подключение:
    • GitLab URL: https://gitlab.local
    • Personal Access Token: токен из GitLab
  4. Создайте проект, подключённый к GitLab репозиторию

GitLab​

GitLab - система контроля версий и CI/CD.

Первый вход​

  1. Откройте веб-интерфейс:

    https://gitlab.local
  2. Войдите с root пользователем:

    • Username: root
    • Пароль: находится в секретах (gitlabToken или установите через консоль)
  3. Смените пароль при первом входе

Configuration SSH ключей​

  1. Сгенерируйте SSH ключ (если ещё нет):

    ssh-keygen -t ed25519 -C "your_email@example.com"
  2. Скопируйте публичный ключ:

    cat ~/.ssh/id_ed25519.pub
  3. В GitLab: User Settings → SSH Keys

  4. Вставьте публичный ключ и сохраните

Configuration CI/CD​

  1. Создайте первый проект
  2. Добавьте .gitlab-ci.yml в репозиторий
  3. Настройте GitLab Runner (если используется)

Интеграция с внешними сервисами​

Настройте интеграцию с:

  • YouTrack (для связи issues)
  • TeamCity (для CI/CD)
  • Authentik (для SSO)

Notesnook​

Notesnook - система для ведения заметок.

Verification MongoDB replica set​

Перед использованием убедитесь, что MongoDB replica set настроен:

kubectl exec -it -n db deployment/mongodb -- mongosh --eval "rs.status()"

Если replica set не настроен, инициализируйте его:

kubectl exec -it -n db deployment/mongodb -- mongosh --eval "rs.initiate()"

Configuration MinIO buckets​

  1. Check доступность MinIO:

    kubectl get ingress -n db -l app=minio
  2. Войдите в MinIO консоль (обычно minio.local)

  3. Создайте bucket для Notesnook:

    • Bucket name: notesnook или attachments
    • Настройте права доступа

Первый вход через клиент​

  1. Скачайте клиент Notesnook (Desktop, Mobile, Web)
  2. В настройках укажите сервер:
    Server URL: https://notesnook.local
    Identity Server: https://identity.notesnook.local
  3. Создайте аккаунт
  4. Начните синхронизацию заметок

Stoat​

Stoat (ранее Revolt) - чат-сервер.

Первый запуск​

  1. Откройте веб-интерфейс:

    https://stoat.local
  2. Зарегистрируйте первого пользователя (администратора)

  3. Создайте первый сервер

Configuration серверов​

  1. В интерфейсе создайте сервер
  2. Пригласите пользователей
  3. Настройте каналы и роли
  4. Настройте интеграции (боты, вебхуки)

Stalwart​

Stalwart - почтовый сервер.

Configuration домена​

  1. В настройках Stalwart укажите ваш домен:
    Domain: mail.yourdomain.com

Configuration DNS записей​

Настройте следующие DNS записи для вашего домена:

MX запись:

yourdomain.com.  MX  10  mail.yourdomain.com.

A запись для mail:

mail.yourdomain.com.  A  YOUR_VPS_IP

SPF запись:

yourdomain.com.  TXT  "v=spf1 mx a ip4:YOUR_VPS_IP ~all"

DKIM запись: Получите DKIM ключ из Stalwart и добавьте TXT запись:

default._domainkey.yourdomain.com.  TXT  "v=DKIM1; k=rsa; p=..."

DMARC запись:

_dmarc.yourdomain.com.  TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com"

Интеграция с Authentik​

  1. В Authentik создайте LDAP провайдер
  2. В Stalwart настройте подключение к LDAP:
    • LDAP Server: authentik.service.svc.cluster.local
    • Port: 389 (или 636 для LDAPS)
    • Base DN: настройте согласно Authentik

Glance​

Glance - централизованный дашборд.

Configuration виджетов​

  1. Откройте веб-интерфейс:

    https://glance.local
  2. Войдите (если требуется авторизация)

  3. Добавьте виджеты:

    • Перетащите виджеты на дашборд
    • Настройте размер и позицию

Добавление ссылок на сервисы​

  1. Добавьте новый виджет "Ссылки"
  2. Добавьте ссылки на все ваши сервисы:
    • GitLab: https://gitlab.local
    • YouTrack: https://youtrack.local
    • Grafana: https://grafana.local
    • И другие

Кастомизация​

  1. Настройте тему (цвета, фон)
  2. Добавьте свои виджеты
  3. Настройте layout (сетку, размеры)

Monitoring (Grafana)​

Grafana - система визуализации метрик.

Первый вход​

  1. Откройте веб-интерфейс:

    https://grafana.local
  2. Войдите с учётными данными:

    • Username: admin
    • Password: из секретов (grafanaPassword)
  3. Смените пароль при первом входе

Configuration дашбордов​

  1. Импортируйте готовые дашборды:

    • Dashboard → Import
    • Выберите из библиотеки или импортируйте JSON
  2. Создайте свои дашборды:

    • Dashboard → New Dashboard
    • Добавьте панели (графики, таблицы, статистика)

Configuration алертов​

  1. Создайте каналы уведомлений:

    • Alerting → Notification channels
    • Настройте email, Slack, и другие каналы
  2. Создайте правила алертов:

    • Alerting → Alert rules
    • Настройте условия и уведомления

Подключение к Prometheus​

Grafana автоматически подключается к Prometheus. Check:

  1. Configuration → Data Sources
  2. Make sure, что Prometheus добавлен
  3. URL: http://prometheus.service.svc.cluster.local:9090

Harbor​

Harbor - container registry.

Первый вход​

  1. Откройте веб-интерфейс:

    https://harbor.local
  2. Войдите с учётными данными:

    • Username: admin
    • Password: из секретов
  3. Смените пароль при первом входе

Configuration проектов​

  1. Создайте проект:

    • Projects → New Project
    • Настройте права доступа
  2. Настройте репликацию (если нужно)

Интеграция с CI/CD​

  1. Настройте Robot Accounts для автоматизации
  2. Используйте credentials в CI/CD пайплайнах:
    # GitLab CI пример
    docker login harbor.local -u robot-account -p token

Bytebase​

Bytebase - система управления схемами баз данных.

Первый вход​

  1. Откройте веб-интерфейс:

    https://bytebase.local
  2. Создайте административный аккаунт

Подключение баз данных​

  1. Environments → Add Environment
  2. Instances → Add Instance
  3. Подключите базы данных:
    • PostgreSQL: postgresql.db.svc.cluster.local:5432
    • Укажите учётные данные
    • Check подключение

Configuration проектов​

  1. Projects → New Project
  2. Настройте схему базы данных
  3. Создайте миграции
  4. Настройте синхронизацию с Git

Резюме настройки​

После настройки всех сервисов:

  1. Make sure, что все сервисы доступны через их домены
  2. Check интеграции между сервисами
  3. Настройте мониторинг и алерты
  4. Создайте резервные копии критических данных
  5. Настройте автоматические обновления (если требуется)

Next Steps​

После завершения настройки всех сервисов:

  1. Проверка и мониторинг - проверка работоспособности всей системы