# this file contains generic properties  for local development
# which are not specific to the docker-compose environment ( i.e. hostnames, ports, etc )
WHISK_VERSION_NAME="local"
CONFIG_whisk_info_date="09/01/2016"
CONFIG_whisk_info_buildNo="latest"
WHISK_LOGS_DIR="/logs"

SERVICE_CHECK_HTTP=/ping
SERVICE_CHECK_TIMEOUT=2s
SERVICE_CHECK_INTERVAL=15s

DB_PREFIX=local_

CONFIG_whisk_couchdb_databases_WhiskAuth=local_subjects
CONFIG_whisk_couchdb_databases_WhiskEntity=local_whisks
CONFIG_whisk_db_actionsDdoc=whisks.v2.1.0
CONFIG_whisk_couchdb_databases_WhiskActivation=local_activations
CONFIG_whisk_db_activationsDdoc=whisks.v2.1.0
CONFIG_whisk_db_activationsFilterDdoc=whisks-filters.v2.1.0

KAFKA_DEFAULT_REPLICATION_FACTOR=1
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
KAFKA_BROKER_ID=0
KAFKA_HEAP_OPTS=-Xmx512m -Xms512m
KAFKA_ADVERTISED_PORT=9092
KAFKA_TOPICS_COMPLETED_RETENTION_MS=300000
KAFKA_TOPICS_COMPLETED_RETENTION_BYTES=104857600
KAFKA_TOPICS_COMPLETED_SEGMENT_BYTES=536870912
KAFKA_REPLICATIONFACTOR=1

LIMITS_ACTIONS_INVOKES_PERMINUTE=60000
LIMITS_ACTIONS_INVOKES_CONCURRENT=5000
LIMITS_TRIGGERS_FIRES_PERMINUTE=60000
LIMITS_ACTIONS_INVOKES_CONCURRENTINSYSTEM=5000
LIMITS_ACTIONS_SEQUENCE_MAXLENGTH=20

CONFIG_whisk_loadbalancer_blackboxFraction=0.1
CONFIG_kamon_statsd_port=8125
CONFIG_whisk_loadbalancer_invokerUserMemory=1024m
CONFIG_whisk_containerPool_userMemory=1024m

CONFIG_whisk_userEvents_enabled=true

CONTROLLER_BLACKBOXFRACTION=0.10
CONTROLLER_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=1098 -Xdebug -Xrunjdwp:transport=dt_socket,address=9222,server=y,suspend=n
CONTROLLER_HA=False
CONTROLLER_INSTANCES=1
CONTROLLER_LOCALBOOKKEEPING=true

METRICS_KAMON=False
METRICS_LOG=True
CONFIG_kamon_statsd_port=8125

LOADBALANCER_ACTIVATIONCOUNTBEFORENEXTINVOKER=10
LOADBALANCER_USERMEMORY=1024m

CONFIG_whisk_docker_containerFactory_useRunc=False
INVOKER_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=1098 -Xdebug -Xrunjdwp:transport=dt_socket,address=9222,server=y,suspend=n
INVOKER_INSTANCES=1

AKKA_CLUSTER_HOST=localhost
AKKA_CLUSTER_SEED_NODES=[]
AKKA_CLUSTER_BIND_PORT=5221

WHISK_SYSTEM_KEY=whisk.system
RUNTIMES_MANIFEST={"runtimes":{"nodejs":[{"kind":"nodejs:6","default":false,"image":{"prefix":"openwhisk","name":"nodejs6action","tag":"nightly"},"deprecated":false,"attached":{"attachmentName":"codefile","attachmentType":"text/plain"},"stemCells":[{"count":2,"memory":"256 MB"}]},{"kind":"nodejs:8","default":false,"image":{"prefix":"openwhisk","name":"action-nodejs-v8","tag":"nightly"},"deprecated":false,"attached":{"attachmentName":"codefile","attachmentType":"text/plain"}},{"kind":"nodejs:10","default":true,"image":{"prefix":"openwhisk","name":"action-nodejs-v10","tag":"nightly"},"deprecated":false,"attached":{"attachmentName":"codefile","attachmentType":"text/plain"}}],"python":[{"kind":"python:2","default":false,"image":{"prefix":"openwhisk","name":"python2action","tag":"nightly"},"deprecated":false,"attached":{"attachmentName":"codefile","attachmentType":"text/plain"}},{"kind":"python:3","default":true,"image":{"prefix":"openwhisk","name":"python3action","tag":"nightly"},"deprecated":false,"attached":{"attachmentName":"codefile","attachmentType":"text/plain"}}],"swift":[{"kind":"swift:4.2","default":true,"image":{"prefix":"openwhisk","name":"action-swift-v4.2","tag":"nightly"},"deprecated":false,"attached":{"attachmentName":"codefile","attachmentType":"text/plain"}}],"java":[{"kind":"java","default":true,"image":{"prefix":"openwhisk","name":"java8action","tag":"nightly"},"deprecated":false,"attached":{"attachmentName":"codefile","attachmentType":"text/plain"},"requireMain":true}],"php":[{"kind":"php:7.3","default":true,"deprecated":false,"image":{"prefix":"openwhisk","name":"action-php-v7.3","tag":"nightly"},"attached":{"attachmentName":"codefile","attachmentType":"text/plain"}}],"ruby":[{"kind":"ruby:2.5","default":true,"deprecated":false,"attached":{"attachmentName":"codefile","attachmentType":"text/plain"},"image":{"prefix":"openwhisk","name":"action-ruby-v2.5","tag":"nightly"}}],"go":[{"kind":"go:1.11","default":true,"deprecated":false,"attached":{"attachmentName":"codefile","attachmentType":"text/plain"},"image":{"prefix":"openwhisk","name":"actionloop-golang-v1.11","tag":"nightly"}}],"dotnet":[{"kind":"dotnet:2.2","default":true,"deprecated":false,"requireMain":true,"image":{"prefix":"openwhisk","name":"action-dotnet-v2.2","tag":"nightly"},"attached":{"attachmentName":"codefile","attachmentType":"text/plain"}}],"ballerina":[{"kind":"ballerina:0.990","default":true,"image":{"prefix":"openwhisk","name":"action-ballerina-v0.990.2","tag":"nightly"},"deprecated":false,"attached":{"attachmentName":"codefile","attachmentType":"text/plain"}}]},"blackboxes":[{"prefix":"openwhisk","name":"dockerskeleton","tag":"nightly"}]}
