diff --git a/config/crd/bases/sless.kube5s.ru_functionjobs.yaml b/config/crd/bases/sless.kube5s.ru_functionjobs.yaml index 9c48003..686ffa3 100644 --- a/config/crd/bases/sless.kube5s.ru_functionjobs.yaml +++ b/config/crd/bases/sless.kube5s.ru_functionjobs.yaml @@ -15,8 +15,8 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - jsonPath: .spec.functionRef - name: Function + - jsonPath: .spec.runtime + name: Runtime type: string - jsonPath: .status.phase name: Phase @@ -50,8 +50,19 @@ spec: metadata: type: object spec: - description: FunctionJobSpec — параметры одноразового запуска функции. + description: |- + FunctionJobSpec — параметры одноразового запуска функции. + Самодостаточен: содержит всё для сборки образа и запуска Job. + Отдельный Function CRD больше не требуется. properties: + entrypoint: + description: 'Entrypoint — точка входа в код функции (например: handler.handle)' + type: string + env: + additionalProperties: + type: string + description: Env — переменные окружения, передаются в контейнер функции + type: object eventJson: default: '{}' description: |- @@ -59,9 +70,11 @@ spec: Если не задан — передаётся пустой объект {}. Пример: {"action": "migrate", "version": "002"} type: string - functionRef: - description: FunctionRef — имя Function ресурса в том же namespace - type: string + memoryMB: + default: 128 + description: 'MemoryMB — лимит памяти в мегабайтах (default: 128)' + format: int32 + type: integer runId: default: 0 description: |- @@ -71,9 +84,30 @@ spec: При RunID=0 FunctionJob создаётся в кластере, но k8s Job не запускается. format: int64 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: - - functionRef + - entrypoint - runId + - runtime type: object status: description: FunctionJobStatus — наблюдаемое состояние (заполняет контроллер). @@ -82,6 +116,11 @@ spec: description: CompletionTime — время завершения format: date-time type: string + imageRef: + description: |- + ImageRef — полный путь к собранному Docker образу в registry + Заполняется после успешной сборки (фаза Building → Running). + type: string jobName: description: JobName — имя созданного k8s Job type: string @@ -89,7 +128,8 @@ spec: description: Message — результат выполнения или сообщение об ошибке type: string phase: - description: 'Phase — текущая фаза: Pending, Running, Succeeded, Failed' + description: 'Phase — текущая фаза: Pending, Building, Running, Succeeded, + Failed' type: string startTime: description: StartTime — время запуска k8s Job