blob: 35569e045e44c5a43dfb2a75988d7b2b41f2a19e [file] [log] [blame]
# 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/v1beta1
kind: CustomResourceDefinition
metadata:
name: brokers.rocketmq.apache.org
spec:
group: rocketmq.apache.org
names:
kind: Broker
listKind: BrokerList
plural: brokers
singular: broker
scope: Namespaced
subresources:
status: {}
validation:
openAPIV3Schema:
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/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/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
properties:
allowRestart:
description: AllowRestart defines whether allow pod restart
type: boolean
brokerImage:
description: BaseImage is the broker image to use for the Pods
type: string
hostPath:
description: HostPath is the local path to store data
type: string
imagePullPolicy:
description: ImagePullPolicy defines how the image is pulled
type: string
nameServers:
description: NameServers defines the name service list e.g. 192.168.1.1:9876;192.168.1.2:9876
type: string
replicaPerGroup:
description: ReplicaPerGroup each broker cluster's replica number
format: int64
type: integer
resources:
description: Resources describes the compute resource requirements
type: object
scalePodName:
description: The name of pod where the metadata from
type: string
size:
description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
Important: Run "operator-sdk generate k8s" to regenerate code after
modifying this file Add custom validation using kubebuilder tags:
https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html'
format: int64
type: integer
storageMode:
description: StorageMode can be EmptyDir, HostPath, StorageClass
type: string
env:
description: env defines custom env, e.g. BROKER_MEM
items:
type: object
type: array
volumes:
description: volumes defines the broker.conf
items:
type: object
type: array
volumeClaimTemplates:
description: VolumeClaimTemplates defines the StorageClass
items:
type: object
type: array
required:
- size
- replicaPerGroup
- brokerImage
- imagePullPolicy
- nameServers
- allowRestart
- resources
- storageMode
- hostPath
- env
- volumes
- volumeClaimTemplates
- scalePodName
type: object
status:
properties:
nodes:
description: 'INSERT ADDITIONAL STATUS FIELD - define observed state
of cluster Important: Run "operator-sdk generate k8s" to regenerate
code after modifying this file Add custom validation using kubebuilder
tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html'
items:
type: string
type: array
size:
format: int64
type: integer
required:
- nodes
- size
type: object
version: v1alpha1
versions:
- name: v1alpha1
served: true
storage: true