setup/manifests/base/pod-broker/crd.yaml (260 lines of code) (raw):

# Copyright 2019 Google LLC # # Licensed 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. # Deprecated in v1.16 in favor of apiextensions.k8s.io/v1 apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: # name must match the spec fields below, and be in the form: <plural>.<group> name: brokerappconfigs.gcp.solutions spec: # group name to use for REST API: /apis/<group>/<version> group: gcp.solutions # list of versions supported by this CustomResourceDefinition versions: - name: v1 # Each version can be enabled/disabled by Served flag. served: true # One and only one version must be marked as the storage version. storage: true # either Namespaced or Cluster scope: Namespaced names: # plural name to be used in the URL: /apis/<group>/<version>/<plural> plural: brokerappconfigs # singular name to be used as an alias on the CLI and for display singular: brokerappconfig # kind is normally the CamelCased singular type. Your resource manifests use this. kind: BrokerAppConfig # shortNames allow shorter string to match your resource on the CLI shortNames: - bac #preserveUnknownFields: false validation: openAPIV3Schema: type: object required: - spec properties: spec: type: object required: - version - name - displayName - description - bundle - serviceName - defaultRepo - defaultTag properties: type: type: string enum: [statefulset, deployment] version: type: string name: type: string displayName: type: string description: type: string icon: type: string launchURL: type: string disabled: type: boolean authorizedUsers: type: array items: type: string authorization: type: object required: - configMapRef properties: configMapRef: type: object required: - name properties: name: type: string bundle: type: object required: - configMapRef properties: configMapRef: type: object required: - name properties: name: type: string userBundles: type: array items: type: object required: - configMapRef properties: configMapRef: type: object required: - name properties: name: type: string deployment: type: object properties: replicas: type: integer minimum: 0 selector: type: string serviceName: type: string defaultRepo: type: string defaultTag: type: string images: type: object additionalProperties: type: object properties: name: type: string oldRepo: type: string newRepo: type: string newTag: type: string digest: type: string disableOptions: type: boolean userParams: type: array items: type: object required: - name - displayName - type - default properties: name: type: string displayName: type: string type: type: string default: type: string appParams: type: array items: type: object required: - name - default properties: name: type: string displayName: type: string type: type: string default: type: string appEnv: type: array items: type: object required: - name - value properties: name: type: string value: type: string shutdownHooks: type: array items: type: object properties: selector: type: string container: type: string command: type: string editors: type: array items: type: string defaultTier: type: string nodeTiers: type: array items: type: object required: - name - nodeLabel properties: name: type: string nodeLabel: type: string resources: type: object properties: requests: type: object properties: cpu: schema: oneOf: - type: string - type: number memory: type: string limits: type: object properties: cpu: schema: oneOf: - type: string - type: number memory: type: string --- # Deprecated in v1.16 in favor of apiextensions.k8s.io/v1 apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: # name must match the spec fields below, and be in the form: <plural>.<group> name: brokerappuserconfigs.gcp.solutions spec: # group name to use for REST API: /apis/<group>/<version> group: gcp.solutions # list of versions supported by this CustomResourceDefinition versions: - name: v1 # Each version can be enabled/disabled by Served flag. served: true # One and only one version must be marked as the storage version. storage: true # either Namespaced or Cluster scope: Namespaced names: # plural name to be used in the URL: /apis/<group>/<version>/<plural> plural: brokerappuserconfigs # singular name to be used as an alias on the CLI and for display singular: brokerappuserconfig # kind is normally the CamelCased singular type. Your resource manifests use this. kind: BrokerAppUserConfig # shortNames allow shorter string to match your resource on the CLI shortNames: - bauc #preserveUnknownFields: false validation: openAPIV3Schema: type: object properties: spec: type: object properties: appName: type: string user: type: string imageRepo: type: string imageTag: type: string nodeTier: type: string params: type: object