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-Hostsuperset_postgres_login_user
: Der PostgreSQL-Benutzer, der zum Erstellen der Superset-Datenbank und des Benutzers verwendet wirdsuperset_postgres_login_password
: Das Passwort für den PostgreSQL-Benutzersuperset_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-Benutzerssuperset_pgpass_credentials
: Eine Liste von Datenbank-Anmeldeinformationen, die für Verbindungen ohne Passwort im Formathostname: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 dierequest_token_url
,access_token_url
undauthorize_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
This role is used to install and configure Apache Superset
ansible-galaxy install onaio.superset