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

Файл конфигурации

В некоторых вариантах развёртывания Glarus BI поддерживает инициализацию параметров при запуске из файла конфигурации config.yml. Файл конфигурации должен находиться в:

  • текущем каталоге (каталоге, в котором находится запущенный JAR Glarus BI);
  • пути, указанном переменной среды MB_CONFIG_FILE_PATH.

Настройки, определённые в файле конфигурации, работают так же, как если бы вы установили эти настройки в "Настройках администратора" в вашем Glarus BI. Настройки, определённые в этом файле конфигурации, имеют приоритет и переопределят любые другие существующие настройки. Например, если база данных уже существует (то есть вы уже добавили её через начальную настройку или Настройки администратора > Базы данных, Glarus BI обновит запись базы данных на основе данных в файле конфигурации).

Файл конфигурации не рассматривается Glarus BI как жёстко заданный источник данных (наподобие переменных окружения). Настройки, заданные переменными среды, нельзя изменить даже в настройках администратора самого приложения.

Пример файла config.yml

Настройка конфигурации

Файл настройки разбит на секции: version и config. В config вы можете указать:

Например:

version: 1
config:
  settings:
    - ...
  users:
    - ...
  databases:
    - ...

В файл настройки должен быть включена секция version, которая должна помочь вам в отслеживании его истории изменений.

Users

Первый пользователь в экземпляре Glarus BI — Admin. Первым пользователем в файле настройки может быть также admin, но это необязательно. Если кто-то его опередил, Glarus BI сделает этого пользователя администратором. Дополнительно вы можете указать учётную запись администратора, используя ключ is_superuser: true.

В примере ниже предполагается, что настройка выполнена не была (которая создаёт первого пользователя), оба пользователя администраторы: first@example.com и admin@example.com. first@example.com потому что это первая учётная запись в списке, а admin@example.com — из-за флага is_superuser, установленного в true.

version: 1
config:
  users:
    - first_name: First
      last_name: Person
      password: metabot1
      email: first@example.com
    - first_name: Normal
      last_name: Person
      password: metabot1
      email: normal@example.com
    - first_name: Admin
      last_name: Person
      password: metabot1
      is_superuser: true
      email: admin@example.com

Если Glarus BI уже была настроена ранее, first @example.com будет обычным пользователем.

Databases

На недавно установленной Glarus BI в примере ниже выполняется настройка учётной записи администратора и подключение к базе данных.

{% raw %}
version: 1
config:
  users:
    - first_name: Cam
      last_name: Era
      password: 2cans3cans4cans
      email: cam@example.com
  databases:
    - name: test-data (Postgres)
      engine: postgres
      details:
        host: localhost
        port: 5432
        user: dbuser
        password: "{{ env POSTGRES_TEST_DATA_PASSWORD }}"
        dbname: test-data
{% endraw %}

Чтобы определить, какие ключи вы можете указать для базы данных, проверьте доступные поля в самой Glarus BI для базы данных, которую вы хотите добавить.

Использование переменных, определённых в config.yml

Как показано в примере подпункта Databases выше, на переменные окружения можно сослаться с помощью {% raw %}{{ template-tags }}{% endraw %} like {% raw %}{{ env POSTGRES_TEST_DATA_PASSWORD }}{% endraw %} или {% raw %}[[options {{template-tags}}]]{% endraw %}.

Glarus BI не поддерживает рекурсивное использование, поэтому если одна из ваших переменных окружения ссылается на другую переменную окружения, это вернёт непредсказуемый результат.

Отключить первоначальную синхронизацию базы данных

При загрузке модели данных из сериализированного экспорта вам нужно отключить планировщик, чтобы Glarus BI не пытался синхронизироваться.

Чтобы отключить начальную синхронизацию базы данных, вы можете добавить config-from-file-sync-database в список settings и установить значение в false. Настройка config-from-file-sync-database должна идти до списка баз данных, как показано ниже:

version: 1
config:
  settings:
    config-from-file-sync-databases: false
  databases:
    - name: my-database
      engine: postgres
      details: ...

Settings

В этом файле настройки вы можете задать любой параметр администратора.

В целом, настройки в разделе settings этого файла настройки соответствуют переменным окружения: в статье по ссылке перечислено, что вы можете использовать. Форма записи ключа в файле настроек отличается от формата имени переменной окружения. Для переменной окружения используется стиль написания "screaming snake case" с приставкой MB:

MB_NAME_OF_VARIABLE

тогда как в файле конфигурации это должно быть изменено на стиль "lisp-case" без приставки MB:

name-of-variable

Так что, если, к примеру, вы хотите использовать MB_EMAIL_FROM_NAME как параметр в файле config.yml, используйте следующее:

version: 1
config:
  settings:
    config-from-file-sync-databases: false
    email-from-name: Stampy von Mails-a-lot
  databases:
    - name: my-database
      engine: h2
      details: ...

Ниже в качестве примера приводится неполный список ключей, которые можно использовать в файле настройки:

application-colors
config-from-file-sync-databases
check-for-updates
experimental-enable-actions
persisted-model-refresh-cron-schedule
email-smtp-host
enable-query-caching
email-smtp-username
start-of-week
email-smtp-password
email-smtp-port
query-caching-min-ttl
email-from-name
email-from-address
email-reply-to
premium-embedding-token
follow-up-email-sent
persisted-models-enabled
site-locale
application-name
settings-last-updated
instance-creation
enable-public-sharing
enable-embedding
embedding-secret-key
jwt-group-sync
anon-tracking-enabled
snowplow-available
jwt-enabled
google-auth-enabled
redirect-all-requests-to-https
site-url
site-name

Для получения полного списка вам нужно заглянуть в environment variable, не забыв затем изменить стиль написания ключа.

Загрузка нового экземпляра из файла настройки

Загрузка нового экземпляра из файла настройки — платная возможность Metabase.

MB_PREMIUM_EMBEDDING_TOKEN="[your token]" java -jar metabase.jar