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

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

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

  • пути, указанном переменной средыMB_CONFIG_FILE_PATH.

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

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

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

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

The config file is split up into sections: version and config. Under config, you can specify:

Like so:

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

The config file must also include a version key, which is just a convenience field for you to help you keep track of your config file versions.

Users

The first user created in a Metabase instance is an Admin. The first user listed in the config file may be designated an admin, but not necessarily. If someone has already spun up and logged into that Metabase for the first time, Metabase will make that first user an admin. Additionally, you can specify a user account as an admin by using the is_superuser: true key.

In the following example, assuming that the Metabase hasn’t already been set up (which creates the first user) both users first@example.com and admin@example.com will be admins: first@example.com because it’s the first user account on the list, and admin@example.com because that user has the is_superuser flag set to 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 

If the Metabase has already been set up, then first @example.com will be loaded as a normal user.

Databases

On a new Metabase, the example below sets up an admin user account and one database connection.

{% 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 %}

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

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

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

Настройки

In this config file, you can specify any Admin setting.

In general, the settings you can set in the settings section of this config file map to the environment variables, so check them out to see which settings you can use in your config file. The actual key that you include in the config file differs slightly from the format used for environment variables. For environment variables, the form is in screaming snake case, prefixed by an 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: ...

Just to give you an idea for some settings, here’s an incomplete list of settings you can set via the config file:

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

But you can set any of the Admin settings with the config file. Check out the list of environment variable to see what you can configure.

Loading a new Metabase from a config file

Since loading from a config file is a paid feature: for new installations, you’ll need to supply Metabase with a token using the MB_PREMIUM_EMBEDDING_TOKEN environment variable.

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