onaio.superset
Superset
Użyj tej roli, aby zainstalować, skonfigurować i zarządzać Apache Superset.
Domyślnie instaluje to wersję Superset 0.28.1. Aby zainstalować inną wersję, ustaw zmienną superset_version
.
Zmienne roli
superset_python_executable
: Określa, który plik binarny Pythona ma być używany do instalacji Superset. Rola obecnie obsługuje python2.7
i python3.6
.
superset_recreate_virtualenv
: Ustaw na True
, jeśli chcesz, aby rola utworzyła na nowo środowisko wirtualne Pythona, w którym jest zainstalowany Superset.
Ta rola tworzy użytkownika superset oraz bazę danych. Aby połączyć się z hostem bazy danych, ustaw:
superset_postgres_db_host
: Host bazy danychsuperset_postgres_login_user
: Użytkownik postgres używany do tworzenia bazy danych i użytkownika supersetsuperset_postgres_login_password
: hasło dla użytkownika postgres używanego do tworzenia bazy danych i użytkownika supersetsuperset_postgres_db_name
: Nazwa bazy danych superset (do utworzenia). To jest baza danych, której będzie używać superset.superset_postgres_db_user
: Nazwa użytkownika postgres dla superset (do utworzenia)superset_postgres_db_pass
: Hasło użytkownika postgres dla supersetsuperset_pgpass_credentials
: Lista poświadczeń bazy danych do użycia do połączeń bez hasła w formaciehostname:port:database:username:password
.
Inne zmienne domyślne
# czy zrestartować Superset po dokonaniu zmian; domyślnie jest to True, w klastrze możesz chcieć to wyłączyć
superset_perform_restart: True
Dostępne języki
To pozwala kontrolować, jakie języki są dostępne i jak są oznaczone.
supeset_languages:
- key: en
flag: us
name: Angielski
- key: ja
flag: jp
name: Japoński
Domyślnie dostępny jest podzbiór wszystkich dostępnych języków. Zobacz folder /translations
obecnego wydania Superset, aby zobaczyć, jakie inne języki są dostępne.
Backendy uwierzytelniania
To pozwala skonfigurować, jaki backend uwierzytelniania używa superset. Domyślnie
superset_auth_type: AUTH_DB
używa Supersets w DB do zarządzania użytkownikami. Obecnie opcje konfiguracyjne są obsługiwane tylko dla typu AUTH_OAUTH
.
Jeśli wybrałeś ten typ uwierzytelniania, możesz dostarczyć dodatkowe szczegóły konfiguracyjne:
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:
gdzie request_token_params
, jeśli zostanie podany, jest obiektem JSON. Wszystkie wartości, z wyjątkiem request_token_params
, consumer_key
i consumer_secret
, są podawane w cudzysłowach. Zazwyczaj ustawiasz consumer_key
i consumer_secret
na pobranie zmiennych środowiskowych, np. os.environ.get('OAUTH2_CLIENT_SECRET')
.
Możesz ustawić swoje zmienne środowiskowe dla usługi, używając:
superset_service_env_vars:
OAUTH2_CLIENT_SECRET: TA_JEDYNA_TAJEMNICA
Należy pamiętać, że niektórzy dostawcy oAuth, tacy jak
onadata
, wymagają, abyrequest_token_url
,access_token_url
iauthorize_url
kończyły się znakiem/
.
Białe etykietowanie
Ta rola pozwala na białe etykietowanie superset, zmieniając nazwę aplikacji superset i 'obrazy marki', którymi są:
- Favicon:
favicon.png
- Logo:
superset.png
- Logo 2x:
[email protected]
Rozmiary i wymiary tych obrazów powinny być jak najbliższe obrazom, które zastępujemy, które można znaleźć w katalogu static/images
Superset.
Włącz białe etykietowanie, ustawiając tę zmienną na True:
superset_white_label: True
Zmień nazwę aplikacji
superset_app_name: 'Moja Aplikacja'
Użyj plików do zmiany marki
Możesz użyć plików, ustawiając następujące zmienne.
superset_white_label_use_filepaths: True
superset_favicon_path: "/sciezka-do-/favicon.png"
superset_logo_path: "/sciezka-do-/superset.png"
superset_2x_logo_path: "/sciezka-do-/[email protected]"
Użyj obrazów zakodowanych w base64 do zmiany marki
Aby uniknąć kłopotów związanych z plikami, możesz użyć obrazów zakodowanych w base64, ustawiając następujące zmienne.
superset_white_label_use_base64: True
superset_favicon_base64: "zakodowany w base64 favicon"
superset_logo_base64: "zakodowany w base64 logo"
superset_2x_logo_base64: "zakodowany w base64 2x logo"
Przesyłanie zasobów
Domyślnie Superset aktywuje następujące rozszerzenia do przesyłania danych:
superset_allowed_extensions:
- csv
Sprawdź konfigurację ALLOWED_EXTENSIONS
w pliku config.py
dla Superset, aby zobaczyć listę obsługiwanych rozszerzeń.
Katalogi przesyłania dla obrazów i plików danych (do użycia przez rozszerzenia importu danych) są ustalone na:
superset_img_upload_dir: "{{ superset_home }}/images/"
superset_upload_dir: "{{ superset_home }}/uploads/"
Zmień limit JSON
Zmodyfikuj tę wartość, aby zwiększyć limit danych JSON dla pozycji dashboardu w Superset. Domyślnie ustawiono to na 2^16, w poniższym przykładzie zwiększamy to do 2^24.
superset_dashboard_position_data_limit: 16777216
Superset-patchup (ketchup)
Ta rola może być opcjonalnie ustawiona do włączenia Superset-patchup, robiąc to:
superset_use_ketchup: True
superset_ketchup_version: "v0.1.0"
Superset-patchup wzbogaca Superset o dodatkowe funkcje. Możesz przeczytać więcej na ten temat tutaj: Dokumentacja Superset-patchup
Należy pamiętać, że wersje powiązań ansible-superset, które obejmują ten komunikat, są zgodne tylko z superset-patchup v0.1.6 i nowszymi (z powodu zmienionej logiki inicjalizacji).
Caching w Superset
Aby włączyć cache w superset, dostarcz CACHE_CONFIG
, który spełnia specyfikacje Flask-Cache oraz CACHE_DEFAULT_TIMEOUT
, który określa okres rozgrzewania 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 dzień
Aby umożliwić okresowe rozgrzewanie cache, skonfiguruj zadanie celery Superset z preferowaną strategią rozgrzewania. Włącz celerybeat i skonfiguruj jego słownik w ten sposób:
superset_enable_celerybeat: True
superset_celerybeat_schedule: |
{
'cache-warmup-hourly': {
'task': 'cache-warmup',
'schedule': crontab(minute=0, hour='*'), # co godzinę
'kwargs': {
'strategy_name': 'top_n_dashboards',
'top_n': 5,
'since': '7 dni temu',
},
},
}
Testowanie
Ten projekt posiada plik Vagrantfile, co jest szybkim i łatwym sposobem na testowanie zmian w roli, uruchom go poleceniem vagrant up
.
Zobacz dokumentację vagrant aby dowiedzieć się, jak skonfigurować vagrant.
Licencja
Apache 2
Autorzy
This role is used to install and configure Apache Superset
ansible-galaxy install onaio.superset