blob: ea75784cced8b882dfe0cd3dcc8a707cda25e4fc [file] [log] [blame]
{
"type": "object",
"properties": {
"service": {
"description": "OpenWhisk controller Configuration Properties",
"type": "object",
"properties": {
"port": {
"description": "Host port for OpenWhisk controller (default = 8888).",
"type": "integer",
"default": 8888,
"minimum": 0
},
"cpus": {
"description": "CPU shares to allocate to each OpenWhisk controller instance.",
"type": "number",
"minimum": 0.1,
"default": 1
},
"mem": {
"description": "Memory (MB) to allocate to each OpenWhisk controller instance.",
"type": "number",
"minimum": 512.0,
"default": 2048.0
},
"instances": {
"description": "Number of OpenWhisk controller instances to run.",
"type": "integer",
"minimum": 0,
"default": 1
},
"name": {
"description": "The name of the OpenWhisk Controller service instance.",
"type": "string",
"default": "whisk-controller"
},
"image": {
"description": "The docker image of the OpenWhisk Controller service instance.",
"type": "string",
"default": "openwhisk/controller"
},
"java_opts": {
"description": "The jvm args.",
"type": "string",
"default": "-Xmx768m"
},
"metrics_kamon": {
"description": "Enable kamon metrics output?",
"type": "boolean",
"default": false
},
"metrics_log":{
"description": "Enable log metrics output?",
"type": "boolean",
"default": true
},
"invoker_busy_threshold":{
"description": "Number of activations an invoker can receive concurrently.",
"type": "integer",
"default": 16
},
"blackbox_fraction":{
"description": "The portion of invokers reserved for use with blackbox containers.",
"type": "number",
"default": 0.1
},
"version_name":{
"description": "OpenWhisk version name.",
"type": "string",
"default": "openwhisk"
},
"version_date":{
"description": "OpenWhisk version date.",
"type": "string",
"default": "2018-03-06"
},
"version_buildno":{
"description": "OpenWhisk version build number.",
"type": "string",
"default": "latest"
},
"docker_label":{
"description": "Label to add to docker container.",
"type": "string",
"default": "controller"
},
"docker_log_driver":{
"description": "Docker log driver to use for the container.",
"type": "string",
"default": "json-file"
},
"additional_vars": {
"description": "Additional env vars.",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
]
},
"default": []
}
},
"required": [
"port",
"cpus",
"name",
"instances",
"mem",
"image",
"version_date"
]
},
"akka":{
"type": "object",
"properties": {
"actor_provider": {
"description": "Akka actor provider (local or cluster).",
"type": "string",
"default": "local"
},
"cluster_hostname": {
"description": "Akka cluster hostname (used when actor_provider is cluster).",
"type": "string",
"default": "local"
},
"cluster_port": {
"description": "Akka cluster port (used when actor_provider is cluster).",
"type": "string",
"default": "$PORT_2551"
},
"cluster_bind_port": {
"description": "Akka cluster bind port (used when actor_provider is cluster).",
"type": "integer",
"default": 2551
}
}
},
"couchdb": {
"description": "Linked CouchDB properties",
"type": "object",
"properties": {
"provider": {
"description": "CouchDB provider.",
"type": "string",
"default": "CouchDB"
},
"protocol": {
"description": "CouchDB protocol.",
"type": "string",
"default": "http"
},
"host": {
"description": "Host location of CouchDB cluster.",
"type": "string",
"default": "whisk-couchdb.marathon.mesos"
},
"port": {
"description": "Host HTTP port of CouchDB cluster (default = 5984).",
"type": "integer",
"default": 5984,
"minimum": 0
},
"username": {
"description": "CouchDB username.",
"type": "string",
"default": "whisk_admin"
},
"password": {
"description": "CouchDB password.",
"type": "string",
"default": "some_passw0rd"
},
"actions_db": {
"description": "Actions database.",
"type": "string",
"default": "local_whisks"
},
"actions_db_ddoc": {
"description": "Actions design doc.",
"type": "string",
"default": "whisks.v2.1.0"
},
"activations_db": {
"description": "Activations database.",
"type": "string",
"default": "local_activations"
},
"activations_db_ddoc": {
"description": "Activations design doc.",
"type": "string",
"default": "whisks.v2.1.0"
},
"activations_filter_ddoc": {
"description": "Activation filters design doc.",
"type": "string",
"default": "whisks-filters.v2.1.0"
},
"auths_db": {
"description": "Auth database.",
"type": "string",
"default": "local_subjects"
}
},
"required": [
"provider",
"protocol",
"host",
"port",
"username",
"password"
]
},
"kafka": {
"description": "Linked Kafka properties",
"type": "object",
"properties": {
"hosts": {
"description": "Host location of Kafka cluster.",
"type": "string",
"default": "kafka-0-broker.kafka.mesos:9092"
},
"replication_factor": {
"description": "Kafka replication factor specified when creating topics.",
"type": "integer",
"default": 2,
"minimum": 1
},
"cache_invalidation_retention_bytes":{
"description": "Cache invalidation topic: Kafka retention bytes specified when creating topics.",
"type": "integer",
"default": 1073741824
},
"cache_invalidation_retention_ms":{
"description": "Cache invalidation topic: Kafka retention ms specified when creating topics.",
"type": "integer",
"default": 172800000
},
"cache_invalidation_segment_bytes":{
"description": "Cache invalidation topic: Kafka segment bytes specified when creating topics.",
"type": "integer",
"default": 536870912
},
"completed_retention_bytes":{
"description": "Completed topic: Kafka retention bytes specified when creating topics.",
"type": "integer",
"default": 1073741824
},
"completed_retention_ms":{
"description": "Completed topic: Kafka retention ms specified when creating topics.",
"type": "integer",
"default": 172800000
},
"completed_segment_bytes":{
"description": "Completed topic: Kafka segment bytes specified when creating topics.",
"type": "integer",
"default": 536870912
},
"health_retention_bytes":{
"description": "Health topic: Kafka retention bytes specified when creating topics.",
"type": "integer",
"default": 1073741824
},
"health_retention_ms":{
"description": "Health topic: Kafka retention ms specified when creating topics.",
"type": "integer",
"default": 172800000
},
"health_segment_bytes":{
"description": "Health topic: Kafka segment bytes specified when creating topics.",
"type": "integer",
"default": 536870912
}
},
"required": [
"hosts"
]
},
"apigateway": {
"description": "Linked API Gateway properties",
"type": "object",
"properties": {
"host": {
"description": "Host location of API Gateway cluster.",
"type": "string",
"default": "apigateway.marathon.mesos"
},
"port": {
"description": "Host HTTP port of API Gateway cluster (default = 80).",
"type": "integer",
"default": 80,
"minimum": 0
}
},
"required": [
"host",
"port"
]
},
"limits": {
"description": "System limits of OpenWhisk",
"type": "object",
"properties": {
"actions_invokes_per_minute": {
"description": "Number of activations per minute per namespace (either executing or queued for execution).",
"type": "integer",
"default": 60
},
"actions_invokes_concurrent": {
"description": "The maximum concurrent invocations allowed per namespace.",
"type": "integer",
"default": 30
},
"triggers_fires_per_minute": {
"description": "The allowed namespace trigger firings per minute.",
"type": "integer",
"default": 60
},
"actions_invokes_concurrent_system": {
"description": "The maximum concurrent invocations the system will allow across all namespaces.",
"type": "integer",
"default": 5000
},
"actions_sequence_max_length": {
"description": "The maximum number of actions in a sequence.",
"type": "integer",
"default": 50
},
"actions_memory_min": {
"description": "The min memory allowance to run an action.",
"type": "string",
"default": "128 m"
},
"actions_memory_max": {
"description": "The max memory allowance to run an action.",
"type": "string",
"default": "512 m"
},
"actions_memory_std": {
"description": "The default memory allowance to run an action.",
"type": "string",
"default": "256 m"
}
}
}
}
}