apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: tigerastatuses.operator.tigera.io
spec:
  group: operator.tigera.io
  names:
    kind: TigeraStatus
    listKind: TigeraStatusList
    plural: tigerastatuses
    singular: tigerastatus
  scope: Cluster
  versions:
    - additionalPrinterColumns:
        - description: Whether the component running and stable.
          jsonPath: .status.conditions[?(@.type=='Available')].status
          name: Available
          type: string
        - description: Whether the component is processing changes.
          jsonPath: .status.conditions[?(@.type=='Progressing')].status
          name: Progressing
          type: string
        - description: Whether the component is degraded.
          jsonPath: .status.conditions[?(@.type=='Degraded')].status
          name: Degraded
          type: string
        - description: The time the component's Available status last changed.
          jsonPath: .status.conditions[?(@.type=='Available')].lastTransitionTime
          name: Since
          type: date
      name: v1
      schema:
        openAPIV3Schema:
          description:
            TigeraStatus represents the most recently observed status for
            Calico or a Calico Enterprise functional area.
          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: TigeraStatusSpec defines the desired state of TigeraStatus
              type: object
            status:
              description: TigeraStatusStatus defines the observed state of TigeraStatus
              properties:
                conditions:
                  description:
                    Conditions represents the latest observed set of conditions
                    for this component. A component may be one or more of Available,
                    Progressing, or Degraded.
                  items:
                    description:
                      TigeraStatusCondition represents a condition attached
                      to a particular component.
                    properties:
                      lastTransitionTime:
                        description:
                          The timestamp representing the start time for the
                          current status.
                        format: date-time
                        type: string
                      message:
                        description:
                          Optionally, a detailed message providing additional
                          context.
                        type: string
                      reason:
                        description: A brief reason explaining the condition.
                        type: string
                      status:
                        description:
                          The status of the condition. May be True, False,
                          or Unknown.
                        type: string
                      type:
                        description:
                          The type of condition. May be Available, Progressing,
                          or Degraded.
                        type: string
                    required:
                      - lastTransitionTime
                      - status
                      - type
                    type: object
                  type: array
              required:
                - conditions
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
