Создание сервиса
Команда create_service создает сервисного эктора в таблице actor, генерирует ключевую пару и возвращает значения, которые затем используются в конфигурации сервиса.
Команда
uv run manage.py create_service
Это первая прикладная команда после миграций. В standalone-режиме она еще и добавляет системные группы DEFAULT, ADMIN и BAN.
По умолчанию: Команда запускается в базовом режиме создания сервисного эктора и запрашивает недостающие значения при запуске.
Параметры
| Параметр | Описание |
|---|---|
--service_name, -sn |
Человекочитаемое имя сервиса. Если не передано, команда запросит его интерактивно. |
--service_domain, -sd |
Внешний домен сервиса, который будет записан в uinfo.service_domain. |
--description, -dn |
Описание сервиса, которое сохраняется вместе с сервисным эктором. |
--deploy, -d |
Переключает формат вывода на удобный для деплоя: команда печатает только значения переменных окружения. |
Дополнительные примеры запуска
Неинтерактивный запуск для деплоя
uv run manage.py create_service \
--service_name "service54" \
--service_domain "https://service54.local" \
--description "Main Template54 service" \
--deploy
С флагом --deploy команда печатает итоговые переменные без поясняющего текста, что удобно для подстановки в окружение.
Как работает
- Проверяет, что таблица
actorуже существует, иначе предлагает сначала выполнитьmigrate. - Проверяет отсутствие системных групп
BAN,ADMINиDEFAULT, чтобы не создать дубли. - Генерирует приватный и публичный ключ сервиса, затем формирует запись сервисного эктора.
- Если
AUTH_STANDALONE=True, добавляет в пакет вставки еще и три системные группы, после чего сохраняет все записи черезjsonb_populate_recordset.
Что важно учесть
- Перед запуском миграции уже должны быть применены, иначе таблицы
actorне будет. - Если одна из системных групп уже существует, команда завершится без изменений.
- Итоговые
SERVICE_UUID,SERVICE_PUBLIC_KEY,SERVICE_PRIVATE_KEY,SERVICE_DOMAINиSERVICE_NAMEнужно затем сохранить в настройках сервиса. - В режиме
AUTH_STANDALONE=Falseкоманда создает только сервисного эктора без локальных групп.