superset

Superset

Используйте эту роль для установки, настройки и управления Apache Superset.

По умолчанию устанавливается версия Superset 0.28.1. Чтобы установить другую версию, задайте переменную superset_version.

Переменные роли

superset_python_executable: Указывает, какой бинарный файл Python использовать для установки Superset. В настоящее время поддерживаются python2.7 и python3.6.

superset_recreate_virtualenv: Установите в True, если хотите, чтобы роль создала заново виртуальную среду Python, в которой установлен Superset.

Эта роль создает пользователя и базу данных Superset. Для подключения к хосту базы данных задайте:

  • superset_postgres_db_host: Хост базы данных
  • superset_postgres_login_user: Пользователь postgres, используемый для создания базы данных и пользователя Superset
  • superset_postgres_login_password: Пароль для пользователя postgres, используемого для создания базы данных и пользователя Superset
  • superset_postgres_db_name: Имя базы данных Superset (для создания). Это база данных, которую будет использовать Superset.
  • superset_postgres_db_user: Имя пользователя postgres для Superset (для создания)
  • superset_postgres_db_pass: Пароль пользователя postgres для Superset
  • superset_pgpass_credentials: Список учетных данных базы данных для использования при подключениях без пароля в формате hostname:port:database:username:password.

Другие стандартные переменные перечислены ниже

# следует ли перезапускать Superset после внесения изменений; по умолчанию True, для кластера лучше отключить
superset_perform_restart: True

Доступные языки

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

supeset_languages:
  - key: en
    flag: us
    name: English
  - key: ja
    flag: jp
    name: Japanese

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

Методы аутентификации

Это позволяет вам настроить, какой метод аутентификации использует Superset. По умолчанию

superset_auth_type: AUTH_DB

использует Superset на DB для управления пользователями. В настоящее время поддерживаются параметры конфигурации только для типа AUTH_OAUTH.

Если вы выбрали этот тип аутентификации, вы можете предоставить дополнительные детали конфигурации с помощью

superset_oauth_providers:
  - name:
    icon:
    token_key:
    consumer_key:
    consumer_secret:
    base_url:
    request_token_params:
    request_token_url:
    access_token_url:
    authorize_url:
    access_token_method:
    access_token_params:
    access_token_headers:
    custom_redirect_url:

где request_token_params, если указаны, представляет собой JSON-объект. Все значения, кроме request_token_params, consumer_key и consumer_secret, выводятся в кавычках. Обычно вы задаете consumer_key и consumer_secret, чтобы получить переменные окружения, например, os.environ.get('OAUTH2_CLIENT_SECRET').

Вы можете задать свои переменные окружения для службы с помощью:

superset_service_env_vars:
  OAUTH2_CLIENT_SECRET: SECRET

Обратите внимание, что некоторые провайдеры oAuth, такие как onadata, требуют, чтобы request_token_url, access_token_url и authorize_url заканчивались на символ /.

Белая марка

Эта роль позволяет вам выполнять некоторую белую маркировку Superset, позволяя изменять имя приложения Superset и «брендовые изображения», которые включают:

  • Фavicon: favicon.png
  • Логотип: superset.png
  • Логотип 2x: [email protected]

Размеры файлов и размеры этих изображений должны быть как можно ближе к изображениям, которые мы заменяем, и их можно найти в каталоге static/images Superset.

Включите белую маркировку, установив эту переменную в True:

superset_white_label: True

Изменить имя приложения

superset_app_name: 'Мое приложение'

Использовать файлы для изменения бренда

Вы можете использовать файлы, установив следующие переменные.

superset_white_label_use_filepaths: True
superset_favicon_path: "/path-to-/favicon.png"
superset_logo_path: "/path-to-/superset.png"
superset_2x_logo_path: "/path-to-/[email protected]"

Использовать изображения в кодировке base64 для изменения бренда

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

superset_white_label_use_base64: True
superset_favicon_base64: "base64 закодированный favicon"
superset_logo_base64: "base64 закодированный логотип"
superset_2x_logo_base64: "base64 закодированный логотип 2x"

Загрузка ресурсов

Superset по умолчанию активирует следующие расширения для загрузки данных:

superset_allowed_extensions:
  - csv

Проверьте конфигурацию ALLOWED_EXTENSIONS в файле config.py Superset, чтобы увидеть список поддерживаемых расширений.

Директории загрузки для изображений и файлов данных (которые будут использоваться расширениями импорта данных) установлены следующим образом:

superset_img_upload_dir: "{{ superset_home }}/images/"
superset_upload_dir: "{{ superset_home }}/uploads/"

Изменить лимит JSON

Измените это значение, чтобы увеличить лимит данных JSON для позиции панели Superset. По умолчанию он установлен на 2^16, в приведенном ниже примере мы увеличим его до 2^24.

superset_dashboard_position_data_limit: 16777216

Superset-patchup (ketchup)

Эта роль может быть настроена для опционального включения Superset-patchup, сделав это:

superset_use_ketchup: True
superset_ketchup_version: "v0.1.0"

Superset-patchup улучшает Superset, добавляя больше функций. Более подробную информацию об этом проекте можно прочитать здесь: документация Superset-patchup

Обратите внимание, что версии привязок ansible-superset, включая это предупреждение, совместимы только с superset-patchup версии v0.1.6 и выше (из-за измененной логики инициализации).

Кэширование Superset

Чтобы включить кэширование в Superset, предоставьте CACHE_CONFIG, который соответствует спецификациям Flask-Cache и CACHE_DEFAULT_TIMEOUT, который определяет период разогрева кэша.

superset_enable_cache: True
superset_cache_config: |
  {
    'CACHE_TYPE': 'redis',
    'CACHE_KEY_PREFIX': 'superset_results',
    'CACHE_REDIS_URL': 'redis://localhost:6379/0'
  }
superset_cache_default_timeout: 60 * 60 * 24, # 1 день

Чтобы разрешить периодический разогрев кэша, настройте задачу celery для Superset с предпочтительной стратегией разогрева. Включите celerybeat и настройте его словарь следующим образом:

superset_enable_celerybeat: True
superset_celerybeat_schedule: |
  {
    'cache-warmup-hourly': {
      'task': 'cache-warmup',
      'schedule': crontab(minute=0, hour='*'),  # каждый час
      'kwargs': {
          'strategy_name': 'top_n_dashboards',
          'top_n': 5,
          'since': '7 дней назад',
      },
    },
  }

Тестирование

Этот проект поставляется с Vagrantfile, это быстрый и удобный способ протестировать изменения в роли, запустите его с помощью vagrant up.

Смотрите документацию по Vagrant для установки Vagrant.

Лицензия

Apache 2

Авторы

Ona Engineering

О проекте

This role is used to install and configure Apache Superset

Установить
ansible-galaxy install onaio/ansible-superset
Лицензия
bsd-2-clause
Загрузки
126
Владелец