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

139 lines
No EOL
6.9 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:
name: datasetcomponents.unified-platform.cs.hse.ru
spec:
scope: Namespaced
group: unified-platform.cs.hse.ru
names:
kind: DatasetComponent
plural: datasetcomponents
singular: datasetcomponent
shortNames:
- datacmps
- datacmp
- datasetcmps
- datasetcmp
versions:
- name: v1
served: true
storage: true
schema:
openAPIV3Schema:
type: object
properties:
spec:
description: Определяет желаемое состояние датасета. Содержит спецификацию датасета, что включает ящик и версии.
type: object
properties:
box:
description: Название ящика
type: string
pattern: ^[a-zA-Z0-9_-]{1,50}$
restfulApi:
type: object
description: Определяет параметры REST API к предоставляемым данным.
required: ["auth"]
properties:
auth:
type: object
description: Auth определяет параметры аутентификции.
properties:
basic:
type: object
description: Basic определяет параметры базовой аутентификации.
properties:
enabled:
type: boolean
description: Определяет, включена ли базовая аутентификация.
Считается, что если атрибут не задан, то базовая аутентификация включена.
credentials:
type: string
description: Имя секрета с реквизитами базовой аутентификации в формате файла htpasswd.
oidc:
type: object
description: OIDC определяет параметры OIDC аутентификации.
properties:
enabled:
type: boolean
description: Определяет, включена ли OIDC аутентификация.
Считается, что если атрибут не задан, то OIDC аутентификация включена.
groups:
type: array
description: Определяет разрешенные группы.
items:
maxItems: 32
type: string
maxLength: 255
roles:
type: array
description: Определяет разрешенные роли.
items:
maxItems: 32
type: string
maxLength: 255
anyOf:
- properties:
basic: {}
required: ["basic"]
- properties:
oidc: {}
required: ["oidc"]
filesApiSecret:
description: Секреты доступа к Files API с правами на чтение
type: string
pattern: ^[a-zA-Z0-9-]{1,60}$
default: basic-auth-credentials-not-hashed
versions:
type: array
items:
description: Определяет желаемое состояние версии. Содержит спецификацию версии, что включает название и путь к данным.
type: object
properties:
name:
description: Название версии датасета.
type: string
pattern: ^[a-zA-Z0-9_-]{1,50}$
contents:
description: Информация о данных версии внутри ящика
type: object
properties:
readme:
description: Информация о текстовых метаданных для пользователя (в формате Markdown).
type: object
properties:
path:
description: Путь в ящике.
type: string
default: README.md
sha256:
description: Хэш сумма SHA-256.
type: string
pattern: ^[a-fA-F0-9]{64}$
metadata:
description: Информация о файле с метaданными (в формате JSON).
type: object
properties:
path:
description: Путь в ящике.
type: string
default: metadata.json
sha256:
description: Хэш сумма SHA-256.
type: string
pattern: ^[a-fA-F0-9]{64}$
files:
description: Информация о файле с перечнем файлов данных (в формате JSON).
type: object
properties:
path:
description: Путь в ящике.
type: string
default: files.json
sha256:
description: Хэш сумма SHA-256.
type: string
pattern: ^[a-fA-F0-9]{64}$
status:
type: object
x-kubernetes-preserve-unknown-fields: true