| # |
| # 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 |
| } |
| } |