Перейти к основному содержимому

Методы Management API

Поля spec, state, payload, params, result, manifest — JSON внутри protobuf bytes. Ref записи всегда имеет форму kind/id.

ResourcesAPI

МетодRequestResult
Listselector или query, page size/tokensnapshot ресурсов и следующий token
Countselector или query; optional group by statustotal и группы status
CountOwnedдо 100 owner refsчисло live children каждого owner
Getrefполная запись, включая закрытую
Treeowner refрекурсивное дерево владения
Deleterefждёт child-first finalize
Transferref, new owner, optional keep secondsотдаёт всё поддерево
Invokeref, command, JSON payload, optional request idJSON result команды
Applykind, id, JSON spec, labelsref объявленной записи
Downloadrefbyte stream либо not-found без blob

List принимает либо structured selector (kind, phase, owner, точные labels), либо query string, но не оба. Query fields: kind, id, phase, owner, pipeline, started, finished, label.<key>. Продолжать страницу можно только opaque next_page_token предыдущего ответа.

System labels под graphene.io/ нельзя задавать пользователю. Invoke.request_id дедуплицирует retries; без него сервер создаёт id.

RunsAPI

МетодRequestResult
StartRunrun id, pipeline, params, optional image и labelsworkflow ids
GetRunrun idтекущий execution status
WatchRunrun idтекущий status, затем переходы до terminal
RunResultrun idждёт и возвращает typed result JSON
CancelRunrun idпросит cancellation с cleanup
RunStatusrun idstatus и pending activities с attempts, failure, heartbeat

Image делает run managed: worker запускает сервер. Params проверяются по manifest выбранного pipeline или revision до старта. Runs перечисляются через ResourcesAPI.List с kind run.

RevisionsAPI

МетодRequestResult
Materializepipeline и tar.gz bytes либо source refстадии upload, runtime, build, describe, publish, done
RunRevisionpipeline, revision, run id, params, labelsworkflow ids draft run

Materialization переживает отключение client, потому что build принадлежит revision record. Финальный event done содержит revision id, image и manifest.

SourceAPI

МетодRequestResult
UploadSourcepipeline id и tar.gzlocation и digest
DownloadSourcesource reftar.gz byte stream
ListRuntimesemptyнастроенные names, versions, images и default
ListFilessource refpaths, sizes и tree digest
ReadFilesource ref и pathfile bytes

Files read-only. Мутация source — движение Git ref и затем команда sync записи.

ObserveAPI

МетодRequestStream/result
Staterefworkflow status и entity record, когда применимо
Eventsref, cursor, follow, optional activity idклассифицированная полная history с raw event
Logsref, follow, since; либо admin raw querylog records и dropped counts
Metricsref, time range, follow; либо admin PromQLsnapshot JSON, live OTLP, dropped counts
Traceref, follow; либо admin Jaeger querysnapshot JSON, live OTLP, dropped counts

Raw queries бекенда доступны только admin и игнорируют record/follow. Live metrics и traces — сериализованные стандартные OTLP export requests.

AgentsAPI

МетодRequestResult
Ptyagent id, columns, rowsopened session id, raw output, final exit
PtyInputsession id и data, resize либо closeacknowledgement

PTY намеренно смертен: shell закрывается при cancel stream, disconnect агента, explicit close или exit процесса. Reconnect отсутствует.

NamespacesAPI, RbacAPI, SecretsAPI

Service.methodRequestResult
NamespacesAPI.ServerInfoemptyversion и component health
RbacAPI.IssueTokenaccount, TTL seconds, commenttoken id, одноразовое value, expiry
RbacAPI.WhoAmIemptysubject, groups, namespace, roles, allowed pairs, cluster-wide flag
SecretsAPI.SetSecretname и valueновый version counter

Metadata namespace, role, rolebinding, serviceaccount, var и secret остаётся обычными записями. Значения token и secret используют dedicated methods, потому что команда записи сохранила бы payload или result в history.