180 lines
9.5 KiB
YAML
180 lines
9.5 KiB
YAML
|
|
apiVersion: apiextensions.k8s.io/v1
|
|||
|
|
kind: CustomResourceDefinition
|
|||
|
|
metadata:
|
|||
|
|
# имя, должно соответствовать спецификации ниже, и быть в формате <plural>.<group>
|
|||
|
|
name: databoxes.unified-platform.cs.hse.ru
|
|||
|
|
spec:
|
|||
|
|
# имя группы, используемое в REST API: /apis/<group>/<version>
|
|||
|
|
group: unified-platform.cs.hse.ru
|
|||
|
|
# Список версий, поддерживаемых этим определением CustomResourceDefinition
|
|||
|
|
versions:
|
|||
|
|
- name: v1
|
|||
|
|
# Каждая версия может быть влкючена или выключена при помощи served флага.
|
|||
|
|
served: true
|
|||
|
|
# Только одна версия может быть отмечена как storage версия.
|
|||
|
|
storage: true
|
|||
|
|
schema:
|
|||
|
|
openAPIV3Schema:
|
|||
|
|
description: DataBox является определением ресурса DataBox.
|
|||
|
|
DataBox - ящик для хранения данных.
|
|||
|
|
type: object
|
|||
|
|
properties:
|
|||
|
|
spec:
|
|||
|
|
type: object
|
|||
|
|
description: DataBoxSpec определяет желаемое состояние ящика.
|
|||
|
|
Содержит спецификацию ящика, что включает определение нижестоящей
|
|||
|
|
системы хранения.
|
|||
|
|
properties:
|
|||
|
|
s3Storage:
|
|||
|
|
type: object
|
|||
|
|
description: S3Storage определяет параметры S3 ящика.
|
|||
|
|
В S3 ящике данные хранятся по заданному пути внутри S3 бакета.
|
|||
|
|
properties:
|
|||
|
|
host:
|
|||
|
|
type: string
|
|||
|
|
description: Хост S3 хранилища.
|
|||
|
|
bucket:
|
|||
|
|
type: object
|
|||
|
|
description: Параметры используемого S3 бакета.
|
|||
|
|
properties:
|
|||
|
|
name:
|
|||
|
|
type: string
|
|||
|
|
description: Имя S3 бакета.
|
|||
|
|
subPath:
|
|||
|
|
type: string
|
|||
|
|
description: Путь внутри S3 бакета, с которым ассоциирован ящик.
|
|||
|
|
Данные ящика сохранятся в бакет относительно указанного subPath.
|
|||
|
|
required: ["name"]
|
|||
|
|
capacity:
|
|||
|
|
type: string
|
|||
|
|
description: Размер ящика в формате
|
|||
|
|
<численное значение><единица измерения>.
|
|||
|
|
Поддерживаются все единицы измерения объема памяти Kubernetes.
|
|||
|
|
default: 1G
|
|||
|
|
awsVarsS3Credentials:
|
|||
|
|
type: string
|
|||
|
|
description: Имя секрета с реквизитами для доступа к S3 бакету
|
|||
|
|
в формате AWS_S3_VARS.
|
|||
|
|
required: ["host", "bucket"]
|
|||
|
|
oneOf:
|
|||
|
|
- properties:
|
|||
|
|
awsVarsS3Credentials: {}
|
|||
|
|
required: ["awsVarsS3Credentials"]
|
|||
|
|
s3DefaultStorage:
|
|||
|
|
type: object
|
|||
|
|
description: S3DefaultStorage определяет параметры S3 ящика по умолчанию.
|
|||
|
|
В S3 ящике по умолчанию данные хранятся в специальном S3 бакете,
|
|||
|
|
указание параметров которого не требуется.
|
|||
|
|
properties:
|
|||
|
|
capacity:
|
|||
|
|
type: string
|
|||
|
|
description: Размер ящика в формате
|
|||
|
|
<численное значение><единица измерения>.
|
|||
|
|
Поддерживаются все единицы измерения объема памяти Kubernetes.
|
|||
|
|
default: 1G
|
|||
|
|
datasetReference:
|
|||
|
|
type: object
|
|||
|
|
description: DatasetReference определяет параметры ящика-ссылки на датасет.
|
|||
|
|
properties:
|
|||
|
|
datasetComponentRef:
|
|||
|
|
type: object
|
|||
|
|
description: Ссылка на объект вида DatasetComponent
|
|||
|
|
properties:
|
|||
|
|
name:
|
|||
|
|
type: string
|
|||
|
|
description: Имя DatasetComponent.
|
|||
|
|
namespace:
|
|||
|
|
type: string
|
|||
|
|
description: Пространство имен DatasetComponent.
|
|||
|
|
credentials:
|
|||
|
|
type: object
|
|||
|
|
description: Реквизиты доступа к датасету.
|
|||
|
|
properties:
|
|||
|
|
secretRef:
|
|||
|
|
type: object
|
|||
|
|
description: Ссылка на Secret с реквизитами.
|
|||
|
|
properties:
|
|||
|
|
name:
|
|||
|
|
type: string
|
|||
|
|
description: Имя Secret.
|
|||
|
|
required: ["name"]
|
|||
|
|
required: ["secretRef"]
|
|||
|
|
required: ["datasetComponentRef"]
|
|||
|
|
oneOf:
|
|||
|
|
- properties:
|
|||
|
|
s3Storage: {}
|
|||
|
|
required: ["s3Storage"]
|
|||
|
|
- properties:
|
|||
|
|
s3DefaultStorage: {}
|
|||
|
|
required: ["s3DefaultStorage"]
|
|||
|
|
- properties:
|
|||
|
|
datasetReference: {}
|
|||
|
|
required: ["datasetReference"]
|
|||
|
|
status:
|
|||
|
|
x-kubernetes-preserve-unknown-fields: true
|
|||
|
|
type: object
|
|||
|
|
description: DataBoxStatus хранит фактическое состояние ящика.
|
|||
|
|
properties:
|
|||
|
|
conditions:
|
|||
|
|
type: array
|
|||
|
|
default: []
|
|||
|
|
description: Список наблюдаемых в настоящий момент условий.
|
|||
|
|
items:
|
|||
|
|
maxItems: 32
|
|||
|
|
type: object
|
|||
|
|
properties:
|
|||
|
|
type:
|
|||
|
|
type: string
|
|||
|
|
description: Тип условия.
|
|||
|
|
conditionStatus:
|
|||
|
|
type: string
|
|||
|
|
description: Статус условия "True", "False" или "Unknown".
|
|||
|
|
observedGeneration:
|
|||
|
|
type: integer
|
|||
|
|
description: Содержит .metadata.generation, при котором условие
|
|||
|
|
было установлено.
|
|||
|
|
lastTransitionTime:
|
|||
|
|
type: string
|
|||
|
|
description: Время последнего изменения статуса условия
|
|||
|
|
в формате ISO.
|
|||
|
|
reason:
|
|||
|
|
type: string
|
|||
|
|
description: Содержит программный идентификатор, являющийся
|
|||
|
|
индикатором причины последнего изменения статуса условия.
|
|||
|
|
message:
|
|||
|
|
type: string
|
|||
|
|
description: Подробное описание условия, понятное человеку.
|
|||
|
|
required: ["type", "conditionStatus", "lastTransitionTime", "reason", "message"]
|
|||
|
|
s3Storage:
|
|||
|
|
type: object
|
|||
|
|
description: S3Storage хранит фактическое состояние S3 ящика.
|
|||
|
|
properties:
|
|||
|
|
csiS3PersistentVolumeClaimUID:
|
|||
|
|
type: string
|
|||
|
|
description: UID ассоциированного с S3 ящиком PVC.
|
|||
|
|
csiS3PersistentVolumeClaimName:
|
|||
|
|
type: string
|
|||
|
|
description: Имя ассоциированного с S3 ящиком PVC.
|
|||
|
|
csiS3PersistentVolumeUID:
|
|||
|
|
type: string
|
|||
|
|
description: UID ассоциированного с S3 ящиком PV.
|
|||
|
|
csiS3PersistentVolumeName:
|
|||
|
|
type: string
|
|||
|
|
description: Имя ассоциированного с S3 ящиком PV.
|
|||
|
|
subresources:
|
|||
|
|
status: {}
|
|||
|
|
# Namespaced или Cluster
|
|||
|
|
scope: Namespaced
|
|||
|
|
names:
|
|||
|
|
# имя во множественном числе, используемое в URL: /apis/<group>/<version>/<plural>
|
|||
|
|
plural: databoxes
|
|||
|
|
# имя в единственном числе, используемое в CLI и для отображения
|
|||
|
|
singular: databox
|
|||
|
|
# вид, обычно CamelCased в единственном числе, указывается в манифестах ресурсов
|
|||
|
|
kind: DataBox
|
|||
|
|
# короткие имена для использования в операциях с ресурсами в CLI
|
|||
|
|
shortNames:
|
|||
|
|
- dtbx
|
|||
|
|
- dtbxs
|
|||
|
|
categories:
|
|||
|
|
- all
|