# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you 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/v1
kind: CustomResourceDefinition
metadata:
  name: workflows.nuvolaris.org
spec:
  group: nuvolaris.org
  versions:
    - name: v1
      served: true
      storage: true
      schema:
        openAPIV3Schema:
          type: object
          properties:
            spec:
              type: object
              properties:
                image:
                  type: "string"
                command:
                  type: "array"
                  nullable: true
                  items:
                    type: string
                env:
                  type: object
                  x-kubernetes-preserve-unknown-fields: true
                  nullable: true
                workflows:
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      parameters:
                        type: object
                        x-kubernetes-preserve-unknown-fields: true
            status:
              type: object
              properties:
                total:
                  type: string
                count:
                  type: string
      subresources:
        status: {}
      additionalPrinterColumns:
        - jsonPath: .status.total
          name: total
          type: integer
        - jsonPath: .status.count
          name: count
          type: integer
        - name: Age
          type: date
          jsonPath: .metadata.creationTimestamp
  scope: Namespaced
  names:
    kind: Workflows
    plural: workflows