# Copyright 2020 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: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
  annotations:
    alm-examples: '[{"apiVersion":"operator.knative.dev/v1alpha1","kind":"KnativeServing","metadata":{"name":"knative-serving"},"spec":{"config":{"defaults":{"revision-timeout-seconds":"300","revision-cpu-request":"400m","revision-memory-request":"100M","revision-cpu-limit":"1000m","revision-memory-limit":"200M"},"autoscaler":{"container-concurrency-target-percentage":"1.0","container-concurrency-target-default":"100","stable-window":"60s","panic-window-percentage":"10.0","panic-window":"6s","panic-threshold-percentage":"200.0","max-scale-up-rate":"10","enable-scale-to-zero":"true","tick-interval":"2s","scale-to-zero-grace-period":"30s"},"deployment":{"registriesSkippingTagResolving":"ko.local,dev.local"},"gc":{"stale-revision-create-delay":"24h","stale-revision-timeout":"15h","stale-revision-minimum-generations":"1","stale-revision-lastpinned-debounce":"5h"},"logging":{"loglevel.controller":"info","loglevel.autoscaler":"info","loglevel.queueproxy":"info","loglevel.webhook":"info","loglevel.activator":"info"},"observability":{"logging.enable-var-log-collection":"false","metrics.backend-destination":"prometheus"},"tracing":{"backend":"none","sample-rate":"0.1"}}}}]'
    capabilities: Basic Install
    categories: Networking,Integration & Delivery,Cloud Provider,Developer Tools
    certified: "false"
    containerImage: gcr.io/knative-releases/knative.dev/serving-operator/cmd/manager:v0.12.0
    createdAt: "2020-01-27T00:00:00Z"
    description: |-
      Knative Serving builds on Kubernetes to support deploying and
      serving of serverless applications and functions.
    repository: https://github.com/knative/serving-operator
    support: The Knative Authors
  name: knative-serving-operator.v0.12.0
  namespace: placeholder
spec:
  apiservicedefinitions: {}
  customresourcedefinitions: {}
  description: |+
    ## Knative Serving

    Knative Serving builds on Kubernetes to support deploying and
    serving of serverless applications and functions. The Knative
    Serving project provides middleware primitives that enable:

    - Rapid deployment of serverless containers
    - Automatic scaling up and down to zero
    - Routing and network programming for Istio components
    - Point-in-time snapshots of deployed code and configurations
    ## Further Information

    For documentation on using Knative Serving, see the [Knative documentation site](https://www.knative.dev/docs/serving/).



  displayName: Knative Serving Operator
  icon:
  - base64data: [encoded data, 10260 characters]
    mediatype: image/png
  install:
    spec:
      clusterPermissions:
      - rules:
        - apiGroups:
          - '*'
          resources:
          - '*'
          verbs:
          - '*'
        serviceAccountName: knative-serving-operator
      deployments:
      - name: knative-serving-operator
        spec:
          replicas: 1
          selector:
            matchLabels:
              name: knative-serving-operator
          template:
            metadata:
              annotations:
                sidecar.istio.io/inject: "false"
              labels:
                name: knative-serving-operator
            spec:
              containers:
              - env:
                - name: POD_NAME
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.name
                - name: OPERATOR_NAME
                  value: knative-serving-operator
                - name: SYSTEM_NAMESPACE
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.namespace
                - name: METRICS_DOMAIN
                  value: knative.dev/serving-operator
                - name: CONFIG_LOGGING_NAME
                  value: config-logging
                - name: CONFIG_OBSERVABILITY_NAME
                  value: config-observability
                image: gcr.io/knative-releases/knative.dev/serving-operator/cmd/manager:v0.12.0
                imagePullPolicy: IfNotPresent
                name: knative-serving-operator
                ports:
                - containerPort: 9090
                  name: metrics
              serviceAccountName: knative-serving-operator
      permissions:
      - rules:
        - apiGroups:
          - ""
          resources:
          - pods
          - services
          - endpoints
          - persistentvolumeclaims
          - events
          - configmaps
          - secrets
          verbs:
          - '*'
        - apiGroups:
          - ""
          resources:
          - namespaces
          verbs:
          - get
        - apiGroups:
          - apps
          resources:
          - deployments
          - daemonsets
          - replicasets
          - statefulsets
          verbs:
          - '*'
        - apiGroups:
          - monitoring.coreos.com
          resources:
          - servicemonitors
          verbs:
          - get
          - create
        - apiGroups:
          - apps
          resourceNames:
          - knative-serving-operator
          resources:
          - deployments/finalizers
          verbs:
          - update
        - apiGroups:
          - operator.knative.dev
          resources:
          - '*'
          verbs:
          - '*'
        serviceAccountName: knative-serving-operator
    strategy: deployment
  installModes:
  - supported: false
    type: OwnNamespace
  - supported: false
    type: SingleNamespace
  - supported: false
    type: MultiNamespace
  - supported: true
    type: AllNamespaces
  keywords:
  - serverless
  - scale to zero
  links:
  - name: Documentation
    url: https://www.knative.dev/docs/serving/
  - name: Source Repository
    url: https://github.com/knative/serving
  maintainers:
  - email: knative-dev@googlegroups.com
    name: The Knative Authors
  maturity: alpha
  minKubeVersion: 1.15.0
  provider:
    name: The Knative Authors
  replaces: knative-serving-operator.v0.11.0
  selector: {}
  version: 0.12.0
