Перейти к содержанию

Параметры настройки агента r_keeper

Настройки агента разложены по трём уровням:

Уровень Где Кто меняет
Подключение sidecar.yaml рядом с sidecar.exe заполняется командой enroll, правится вручную в редких случаях
Секреты secrets.bin только команды enroll и set-rk7-creds, файл зашифрован
Рабочие параметры приходят с сервера Брони настраиваются в личном кабинете, выезд на площадку не нужен

Адрес сервера Брони вводить не нужно ни на одном из уровней: агент знает его из своей сборки и записывает в sidecar.yaml при привязке.

Обычно править sidecar.yaml не требуется

Интервалы, подробность журнала и служебные коды r_keeper удобнее задавать в личном кабинете: они доставляются агенту автоматически и переопределяют локальные значения.

После правки sidecar.yaml перезапустите службу:

.\sidecar.exe stop; .\sidecar.exe start

Подключение к r_keeper

Параметр По умолчанию Описание
rk7.host (из enroll) Адрес кассового сервера r_keeper. Если агент стоит на том же сервере — 127.0.0.1.
rk7.port 15151 Порт XML-интерфейса midserv.
rk7.tlsFingerprint (из enroll) Отпечаток TLS-сертификата кассового сервера, запомненный при привязке. Агент соединяется только с этим сертификатом. Вручную не редактируется — при смене сертификата выполните set-rk7-creds --repin.

Служебные коды r_keeper

Коды, от имени которых агент создаёт и отменяет заказы. Значения по умолчанию подходят типовой конфигурации r_keeper; при расхождении их проще задать в личном кабинете — доставленные с сервера значения имеют приоритет.

Параметр По умолчанию Описание
rk7Defaults.stationCode 1 Код станции, от имени которой создаются заказы.
rk7Defaults.creatorCode 4 Код сотрудника — создателя заказа.
rk7Defaults.managerCode 2 Код менеджера, требуемый при отмене заказа.
rk7Defaults.deleteReasonCode 2 Код причины удаления, используемый при отмене заказа.
rk7Defaults.guests 2 Количество гостей по умолчанию, если бронь его не задаёт.

Служебные параметры

Эти ключи агент ведёт сам: они попадают в sidecar.yaml при привязке и в обычной работе не редактируются. В файле они есть — в таблице параметров выше их нет намеренно.

Параметр По умолчанию Описание
backend.baseUrl (из сборки агента) Адрес сервера Брони. Определяется сборкой: рабочий дистрибутив обращается к https://broni.io, тестовый — к тестовому контуру. Значение записывается в файл командой enroll, поэтому уже привязанный агент сохраняет свой адрес. Задать другой можно только при привязке: sidecar.exe enroll --code XXXX-XXXX --backend <адрес> — это путь для тестовых стендов.
intervals.checkinSeconds 20 Как часто агент выходит на связь с Брони, в секундах. Резервное значение: рабочее приходит с сервера. При недоступности сервера интервал автоматически увеличивается.
intervals.pollSeconds 7 Как часто агент опрашивает открытые заказы в r_keeper, в секундах. Резервное значение: рабочее приходит с сервера.
updates.manifestUrl (адрес Брони) Адрес сведений о последней версии агента. Агент сверяет свою версию раз в 6 часов и пишет предупреждение в журнал, если устарел. Этот адрес отвечает только за проверку версии — по нему агент ничего не устанавливает: обновление запускается отдельной командой из личного кабинета (см. Обновление агента). Пустое значение отключает проверку.

Полный вид файла

Ниже — актуальный набор параметров ровно в том виде, в каком его читает агент версии 0.6.5. Файл сформирован из исходного кода при сборке этой страницы.

sidecar.yaml
# sidecar.yaml — файл создаётся командой `sidecar.exe enroll` рядом с sidecar.exe.
# Здесь показан полный набор ключей; править вручную нужно редко.
# Значения по умолчанию взяты из DefaultBootstrap() в internal/config/config.go.
# Пометка «служебный параметр» — ключ из InternalKeys там же: в таблице
# параметров его нет, агент ведёт его сам.
backend:
  # служебный параметр
  # Базовый адрес Брони. Подставляется сборкой агента и записывается при enroll;
  # вручную задаётся только через `sidecar.exe enroll --backend <адрес>`.
  baseUrl: <подставляется сборкой агента>
rk7:
  # Кассовый сервер r_keeper 7 (midserv) и порт его XML-интерфейса.
  host: 127.0.0.1
  port: 15151
  # SHA-256 сертификата midserv, зафиксированный при enroll (TOFU).
  # Меняется только командой `sidecar.exe set-rk7-creds --repin`.
  tlsFingerprint: ""
intervals:
  # Резервные значения: рабочие интервалы приходят с сервера при check-in.
  # служебный параметр
  checkinSeconds: 20
  # служебный параметр
  pollSeconds: 7
updates:
  # служебный параметр
  manifestUrl: https://storage.yandexcloud.net/broni-dist/rkeeper-sidecar/stable/manifest.json
rk7Defaults:
  # Коды r_keeper для служебных операций с заказами. Обычно приходят с сервера.
  stationCode: "1"
  creatorCode: "4"
  managerCode: "2"
  deleteReasonCode: "2"
  guests: 2

Служебные файлы рядом с агентом

Эти файлы агент ведёт сам. Редактировать их не нужно.

Файл Назначение Можно ли удалять
secrets.bin пароль r_keeper и токен площадки, шифрование средствами Windows (DPAPI, привязка к машине) нет — потребуется повторная привязка
data\remote-config.json последние настройки, полученные с сервера да, восстановится при следующем выходе на связь
data\state.db кэш отслеживаемых заказов да, восстановится автоматически
data\spool\pending\ счета и события, ожидающие отправки нет — потеряются данные для расчёта комиссии
data\spool\sent\ подтверждённые отправки, чистятся через 7 дней да
data\spool\dead\ отклонённые сервером записи, нужны для разбора да, но лучше сначала передать в поддержку
data\update\ журналы применения обновлений (apply-<версия>.log) и отметка об успешном запуске да
sidecar.exe.old предыдущая версия агента, появляется после обновления; из неё делается автоматический откат да, после того как новая версия отработала сутки
logs\sidecar.log журнал, ротация, хранение 7 дней да

Перенос агента на другой сервер

secrets.bin расшифровывается только на той машине, где был создан. Скопировать папку на другой сервер и запустить агент не получится — нужна новая привязка с новым кодом. Запросите его в личном кабинете.