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ées
  • superset_postgres_login_user: L'utilisateur postgres utilisé pour créer la base de données et l'utilisateur Superset
  • superset_postgres_login_password: le mot de passe de l'utilisateur postgres utilisé pour créer la base de données et l'utilisateur Superset
  • superset_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 Superset
  • superset_pgpass_credentials: Une liste de références d'identification à utiliser pour des connexions sans mot de passe, au format hostname: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:

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 que request_token_url, access_token_url et authorize_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 :

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

Ona Engineering

À propos du projet

This role is used to install and configure Apache Superset

Installer
ansible-galaxy install onaio.superset
Licence
bsd-2-clause
Téléchargements
139
Propriétaire