chore(crd): регенерация — FunctionJobSpec самодостаточен (runtime/entrypoint/env)

This commit is contained in:
Naeel
2026-03-20 22:02:28 +03:00
parent 3dfe98e93a
commit b3559c972c
@@ -15,8 +15,8 @@ spec:
scope: Namespaced scope: Namespaced
versions: versions:
- additionalPrinterColumns: - additionalPrinterColumns:
- jsonPath: .spec.functionRef - jsonPath: .spec.runtime
name: Function name: Runtime
type: string type: string
- jsonPath: .status.phase - jsonPath: .status.phase
name: Phase name: Phase
@@ -50,8 +50,19 @@ spec:
metadata: metadata:
type: object type: object
spec: spec:
description: FunctionJobSpec — параметры одноразового запуска функции. description: |-
FunctionJobSpec — параметры одноразового запуска функции.
Самодостаточен: содержит всё для сборки образа и запуска Job.
Отдельный Function CRD больше не требуется.
properties: properties:
entrypoint:
description: 'Entrypoint — точка входа в код функции (например: handler.handle)'
type: string
env:
additionalProperties:
type: string
description: Env — переменные окружения, передаются в контейнер функции
type: object
eventJson: eventJson:
default: '{}' default: '{}'
description: |- description: |-
@@ -59,9 +70,11 @@ spec:
Если не задан — передаётся пустой объект {}. Если не задан — передаётся пустой объект {}.
Пример: {"action": "migrate", "version": "002"} Пример: {"action": "migrate", "version": "002"}
type: string type: string
functionRef: memoryMB:
description: FunctionRef — имя Function ресурса в том же namespace default: 128
type: string description: 'MemoryMB — лимит памяти в мегабайтах (default: 128)'
format: int32
type: integer
runId: runId:
default: 0 default: 0
description: |- description: |-
@@ -71,9 +84,30 @@ spec:
При RunID=0 FunctionJob создаётся в кластере, но k8s Job не запускается. При RunID=0 FunctionJob создаётся в кластере, но k8s Job не запускается.
format: int64 format: int64
type: integer type: integer
runtime:
description: Runtime — язык и версия выполнения (go1.23, python3.11,
nodejs20)
enum:
- go1.23
- python3.11
- nodejs20
type: string
s3Bucket:
description: S3Bucket — бакет S3 где хранится tar.gz контекст сборки
type: string
s3Key:
description: S3Key — ключ объекта в S3 (путь до tar.gz контекста)
type: string
timeoutSec:
default: 30
description: 'TimeoutSec — максимальное время выполнения в секундах
(default: 30)'
format: int32
type: integer
required: required:
- functionRef - entrypoint
- runId - runId
- runtime
type: object type: object
status: status:
description: FunctionJobStatus — наблюдаемое состояние (заполняет контроллер). description: FunctionJobStatus — наблюдаемое состояние (заполняет контроллер).
@@ -82,6 +116,11 @@ spec:
description: CompletionTime — время завершения description: CompletionTime — время завершения
format: date-time format: date-time
type: string type: string
imageRef:
description: |-
ImageRef — полный путь к собранному Docker образу в registry
Заполняется после успешной сборки (фаза Building → Running).
type: string
jobName: jobName:
description: JobName — имя созданного k8s Job description: JobName — имя созданного k8s Job
type: string type: string
@@ -89,7 +128,8 @@ spec:
description: Message — результат выполнения или сообщение об ошибке description: Message — результат выполнения или сообщение об ошибке
type: string type: string
phase: phase:
description: 'Phase — текущая фаза: Pending, Running, Succeeded, Failed' description: 'Phase — текущая фаза: Pending, Building, Running, Succeeded,
Failed'
type: string type: string
startTime: startTime:
description: StartTime — время запуска k8s Job description: StartTime — время запуска k8s Job