onaio.superset
Superset
Utilisez ce rôle pour installer, configurer et gérer Apache Superset.
Par défaut, cela installe la version 0.28.1 de Superset. Pour installer une version différente, définissez la variable superset_version
.
Variables du Rôle
superset_python_executable
: Spécifie quelle version de Python utiliser pour installer Superset. Le rôle prend en charge actuellement python2.7
et python3.6
.
superset_recreate_virtualenv
: Mettez à True
si vous souhaitez que le rôle recrée l’environnement virtuel Python où Superset est installé.
Ce rôle crée un utilisateur et une base de données Superset. Pour vous connecter à l’hôte de la base de données, définissez :
superset_postgres_db_host
: L’hôte de la base de donnéessuperset_postgres_login_user
: L'utilisateur postgres utilisé pour créer la base de données et l'utilisateur Supersetsuperset_postgres_login_password
: le mot de passe de l'utilisateur postgres utilisé pour créer la base de données et l'utilisateur Supersetsuperset_postgres_db_name
: Le nom de la base de données Superset (à créer). C'est la base de données utilisée par Superset.superset_postgres_db_user
: Nom d'utilisateur postgres pour Superset (à créer)superset_postgres_db_pass
: Mot de passe de l'utilisateur postgres pour Supersetsuperset_pgpass_credentials
: Une liste de références d'identification à utiliser pour des connexions sans mot de passe, au formathostname:port:database:username:password
.
Autres Variables par Défaut
# pour redémarrer Superset après avoir effectué des changements ; par défaut c'est True, pour un cluster, vous pourriez vouloir désactiver
superset_perform_restart: True
Langues Disponibles
Cela vous permet de contrôler quelles langues sont disponibles et comment elles sont étiquetées.
supeset_languages:
- key: en
flag: us
name: Anglais
- key: ja
flag: jp
name: Japonais
La langue par défaut est un sous-ensemble des langues disponibles, consultez le dossier /translations
de la version actuelle de Superset pour voir quelles autres langues sont disponibles.
Systèmes d'Authentification
Cela vous permet de configurer quel système d'authentification utilise Superset. Par défaut
superset_auth_type: AUTH_DB
utilise Superset sur DB pour gérer les utilisateurs. Actuellement, les options de configuration ne sont supportées que pour le type AUTH_OAUTH
.
Si vous avez sélectionné ce type d'authentification, vous pouvez fournir des détails de configuration supplémentaires avec
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:
où request_token_params
, s'il est fourni, est un objet JSON. Toutes les valeurs, sauf request_token_params
, consumer_key
et consumer_secret
sont représentées entre guillemets. Vous devez généralement définir consumer_key
et consumer_secret
pour récupérer les variables d'environnement, par exemple os.environ.get('OAUTH2_CLIENT_SECRET')
.
Vous pouvez définir vos variables d'environnement pour le service en utilisant :
superset_service_env_vars:
OAUTH2_CLIENT_SECRET: LE_SECRET
Notez que certains fournisseurs OAuth comme
onadata
exigent querequest_token_url
,access_token_url
etauthorize_url
se terminent tous par un caractère/
.
Personnalisation
Ce rôle vous permet de personnaliser Superset en changeant le nom de l'application et les "images de marque", qui sont :
- Le favicon :
favicon.png
- Le logo :
superset.png
- Le logo 2x :
[email protected]
Les tailles et dimensions de ces images doivent être aussi proches que possible des images que nous remplaçons, que vous pouvez trouver dans le répertoire static/images
de Superset.
Activez la personnalisation en définissant cette variable à True :
superset_white_label: True
Changer le Nom de l'Application
superset_app_name: 'Mon Application'
Utiliser des fichiers pour changer l'image de marque
Vous pouvez utiliser des fichiers en définissant les variables suivantes.
superset_white_label_use_filepaths: True
superset_favicon_path: "/chemin-vers-/favicon.png"
superset_logo_path: "/chemin-vers-/superset.png"
superset_2x_logo_path: "/chemin-vers-/[email protected]"
Utiliser des images codées en base64 pour changer l'image de marque
Pour éviter le tracas de la gestion des fichiers, vous pouvez utiliser des images codées en base64 en définissant les variables suivantes.
superset_white_label_use_base64: True
superset_favicon_base64: "favicon codé en base64"
superset_logo_base64: "logo codé en base64"
superset_2x_logo_base64: "logo 2x codé en base64"
Téléversement de Fichiers
Superset, par défaut, activera les extensions suivantes pour les téléversements de données :
superset_allowed_extensions:
- csv
Vérifiez la configuration ALLOWED_EXTENSIONS
dans le fichier de configuration config.py
de Superset pour la liste des extensions supportées.
Les répertoires de téléversement pour les images et les fichiers de données (à utiliser par les extensions d'importation de données) sont définis comme suit :
superset_img_upload_dir: "{{ superset_home }}/images/"
superset_upload_dir: "{{ superset_home }}/uploads/"
Modifier la Limite JSON
Modifiez cette valeur pour augmenter la limite de données JSON de la position du tableau de bord Superset. Par défaut, elle est réglée sur 2^16, dans l'exemple ci-dessous, nous l'augmentons à 2^24.
superset_dashboard_position_data_limit: 16777216
Superset-patchup (ketchup)
Ce rôle peut être configuré pour inclure optionnellement Superset-patchup, en faisant ceci :
superset_use_ketchup: True
superset_ketchup_version: "v0.1.0"
Superset-patchup améliore Superset en ajoutant plus de fonctionnalités. Vous pouvez en lire davantage sur ce projet ici : Documentation de Superset-patchup
Notez que les versions des liaisons ansible-superset incluant cet avertissement ne sont compatibles qu'avec superset-patchup v0.1.6 et plus (en raison d'une logique d'initialisation modifiée).
Mise en Cache de Superset
Pour activer la mise en cache dans Superset, fournissez CACHE_CONFIG
qui respecte les spécifications de Flask-Cache et CACHE_DEFAULT_TIMEOUT
qui détermine la période de préchauffage du cache.
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 jour
Pour permettre un préchauffage périodique du cache, configurez la tâche celery de Superset avec la stratégie de préchauffage préférée. Activez celerybeat et configurez son dictionnaire comme suit :
superset_enable_celerybeat: True
superset_celerybeat_schedule: |
{
'cache-warmup-hourly': {
'task': 'cache-warmup',
'schedule': crontab(minute=0, hour='*'), # horaire
'kwargs': {
'strategy_name': 'top_n_dashboards',
'top_n': 5,
'since': 'il y a 7 jours',
},
},
}
Tests
Ce projet est livré avec un Vagrantfile, c'est un moyen rapide et facile de tester des modifications du rôle, lancez-le avec vagrant up
.
Consultez la documentation de vagrant pour vous installer avec vagrant.
Licence
Apache 2
Auteurs
This role is used to install and configure Apache Superset
ansible-galaxy install onaio.superset