Skip to content
Proud to collaborate with Microsoft for Startups

kubernetes.manifest.apply_ssa ​

Server-side apply (SSA) a single Kubernetes manifest

Server-side apply (SSA) a single Kubernetes manifest.

PATCHes the manifest to the apiserver with Content-Type: application/apply-patch+yaml and a stable fieldManager, persisting the change. This is the GitOps-correct apply: the apiserver tracks field ownership so re-applies are idempotent and (with force) the manager reclaims fields edited out-of-band — the mechanism behind self-heal.

Inputs:

  • connection_uuid: Cloud connection UUID for the target cluster (required).
  • manifest: Single resource manifest with apiVersion, kind, metadata.name, and metadata.namespace for namespaced kinds (required).
  • field_manager: Field-manager name to apply as (optional, default "ltinteg-gitops"). GitOps callers pass a per-application manager so ownership is scoped to the application.
  • force: Force-reclaim conflicting fields owned by other managers (optional, default True). True = self-heal manual drift.

Outputs:

  • applied: The applied object body returned by the apiserver.
  • resource_version: The new metadata.resourceVersion.
  • uid: The object's metadata.uid.

Plugin required: context.get_plugin("connection").kubernetes_runner_clients(connection_uuid, organization_uuid) must expose api_client (a kubernetes.client.ApiClient instance).

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-kubernetes
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
connection_uuiduuidYes—Cloud connection UUID for the target cluster
manifestjsonYes—Single resource manifest with apiVersion, kind, metadata.name, and optionally metadata.namespace
field_managerstringNo—Field-manager name (default ltinteg-gitops)
forcebooleanNo—Force-reclaim conflicting fields (default True)
organization_uuiduuidNo——

Output Schema ​

FieldTypeRequiredDefaultDescription
connection_uuiduuidNo——
organization_uuiduuidNo——
manifestjsonNo——
field_managerstringNo——
forcebooleanNo——
api_versionstringNo——
kindstringNo——
namespacestringNo——
namestringNo——
resource_versionstringNo—metadata.resourceVersion of the applied object
uidstringNo—metadata.uid of the applied object
appliedjsonNo—The object body the apiserver returned after apply
failure_reasonstringNo——
failure_typestringNo——
failed_actionstringNo——
failed_at_statestringNo——
errorstringNo——
error_typestringNo——
failed_layerstringNo——
failed_stepstringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—execute—
completedNoYesYes——
failedNoYesNo——

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompleted—
* (any state)failfailed—

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "kubernetes.manifest.apply_ssa",
  "initial_data": {
    "connection_uuid": "value",
    "manifest": "value"
  }
}