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

На некоторых платных планах, GlarusBI поддерживает инициализацию параметров при запуске из файла конфигурации config.yml. Этот файл должен находиться либо в текущем каталоге (каталоге, в котором находится запущенный JAR GlarusBI), либо в пути, указанном переменной среды MB_CONFIG_FILE_PATH. В этом файле конфигурации вы можете указать следующее:

  • Настройки

  • Пользователей

  • Базы данных

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

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

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

В следующем файле задается пользовательский аккаунт и две базы данных источников.

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
        password: {% raw %} "{{ env POSTGRES_TEST_DATA_PASSWORD }}" {% endraw %}
        dbname: test-data
    - name: Sample Dataset (Copy)
      engine: h2
      details:
        db: "/home/cam/metabase/resources/sample-database.db;USER=GUEST;PASSWORD={{env SAMPLE_DATASET_PASSWORD}}"

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

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

На переменные окружения можно сослаться с помощью {% raw %}{{ теги-шаблона }}{% endraw %} как {% raw %}{{ env POSTGRES_TEST_DATA_PASSWORD }}{% endraw %} или {% raw %}[[опции {{теги-шаблона}}]]{% endraw %}.

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

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

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

Чтобы отключить начальную синхронизацию базы данных, вы можете добавить 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: h2
      details: ...

Список настроек

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

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

MB_NAME_OF_VARIABLE

тогда как в файле конфигурации это должно быть изменено на:

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: ...

Пользователи и администраторы

Первый пользователь, созданный в экземпляре GlarusBI, является администратором. Первый пользователь, указанный в файле конфигурации, может быть назначен администратором, но не обязательно, например, если кто-то уже запустил и вошел в GlarusBI в первый раз, этот пользователь будет автоматически назначен администратором. Кроме того, вы можете указать учетную запись пользователя как администратора, используя ключ is_superuser: true.

В следующем примере:

version: 1
config:
  users:
    - first_name: a
      last_name: b
      password: metabot1
      email: a@b.com
    - first_name: b
      last_name: a
      password: metabot1
      email: b@a.com
    - first_name: c
      last_name: a
      password: metabot1
      is_superuser: true
      email: c@a.com

оба пользователи a@b.com и c@a.com будут администраторами: a@b.com потому что первый в списке (если экземляр еще не сконфигурирован), а c@a.com потому что у него задан флаг is_superuser. Если экземпляр уже сконфигурирован, то a@b.com будет создан обычнм пользователем.