onaio.superset

Superset

Verwenden Sie diese Rolle, um Apache Superset zu installieren, zu konfigurieren und zu verwalten.

Standardmäßig wird Superset-Version 0.28.1 installiert. Um eine andere Version zu installieren, setzen Sie die Variable superset_version.

Rollenvariablen

superset_python_executable: Gibt an, welches Python-Binary zum Installieren von Superset verwendet werden soll. Die Rolle unterstützt aktuell python2.7 und python3.6.

superset_recreate_virtualenv: Setzen Sie auf True, wenn die Rolle die Python-Virtualenv, in der Superset installiert ist, neu erstellen soll.

Diese Rolle erstellt einen Superset-Benutzer und eine Datenbank. Um eine Verbindung zum Datenbank-Host herzustellen, setzen Sie:

  • superset_postgres_db_host: Der Datenbank-Host
  • superset_postgres_login_user: Der PostgreSQL-Benutzer, der zum Erstellen der Superset-Datenbank und des Benutzers verwendet wird
  • superset_postgres_login_password: Das Passwort für den PostgreSQL-Benutzer
  • superset_postgres_db_name: Der Name der Superset-Datenbank (die erstellt werden soll). Dies ist die Datenbank, die Superset verwenden wird.
  • superset_postgres_db_user: Benutzername des Superset-PostgreSQL-Benutzers (der erstellt werden soll)
  • superset_postgres_db_pass: Passwort des Superset-PostgreSQL-Benutzers
  • superset_pgpass_credentials: Eine Liste von Datenbank-Anmeldeinformationen, die für Verbindungen ohne Passwort im Format hostname:port:database:username:password verwendet werden.

Weitere Standardvariablen sind unten aufgeführt

# ob Superset nach Änderungen neu gestartet werden soll; Standard ist True, für einen Cluster möchten Sie dies möglicherweise deaktivieren
superset_perform_restart: True

Verfügbare Sprachen

Hiermit können Sie steuern, welche Sprachen verfügbar sind und wie sie beschriftet werden.

supeset_languages:
  - key: en
    flag: us
    name: Englisch
  - key: ja
    flag: jp
    name: Japanisch

Die Standardwerte sind eine Teilmenge der insgesamt verfügbaren Sprachen. Schauen Sie im Ordner /translations der aktuellen Superset-Version nach, um zu sehen, welche anderen Sprachen verfügbar sind.

Authentifizierungs-Backends

Hiermit können Sie das Authentifizierungs-Backend konfigurieren, das Superset verwendet. Der Standard

superset_auth_type: AUTH_DB

verwendet Supersets DB zur Verwaltung der Benutzer. Derzeit werden Konfigurationsoptionen nur für den Typ AUTH_OAUTH unterstützt.

Wenn Sie diesen Authentifizierungstyp ausgewählt haben, können Sie zusätzliche Konfigurationsdetails mit folgendem bereitstellen:

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:

Dabei ist request_token_params, falls angegeben, ein JSON-Objekt. Alle Werte außer request_token_params, consumer_key und consumer_secret sind in Anführungszeichen gesetzt. Typischerweise setzen Sie consumer_key und consumer_secret, um Umgebungsvariablen abzurufen, z.B. os.environ.get('OAUTH2_CLIENT_SECRET').

Sie können Ihre Umgebungsvariablen für den Dienst folgendermaßen festlegen:

superset_service_env_vars:
  OAUTH2_CLIENT_SECRET: THE_SECRET

Beachten Sie, dass einige OAuth-Anbieter wie onadata verlangen, dass die request_token_url, access_token_url und authorize_url alle mit einem /-Zeichen enden.

White Labelling

Diese Rolle ermöglicht es Ihnen, eine Art White-Labeling von Superset durchzuführen, indem Sie den Namen der Superset-App und die „Branding-Bilder“ ändern, die sind:

  • Das Favicon: favicon.png
  • Das Logo: superset.png
  • Das 2x Logo: superset-logo@2x.png

Die Dateigrößen und Abmessungen dieser Bilder sollten so nah wie möglich an den Bildern sein, die wir ersetzen, die im Verzeichnis static/images von Superset gefunden werden können.

Aktivieren Sie das White-Labeling, indem Sie diese Variable auf True setzen:

superset_white_label: True

App-Namen ändern

superset_app_name: 'Meine App'

Dateien verwenden, um das Branding zu ändern

Sie können Dateien verwenden, indem Sie die folgenden Variablen festlegen.

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-/superset-logo@2x.png"

Base64-codierte Bilder verwenden, um das Branding zu ändern

Um den Aufwand mit Dateien zu vermeiden, können Sie base64-codierte Bilder verwenden, indem Sie die folgenden Variablen festlegen.

superset_white_label_use_base64: True
superset_favicon_base64: "base64 kodiertes Favicon"
superset_logo_base64: "base64 kodiertes Logo"
superset_2x_logo_base64: "base64 kodiertes 2x Logo"

Asset-Uploads

Superset aktiviert standardmäßig die folgenden Erweiterungen für Daten-Uploads:

superset_allowed_extensions:
  - csv

Überprüfen Sie die ALLOWED_EXTENSIONS-Konfiguration in Supersets config.py für die Liste der unterstützten Erweiterungen.

Die Upload-Verzeichnisse für Bilder und Datendateien (die von Datenimporterweiterungen verwendet werden sollen) sind auf folgende Weise festgelegt:

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

JSON-Limit ändern

Ändern Sie diesen Wert, um das JSON-Datenlimit für die Dashboard-Position in Superset zu erhöhen. Standardmäßig ist dieser Wert auf 2^16 gesetzt, im folgenden Beispiel erhöhen wir ihn auf 2^24.

superset_dashboard_position_data_limit: 16777216

Superset-patchup (ketchup)

Diese Rolle kann optional Superset-patchup einschließen, indem Sie Folgendes tun:

superset_use_ketchup: True
superset_ketchup_version: "v0.1.0"

Superset-patchup erweitert Superset um weitere Funktionen. Sie können mehr über dieses Projekt hier lesen: Superset-patchup-Dokumentation

Beachten Sie, dass die Versionen der Ansible-Superset-Bindings, die diese Warnung enthalten, nur mit Superset-patchup v0.1.6 und höher kompatibel sind (aufgrund geänderter Initialisierungslogik).

Superset-Caching

Um Caching in Superset zu aktivieren, geben Sie CACHE_CONFIG an, das den Spezifikationen von Flask-Cache entspricht, sowie CACHE_DEFAULT_TIMEOUT, der die Cache-Warmup-Zeit bestimmt.

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 Tag

Um eine regelmäßige Erwärmung des Caches zu ermöglichen, konfigurieren Sie Supersets Celery-Task mit der bevorzugten Warmup-Strategie. Aktivieren Sie celerybeat und konfigurieren Sie sein Wörterbuch wie folgt:

superset_enable_celerybeat: True
superset_celerybeat_schedule: |
  {
    'cache-warmup-hourly': {
      'task': 'cache-warmup',
      'schedule': crontab(minute=0, hour='*'),  # stündlich
      'kwargs': {
          'strategy_name': 'top_n_dashboards',
          'top_n': 5,
          'since': 'vor 7 Tagen',
      },
    },
  }

Testen

Dieses Projekt enthält eine Vagrantfile, dies ist eine schnelle und einfache Möglichkeit, Änderungen an der Rolle zu testen. Starten Sie es mit vagrant up.

Siehe Vagrant-Dokumentation für die Einrichtung mit Vagrant.

Lizenz

Apache 2

Autoren

Ona Engineering

Über das Projekt

This role is used to install and configure Apache Superset

Installieren
ansible-galaxy install onaio.superset
Lizenz
bsd-2-clause
Downloads
139
Besitzer