onaio.superset
Superset
Utiliza este rol para instalar, configurar y gestionar Apache Superset.
Por defecto, se instala la versión 0.28.1 de Superset. Para instalar una versión diferente, configura la variable superset_version
.
Variables del Rol
superset_python_executable
: Especifica qué binario de Python utilizar para instalar Superset. El rol actualmente admite python2.7
y python3.6
.
superset_recreate_virtualenv
: Configura como True
si deseas que el rol recree el entorno virtual de Python donde se instala Superset.
Este rol crea un usuario y una base de datos para Superset. Para conectarte al host de la base de datos, configura:
superset_postgres_db_host
: El host de la base de datossuperset_postgres_login_user
: El usuario de Postgres utilizado para crear la base de datos y el usuario de Supersetsuperset_postgres_login_password
: la contraseña del usuario de Postgres utilizado para crear la base de datos y el usuario de Supersetsuperset_postgres_db_name
: El nombre de la base de datos de Superset (que se creará). Esta es la base de datos que usará Superset.superset_postgres_db_user
: Nombre de usuario de Postgres para Superset (que se creará)superset_postgres_db_pass
: Contraseña del usuario de Postgres para Supersetsuperset_pgpass_credentials
: Una lista de credenciales de la base de datos que se usarán para conexiones sin contraseña en el formatohostname:port:database:username:password
.
Otras variables por defecto se enumeran a continuación
# si reiniciar Superset después de hacer cambios; el valor por defecto es True, para un clúster puede que desees deshabilitar
superset_perform_restart: True
Idiomas disponibles
Esto te permite controlar qué idiomas están disponibles y cómo se etiquetan.
supeset_languages:
- key: en
flag: us
name: Inglés
- key: ja
flag: jp
name: Japonés
El valor por defecto es un subconjunto de los idiomas totales disponibles, revisa la carpeta /translations
de la
versión actual de Superset para ver qué otros idiomas están disponibles.
Métodos de Autenticación
Esto te permite configurar qué backend de autenticación utilizan los usuarios de Superset. El por defecto
superset_auth_type: AUTH_DB
usa Superset en la base de datos para gestionar usuarios. Actualmente, las opciones de configuración solo son compatibles con el tipo AUTH_OAUTH
.
Si seleccionaste ese tipo de autenticación, puedes proporcionar detalles de configuración adicionales con
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:
donde request_token_params
, si se proporciona, es un objeto JSON. Todos los valores excepto request_token_params
, consumer_key
y consumer_secret
se muestran entre comillas. Normalmente configurarías consumer_key
y consumer_secret
para recuperar variables de entorno, por ejemplo, os.environ.get('OAUTH2_CLIENT_SECRET')
.
Puedes establecer tus variables de entorno para el servicio usando:
superset_service_env_vars:
OAUTH2_CLIENT_SECRET: EL_SECRETO
Ten en cuenta que algunos proveedores de oAuth como
onadata
requieren querequest_token_url
,access_token_url
yauthorize_url
terminen con un carácter/
.
Rebranding
Este rol te permite hacer un rebranding de Superset permitiéndote cambiar el nombre de la aplicación Superset y las 'imágenes de marca', que son:
- El favicon:
favicon.png
- El logo:
superset.png
- El logo 2x:
[email protected]
Los tamaños de archivo y dimensiones de estas imágenes deben ser lo más cercanas posible a las imágenes que estamos reemplazando, que se pueden encontrar en el directorio static/images
de Superset.
Activa el rebranding configurando esta variable como True:
superset_white_label: True
Cambiar el Nombre de la App
superset_app_name: 'Mi App'
Usar archivos para cambiar la marca
Puedes utilizar archivos configurando las siguientes variables.
superset_white_label_use_filepaths: True
superset_favicon_path: "/ruta-a-/favicon.png"
superset_logo_path: "/ruta-a-/superset.png"
superset_2x_logo_path: "/ruta-a-/[email protected]"
Usar imágenes codificadas en base64 para cambiar la marca
Para evitar problemas con los archivos, puedes usar imágenes codificadas en base64 configurando las siguientes variables.
superset_white_label_use_base64: True
superset_favicon_base64: "favicon codificado en base64"
superset_logo_base64: "logo codificado en base64"
superset_2x_logo_base64: "logo 2x codificado en base64"
Carga de Activos
Superset, por defecto, activará las siguientes extensiones para cargas de datos:
superset_allowed_extensions:
- csv
Revisa la configuración ALLOWED_EXTENSIONS
en el config.py de Superset para ver la lista de extensiones soportadas.
Los directorios de carga de imágenes y archivos de datos (que se usarán por las extensiones de importación de datos) están configurados en:
superset_img_upload_dir: "{{ superset_home }}/images/"
superset_upload_dir: "{{ superset_home }}/uploads/"
Modificar el Límite de JSON
Modifica este valor para aumentar el límite de datos JSON de la posición del dashboard de Superset. Por defecto, esto está configurado en 2^16, en el siguiente ejemplo lo aumentamos a 2^24.
superset_dashboard_position_data_limit: 16777216
Superset-patchup (ketchup)
Este rol se puede configurar opcionalmente para incluir Superset-patchup, haciéndolo de esta manera:
superset_use_ketchup: True
superset_ketchup_version: "v0.1.0"
Superset-patchup mejora Superset agregando más características. Puedes leer más sobre este proyecto aquí: Documentación de Superset-patchup
Ten en cuenta que las versiones de las bindings de ansible-superset que incluyen esta advertencia son compatibles solo con superset-patchup v0.1.6 y superiores (debido a la lógica de inicialización modificada).
Caching en Superset
Para habilitar caching en Superset, proporciona CACHE_CONFIG
que cumpla con las especificaciones de Flask-Cache y CACHE_DEFAULT_TIMEOUT
que determina el período de calentamiento del caché.
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 día
Para permitir el calentamiento periódico del caché, configura la tarea de celery de Superset con la estrategia de calentamiento preferida. Habilita celerybeat y configura su diccionario así:
superset_enable_celerybeat: True
superset_celerybeat_schedule: |
{
'cache-warmup-hourly': {
'task': 'cache-warmup',
'schedule': crontab(minute=0, hour='*'), # cada hora
'kwargs': {
'strategy_name': 'top_n_dashboards',
'top_n': 5,
'since': 'hace 7 días',
},
},
}
Pruebas
Este proyecto viene con un Vagrantfile, esta es una forma rápida y fácil de probar cambios en el rol, inícialo con vagrant up
.
Consulta documentación de vagrant para configurarte con vagrant.
Licencia
Apache 2
Autores
This role is used to install and configure Apache Superset
ansible-galaxy install onaio.superset