blob: 0f59dd64b7d562765f32b689a0744f58932a4ced [file] [log] [blame]
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# common logging configuration see common scala
include "logging"
include "akka-http-version"
whisk {
blacklist {
poll-interval: 5 minutes
}
docker.client {
# Docker < 1.13.1 has a known problem: if more than 10 containers are created (docker run)
# concurrently, there is a good chance that some of them will fail.
# See https://github.com/moby/moby/issues/29369
# Use a semaphore to make sure that at most 10 `docker run` commands are active
# the same time.
# 0 means that there are infinite parallel runs.
parallel-runs: 10
# Timeouts for docker commands. Set to "Inf" to disable timeout.
timeouts {
run: 1 minute
rm: 1 minute
pull: 10 minutes
ps: 1 minute
inspect: 1 minute
pause: 10 seconds
unpause: 10 seconds
version: 10 seconds
}
}
docker.container-factory {
# Use runc (docker-runc) for pause/resume functionality in DockerContainerFactory
use-runc: true
}
docker.standalone.container-factory {
#If enabled then pull would also be attempted for standard OpenWhisk images under`openwhisk` prefix
pull-standard-images: false
}
container-pool {
user-memory: 1024 m
concurrent-peek-factor: 0.5 #factor used to limit message peeking: 0 < factor <= 1.0 - larger number improves concurrent processing, but increases risk of message loss during invoker crash
akka-client: false # if true, use PoolingContainerClient for HTTP from invoker to action container (otherwise use ApacheBlockingContainerClient)
}
kubernetes {
# Timeouts for k8s commands. Set to "Inf" to disable timeout.
timeouts {
run: 1 minute
logs: 1 minute
}
invoker-agent {
enabled: false
port: 3233
}
user-pod-node-affinity {
enabled: true
key: "openwhisk-role"
value: "invoker"
}
# Enables forwarding to remote port via a local random port. This mode is mostly useful
# for development via Standalone mode
port-forwarding-enabled = false
# Pod template used as base for Action Pods created. It can be either
# 1. Reference to file `file:/path/to/template.yml`
# 2. OR yaml formatted multi line string. See multi line config support https://github.com/lightbend/config/blob/master/HOCON.md#multi-line-strings
#
#pod-template =
# Set this optional string to be the namespace that the invoker should target for adding pods. This allows the invoker to run in a namesapce it doesn't have API access to but add pods to another namespace. See also https://github.com/apache/openwhisk/issues/4711
# When not set the underlying client may pickup the namesapce from the kubeconfig or via system property setting.
# See https://github.com/fabric8io/kubernetes-client#configuring-the-client for more information.
# action-namespace = "ns-actions"
}
# Timeouts for runc commands. Set to "Inf" to disable timeout.
runc.timeouts {
pause: 10 seconds
resume: 10 seconds
}
# args for 'docker run' to use
container-factory {
container-args {
network: bridge
# See https://docs.docker.com/config/containers/container-networking/#dns-services for documentation of dns-*
dns-servers: []
dns-search: []
dns-options: []
extra-env-vars: [] # sequence of `key` and/or `key=value` bindings to add to all user action container environments
extra-args: {} # to pass additional args to 'docker run'; format is `{key1: [v1, v2], key2: [v1, v2]}`
}
runtimes-registry {
url: ""
}
user-images-registry {
url: ""
}
}
container-proxy {
timeouts {
# The "unusedTimeout" in the ContainerProxy,
#aka 'How long should a container sit idle until we kill it?'
idle-container = 10 minutes
pause-grace = 50 milliseconds
}
}
# tracing configuration
tracing {
component = "Invoker"
}
invoker {
protocol: http
}
}