#
# This ConfigMap is produced out of env vars file
#
apiVersion: v1
kind: ConfigMap
metadata:
  name: jitsi-config
data:
#
# Basic configuration options
#

# Directory where all configuration will be stored.
  CONFIG: "${CONFIG}"

# Exposed HTTP port.
  HTTP_PORT: "${HTTP_PORT}"

# Exposed HTTPS port.
  HTTPS_PORT: "${HTTPS_PORT}"

# System time zone.
  TZ: "${TZ}"

# Public URL for the web service.
  PUBLIC_URL: "${PUBLIC_URL}"

# IP address of the Docker host. See the "Running on a LAN environment" section
# in the README.
  DOCKER_HOST_ADDRESS: "${DOCKER_HOST_ADDRESS}"


#
# Let's Encrypt configuration
#

# Enable Let's Encrypt certificate generation.
  ENABLE_LETSENCRYPT: "${ENABLE_LETSENCRYPT}"

# Domain for which to generate the certificate.
  LETSENCRYPT_DOMAIN: "${LETSENCRYPT_DOMAIN}"

# E-Mail for receiving important account notifications (mandatory).
  LETSENCRYPT_EMAIL: "${LETSENCRYPT_EMAIL}"


#
# Etherpad integration (for document sharing)
#

# Set etherpad-lite URL (uncomment to enable).
  ETHERPAD_URL_BASE: "${ETHERPAD_URL_BASE}"


#
# Basic Jigasi configuration options (needed for SIP gateway support)
#

# SIP URI for incoming / outgoing calls.
  JIGASI_SIP_URI: "${JIGASI_SIP_URI}"

# Password for the specified SIP account as a clear text
  JIGASI_SIP_PASSWORD: "${JIGASI_SIP_PASSWORD}"

# SIP server (use the SIP account domain if in doubt).
  JIGASI_SIP_SERVER: "${JIGASI_SIP_SERVER}"

# SIP server port
  JIGASI_SIP_PORT: "${JIGASI_SIP_PORT}"

# SIP server transport
  JIGASI_SIP_TRANSPORT: "${JIGASI_SIP_TRANSPORT}"

#
# Authentication configuration (see README for details)
#

# Enable authentication.
  ENABLE_AUTH: "${ENABLE_AUTH}"

# Enable guest access.
  ENABLE_GUESTS: "${ENABLE_GUESTS}"

# Start a conference with video muted
  START_WITH_VIDEO_MUTED: "${START_WITH_VIDEO_MUTED}"

# Select authentication type: internal, jwt or ldap
  AUTH_TYPE: "${AUTH_TYPE}"

# JWT auuthentication
#

# Application identifier.
  JWT_APP_ID: "${JWT_APP_ID}"

# Application secret known only to your token.
  JWT_APP_SECRET: "${JWT_APP_SECRET}"

# (Optional) Set asap_accepted_issuers as a comma separated list.
  JWT_ACCEPTED_ISSUERS: "${JWT_ACCEPTED_ISSUERS}"

# (Optional) Set asap_accepted_audiences as a comma separated list.
  JWT_ACCEPTED_AUDIENCES: "${JWT_ACCEPTED_AUDIENCES}"


# LDAP authentication (for more information see the Cyrus SASL saslauthd.conf man page)
#

# LDAP url for connection.
  LDAP_URL: "${LDAP_URL}"

# LDAP base DN. Can be empty
  LDAP_BASE: "${LDAP_BASE}"

# LDAP user DN. Do not specify this parameter for the anonymous bind.
  LDAP_BINDDN: "${LDAP_BINDDN}"

# LDAP user password. Do not specify this parameter for the anonymous bind.
  LDAP_BINDPW: "${LDAP_BINDPW}"

# LDAP filter. Tokens example:
# %1-9 - if the input key is user@mail.domain.com, then %1 is com, %2 is domain and %3 is mail.
# %s - %s is replaced by the complete service string.
# %r - %r is replaced by the complete realm string.
  LDAP_FILTER: "${LDAP_FILTER}"

# LDAP authentication method
  LDAP_AUTH_METHOD: "${LDAP_AUTH_METHOD}"

# LDAP version
  LDAP_VERSION: "${LDAP_VERSION}"

# LDAP TLS using
  LDAP_USE_TLS: "${LDAP_USE_TLS}"

# List of SSL/TLS ciphers to allow.
  LDAP_TLS_CIPHERS: "${LDAP_TLS_CIPHERS}"

# Require and verify server certificate
  LDAP_TLS_CHECK_PEER: "${LDAP_TLS_CHECK_PEER}"

# Path to CA cert file. Used when server sertificate verify is enabled.
  LDAP_TLS_CACERT_FILE: "${LDAP_TLS_CACERT_FILE}"

# Path to CA certs directory. Used when server sertificate verify is enabled.
  LDAP_TLS_CACERT_DIR: "${LDAP_TLS_CACERT_DIR}"


#
# Advanced configuration options (you generally don't need to change these)
#

# Internal XMPP domain.
  XMPP_DOMAIN: "${XMPP_DOMAIN}"

# Internal XMPP server
  XMPP_SERVER: "${XMPP_SERVER}"

  XMPP_SERVER_ADDRESS: "${XMPP_SERVER_ADDRESS}"

# Internal XMPP server URL
  XMPP_BOSH_URL_BASE: "${XMPP_BOSH_URL_BASE}"

# Internal XMPP domain for authenticated services.
  XMPP_AUTH_DOMAIN: "${XMPP_AUTH_DOMAIN}"

# XMPP domain for the MUC.
  XMPP_MUC_DOMAIN: "${XMPP_MUC_DOMAIN}"

# XMPP domain for the internal MUC used for jibri, jigasi and jvb pools.
  XMPP_INTERNAL_MUC_DOMAIN: "${XMPP_INTERNAL_MUC_DOMAIN}"

# XMPP domain for unauthenticated users.
  XMPP_GUEST_DOMAIN: "${XMPP_GUEST_DOMAIN}"

# Custom Prosody modules for XMPP_DOMAIN (comma separated)
  XMPP_MODULES: "${XMPP_MODULES}"

# Custom Prosody modules for MUC component (comma separated)
  XMPP_MUC_MODULES: "${XMPP_MUC_MODULES}"

# Custom Prosody modules for internal MUC component (comma separated)
  XMPP_INTERNAL_MUC_MODULES: "${XMPP_INTERNAL_MUC_MODULES}"

# MUC for the JVB pool.
  JVB_BREWERY_MUC: "${JVB_BREWERY_MUC}"

# XMPP user for JVB client connections.
  JVB_AUTH_USER: "${JVB_AUTH_USER}"

# XMPP password for JVB client connections.
  JVB_AUTH_PASSWORD: "${JVB_AUTH_PASSWORD}"

# STUN servers used to discover the server's public IP.
#JVB_STUN_SERVERS=stun.l.google.com:19302,stun1.l.google.com:19302,stun2.l.google.com:19302
  JVB_STUN_SERVERS: "${JVB_STUN_SERVERS}"

# Media port for the Jitsi Videobridge
  JVB_PORT: "${JVB_PORT}"

# TCP Fallback for Jitsi Videobridge for when UDP isn't available
  JVB_TCP_HARVESTER_DISABLED: "${JVB_TCP_HARVESTER_DISABLED}"
  JVB_TCP_PORT: "${JVB_TCP_PORT}"

# A comma separated list of APIs to enable when the JVB is started. The default is none.
# See https://github.com/jitsi/jitsi-videobridge/blob/master/doc/rest.md for more information
  JVB_ENABLE_APIS: "${JVB_ENABLE_APIS}"

# XMPP component password for Jicofo.
  JICOFO_COMPONENT_SECRET: "${JICOFO_COMPONENT_SECRET}"

# XMPP user for Jicofo client connections. NOTE: this option doesn't currently work due to a bug.
  JICOFO_AUTH_USER: "${JICOFO_AUTH_USER}"

# XMPP password for Jicofo client connections.
  JICOFO_AUTH_PASSWORD: "${JICOFO_AUTH_PASSWORD}"

# XMPP user for Jigasi MUC client connections.
  JIGASI_XMPP_USER: "${JIGASI_XMPP_USER}"

# XMPP password for Jigasi MUC client connections.
  JIGASI_XMPP_PASSWORD: "${JIGASI_XMPP_PASSWORD}"

# MUC name for the Jigasi pool.
  JIGASI_BREWERY_MUC: "${JIGASI_BREWERY_MUC}"

# Minimum port for media used by Jigasi.
  JIGASI_PORT_MIN: "${JIGASI_PORT_MIN}"

# Maximum port for media used by Jigasi.
  JIGASI_PORT_MAX: "${JIGASI_PORT_MAX}"

# Enable SDES srtp
  JIGASI_ENABLE_SDES_SRTP: "${JIGASI_ENABLE_SDES_SRTP}"

# Keepalive method
  JIGASI_SIP_KEEP_ALIVE_METHOD: "${JIGASI_SIP_KEEP_ALIVE_METHOD}"

# Health-check extension
  JIGASI_HEALTH_CHECK_SIP_URI: "${JIGASI_HEALTH_CHECK_SIP_URI}"

# Health-check interval
  JIGASI_HEALTH_CHECK_INTERVAL: "${JIGASI_HEALTH_CHECK_INTERVAL}"
#
# Enable Jigasi transcription.
  ENABLE_TRANSCRIPTIONS: "${ENABLE_TRANSCRIPTIONS}"

# Jigasi will recordord an audio when transcriber is on. Default false.
  JIGASI_TRANSCRIBER_RECORD_AUDIO: "${JIGASI_TRANSCRIBER_RECORD_AUDIO}"

# Jigasi will send transcribed text to the chat when transcriber is on. Default false.
  JIGASI_TRANSCRIBER_SEND_TXT: "${JIGASI_TRANSCRIBER_SEND_TXT}"

# Jigasi post to the chat an url with transcription file. Default false.
  JIGASI_TRANSCRIBER_ADVERTISE_URL: "${JIGASI_TRANSCRIBER_ADVERTISE_URL}"

# Enable recording
  ENABLE_RECORDING: "${ENABLE_RECORDING}"

# XMPP domain for the jibri recorder
  XMPP_RECORDER_DOMAIN: "${XMPP_RECORDER_DOMAIN}"

# XMPP recorder user for Jibri client connections.
  JIBRI_RECORDER_USER: "${JIBRI_RECORDER_USER}"

# XMPP recorder password for Jibri client connections.
  JIBRI_RECORDER_PASSWORD: "${JIBRI_RECORDER_PASSWORD}"

# Directory for recordings inside Jibri container.
  JIBRI_RECORDING_DIR: "${JIBRI_RECORDING_DIR}"

# The finalizing script. Will run after recording is complete.
  JIBRI_FINALIZE_RECORDING_SCRIPT_PATH: "${JIBRI_FINALIZE_RECORDING_SCRIPT_PATH}"

# Enable upload recordings to dropbox
  JIBRI_DROPBOX_APIKEY: "${JIBRI_DROPBOX_APIKEY}"

# XMPP user for Jibri client connections.
  JIBRI_XMPP_USER: "${JIBRI_XMPP_USER}"

# XMPP password for Jibri client connections.
  JIBRI_XMPP_PASSWORD: "${JIBRI_XMPP_PASSWORD}"

# MUC name for the Jibri pool.
  JIBRI_BREWERY_MUC: "${JIBRI_BREWERY_MUC}"

# MUC connection timeout
  JIBRI_PENDING_TIMEOUT: "${JIBRI_PENDING_TIMEOUT}"

# When jibri gets a request to start a service for a room, the room
# jid will look like: roomName@optional.prefixes.subdomain.xmpp_domain
# We'll build the url for the call by transforming that into:
# https://xmpp_domain/subdomain/roomName
# So if there are any prefixes in the jid (like jitsi meet, which
# has its participants join a muc at conference.xmpp_domain) then
# list that prefix here so it can be stripped out to generate
# the call url correctly.
  JIBRI_STRIP_DOMAIN_JID: "${JIBRI_STRIP_DOMAIN_JID}"

# Directory for logs inside Jibri container.
  JIBRI_LOGS_DIR: "${JIBRI_LOGS_DIR}"

# set only if the jibri hosted on a different host
  JIBRI_EXTERNAL_INSTANCE: "${JIBRI_EXTERNAL_INSTANCE}"

# Credentials for connect to Cloud Google API from Jigasi. Path located inside the container.
# Please read https://cloud.google.com/text-to-speech/docs/quickstart-protocol
# section "Before you begin" from 1 to 5 paragraph. Copy the key on
# the docker host to ${CONFIG}/jigasi/key.json and to enable this setting:
  GOOGLE_APPLICATION_CREDENTIALS: "${GOOGLE_APPLICATION_CREDENTIALS}"

# Disable HTTPS. This can be useful if TLS connections are going to be handled outside of this setup.
  DISABLE_HTTPS: "${DISABLE_HTTPS}"

# Redirects HTTP traffic to HTTPS. Only works with the standard HTTPS port (443).
  ENABLE_HTTP_REDIRECT: "${ENABLE_HTTP_REDIRECT}"

