# 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: whisks.nuvolaris.org
  namespace: nuvolaris
spec:
  scope: Namespaced
  group: nuvolaris.org
  names:
    kind: Whisk
    plural: whisks
    singular: whisk
    shortNames:
      - wsk
  versions:
    - name: v1
      served: true
      storage: true
      subresources: { status: { } } 
      schema:
        openAPIV3Schema:
          type: object
          properties:
            spec:
              type: object
              x-kubernetes-preserve-unknown-fields: true
            status:
              x-kubernetes-preserve-unknown-fields: true
              # type: object
              # properties:
              #   wsk_create:
              #     type: object
              #     properties:
              #       openwhisk:
              #         type: string
              #       invoker:
              #         type: string
              #       couchdb:
              #         type: string
              #       kafka:
              #         type: string
              #       mongodb:
              #         type: string
              #       redis:
              #         type: string
              #       s3bucket:
              #         type: string
      additionalPrinterColumns:
        - name: OpenWhisk
          type: string
          priority: 0
          jsonPath: .status.whisk_create.openwhisk
          description: OpenWhisk
        - name: Invoker
          type: string
          priority: 0
          jsonPath: .status.whisk_create.invoker
          description: Invoker
        - name: CouchDB
          type: string
          priority: 0
          jsonPath: .status.whisk_create.couchdb
          description: CouchDB
        - name: Kafka
          type: string
          priority: 0
          jsonPath: .status.whisk_create.kafka
          description: Kafka
        - name: MongoDB
          type: string
          priority: 0
          jsonPath: .status.whisk_create.mongodb
          description: MongoDB
        - name: Redis
          type: string
          priority: 0
          jsonPath: .status.whisk_create.redis
          description: Redis
        - name: S3Bucket
          type: string
          priority: 0
          jsonPath: .status.whisk_create.s3bucket
          description: S3Bucket
