# ############################################
#
# Global parameters
#
# ############################################

# Public domain of the deployment
PUBLIC_DOMAIN=platform.rapidminer.com

# Public URL of the deployment that will be used for external access (Public domain + protocol + port)
PUBLIC_URL=https://platform.rapidminer.com

# Public URL of the SSO endpoint that will be used for external access. In most cases it should be the same as the PUBLIC_URL
SSO_PUBLIC_URL=https://platform.rapidminer.com

# Enable/disable the service build into the RapidMiner cloud images, that updates the PUBLIC_URL and SSO_PUBLIC_URL variables to the new dynamic cloud hostname/IP address
AUTOMATIC_PUBLIC_URL_UPDATE_FOR_CLOUD_IMAGES=false

# Enable/disable the Legacy BASIC authentication support for REST endpoints, like webservices. (lowercase true/false)
LEGACY_REST_BASIC_AUTH_ENABLED=false

# Timezone setting
TZ=UTC

# Profiles
# A coma separated list of active profiles

# Maximum set
#COMPOSE_PROFILES=proxy,landing-page,jupyter,grafana,go,rts,radoop_proxy,platform-admin,server,job-agent,le,ces,token-tool,tabgo

# Minimum set
#COMPOSE_PROFILES=proxy,server,job-agent,landing-page

# Default set
COMPOSE_PROFILES=proxy,landing-page,jupyter,grafana,rts,platform-admin,server,job-agent,ces,token-tool,le

# Docker-compose timeout setting
COMPOSE_HTTP_TIMEOUT=600

# ############################################
#
# Deployment parameters
#
# ############################################

# Prefix to use for docker registry
REGISTRY=rapidminer/

# Version of the postgres containers
POSTGRES_VERSION=9.10.0-gen2

# Version of the Init container
INIT_VERSION=9.10.0-gen2

# Enable configuring server settings for Python Scripting extension
INIT_SHARED_CONDA_SETTINGS=true

# User migration settings for migrating from non-Keycloak-based deployments
USER_MIGRATION_ENABLED=True
USER_MIGRATION_DRY_RUN=False

# ############################################
#
# KeyCloak (SSO)
#
# ############################################

# Keycloak container version
KEYCLOAK_VERSION=9.10.0-gen2

# Keycloak database parameters
KC_DB=kcdb
KC_USER=kcdbuser
KC_PASSWORD=kcdbpass

# Default platform admin user credentials
KEYCLOAK_USER=admin
KEYCLOAK_PASSWORD=changeit

# SSO default parameters
SSO_IDP_REALM=master
SSO_SSL_REQUIRED=none

# ############################################
#
# Rapidminer server
#
# ############################################

SERVER_VERSION=9.10.0-gen2
SERVER_DBHOST=rm-postgresql-svc
SERVER_DBSCHEMA=rapidminer-server-db
SERVER_DBUSER=rmserver-db-user
SERVER_DBPASS=w61J784XSb24K4LRV97MbE16i8xa9O
POSTGRES_INITDB_ARGS="--encoding UTF8"
SERVER_MAX_MEMORY=2048M
RMSERVER_SSO_CLIENT_ID=urn:rapidminer:server
RMSERVER_SSO_CLIENT_SECRET=
SERVER_LICENSE=
RAPIDMINER_SERVER_HOST=rm-server-svc
RAPIDMINER_SERVER_PORT=8080
RAPIDMINER_SERVER_URL=http://rm-server-svc:8080
AUTH_SECRET=TTY5MjUxbzRBN2ZIWThpNGVKNGo4V2xqOHk0dTNV
BROKER_ACTIVEMQ_USERNAME=amq-user
BROKER_ACTIVEMQ_PASSWORD=M69251o4A7fHY8i4eJ4j8Wlj8y4u3U

# ############################################
#
# Job Agent
#
# ############################################

JOBAGENT_VERSION=9.10.0-gen2
JOBAGENT_QUEUE_ACTIVEMQ_URI=failover:(tcp://rm-server-svc:5672)
JOBAGENT_CONTAINER_COUNT=2
JOB_QUEUE=DEFAULT
JOBAGENT_CONTAINER_MEMORYLIMIT=2048
#RAPIDMINER_JOBAGENT_OPTS="-Djobagent.python.registryBaseUrl=http://platform-admin-webui-svc:1082/"
RAPIDMINER_JOBAGENT_OPTS=
RAPIDMINER_SERVER_PROTOCOL=http

# ############################################
#
# Proxy
#
# ############################################

PROXY_VERSION=9.10.0-gen2
JUPYTER_BACKEND=http://rm-jupyterhub-svc:8000
JUPYTER_URL_SUFFIX=/jupyter
GRAFANA_BACKEND=http://rm-grafana-svc:3000
GRAFANA_URL_SUFFIX=/grafana
PA_BACKEND=http://platform-admin-webui-svc:1082/
PA_URL_SUFFIX=/platform-admin
RTS_WEBUI_BACKEND=http://platform-admin-webui-svc:1082/
RTS_WEBUI_URL_SUFFIX=/rts-admin
RTS_SCORING_BACKEND=http://rts-agent-svc:8090/
RTS_SCORING_URL_SUFFIX=/rts
# Change these when you want to use non-default pair to login Realtime-Scoring
RTS_ADMIN_USER=admin
RTS_ADMIN_PASSWORD=changeit
KEYCLOAK_BACKEND=http://rm-keycloak-svc:8080
LANDING_BACKEND=http://landing-page:1080
TOKEN_BACKEND=http://rm-token-tool-svc:1080
TOKEN_URL_SUFFIX=/get-token

# To enable standpy external access use this value as STANDPY_BACKEND
# STANDPY_BACKEND=http://rm-standpy-router-svc/
STANDPY_BACKEND=http://standpy-is-not-enabled-by-default
STANDPY_URL_SUFFIX=/standpy

ALLOW_LE=true
LE_BACKEND=http://letsencrypt-svc:1084
PASSWORD_FILE_PATH=/etc/nginx/ssl/password.txt
UNPRIVILEGED_PORTS=false
HTTPS_CRT_PATH=/etc/nginx/ssl/certificate.crt
HTTPS_KEY_PATH=/etc/nginx/ssl/private.key
HTTPS_DH_PATH=/etc/nginx/ssl/dhparam.pem
PROXY_DATA_UPLOAD_LIMIT=10240M

# ############################################
#
# Jupyterhub
#
# ############################################

RM_JUPYTER_VERSION=9.10.0-gen2
JHUB_POSTGRES_HOST=rm-jupyterhub-db-svc
JHUB_POSTGRES_DB=jupyterhub
JHUB_POSTGRES_USER=jupyterhubdbuser
JHUB_POSTGRES_PASSWORD=FoExRExzQsL7UpgEYa5sO7mhiGhi3ne
JHUB_HOSTNAME=rm-jupyterhub-svc
JUPYTERHUB_CRYPT_KEY=e0084caa38f521cc985d675168bcf7b7137cf5b0d4a3e8b99d2e3542705584eb
JHUB_DEBUG=False
JHUB_TOKEN_DEBUG=False
JHUB_PROXY_DEBUG=False
JHUB_DB_DEBUG=False
JHUB_SPAWNER_DEBUG=False
JUPYTER_STACK_NAME=default
SSO_NB_UID_KEY=X_NB_UID
SSO_NB_GID_KEY=X_NB_GID
SSO_NB_CUSTOM_BIND_MOUNTS_KEY=X_NB_CUSTOM_BIND_MOUNTS
# Content should be in json format, use quotes here instead of apostrophes
#JUPYTER_NB_CUSTOM_BIND_MOUNTS={"/usr/share/doc/apt":"/tmp/apt","/usr/share/doc/mount/":"/tmp/mount"}
JUPYTER_NB_CUSTOM_BIND_MOUNTS=
DOCKER_NOTEBOOK_CPU_LIMIT=100
DOCKER_NOTEBOOK_MEM_LIMIT=2g
#k8s
#DOCKER_NOTEBOOK_MEM_LIMIT=2G
JHUB_SSO_CLIENT_ID=urn:rapidminer:jupyterhub
JHUB_SSO_CLIENT_SECRET=
JHUB_SPAWNER=dockerspawner
JHUB_API_PROTOCOL=http
JHUB_API_HOSTNAME=rm-jupyterhub-svc
JHUB_PROXY_PORT=8000
JHUB_API_PORT=8001
JHUB_APP_PORT=8081
JHUB_ENV_VOLUME_NAME=rm-coding-shared-vol
#JHUB_CUSTOM_CA_CERTS=${PWD}/ssl/deb_cacerts/
#JHUB_SPAWNER=kubespawner
#JHUB_K8S_CMD: '/entrypoint.sh'
#JHUB_K8S_ARGS: ''
#JHUB_K8S_NAMESPACE=advertisinganalytics
#JHUB_K8S_NODE_SELECTOR_NAME: 'rapidminer.customer'
#JHUB_K8S_NODE_SELECTOR_VALUE: 'rapidminer'
#JHUB_K8S_NOTEBOOK_STORAGE_ACCESS_MODE=ReadWriteOnce
#JHUB_K8S_NOTEBOOK_STORAGE_CAPACITY=5Gi
#JHUB_K8S_NOTEBOOK_STORAGE_CLASS=ms-ebs-us-west-2b
#JHUB_K8S_IMAGE_PULL_SECRET=rm-docker-login-secret
#JHUB_K8S_ENV_PVC_NAME=python-envs-pvc
#JHUB_K8S_ENV_PVC_SUBPATH=coding-shared
JHUB_DOCKER_DISABLE_NOTEBOOK_IMAGE_PULL_AT_STARTUP=True
JHUB_DISABLE_AIHUB_TOKEN_REQUESTS=False

# ############################################
#
# Radoop Proxy
#
# ############################################

RADOOP_PROXY_VERSION=1.2.1
# Authentication: 'server|jwt|superuser'
RADOOP_PROXY_AUTHENTICATION=superuser
RADOOP_PROXY_SUPERUSERNAME=proxyadmin
RADOOP_PROXY_SUPERUSERPASSWORD=changeit
RADOOP_PROXY_PORT=1081
RADOOP_PROXY_WORKERSPOOLSIZE=100
RADOOP_PROXY_SSL="off"

# ############################################
#
# Platform admin
#
# ############################################

PA_VERSION=9.10.0-gen2
PA_SSO_CLIENT_ID=urn:rapidminer:platform-admin
PA_SSO_CLIENT_SECRET=
PA_DISABLE_PYTHON=false
PA_DISABLE_RTS=false

#
# Coding Environment Storage
#
CES_VERSION=9.10.0-gen2

# ############################################
#
# Real-Time Scoring Agent
#
# ############################################

RTS_VERSION=9.10.0-gen2
WAIT_FOR_LICENSES=1
SCORING_AGENT_ENABLESERVERLICENSE=false
# ############################################
#
# Grafana
#
# ############################################

RM_GRAFANA_VERSION=9.10.0-gen2
GRAFANA_SSO_CLIENT_ID=urn:rapidminer:grafana
GRAFANA_SSO_CLIENT_SECRET=
# Single value or comma separated list
RTSA_DEPLOYMENTS=http://rts-agent-svc:8090/
# Possible values: NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL
GRAFANA_PROXY_LOGGING_LEVEL=INFO
# Set this to 'True' to log data (eg. result from webservice) returned from GF proxy
GRAFANA_PROXY_LOG_RESPONSE_DATA=False


# ############################################
#
# TabGo
#
# ############################################

# Used for both TabGo and the TabGo proxy.
TABGO_VERSION=9.9.2

# Proxy specific settings.
TABGO_PROXY_PORT=4443
TABGO_BACKEND=http://rm-tabgo-svc

# Settings for the TabGo service.
TABGO_MAX_MEMORY=384m
TABGO_PORT=8090
# Rate limit for small requests (e.g., scoring a single data row). The default
# values limit the rate to 10 requests per 5 seconds.
TABGO_SMALL_REQUEST_LIMIT=10
TABGO_SMALL_REQUEST_INTERVAL=5
# Change the log level to DEBUG to log HTTP traffic routed through TabGo.
TABGO_LOG_LEVEL=INFO
# Additional Java options should only be used for debugging.
TABGO_JAVA_OPTIONS=

# ############################################
#
# LetsEncrypt Client
#
# ############################################

LE_VERSION=9.10.0-gen2

# ############################################
#
# Docker Deployment Manager
#
# ############################################

DDM_VERSION=9.10.0-gen2

# ############################################
#
# Landing page
#
# ############################################

RM_LANDING_VERSION=9.10.0-gen2
LANDING_SSO_CLIENT_ID=urn:rapidminer:landing-page
LANDING_SSO_CLIENT_SECRET=


# ############################################
#
# Token Tool
#
# ############################################

TOKEN_SSO_CLIENT_ID=urn:rapidminer:token-tool
TOKEN_SSO_CLIENT_SECRET=

# ############################################
#
# RapidMiner Go
#
# ############################################

## General setup
GO_LICENSE=
GO_AUTH_SECRET=dGhhbmt5b3Vmb3J1c2luZ2F1dG9tb2RlbG9ucHJlbWlzZTIwMTk=
GO_DB_HOST=rapidminer-automodel-db
GO_AMQ_URL=tcp://rapidminer-automodel-activemq:61616
GO_AMQ_USERNAME=next
GO_AMQ_PASSWORD=next
GO_JOB_QUEUE=rapiminder-automodeler-job-queue
GO_JOB_STATUS_QUEUE=rapidminer-automodeler-job-status-queue
GO_JOB_COMMAND_TOPIC=rapidminer-automodeler-job-command-topic
#_JAVA_OPTIONS='-Dlogging.level.root=DEBUG'


## Resource management

# RapidMiner Go is preconfigured to run on a host (or Docker engine) with 8GB
GO_JOB_CONTAINERS=1

## Docker images

GO_IMAGE_TAG_ROUTING=2.6.0
GO_IMAGE_TAG_RMID=2.6.0
GO_IMAGE_TAG_AM=2.6.0
GO_IMAGE_TAG_JC=2.6.0
GO_IMAGE_TAG_ET=2.5.6

# ############################################
#
# GO ROUTING
#
# ############################################

GO_ROUTING_RMID_HOST_PORT_1=rapidminer-automodel-rmid:8080
GO_ROUTING_AM_HOST_PORT_1=rapidminer-automodeler:8080
GO_ROUTING_EVENT_HOST_PORT=rapidminer-ui-event-tracking:8080
# DQ is not implemented yet - so currently it points to.
GO_ROUTING_DQ_HOST_PORT_1=localhost
# Docker's internal DNS server
GO_ROUTING_RESOLVER=127.0.0.11
GO_ROUTING_SERVER_NAME=localhost
GO_ROUTING_PROTOCOL=http

# ############################################
#
# GO RMID
#
# ############################################

# Use this profile set if you need rmid admin (user/pass is the default)
#GO_RMID_SPRING_PROFILES_ACTIVE=db-postgresql,is-saml,on-prem,branding,is-db
GO_RMID_SPRING_PROFILES_ACTIVE=db-postgresql,is-saml,on-prem,branding
GO_RMID_FRONTEND_TRACKING_ENABLED=false
GO_RMID_TOKEN_MAX_AGE=86400
GO_RMID_LOGIN_TYPE=LOGIN_TYPE_EXTERNAL
GO_SSO_CLIENT_ID=urn:rapidminer:go
GO_RMID_SAML_KEYSTORE_PASSWORD=bXlrZXlwYXNz
GO_RMID_SAML_KEYSTORE_ALIAS=mykeyalias
GO_RMID_JAVA_OPTIONS=-Xmx512M

# ############################################
#
# GO AUTOMODELER
#
# ############################################

GO_AUTOMODELER_SPRING_PROFILES_ACTIVE=db-postgresql,on-prem,branding
# Maximal Data file size given in bytes upto 2GB
GO_AUTOMODELER_SPRING_SERVLET_MULTIPART_MAX_FILE_SIZE=104857600
GO_AUTOMODELER_RMID_BASE_URL=http://rapidminer-automodel-rmid:8080
GO_AUTOMODELER_FRONTEND_TRACKING_ENABLED=true
GO_AUTOMODELER_FILESTORE_MIN_ROW_LIMIT=50
GO_AUTOMODELER_EXECUTION_TASK_LIMIT_PER_USER=4
# Maximal size of RapidMiner result set given in MB
GO_AUTOMODELER_EXECUTION_MAXIMUM_TOTAL_RESULT_SIZE=2000
GO_AUTOMODELER_DATA_IMPORT_MINIMUM_ATTRIBUTE_COUNT=3
GO_AUTOMODELER_DATA_IMPORT_MAXIMUM_ATTRIBUTE_COUNT=500
GO_AUTOMODELER_JAVA_OPTIONS=-Xmx2G

# ############################################
#
# GO JC
#
# ############################################

GO_JC_SPRING_PROFILES_ACTIVE=on-prem
GO_AMQ_REST_URL=http://rapidminer-automodel-activemq:8161
GO_JC_JAVA_OPTIONS=-Xmx4G

# ############################################
#
# GO Event Tracking
#
# ############################################

GO_ET_JAVA_OPTIONS=-Xmx320M

# ############################################
#
# GO AMQ
#
# ############################################

GO_ACTIVEMQ_CONFIG_DEFAULTACCOUNT=false
GO_ACTIVEMQ_ADMIN_LOGIN=admin
GO_ACTIVEMQ_ADMIN_PASSWORD=admin
GO_ACTIVEMQ_JMX_ADMIN_PASSWORD=admin
GO_AMQ_MAXMEMORY=512

# ############################################
#
# GO DB
#
# ############################################

GO_POSTGRES_PASSWORD=pgadminpass
GO_POSTGRES_USER=pgadmin
GO_AUTOMODELER_DB_USER=cookie
GO_AUTOMODELER_DB_PASSWORD=cookiepass
GO_AUTOMODELER_DB_NAME=cookie
GO_RMID_DB_USER=rmid
GO_RMID_DB_PASSWORD=rmid
GO_RMID_DB_NAME=rmid

# ############################################
#
# Service overrides 
#  - true/false - false means automatic detection
#
# ############################################

DEPLOYED_GRAFANA=false
DEPLOYED_JUPYTERHUB=false
DEPLOYED_LANDINGPAGE=false
DEPLOYED_PLATFORMADMIN=false
DEPLOYED_SERVER=false
DEPLOYED_TOKENTOOL=false
DEPLOYED_AUTOMODELER=false
