onaio.superset

Superset

この役割を使って、Apache Supersetをインストール、設定、管理します。

デフォルトではSupersetのバージョン0.28.1がインストールされます。別のバージョンをインストールするには、superset_version変数を設定してください。

役割の変数

superset_python_executable: Supersetをインストールする際に使用するPythonバイナリを指定します。この役割は現在python2.7python3.6をサポートしています。

superset_recreate_virtualenv: SupersetがインストールされているPythonの仮想環境を再作成したい場合は、Trueに設定します。

この役割では、supersetユーザーとデータベースを作成します。データベースホストに接続するためには、次の設定を行ってください:

  • superset_postgres_db_host: データベースホスト
  • superset_postgres_login_user: Supersetデータベースとユーザーを作成するために使用するPostgresユーザー
  • superset_postgres_login_password: Supersetデータベースとユーザーを作成するために使用するPostgresユーザーのパスワード
  • superset_postgres_db_name: Supersetが使用するデータベース名(作成されます)
  • superset_postgres_db_user: SupersetのPostgresユーザー名(作成されます)
  • superset_postgres_db_pass: SupersetのPostgresユーザーパスワード
  • superset_pgpass_credentials: パスワードなしで接続するために使用されるデータベース資格情報のリスト、フォーマットはhostname:port:database:username:passwordです。

その他のデフォルト変数は以下に示します

# 変更後にSupersetを再起動するかどうか; デフォルトはTrue、クラスターの場合は無効にすることを推奨
superset_perform_restart: True

利用可能な言語

利用可能な言語とそのラベルを管理します。

supeset_languages:
  - key: en
    flag: us
    name: 英語
  - key: ja
    flag: jp
    name: 日本語

デフォルトは利用可能な言語のサブセットです。現在のSupersetリリースの/translationsフォルダーを確認して、他に利用可能な言語を確認してください。

認証バックエンド

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_paramsconsumer_keyconsumer_secretを除くすべての値は引用符でレンダリングされます。通常、consumer_keyconsumer_secretは環境変数を取得するように設定します。例:os.environ.get('OAUTH2_CLIENT_SECRET')

サービスのために環境変数を設定するには、次のようにします。

superset_service_env_vars:
  OAUTH2_CLIENT_SECRET: THE_SECRET

一部のoAuthプロバイダー(例:onadata)は、request_token_urlaccess_token_urlauthorize_urlがすべて/文字で終了する必要があります。

ホワイトラベリング

この役割では、Supersetのアプリ名や「ブランディング画像」を変更することで、ホワイトラベリングを行うことができます。変更できるものは以下の通りです:

これらの画像のファイルサイズと寸法は、置き換える画像にできるだけ近いものであるべきです。画像はSupersetのstatic/imagesディレクトリにあります。

ホワイトラベリングを有効にするには、この変数をTrueに設定します:

superset_white_label: True

アプリ名の変更

superset_app_name: 'My App'

ブランディングを変更するためにファイルを使用

次の変数を設定することでファイルを使用できます。

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エンコードされたファビコン"
superset_logo_base64: "base64エンコードされたロゴ"
superset_2x_logo_base64: "base64エンコードされた2倍のロゴ"

アセットのアップロード

デフォルトでSupersetはデータアップロードのために次の拡張機能を有効にします:

superset_allowed_extensions:
  - csv

サポートされる拡張機能のリストは、Supersetのconfig.pyALLOWED_EXTENSIONS設定を確認してください。

画像とデータファイル(データインポート拡張機能で使用)のアップロードディレクトリは次のように設定されています:

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

JSONリミットの変更

この値を修正して、Supersetダッシュボードの位置JSONデータリミットを増やします。デフォルトは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でキャッシングを有効にするためには、Flask-Cacheの仕様に準拠したCACHE_CONFIGと、キャッシュのウォームアップ期間を決定する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日

キャッシュの定期的なウォームアップを許可するために、SupersetのCeleryタスクを好みのウォームアップ戦略で構成します。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.superset
ライセンス
bsd-2-clause
ダウンロード
139
所有者