195 lines
11 KiB
YAML
195 lines
11 KiB
YAML
|
|
apiVersion: apiextensions.k8s.io/v1
|
|||
|
|
kind: CustomResourceDefinition
|
|||
|
|
metadata:
|
|||
|
|
# имя, должно соответствовать спецификации ниже, и быть в формате <plural>.<group>
|
|||
|
|
name: platformapps.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:
|
|||
|
|
type: object
|
|||
|
|
description: PlatformApp является определением ресурса PlatformApp.
|
|||
|
|
PlatformApp - приложение платформы.
|
|||
|
|
properties:
|
|||
|
|
spec:
|
|||
|
|
type: object
|
|||
|
|
description: PlatformAppSpec определяет желаемое состояние приложения.
|
|||
|
|
Содержит спецификацию приложения, что включает определение репозитория со спецификацией приложения,
|
|||
|
|
список используемых репозиториев и реквизитов приложения.
|
|||
|
|
properties:
|
|||
|
|
appSourceCode:
|
|||
|
|
type: object
|
|||
|
|
description: AppSourceCode определяет исходный код спецификации приложения.
|
|||
|
|
properties:
|
|||
|
|
sourceRepositoryRef:
|
|||
|
|
type: object
|
|||
|
|
description: Является ссылкой на репозиторий с исходным кодом.
|
|||
|
|
properties:
|
|||
|
|
name:
|
|||
|
|
type: string
|
|||
|
|
description: Имя репозитория.
|
|||
|
|
sourceRepositoryKind:
|
|||
|
|
type: string
|
|||
|
|
description: |
|
|||
|
|
Вид репозитория. Поддерживаемые виды: "git".
|
|||
|
|
credentialsKind:
|
|||
|
|
type: string
|
|||
|
|
description: |
|
|||
|
|
Вид реквизитов. Поддерживаемые виды: "HTTPBasedURLCredentials".
|
|||
|
|
required: ["name", "sourceRepositoryKind", "credentialsKind"]
|
|||
|
|
revision:
|
|||
|
|
type: string
|
|||
|
|
description: Используемая ревизия исходного кода.
|
|||
|
|
repositoryPath:
|
|||
|
|
type: string
|
|||
|
|
default: app
|
|||
|
|
description: Путь внутри репозитория к директории со спецификацией приложения.
|
|||
|
|
required: ["repositoryPath", "sourceRepositoryRef"]
|
|||
|
|
repositories:
|
|||
|
|
type: array
|
|||
|
|
description: Список репозиториев приложения.
|
|||
|
|
items:
|
|||
|
|
maxItems: 32
|
|||
|
|
type: object
|
|||
|
|
properties:
|
|||
|
|
name:
|
|||
|
|
type: string
|
|||
|
|
maxLength: 255
|
|||
|
|
description: Имя репозитория.
|
|||
|
|
imageRegistryRef:
|
|||
|
|
type: object
|
|||
|
|
description: ImageRegistryRef определяет ссылку на реестр образов.
|
|||
|
|
Реквизиты и конфигурация копируются в пространство имен приложения как Secret и ConfigMap
|
|||
|
|
с суффиксами -cred и -cfg соответственно.
|
|||
|
|
properties:
|
|||
|
|
name:
|
|||
|
|
type: string
|
|||
|
|
description: Имя реестра.
|
|||
|
|
imageKind:
|
|||
|
|
type: string
|
|||
|
|
description: |
|
|||
|
|
Вид образов, который поддерживает реестр. Поддерживаемые виды: "docker".
|
|||
|
|
credentialsKind:
|
|||
|
|
type: string
|
|||
|
|
description: |
|
|||
|
|
Вид реквизитов. Поддерживаемые виды: "DockerConfigJsonCredentials".
|
|||
|
|
required: ["name", "imageKind", "credentialsKind"]
|
|||
|
|
packageRegistryRef:
|
|||
|
|
type: object
|
|||
|
|
description: PackageRegistryRef определяет ссылку на реестр пакетов.
|
|||
|
|
Реквизиты и конфигурация копируются в пространство имен приложения как Secret и ConfigMap
|
|||
|
|
с суффиксами -cred и -cfg соответственно.
|
|||
|
|
properties:
|
|||
|
|
name:
|
|||
|
|
type: string
|
|||
|
|
description: Имя реестра.
|
|||
|
|
packageKind:
|
|||
|
|
type: string
|
|||
|
|
description: |
|
|||
|
|
Вид пакетов, который поддерживает реестр. Поддерживаемые виды: "python".
|
|||
|
|
credentialsKind:
|
|||
|
|
type: string
|
|||
|
|
description: |
|
|||
|
|
Вид реквизитов. Поддерживаемые виды: "HTTPBasedURLCredentials".
|
|||
|
|
required: ["name", "packageKind", "credentialsKind"]
|
|||
|
|
sourceRepositoryRef:
|
|||
|
|
type: object
|
|||
|
|
description: SourceRepositoryRef определяет ссылку на репозиторий с исходным кодом.
|
|||
|
|
Реквизиты и конфигурация копируются в пространство имен приложения как Secret и ConfigMap
|
|||
|
|
с суффиксами -cred и -cfg соответственно.
|
|||
|
|
properties:
|
|||
|
|
name:
|
|||
|
|
type: string
|
|||
|
|
description: Имя репозитория.
|
|||
|
|
sourceRepositoryKind:
|
|||
|
|
type: string
|
|||
|
|
description: |
|
|||
|
|
Вид репозитория. Поддерживаемые виды: "git".
|
|||
|
|
credentialsKind:
|
|||
|
|
type: string
|
|||
|
|
description: |
|
|||
|
|
Вид реквизитов. Поддерживаемые виды: "HTTPBasedURLCredentials".
|
|||
|
|
required: ["name", "sourceRepositoryKind", "credentialsKind"]
|
|||
|
|
oneOf:
|
|||
|
|
- properties:
|
|||
|
|
imageRegistryRef: {}
|
|||
|
|
required: ["imageRegistryRef"]
|
|||
|
|
- properties:
|
|||
|
|
packageRegistryRef: {}
|
|||
|
|
required: ["packageRegistryRef"]
|
|||
|
|
- properties:
|
|||
|
|
sourceRepositoryRef: {}
|
|||
|
|
required: ["sourceRepositoryRef"]
|
|||
|
|
boxesCredentials:
|
|||
|
|
type: array
|
|||
|
|
description: Список S3 реквизитов приложения.
|
|||
|
|
Реквизиты копируются в пространство имен приложения как Secret
|
|||
|
|
с именем <имя реквизитов в этом списке>-cred.
|
|||
|
|
items:
|
|||
|
|
maxItems: 32
|
|||
|
|
type: object
|
|||
|
|
properties:
|
|||
|
|
name:
|
|||
|
|
type: string
|
|||
|
|
maxLength: 255
|
|||
|
|
description: Имя реквизитов.
|
|||
|
|
secretRef:
|
|||
|
|
type: object
|
|||
|
|
description: Ссылка на Secret с реквизитами в формате AWS_S3_VARS.
|
|||
|
|
properties:
|
|||
|
|
name:
|
|||
|
|
type: string
|
|||
|
|
description: Имя Secret.
|
|||
|
|
required: ["name"]
|
|||
|
|
required: ["name", "secretRef"]
|
|||
|
|
apisCredentials:
|
|||
|
|
type: array
|
|||
|
|
description: Список реквизитов приложения для доступа к интерфейсам APIComponent.
|
|||
|
|
Реквизиты копируются в пространство имен приложения как Secret
|
|||
|
|
с именем <имя реквизитов в этом списке>-cred.
|
|||
|
|
items:
|
|||
|
|
maxItems: 32
|
|||
|
|
type: object
|
|||
|
|
properties:
|
|||
|
|
name:
|
|||
|
|
type: string
|
|||
|
|
maxLength: 255
|
|||
|
|
description: Имя реквизитов.
|
|||
|
|
secretRef:
|
|||
|
|
type: object
|
|||
|
|
description: Ссылка на Secret с реквизитами в формате htpasswd.
|
|||
|
|
properties:
|
|||
|
|
name:
|
|||
|
|
type: string
|
|||
|
|
description: Имя Secret.
|
|||
|
|
required: ["name"]
|
|||
|
|
required: ["name", "secretRef"]
|
|||
|
|
required: ["appSourceCode"]
|
|||
|
|
status:
|
|||
|
|
x-kubernetes-preserve-unknown-fields: true
|
|||
|
|
type: object
|
|||
|
|
subresources:
|
|||
|
|
status: {}
|
|||
|
|
# Namespaced or Cluster
|
|||
|
|
scope: Namespaced
|
|||
|
|
names:
|
|||
|
|
# имя во множественном числе, используемое в URL: /apis/<group>/<version>/<plural>
|
|||
|
|
plural: platformapps
|
|||
|
|
# имя в единственном числе, используемое в CLI и для отображения
|
|||
|
|
singular: platformapp
|
|||
|
|
# вид, обычно CamelCased в единственном числе, указывается в манифестах ресурсов
|
|||
|
|
kind: PlatformApp
|
|||
|
|
# короткие имена для использования в операциях с ресурсами в CLI
|
|||
|
|
shortNames:
|
|||
|
|
- papp
|
|||
|
|
- papps
|
|||
|
|
categories:
|
|||
|
|
- all
|