139 lines
No EOL
6.9 KiB
YAML
139 lines
No EOL
6.9 KiB
YAML
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 |