# Copyright 2019 The Knative Authors
#
# Licensed 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
#
#     https://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.

apiVersion: v1
kind: ConfigMap
metadata:
  name: config-deployment
  namespace: knative-serving
  labels:
    serving.knative.dev/release: devel
    app.kubernetes.io/version: devel
    app.kubernetes.io/part-of: knative-serving
  annotations:
    knative.dev/example-checksum: "fa67b403"
data:
  # This is the Go import path for the binary that is containerized
  # and substituted here.
  queueSidecarImage: ko://knative.dev/serving/cmd/queue
  _example: |
    ################################
    #                              #
    #    EXAMPLE CONFIGURATION     #
    #                              #
    ################################

    # This block is not actually functional configuration,
    # but serves to illustrate the available configuration
    # options and document them in a way that is accessible
    # to users that `kubectl edit` this config map.
    #
    # These sample configuration options may be copied out of
    # this example block and unindented to be in the data block
    # to actually change the configuration.

    # List of repositories for which tag to digest resolving should be skipped
    registriesSkippingTagResolving: "kind.local,ko.local,dev.local"

    # digestResolutionTimeout is the maximum time allowed for an image's
    # digests to be resolved.
    digestResolutionTimeout: "10s"

    # ProgressDeadline is the duration we wait for the deployment to
    # be ready before considering it failed.
    progressDeadline: "600s"

    # queueSidecarCPURequest is the requests.cpu to set for the queue proxy sidecar container.
    # If omitted, a default value (currently "25m"), is used.
    queueSidecarCPURequest: "25m"

    # queueSidecarCPULimit is the limits.cpu to set for the queue proxy sidecar container.
    # If omitted, no value is specified and the system default is used.
    queueSidecarCPULimit: "1000m"

    # queueSidecarMemoryRequest is the requests.memory to set for the queue proxy container.
    # If omitted, no value is specified and the system default is used.
    queueSidecarMemoryRequest: "400Mi"

    # queueSidecarMemoryLimit is the limits.memory to set for the queue proxy container.
    # If omitted, no value is specified and the system default is used.
    queueSidecarMemoryLimit: "800Mi"

    # queueSidecarEphemeralStorageRequest is the requests.ephemeral-storage to
    # set for the queue proxy sidecar container.
    # If omitted, no value is specified and the system default is used.
    queueSidecarEphemeralStorageRequest: "512Mi"

    # queueSidecarEphemeralStorageLimit is the limits.ephemeral-storage to set
    # for the queue proxy sidecar container.
    # If omitted, no value is specified and the system default is used.
    queueSidecarEphemeralStorageLimit: "1024Mi"
