Настройка сервиса Editor

Editor – это компонент .

Это приложение, построенное на Spring Boot.

Конфигурация Editor состоит из двух файлов:

  • application.yaml - общие системные настройки
  • application-seatmap.yaml - настройки, специфичные для приложения

application.yaml

Настройки задержки

Задержка перед запуском задач после старта системы.

Parameter Environment variable Описание Default value
initial INITIAL_DELAY Задержка в миллисекундах 5000 (five seconds)

Свойства фреймворка Java Spring

Parameter Environment variable Описание Default value
spring.profiles.include SPRING_PROFILES_INCLUDE Добавлять ли свойства из другого профиля seatmap
spring.jpa.generate-ddl SPRING_JPA_GENERATE_DDL Включать ли генерацию DDL truspring.e
spring.jpa.properties.hibernate.jdbc.batch_size SPRING_JPA_PROPERTIES_HIBERNATE_JDBC_BATCH_SIZE Количество операторов INSERT, UPDATE и DELETE, выполняемых за один вызов базы данных 50
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults SPRING_JPA_PROPERTIES_HIBERNATE_TEMP_USE_JDBC_METADATA_DEFAULTS Использовать ли метаданные JDBC для определения значений некоторых настроек по умолчанию, когда база данных может быть недоступна false
spring.jpa.properties.hibernate.order_inserts SPRING_JPA_PROPERTIES_HIBERNATE_ORDER_INSERTS Упорядочивать ли SQL-вставки по значению первичного ключа вставляемых элементов false
spring.jpa.properties.javax.persistence.schema-generation.create-source SPRING_JPA_PROPERTIES_JAVAX_PERSISTENCE_SCHEMA_GENERATION_CREATE_SOURCE Генерировать ли команды DDL для схемы metadata
spring.jpa.properties.javax.persistence.schema-generation.scripts.action SPRING_JPA_PROPERTIES_JAVAX_PERSISTENCE_SCHEMA_GENERATION_SCRIPTS_ACTION Создавать или обновлять схему базы данных update
spring.jpa.properties.javax.persistence.schema-generation.scripts.create-target SPRING_JPA_PROPERTIES_JAVAX_PERSISTENCE_SCHEMA_GENERATION_SCRIPTS_CREATE_TARGET Имя файла для генерации скрипта ddl_jpa_creation.sql
spring.jpa.hibernate.ddl-auto SPRING_JPA_HIBERNATE_DDL_AUTO Как инициализировать базу данных update
spring.jpa.hibernate.use-new-id-generator-mappings SPRING_JPA_HIBERNATE_USE_NEW_ID_GENERATOR_MAPPINGS Генерировать ли значения идентификаторов на основе sequence-структуры базы данных true
spring.jpa.database-platform SPRING_JPA_DATABASE_PLATFORM Используемая база данных org.hibernate.dialect.PostgreSQLDialect
spring.jpa.open-in-view SPRING_JPA_OPEN_IN_VIEW Включать ли OSIV false
spring.jackson.mapper.DEFAULT_VIEW_INCLUSION SPRING_JACKSON_MAPPER_DEFAULT_VIEW_INCLUSION Включать ли неаннотированные свойства во все представления true
spring.flyway.baseline-on-migrate SPRING_FLYWAY_BASELINE_ON_MIGRATE Автоматически ли вызывать baseline при выполнении migrate для непустой схемы без таблицы истории схемы ’true'
spring.datasource.hikari.data-source-properties.reWriteBatchedInserts SPRING_DATASOURCE_HIKARI_DATA_SOURCE_PROPERTIES_REWRITEBATCHEDINSERTS Переписывать ли обычные операторы вставки в многозначные для пакетных вставок true
spring.datasource.hikari.maximum-pool-size SPRING_DATASOURCE_HIKARI_MAXIMUM_POOL_SIZE Максимальный размер пула 20
spring.datasource.hikari.connection-timeout SPRING_DATASOURCE_HIKARI_CONNECTION_TIMEOUT Тайм-аут подключения 60000
spring.datasource.driver-class-name SPRING_DATASOURCE_DRIVER_CLASS_NAME JDBC-драйвер для связи с базой данных org.postgresql.Driver
spring.datasource.password SPRING_DATASOURCE_PASSWORD Пароль для подключения к базе данных ${DB_PASSWORD:postgres}
spring.datasource.username SPRING_DATASOURCE_USERNAME Имя пользователя для подключения к базе данных ${DB_USERNAME:seatmap}
spring.datasource.url SPRING_DATASOURCE_URL Расположение базы данных ${DB_URL:jdbc:postgresql://localhost:15432/seatmap}
spring.servlet.multipart.enabled SPRING_SERVLET_MULTIPART_ENABLED Включать ли поддержку multipart-загрузок true
spring.servlet.multipart.max-file-size SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE Максимальный допустимый размер загружаемых файлов 200MB
spring.servlet.multipart.max-request-size SPRING_SERVLET_MULTIPART_MAX_REQUEST_SIZE Максимальный допустимый размер запросов multipart/form-data 215MB
spring.servlet.multipart.file-size-threshold SPRING_SERVLET_MULTIPART_FILE_SIZE_THRESHOLD Порог размера, после которого файлы будут записаны на диск 2KB
spring.mvc.pathmatch.matching-strategy SPRING_MVC_PATHMATCH_MATCHING_STRATEGY Стратегия сопоставления путей запросов с обработчиками контроллеров ant_path_matcher
spring.data.redis.port SPRING_DATA_REDIS_PORT Порт сервера Redis 16379
spring.data.redis.host SPRING_DATA_REDIS_HOST Хост сервера Redis localhost

Настройки логирования

Настройки логирования, применяемые к классам в пакете pro.seatmap.

Parameter Environment variable Описание Default value
logging.level.pro.seatmap LOGGING_LEVEL_PRO_SEATMAP Уровень логирования DEBUG

Настройки сервера

Parameter Environment variable Описание Default value
server.compression.min-response-size SERVER_COMPRESSION_MIN_RESPONSE_SIZE Минимальный размер файлов для сжатия 1024
server.compression.enabled SERVER_COMPRESSION_ENABLED Сжимать ли данные true
server.compression.mime-types SERVER_COMPRESSION_MIME_TYPES MIME-типы для сжатия text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json
server.servlet.session.timeout SERVER_SERVLET_SESSION_TIMEOUT Время жизни сессии сервлета 2d
server.tomcat.max-http-form-post-size SERVER_TOMCAT_MAX_HTTP_FORM_POST_SIZE Максимальный размер POST-запроса 20MB

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

Путь для уведомлений Image Ready.

Parameter Environment variable Описание Default value
notify.path NOTIFY_PATH Путь уведомления /topic/venues/

application-seatmap.yaml

В файле application-seatmap.yaml вы можете настроить параметры, описанные ниже.

Настройки безопасности

Блок security позволяет задать время жизни refresh- и access-токенов, а также управлять ключами.

Parameter Environment variable Описание Default value
seatmap.security.token.refresh.expire-duration SEATMAP_SECURITY_TOKEN_REFRESH_EXPIRE_DURATION Время жизни refresh-токена. Формат: PTnHnMnS, где n – соответствующие часы, минуты или секунды PT2H (two hours)
seatmap.security.token.access.expire-length SEATMAP_SECURITY_TOKEN_ACCESS_EXPIRE_LENGTH Время жизни access-токена в миллисекундах 300000 (five minutes)
seatmap.security.rsa.private-key SEATMAP_SECURITY_RSA_PRIVATE_KEY Расположение приватного ключа classpath:certs/private-key.pem
seatmap.security.rsa.public-key SEATMAP_SECURITY_RSA_PUBLIC_KEY Расположение публичного ключа classpath:certs/public-key.pem
seatmap.security.sso.user-default-password SEATMAP_SECURITY_SSO_USER_DEFAULT_PASSWORD Пароль пользователя по умолчанию PASSWORD
seatmap.security.sso.external-public-key-url SEATMAP_SECURITY_SSO_EXTERNAL_PUBLIC_KEY_URL URL внешнего публичного ключа https://apigw.piletilevi.test.helmes.ee/auth/public/key/

Ключ Google API

API-ключ – это уникальный идентификатор, который аутентифицирует запросы, связанные с вашим проектом, для целей учёта использования и биллинга.

Parameter Environment variable Описание Default value
google.api.key GOOGLE_API_KEY Значение API-ключа KEY_VALUE

Настройки первого запуска

Эти настройки применяются при первом запуске системы.

Parameter Environment variable Описание Default value
seatmap.first-run.organization SEATMAP_FIRST_RUN_ORGANIZATION Имя первой созданной организации seatmap.pro
seatmap.first-run.email SEATMAP_FIRST_RUN_EMAIL Email суперадмина admin@seatmap.pro
seatmap.first-run.super-admin SEATMAP_FIRST_RUN_SUPER_ADMIN Логин суперадмина super@seatmap.pro
seatmap.first-run.password SEATMAP_FIRST_RUN_PASSWORD Пароль суперадмина PASSWORD

Настройки сброса пароля

Parameter Environment variable Описание Default value
seatmap.reset.fromMail SEATMAP_RESET_FROMMAIL Email-адрес, с которого пользователю отправляется сообщение со ссылкой для сброса пароля seatmap@seatmap.pro
seatmap.reset.token.expire-duration SEATMAP_RESET_TOKEN_EXPIRE_DURATION Время жизни ссылки. Формат: PTnHnMnS, где n – соответствующие часы, минуты или секунды PT30M (thirty minutes)

Настройки сервисов

URL-адреса, по которым расположены сервисы.

Parameter Environment variable Описание Default value
seatmap.services.booking.url SEATMAP_SERVICES_BOOKING_URL Адрес сервиса бронирования https://booking.seatmap.pro/
seatmap.services.metrics.url SEATMAP_SERVICES_METRICS_URL Адрес сервиса для отправки сервисных метрик https://stat.seatmap.pro/editor-metrics
seatmap.services.editor.url SEATMAP_SERVICES_EDITOR_URL Адрес сервиса редактора http://localhost:3000/
seatmap.services.preview.url SEATMAP_SERVICES_PREVIEW_URL Адрес сервиса предпросмотра http://localhost:5000/
seatmap.services.preview.path SEATMAP_SERVICES_PREVIEW_PATH Путь для сервиса предпросмотра wconvert_pdf/

Настройки почты

Параметры почтового сервиса для восстановления паролей.

Parameter Environment variable Описание Default value
seatmap.mail.username SEATMAP_MAIL_USERNAME Имя пользователя ${SEATMAP_MAIL_USERNAME:admin@seatmap.pro}
seatmap.mail.password SEATMAP_MAIL_PASSWORD Пароль ${SEATMAP_MAIL_PASSWORD:lir nyk blq hhu}
seatmap.mail.host SEATMAP_MAIL_HOST Хост smtp.gmail.com
seatmap.mail.port SEATMAP_MAIL_PORT Порт 587
seatmap.mail.socket.port SEATMAP_MAIL_SOCKET_PORT Порт сокета 465