213 lines
8.4 KiB
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: [] |