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 danych
  • superset_postgres_login_user: Użytkownik postgres używany do tworzenia bazy danych i użytkownika superset
  • superset_postgres_login_password: hasło dla użytkownika postgres używanego do tworzenia bazy danych i użytkownika superset
  • superset_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 superset
  • superset_pgpass_credentials: Lista poświadczeń bazy danych do użycia do połączeń bez hasła w formacie hostname: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ą, aby request_token_url, access_token_url i authorize_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ą:

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

Ona Engineering

O projekcie

This role is used to install and configure Apache Superset

Zainstaluj
ansible-galaxy install onaio.superset
Licencja
bsd-2-clause
Pobrania
139
Właściciel