111 lines
4.3 KiB
YAML
111 lines
4.3 KiB
YAML
# 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: nameservices.rocketmq.apache.org
|
|
spec:
|
|
group: rocketmq.apache.org
|
|
names:
|
|
kind: NameService
|
|
listKind: NameServiceList
|
|
plural: nameservices
|
|
singular: nameservice
|
|
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:
|
|
dnsPolicy:
|
|
description: dnsPolicy defines how a pod's DNS will be configured
|
|
type: string
|
|
hostNetwork:
|
|
description: HostNetwork can be true or false
|
|
type: boolean
|
|
hostPath:
|
|
description: HostPath is the local path to store data
|
|
type: string
|
|
imagePullPolicy:
|
|
description: ImagePullPolicy defines how the image is pulled.
|
|
type: string
|
|
nameServiceImage:
|
|
description: NameServiceImage is the name service image
|
|
type: string
|
|
resources:
|
|
description: Resources describes the compute resource requirements
|
|
type: object
|
|
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
|
|
Size is the number of the name service Pod'
|
|
format: int32
|
|
type: integer
|
|
storageMode:
|
|
description: StorageMode can be EmptyDir, HostPath, NFS
|
|
type: string
|
|
volumeClaimTemplates:
|
|
description: VolumeClaimTemplates defines the StorageClass
|
|
items:
|
|
type: object
|
|
type: array
|
|
required:
|
|
- size
|
|
- nameServiceImage
|
|
- imagePullPolicy
|
|
- hostNetwork
|
|
- dnsPolicy
|
|
- resources
|
|
- storageMode
|
|
- hostPath
|
|
- volumeClaimTemplates
|
|
type: object
|
|
status:
|
|
properties:
|
|
nameServers:
|
|
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
|
|
NameServers is the name service ip list'
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- nameServers
|
|
type: object
|
|
version: v1alpha1
|
|
versions:
|
|
- name: v1alpha1
|
|
served: true
|
|
storage: true
|