# 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: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: certificates.networking.internal.knative.dev
  labels:
    serving.knative.dev/release: "v0.16.0"
    knative.dev/crd-install: "true"
spec:
  group: networking.internal.knative.dev
  versions:
  - name: v1alpha1
    served: true
    storage: true
    subresources:
      status: {}
    schema:
      openAPIV3Schema:
        type: object
        # this is a work around so we don't need to flush out the
        # schema for each version at this time
        #
        # see issue: https://github.com/knative/serving/issues/912
        x-kubernetes-preserve-unknown-fields: true
    additionalPrinterColumns:
    - name: Ready
      type: string
      jsonPath: ".status.conditions[?(@.type==\"Ready\")].status"
    - name: Reason
      type: string
      jsonPath: ".status.conditions[?(@.type==\"Ready\")].reason"
  names:
    kind: Certificate
    plural: certificates
    singular: certificate
    categories:
    - knative-internal
    - networking
    shortNames:
    - kcert
  scope: Namespaced

---
# 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: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: configurations.serving.knative.dev
  labels:
    serving.knative.dev/release: "v0.16.0"
    knative.dev/crd-install: "true"
    duck.knative.dev/podspecable: "true"
spec:
  group: serving.knative.dev
  versions:
  - &version
    name: v1alpha1
    served: true
    storage: false
    subresources:
      status: {}
    schema:
      openAPIV3Schema:
        type: object
        # this is a work around so we don't need to flush out the
        # schema for each version at this time
        #
        # see issue: https://github.com/knative/serving/issues/912
        x-kubernetes-preserve-unknown-fields: true
    additionalPrinterColumns:
    - name: LatestCreated
      type: string
      jsonPath: .status.latestCreatedRevisionName
    - name: LatestReady
      type: string
      jsonPath: .status.latestReadyRevisionName
    - name: Ready
      type: string
      jsonPath: ".status.conditions[?(@.type=='Ready')].status"
    - name: Reason
      type: string
      jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  - !!merge <<: *version
    name: v1beta1
  - !!merge <<: *version
    name: v1
    storage: true
  names:
    kind: Configuration
    plural: configurations
    singular: configuration
    categories:
    - all
    - knative
    - serving
    shortNames:
    - config
    - cfg
  scope: Namespaced
  conversion:
    strategy: Webhook
    webhook:
      conversionReviewVersions: ["v1", "v1beta1"]
      clientConfig:
        service:
          name: webhook
          namespace: knative-serving

---
# 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: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: ingresses.networking.internal.knative.dev
  labels:
    serving.knative.dev/release: "v0.16.0"
    knative.dev/crd-install: "true"
spec:
  group: networking.internal.knative.dev
  versions:
  - name: v1alpha1
    served: true
    storage: true
    subresources:
      status: {}
    schema:
      openAPIV3Schema:
        type: object
        # this is a work around so we don't need to flush out the
        # schema for each version at this time
        #
        # see issue: https://github.com/knative/serving/issues/912
        x-kubernetes-preserve-unknown-fields: true
    additionalPrinterColumns:
    - name: Ready
      type: string
      jsonPath: ".status.conditions[?(@.type=='Ready')].status"
    - name: Reason
      type: string
      jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  names:
    kind: Ingress
    plural: ingresses
    singular: ingress
    categories:
    - knative-internal
    - networking
    shortNames:
    - kingress
    - king
  scope: Namespaced

---
# 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: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: metrics.autoscaling.internal.knative.dev
  labels:
    serving.knative.dev/release: "v0.16.0"
    knative.dev/crd-install: "true"
spec:
  group: autoscaling.internal.knative.dev
  versions:
  - name: v1alpha1
    served: true
    storage: true
    subresources:
      status: {}
    schema:
      openAPIV3Schema:
        type: object
        # this is a work around so we don't need to flush out the
        # schema for each version at this time
        #
        # see issue: https://github.com/knative/serving/issues/912
        x-kubernetes-preserve-unknown-fields: true
    additionalPrinterColumns:
    - name: Ready
      type: string
      jsonPath: ".status.conditions[?(@.type=='Ready')].status"
    - name: Reason
      type: string
      jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  names:
    kind: Metric
    plural: metrics
    singular: metric
    categories:
    - knative-internal
    - autoscaling
  scope: Namespaced

---
# Copyright 2018 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: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: podautoscalers.autoscaling.internal.knative.dev
  labels:
    serving.knative.dev/release: "v0.16.0"
    knative.dev/crd-install: "true"
spec:
  group: autoscaling.internal.knative.dev
  versions:
  - name: v1alpha1
    served: true
    storage: true
    subresources:
      status: {}
    schema:
      openAPIV3Schema:
        type: object
        # this is a work around so we don't need to flush out the
        # schema for each version at this time
        #
        # see issue: https://github.com/knative/serving/issues/912
        x-kubernetes-preserve-unknown-fields: true
    additionalPrinterColumns:
    - name: DesiredScale
      type: integer
      jsonPath: ".status.desiredScale"
    - name: ActualScale
      type: integer
      jsonPath: ".status.actualScale"
    - name: Ready
      type: string
      jsonPath: ".status.conditions[?(@.type=='Ready')].status"
    - name: Reason
      type: string
      jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  names:
    kind: PodAutoscaler
    plural: podautoscalers
    singular: podautoscaler
    categories:
    - knative-internal
    - autoscaling
    shortNames:
    - kpa
    - pa
  scope: Namespaced

---
# 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: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: revisions.serving.knative.dev
  labels:
    serving.knative.dev/release: "v0.16.0"
    knative.dev/crd-install: "true"
spec:
  group: serving.knative.dev
  versions:
  - &version
    name: v1alpha1
    served: true
    storage: false
    subresources:
      status: {}
    schema:
      openAPIV3Schema:
        type: object
        # this is a work around so we don't need to flush out the
        # schema for each version at this time
        #
        # see issue: https://github.com/knative/serving/issues/912
        x-kubernetes-preserve-unknown-fields: true
    additionalPrinterColumns:
    - name: Config Name
      type: string
      jsonPath: ".metadata.labels['serving\\.knative\\.dev/configuration']"
    - name: K8s Service Name
      type: string
      jsonPath: ".status.serviceName"
    - name: Generation
      type: string # int in string form :(
      jsonPath: ".metadata.labels['serving\\.knative\\.dev/configurationGeneration']"
    - name: Ready
      type: string
      jsonPath: ".status.conditions[?(@.type=='Ready')].status"
    - name: Reason
      type: string
      jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  - !!merge <<: *version
    name: v1beta1
  - !!merge <<: *version
    name: v1
    storage: true
  names:
    kind: Revision
    plural: revisions
    singular: revision
    categories:
    - all
    - knative
    - serving
    shortNames:
    - rev
  scope: Namespaced
  conversion:
    strategy: Webhook
    webhook:
      conversionReviewVersions: ["v1", "v1beta1"]
      clientConfig:
        service:
          name: webhook
          namespace: knative-serving

---
# 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: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: routes.serving.knative.dev
  labels:
    serving.knative.dev/release: "v0.16.0"
    knative.dev/crd-install: "true"
    duck.knative.dev/addressable: "true"
spec:
  group: serving.knative.dev
  versions:
  - &version
    name: v1alpha1
    served: true
    storage: false
    subresources:
      status: {}
    schema:
      openAPIV3Schema:
        type: object
        # this is a work around so we don't need to flush out the
        # schema for each version at this time
        #
        # see issue: https://github.com/knative/serving/issues/912
        x-kubernetes-preserve-unknown-fields: true
    additionalPrinterColumns:
    - name: URL
      type: string
      jsonPath: .status.url
    - name: Ready
      type: string
      jsonPath: ".status.conditions[?(@.type=='Ready')].status"
    - name: Reason
      type: string
      jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  - !!merge <<: *version
    name: v1beta1
  - !!merge <<: *version
    name: v1
    storage: true
  names:
    kind: Route
    plural: routes
    singular: route
    categories:
    - all
    - knative
    - serving
    shortNames:
    - rt
  scope: Namespaced
  conversion:
    strategy: Webhook
    webhook:
      conversionReviewVersions: ["v1", "v1beta1"]
      clientConfig:
        service:
          name: webhook
          namespace: knative-serving

---
# 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: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: serverlessservices.networking.internal.knative.dev
  labels:
    serving.knative.dev/release: "v0.16.0"
    knative.dev/crd-install: "true"
spec:
  group: networking.internal.knative.dev
  versions:
  - name: v1alpha1
    served: true
    storage: true
    subresources:
      status: {}
    schema:
      openAPIV3Schema:
        type: object
        # this is a work around so we don't need to flush out the
        # schema for each version at this time
        #
        # see issue: https://github.com/knative/serving/issues/912
        x-kubernetes-preserve-unknown-fields: true
    additionalPrinterColumns:
    - name: Mode
      type: string
      jsonPath: ".spec.mode"
    - name: Activators
      type: integer
      jsonPath: ".spec.numActivators"
    - name: ServiceName
      type: string
      jsonPath: ".status.serviceName"
    - name: PrivateServiceName
      type: string
      jsonPath: ".status.privateServiceName"
    - name: Ready
      type: string
      jsonPath: ".status.conditions[?(@.type=='Ready')].status"
    - name: Reason
      type: string
      jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  names:
    kind: ServerlessService
    plural: serverlessservices
    singular: serverlessservice
    categories:
    - knative-internal
    - networking
    shortNames:
    - sks
  scope: Namespaced

---
# 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: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: services.serving.knative.dev
  labels:
    serving.knative.dev/release: "v0.16.0"
    knative.dev/crd-install: "true"
    duck.knative.dev/addressable: "true"
    duck.knative.dev/podspecable: "true"
spec:
  group: serving.knative.dev
  versions:
  - &version
    name: v1alpha1
    served: true
    storage: false
    subresources:
      status: {}
    schema:
      openAPIV3Schema:
        type: object
        # this is a work around so we don't need to flush out the
        # schema for each version at this time
        #
        # see issue: https://github.com/knative/serving/issues/912
        x-kubernetes-preserve-unknown-fields: true
    additionalPrinterColumns:
    - name: URL
      type: string
      jsonPath: .status.url
    - name: LatestCreated
      type: string
      jsonPath: .status.latestCreatedRevisionName
    - name: LatestReady
      type: string
      jsonPath: .status.latestReadyRevisionName
    - name: Ready
      type: string
      jsonPath: ".status.conditions[?(@.type=='Ready')].status"
    - name: Reason
      type: string
      jsonPath: ".status.conditions[?(@.type=='Ready')].reason"
  - !!merge <<: *version
    name: v1beta1
  - !!merge <<: *version
    name: v1
    storage: true
  names:
    kind: Service
    plural: services
    singular: service
    categories:
    - all
    - knative
    - serving
    shortNames:
    - kservice
    - ksvc
  scope: Namespaced
  conversion:
    strategy: Webhook
    webhook:
      conversionReviewVersions: ["v1", "v1beta1"]
      clientConfig:
        service:
          name: webhook
          namespace: knative-serving

---
# Copyright 2018 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: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  name: images.caching.internal.knative.dev
  labels:
    knative.dev/crd-install: "true"
spec:
  group: caching.internal.knative.dev
  version: v1alpha1
  names:
    kind: Image
    plural: images
    singular: image
    categories:
    - knative-internal
    - caching
    shortNames:
    - img
  scope: Namespaced
  subresources:
    status: {}

---
