This is a Jitsu.Classic documentation. For the lastest version, please visit docs.jitsu.com. Read about differences here.

πŸ“œ Configuration

Configuration UI

πŸ‘©β€πŸ”¬ Extending Jitsu

Overview
Destination Extensions
Source Extensions
API Specs

Jitsu Internals

Jitsu Server

Configurator

Jitsu Configurator is a service that's provide a UI and API for configuring Jitsu. Configurator is an optional, but highly recommended services (read more about @jitsucom/server and @jitsucom/configurator relations on a docker deployment page)

If Jitsu Configurator is deployed in a standalone mode (not a part of joint image), it should be configured via single YAML file or with env variables if you're deploying it with Docker

The file consists of the following sections:

  • server β€” General configuration parameters such as port, application logs configuration, CORS, etc.
  • jitsu β€” Jitsu Server address configuration. Configurator UI proxies some requests from UI to Jitsu Server via Configurator e.g. getting Live events and Statistics data or Destinations Test requests.
  • auth β€” UI Authorization storage configuration. Storage for storing UI authorization flow data.
  • storage β€” Main Storage. Configurator UI stores all users configuration such as configured destinations, api keys, sources into the storage.
  • notifications β€” notifier configuration. Configurator starts, system errors, and panics information will be sent to it. Currently, only Slack notifications are supported.
  • smtp – email sender configuration. If not specified, email sender will be disabled. The config may also be passed as JSON via JITSU_SMTP_CONFIG environment variable and follows the same layout as YAML configuration ({"host": "...", "port": 456, ...}).
  • sso – SSO authentication configuration. Supported providers: Auth0 and BoxyHQ The config may also be passed as JSON via JITSU_SSO_CONFIG environment variable and follows the same layout as YAML configuration ({"provider": "...", "auto_provision": { ... }}).

Example:

server:
  name: instance1.domain.com
  port: 7000
  allowed_domains:
  #CORS configuration
  #{{APP_TLD} is a macros for Application Top Level Domain
    - '{{APP_TLD}}'
    - 'localhost'
  auth: 'demo___please_provide_value_in_production___'

ui:
  #Public URL of the Configurator UI
  base_url: 'https://jitsu.example.com'
  
jitsu:
  base_url: 'http://your_jitsu_server_url'
  #token from Jitsu Server server.admin_token section of yaml configuration
  admin_token: 'demo___please_provide_value_in_production___'

notifications:
  slack:
    url: https://slack_web_hook_url

storage:
  redis:
    host: redis_host
    port: 6379
    password: secret_password

auth:
  redis:
    host: redis_host
    port: 6379
    password: secret_password
    #JWT secrets
    access_secret: 'demo___please_provide_value_in_production___'
    refresh_secret: 'demo___please_provide_value_in_production___'

smtp:
  host: 'your_smtp_host'
  port: 465
  user: 'your_smtp_username'
  password: 'your_smtp_password' # optional
  from: support@jitsu.com # optional, used for From header
  signature: Your Jitsu - an open-source data collection platform team # optional
  reply_to: support@jitsu.com # optional, used for Reply-To header

sso:
  provider: 'auth0' # SSO provider. Supported: auth0, boxy
  auto_provision:
    enable: true # enable auto provisioning - automatically create user if not exists
    auto_onboarding: true # skip onboarding for auto provisioned users
  auth0:
    ... # provider specific settings
  access_token_ttl_seconds: 86400 # ttl of obtained access token in seconds. Default: 86400 (1 day)

You can set ${env.OS_ENV_VAR_NAME} to any configuration parameter in YAML file. Jitsu will get the value from OS ENV (with name OS_ENV_VAR_NAME from the example).