apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: applications.nplus.cloud
spec:
  group: nplus.cloud
  scope: Namespaced
  names:
    kind: Application
    singular: application
    plural: applications
    categories:
    - nplus
    - nscale
  versions:
  - name: v1beta1
    served: true
    storage: true
    additionalPrinterColumns:
      - name: Environment
        type: string
        jsonPath: .metadata.labels.nplus/environment
        priority: 1
      - name: Instance
        type: string
        jsonPath: .metadata.labels.nplus/instance
      - name: Application
        type: string
        jsonPath: .metadata.labels.nplus/component
      - name: Version
        type: string
        jsonPath: .metadata.annotations.nplus/componentVersion
      - name: Status
        type: string
        jsonPath: .status.message
    schema:
      openAPIV3Schema:
        type: object
        properties:
          spec:
            type: object
            x-kubernetes-preserve-unknown-fields: true
          status:
            type: object
            properties:
              message:
                description: Health human readable
                type: string
              id:
                description: Health status id
                type: integer
              updateTimestamp:
                description: Timestamp of last Health Change
                type: string