rancher-partner-charts/charts/koor-tech/koor-operator/templates/koorcluster-crd.yaml

213 lines
8.4 KiB
YAML

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: koorclusters.storage.koor.tech
annotations:
cert-manager.io/inject-ca-from: '{{ .Release.Namespace }}/{{ include "koor-operator.fullname"
. }}-serving-cert'
controller-gen.kubebuilder.io/version: v0.13.0
labels:
{{- include "koor-operator.labels" . | nindent 4 }}
spec:
conversion:
strategy: Webhook
webhook:
clientConfig:
service:
name: '{{ include "koor-operator.fullname" . }}-webhook-service'
namespace: '{{ .Release.Namespace }}'
path: /convert
conversionReviewVersions:
- v1
group: storage.koor.tech
names:
kind: KoorCluster
listKind: KoorClusterList
plural: koorclusters
singular: koorcluster
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: KoorCluster is the Schema for the koorclusters API
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/sig-architecture/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/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: KoorClusterSpec defines the desired state of KoorCluster
properties:
dashboardEnabled:
default: true
description: Enable the ceph dashboard for viewing cluster status
type: boolean
ksdClusterReleaseName:
default: ksd-cluster
description: The name to use for KSD cluster helm release.
type: string
ksdReleaseName:
default: ksd
description: The name to use for KSD helm release.
type: string
monitoringEnabled:
default: true
description: Enable monitoring. Requires Prometheus to be pre-installed.
type: boolean
toolboxEnabled:
default: true
description: Installs a debugging toolbox deployment
type: boolean
upgradeOptions:
description: Specifies the upgrade options for new ceph versions
properties:
endpoint:
default: https://versions.koor.tech
description: The api endpoint used to find the ceph latest version
type: string
mode:
default: notify
description: Upgrade mode
enum:
- disabled
- notify
- upgrade
type: string
schedule:
default: 0 0 * * *
description: 'The schedule to check for new versions. Uses CRON
format as specified by https://github.com/robfig/cron/tree/v3.
Defaults to everyday at midnight in the local timezone. To change
the timezone, prefix the schedule with CRON_TZ=<Timezone>. For
example: "CRON_TZ=UTC 0 0 * * *" is midnight UTC.'
type: string
type: object
useAllDevices:
default: true
description: Use all devices on nodes
type: boolean
type: object
status:
description: KoorClusterStatus defines the observed state of KoorCluster
properties:
currentVersions:
description: The current versions of rook and ceph
properties:
ceph:
description: The version of Ceph
type: string
koorOperator:
description: The version of the koor Operator
type: string
ksd:
description: The version of KSD
type: string
kube:
description: The version of Kubernetes
type: string
type: object
latestVersions:
description: The latest versions of rook and ceph
properties:
ceph:
description: The detailed version of Ceph
properties:
helmChart:
type: string
helmRepository:
type: string
imageHash:
type: string
imageUri:
type: string
version:
type: string
type: object
koorOperator:
description: The detailed version of the koor Operator
properties:
helmChart:
type: string
helmRepository:
type: string
imageHash:
type: string
imageUri:
type: string
version:
type: string
type: object
ksd:
description: The detailed version of KSD
properties:
helmChart:
type: string
helmRepository:
type: string
imageHash:
type: string
imageUri:
type: string
version:
type: string
type: object
type: object
meetsMinimumResources:
description: Does the cluster meet the minimum recommended resources
type: boolean
totalResources:
description: The total resources available in the cluster nodes
properties:
cpu:
anyOf:
- type: integer
- type: string
description: CPU cores available
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
memory:
anyOf:
- type: integer
- type: string
description: Memory available
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
nodesCount:
anyOf:
- type: integer
- type: string
description: The number of nodes in the cluster
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
storage:
anyOf:
- type: integer
- type: string
description: Ephemeral Storage available
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
type: object
required:
- meetsMinimumResources
- totalResources
type: object
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []