apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: keptnevaluations.lifecycle.keptn.sh
  annotations:
    controller-gen.kubebuilder.io/version: v0.16.5
    {{- with .Values.global.caInjectionAnnotations  }}
    {{- toYaml . | nindent 4 }}
    {{- end }}
  {{- include "common.annotations" ( dict "context" . ) }}
  labels:
    app.kubernetes.io/part-of: keptn
    crdGroup: lifecycle.keptn.sh
    keptn.sh/inject-cert: "true"
{{- include "common.labels.standard" ( dict "context" . ) | nindent 4 }}
spec:
  group: lifecycle.keptn.sh
  names:
    kind: KeptnEvaluation
    listKind: KeptnEvaluationList
    plural: keptnevaluations
    shortNames:
    - ke
    singular: keptnevaluation
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .spec.appName
      name: AppName
      type: string
    - jsonPath: .spec.appVersion
      name: AppVersion
      type: string
    - jsonPath: .spec.workload
      name: WorkloadName
      type: string
    - jsonPath: .spec.workloadVersion
      name: WorkloadVersion
      type: string
    - jsonPath: .status.retryCount
      name: RetryCount
      type: string
    - jsonPath: .status.evaluationStatus
      name: EvaluationStatus
      type: string
    - jsonPath: .status.overallStatus
      name: OverallStatus
      type: string
    name: v1
    schema:
      openAPIV3Schema:
        description: KeptnEvaluation is the Schema for the keptnevaluations API
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: Spec describes the desired state of the KeptnEvaluation.
            properties:
              appName:
                description: AppName defines the KeptnApp for which the KeptnEvaluation
                  is done.
                type: string
              appVersion:
                description: AppVersion defines the version of the KeptnApp for which
                  the KeptnEvaluation is done.
                type: string
              checkType:
                description: Type indicates whether the KeptnEvaluation is part of
                  the pre- or postDeployment phase.
                type: string
              evaluationDefinition:
                description: |-
                  EvaluationDefinition refers to the name of the KeptnEvaluationDefinition
                  which includes the objectives for the KeptnEvaluation.
                  The KeptnEvaluationDefinition can be
                  located in the same namespace as the KeptnEvaluation, or in the Keptn namespace.
                type: string
              retries:
                default: 10
                description: |-
                  Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or
                  missed evaluation objective, before considering the KeptnEvaluation to be failed.
                type: integer
              retryInterval:
                default: 5s
                description: |-
                  RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error
                  or a missed objective.
                pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
                type: string
              workload:
                description: Workload defines the KeptnWorkload for which the KeptnEvaluation
                  is done.
                type: string
              workloadVersion:
                description: WorkloadVersion defines the version of the KeptnWorkload
                  for which the KeptnEvaluation is done.
                type: string
            required:
            - evaluationDefinition
            - workloadVersion
            type: object
          status:
            description: Status describes the current state of the KeptnEvaluation.
            properties:
              endTime:
                description: EndTime represents the time at which the KeptnEvaluation
                  finished.
                format: date-time
                type: string
              evaluationStatus:
                additionalProperties:
                  properties:
                    message:
                      description: |-
                        Message contains additional information about the evaluation of an objective.
                        This can include explanations about why an evaluation has failed (e.g. due to a missed objective),
                        or if there was any error during the evaluation of the objective.
                      type: string
                    status:
                      description: Status indicates the status of the objective being
                        evaluated.
                      type: string
                    value:
                      description: Value represents the value of the KeptnMetric being
                        evaluated.
                      type: string
                  required:
                  - status
                  - value
                  type: object
                description: |-
                  EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition
                  referenced by the KeptnEvaluation.
                type: object
              overallStatus:
                default: Pending
                description: |-
                  OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived
                  from the status of the individual objectives of the KeptnEvaluationDefinition
                  referenced by the KeptnEvaluation.
                type: string
              retryCount:
                default: 0
                description: RetryCount indicates how many times the KeptnEvaluation
                  has been attempted already.
                type: integer
              startTime:
                description: StartTime represents the time at which the KeptnEvaluation
                  started.
                format: date-time
                type: string
            required:
            - evaluationStatus
            - overallStatus
            - retryCount
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
  - additionalPrinterColumns:
    - jsonPath: .spec.appName
      name: AppName
      type: string
    - jsonPath: .spec.appVersion
      name: AppVersion
      type: string
    - jsonPath: .spec.workload
      name: WorkloadName
      type: string
    - jsonPath: .spec.workloadVersion
      name: WorkloadVersion
      type: string
    - jsonPath: .status.retryCount
      name: RetryCount
      type: string
    - jsonPath: .status.evaluationStatus
      name: EvaluationStatus
      type: string
    - jsonPath: .status.overallStatus
      name: OverallStatus
      type: string
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: KeptnEvaluation is the Schema for the keptnevaluations API
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation
            properties:
              appName:
                type: string
              appVersion:
                type: string
              checkType:
                type: string
              evaluationDefinition:
                type: string
              failAction:
                type: string
              retries:
                default: 10
                type: integer
              retryInterval:
                default: 5s
                pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
                type: string
              workload:
                type: string
              workloadVersion:
                type: string
            required:
            - evaluationDefinition
            - workloadVersion
            type: object
          status:
            description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation
            properties:
              endTime:
                format: date-time
                type: string
              evaluationStatus:
                additionalProperties:
                  properties:
                    message:
                      type: string
                    status:
                      description: KeptnState  is a string containing current Phase
                        state  (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled)
                      type: string
                    value:
                      type: string
                  required:
                  - status
                  - value
                  type: object
                type: object
              overallStatus:
                default: Pending
                description: KeptnState  is a string containing current Phase state  (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled)
                type: string
              retryCount:
                default: 0
                type: integer
              startTime:
                format: date-time
                type: string
            required:
            - evaluationStatus
            - overallStatus
            - retryCount
            type: object
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - jsonPath: .spec.appName
      name: AppName
      type: string
    - jsonPath: .spec.appVersion
      name: AppVersion
      type: string
    - jsonPath: .spec.workload
      name: WorkloadName
      type: string
    - jsonPath: .spec.workloadVersion
      name: WorkloadVersion
      type: string
    - jsonPath: .status.retryCount
      name: RetryCount
      type: string
    - jsonPath: .status.evaluationStatus
      name: EvaluationStatus
      type: string
    - jsonPath: .status.overallStatus
      name: OverallStatus
      type: string
    name: v1alpha2
    schema:
      openAPIV3Schema:
        description: KeptnEvaluation is the Schema for the keptnevaluations API
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: KeptnEvaluationSpec defines the desired state of KeptnEvaluation
            properties:
              appName:
                type: string
              appVersion:
                type: string
              checkType:
                type: string
              evaluationDefinition:
                type: string
              failAction:
                type: string
              retries:
                default: 10
                type: integer
              retryInterval:
                default: 5s
                pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
                type: string
              workload:
                type: string
              workloadVersion:
                type: string
            required:
            - evaluationDefinition
            - workloadVersion
            type: object
          status:
            description: KeptnEvaluationStatus defines the observed state of KeptnEvaluation
            properties:
              endTime:
                format: date-time
                type: string
              evaluationStatus:
                additionalProperties:
                  properties:
                    message:
                      type: string
                    status:
                      description: KeptnState  is a string containing current Phase
                        state  (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled)
                      type: string
                    value:
                      type: string
                  required:
                  - status
                  - value
                  type: object
                type: object
              overallStatus:
                default: Pending
                description: KeptnState  is a string containing current Phase state  (Progressing/Succeeded/Failed/Unknown/Pending/Cancelled)
                type: string
              retryCount:
                default: 0
                type: integer
              startTime:
                format: date-time
                type: string
            required:
            - evaluationStatus
            - overallStatus
            - retryCount
            type: object
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - jsonPath: .spec.appName
      name: AppName
      type: string
    - jsonPath: .spec.appVersion
      name: AppVersion
      type: string
    - jsonPath: .spec.workload
      name: WorkloadName
      type: string
    - jsonPath: .spec.workloadVersion
      name: WorkloadVersion
      type: string
    - jsonPath: .status.retryCount
      name: RetryCount
      type: string
    - jsonPath: .status.evaluationStatus
      name: EvaluationStatus
      type: string
    - jsonPath: .status.overallStatus
      name: OverallStatus
      type: string
    name: v1alpha3
    schema:
      openAPIV3Schema:
        description: KeptnEvaluation is the Schema for the keptnevaluations API
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: Spec describes the desired state of the KeptnEvaluation.
            properties:
              appName:
                description: AppName defines the KeptnApp for which the KeptnEvaluation
                  is done.
                type: string
              appVersion:
                description: AppVersion defines the version of the KeptnApp for which
                  the KeptnEvaluation is done.
                type: string
              checkType:
                description: Type indicates whether the KeptnEvaluation is part of
                  the pre- or postDeployment phase.
                type: string
              evaluationDefinition:
                description: |-
                  EvaluationDefinition refers to the name of the KeptnEvaluationDefinition
                  which includes the objectives for the KeptnEvaluation.
                  The KeptnEvaluationDefinition can be
                  located in the same namespace as the KeptnEvaluation, or in the Keptn namespace.
                type: string
              failAction:
                type: string
              retries:
                default: 10
                description: |-
                  Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or
                  missed evaluation objective, before considering the KeptnEvaluation to be failed.
                type: integer
              retryInterval:
                default: 5s
                description: |-
                  RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error
                  or a missed objective.
                pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
                type: string
              workload:
                description: Workload defines the KeptnWorkload for which the KeptnEvaluation
                  is done.
                type: string
              workloadVersion:
                description: WorkloadVersion defines the version of the KeptnWorkload
                  for which the KeptnEvaluation is done.
                type: string
            required:
            - evaluationDefinition
            - workloadVersion
            type: object
          status:
            description: Status describes the current state of the KeptnEvaluation.
            properties:
              endTime:
                description: EndTime represents the time at which the KeptnEvaluation
                  finished.
                format: date-time
                type: string
              evaluationStatus:
                additionalProperties:
                  properties:
                    message:
                      description: |-
                        Message contains additional information about the evaluation of an objective.
                        This can include explanations about why an evaluation has failed (e.g. due to a missed objective),
                        or if there was any error during the evaluation of the objective.
                      type: string
                    status:
                      description: Status indicates the status of the objective being
                        evaluated.
                      type: string
                    value:
                      description: Value represents the value of the KeptnMetric being
                        evaluated.
                      type: string
                  required:
                  - status
                  - value
                  type: object
                description: |-
                  EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition
                  referenced by the KeptnEvaluation.
                type: object
              overallStatus:
                default: Pending
                description: |-
                  OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived
                  from the status of the individual objectives of the KeptnEvaluationDefinition
                  referenced by the KeptnEvaluation.
                type: string
              retryCount:
                default: 0
                description: RetryCount indicates how many times the KeptnEvaluation
                  has been attempted already.
                type: integer
              startTime:
                description: StartTime represents the time at which the KeptnEvaluation
                  started.
                format: date-time
                type: string
            required:
            - evaluationStatus
            - overallStatus
            - retryCount
            type: object
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - jsonPath: .spec.appName
      name: AppName
      type: string
    - jsonPath: .spec.appVersion
      name: AppVersion
      type: string
    - jsonPath: .spec.workload
      name: WorkloadName
      type: string
    - jsonPath: .spec.workloadVersion
      name: WorkloadVersion
      type: string
    - jsonPath: .status.retryCount
      name: RetryCount
      type: string
    - jsonPath: .status.evaluationStatus
      name: EvaluationStatus
      type: string
    - jsonPath: .status.overallStatus
      name: OverallStatus
      type: string
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: KeptnEvaluation is the Schema for the keptnevaluations API
        properties:
          apiVersion:
            description: |-
              APIVersion defines the versioned schema of this representation of an object.
              Servers should convert recognized schemas to the latest internal value, and
              may reject unrecognized values.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
            type: string
          kind:
            description: |-
              Kind is a string value representing the REST resource this object represents.
              Servers may infer this from the endpoint the client submits requests to.
              Cannot be updated.
              In CamelCase.
              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
            type: string
          metadata:
            type: object
          spec:
            description: Spec describes the desired state of the KeptnEvaluation.
            properties:
              appName:
                description: AppName defines the KeptnApp for which the KeptnEvaluation
                  is done.
                type: string
              appVersion:
                description: AppVersion defines the version of the KeptnApp for which
                  the KeptnEvaluation is done.
                type: string
              checkType:
                description: Type indicates whether the KeptnEvaluation is part of
                  the pre- or postDeployment phase.
                type: string
              evaluationDefinition:
                description: |-
                  EvaluationDefinition refers to the name of the KeptnEvaluationDefinition
                  which includes the objectives for the KeptnEvaluation.
                  The KeptnEvaluationDefinition can be
                  located in the same namespace as the KeptnEvaluation, or in the Keptn namespace.
                type: string
              retries:
                default: 10
                description: |-
                  Retries indicates how many times the KeptnEvaluation can be attempted in the case of an error or
                  missed evaluation objective, before considering the KeptnEvaluation to be failed.
                type: integer
              retryInterval:
                default: 5s
                description: |-
                  RetryInterval specifies the interval at which the KeptnEvaluation is retried in the case of an error
                  or a missed objective.
                pattern: ^0|([0-9]+(\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$
                type: string
              workload:
                description: Workload defines the KeptnWorkload for which the KeptnEvaluation
                  is done.
                type: string
              workloadVersion:
                description: WorkloadVersion defines the version of the KeptnWorkload
                  for which the KeptnEvaluation is done.
                type: string
            required:
            - evaluationDefinition
            - workloadVersion
            type: object
          status:
            description: Status describes the current state of the KeptnEvaluation.
            properties:
              endTime:
                description: EndTime represents the time at which the KeptnEvaluation
                  finished.
                format: date-time
                type: string
              evaluationStatus:
                additionalProperties:
                  properties:
                    message:
                      description: |-
                        Message contains additional information about the evaluation of an objective.
                        This can include explanations about why an evaluation has failed (e.g. due to a missed objective),
                        or if there was any error during the evaluation of the objective.
                      type: string
                    status:
                      description: Status indicates the status of the objective being
                        evaluated.
                      type: string
                    value:
                      description: Value represents the value of the KeptnMetric being
                        evaluated.
                      type: string
                  required:
                  - status
                  - value
                  type: object
                description: |-
                  EvaluationStatus describes the status of each objective of the KeptnEvaluationDefinition
                  referenced by the KeptnEvaluation.
                type: object
              overallStatus:
                default: Pending
                description: |-
                  OverallStatus describes the overall status of the KeptnEvaluation. The Overall status is derived
                  from the status of the individual objectives of the KeptnEvaluationDefinition
                  referenced by the KeptnEvaluation.
                type: string
              retryCount:
                default: 0
                description: RetryCount indicates how many times the KeptnEvaluation
                  has been attempted already.
                type: integer
              startTime:
                description: StartTime represents the time at which the KeptnEvaluation
                  started.
                format: date-time
                type: string
            required:
            - evaluationStatus
            - overallStatus
            - retryCount
            type: object
        type: object
    served: true
    storage: false
    subresources:
      status: {}
