unip-controller/deploy/crd/data-box.yaml
2025-04-15 20:56:15 +03:00

180 lines
No EOL
9.5 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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