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

apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  name: configmappropagations.configs.internal.knative.dev
  labels:
    eventing.knative.dev/release: devel
    knative.dev/crd-install: "true"
spec:
  group: configs.internal.knative.dev
  versions:
    - name: v1alpha1
      served: true
      storage: true
  names:
    kind: ConfigMapPropagation
    plural: configmappropagations
    singular: configmappropagation
    categories:
      - knative
      - eventing
    shortNames:
      - kcmp
      - cmp
  scope: Namespaced
  subresources:
    status: {}
  additionalPrinterColumns:
    - name: Ready
      type: string
      JSONPath: ".status.conditions[?(@.type==\"Ready\")].status"
    - name: Reason
      type: string
      JSONPath: ".status.conditions[?(@.type==\"Ready\")].reason"
    - name: OriginalNamespace
      type: string
      JSONPath: ".spec.originalNamespace"
  validation:
    openAPIV3Schema:
      properties:
        spec:
          required:
            - originalNamespace
          properties:
            originalNamespace:
              type: string
              description: "The namespace where original ConfigMaps exist in."
