apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: podloggingconfigs.deckhouse.io
  labels:
    heritage: deckhouse
    module: log-shipper
spec:
  group: deckhouse.io
  scope: Namespaced
  names:
    plural: podloggingconfigs
    singular: podloggingconfig
    kind: PodLoggingConfig
  preserveUnknownFields: false
  versions:
    - name: v1alpha1
      served: true
      storage: true
      schema:
        openAPIV3Schema:
          type: object
          required: ['spec']
          description: |
            CustomResource для описания источника логов в log-pipeline.

            Каждый CR `PodLoggingConfig` описывает правила сбора логов из указанного namespace.
          properties:
            spec:
              type: object
              required:
                - clusterDestinationRefs
              properties:
                labelSelector:
                  type: object
                  description: |
                    Настройка `labelSelector` позволяет задать фильтр по Pod Labels.
                    Подробнее про выражения можно узнать в [документации](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/).
                  properties:
                    matchLabels:
                      type: object
                      additionalProperties:
                        type: string
                clusterDestinationRefs:
                  type: array
                  description: Список бэкендов хранения (CRD ClusterLogDestination), в которые будет отправлено сообщение.
                  items:
                    type: string
