Harness · Schema

infra_v2.KubernetesInfrastructureV2Details

DevOpsGitOpsInternal Developer PortalLifecycleSoftware DeliveryCI/CDContinuous DeliveryContinuous Integration

Properties

Name Type Description
annotation object
containers string
createdAt string
createdBy object
deploymentType string
description string
discoveryAgentID string
env array
environmentID string
harnessInfraType string
identifier object
identity string
imageRegistry object
infraID string
infraNamespace string
infraScope object
infraType object
insecureSkipVerify boolean
installationType object
isAIEnabled boolean
isAutopilotEnabled boolean
isChaosEnabled boolean
k8sConnectorID string
label object
lastHeartbeat integer
lastWorkflowTimestamp string
mtls object
name string
noOfSchedules integer
noOfWorkflows integer
nodeSelector object
platformName string
proxy object
runAsGroup integer
runAsUser integer
serviceAccount string
status object
tags array
tolerations array
updateStatus object
updatedAt string
updatedBy object
upgrade object
version string
volumeMounts array
volumes array
View JSON Schema on GitHub

JSON Schema

harness-infra-v2-kubernetes-infrastructure-v2-details-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/harness/main/json-schema/harness-infra-v2-kubernetes-infrastructure-v2-details-schema.json",
  "title": "infra_v2.KubernetesInfrastructureV2Details",
  "x-generated": "2026-10-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/harness-chaos-infrastructure-api-openapi.yml#/components/schemas/infra_v2.KubernetesInfrastructureV2Details",
  "type": "object",
  "properties": {
    "annotation": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "containers": {
      "type": "string"
    },
    "createdAt": {
      "type": "string"
    },
    "createdBy": {
      "$ref": "#/$defs/infra_v2.UserDetails"
    },
    "deploymentType": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "discoveryAgentID": {
      "type": "string"
    },
    "env": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/infra_v2.Env"
      }
    },
    "environmentID": {
      "type": "string"
    },
    "harnessInfraType": {
      "type": "string"
    },
    "identifier": {
      "$ref": "#/$defs/infra_v2.Identifiers"
    },
    "identity": {
      "type": "string"
    },
    "imageRegistry": {
      "$ref": "#/$defs/image_registry.ImageRegistryV2"
    },
    "infraID": {
      "type": "string"
    },
    "infraNamespace": {
      "type": "string"
    },
    "infraScope": {
      "$ref": "#/$defs/infra_v2.InfraScope"
    },
    "infraType": {
      "$ref": "#/$defs/infra_v2.InfraType"
    },
    "insecureSkipVerify": {
      "type": "boolean"
    },
    "installationType": {
      "$ref": "#/$defs/infra_v2.InstallationType"
    },
    "isAIEnabled": {
      "type": "boolean"
    },
    "isAutopilotEnabled": {
      "type": "boolean"
    },
    "isChaosEnabled": {
      "type": "boolean"
    },
    "k8sConnectorID": {
      "type": "string"
    },
    "label": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "lastHeartbeat": {
      "type": "integer"
    },
    "lastWorkflowTimestamp": {
      "type": "string"
    },
    "mtls": {
      "$ref": "#/$defs/infra_v2.MTLSConfiguration"
    },
    "name": {
      "type": "string"
    },
    "noOfSchedules": {
      "type": "integer"
    },
    "noOfWorkflows": {
      "type": "integer"
    },
    "nodeSelector": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "platformName": {
      "type": "string"
    },
    "proxy": {
      "$ref": "#/$defs/infra_v2.ProxyConfiguration"
    },
    "runAsGroup": {
      "type": "integer"
    },
    "runAsUser": {
      "type": "integer"
    },
    "serviceAccount": {
      "type": "string"
    },
    "status": {
      "$ref": "#/$defs/infra_v2.InfraStatus"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "tolerations": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/v1.Toleration"
      }
    },
    "updateStatus": {
      "$ref": "#/$defs/infra_v2.UpdateStatus"
    },
    "updatedAt": {
      "type": "string"
    },
    "updatedBy": {
      "$ref": "#/$defs/infra_v2.UserDetails"
    },
    "upgrade": {
      "$ref": "#/$defs/infra_v2.Upgrade"
    },
    "version": {
      "type": "string"
    },
    "volumeMounts": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/v1.VolumeMount"
      }
    },
    "volumes": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/infra_v2.Volumes"
      }
    }
  },
  "$defs": {
    "github_com_harness_hce-saas_hce-sdk_types_api_k8sifs_image_registry.ScopedIdentifiers": {
      "type": "object",
      "properties": {
        "accountIdentifier": {
          "description": "Harness AccountID",
          "type": "string"
        },
        "orgIdentifier": {
          "description": "Harness OrgID",
          "type": "string"
        },
        "projectIdentifier": {
          "description": "Harness projectID",
          "type": "string"
        }
      }
    },
    "image_registry.CustomImagesRequest": {
      "type": "object",
      "properties": {
        "ddcr": {
          "type": "string"
        },
        "ddcrFault": {
          "type": "string"
        },
        "ddcrLib": {
          "type": "string"
        },
        "logWatcher": {
          "type": "string"
        }
      }
    },
    "image_registry.ImageRegistryV2": {
      "type": "object",
      "properties": {
        "createdAt": {
          "type": "string"
        },
        "createdBy": {
          "$ref": "#/$defs/image_registry.UserDetails"
        },
        "customImages": {
          "$ref": "#/$defs/image_registry.CustomImagesRequest"
        },
        "identifier": {
          "$ref": "#/$defs/github_com_harness_hce-saas_hce-sdk_types_api_k8sifs_image_registry.ScopedIdentifiers"
        },
        "infraID": {
          "type": "string"
        },
        "isDefault": {
          "type": "boolean"
        },
        "isOverrideAllowed": {
          "type": "boolean"
        },
        "isPrivate": {
          "type": "boolean"
        },
        "registryAccount": {
          "type": "string"
        },
        "registryServer": {
          "type": "string"
        },
        "secretName": {
          "type": "string"
        },
        "updatedAt": {
          "type": "string"
        },
        "updatedBy": {
          "$ref": "#/$defs/image_registry.UserDetails"
        },
        "useCustomImages": {
          "type": "boolean"
        }
      }
    },
    "image_registry.UserDetails": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string"
        },
        "userID": {
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      }
    },
    "infra_v2.Env": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "valueFrom": {
          "$ref": "#/$defs/infra_v2.EnvValueFrom"
        }
      }
    },
    "infra_v2.EnvValueFrom": {
      "type": "string",
      "enum": [
        "configMapKeyRef",
        "secretKeyRef",
        "value",
        "valueFrom"
      ],
      "x-enum-varnames": [
        "EnvValueFromConfigMapKeyRef",
        "EnvValueFromSecretKeyRef",
        "EnvValueFromValue",
        "EnvValueFromValueFrom"
      ]
    },
    "infra_v2.Identifiers": {
      "type": "object",
      "properties": {
        "accountIdentifier": {
          "type": "string"
        },
        "orgIdentifier": {
          "type": "string"
        },
        "projectIdentifier": {
          "type": "string"
        }
      }
    },
    "infra_v2.InfraScope": {
      "type": "string",
      "enum": [
        "NAMESPACE",
        "CLUSTER"
      ],
      "x-enum-varnames": [
        "InfraScopeNamespace",
        "InfraScopeCluster"
      ]
    },
    "infra_v2.InfraStatus": {
      "type": "string",
      "enum": [
        "ACTIVE",
        "INACTIVE",
        "PENDING",
        "UPGRADING",
        "UPGRADE_REQUIRED"
      ],
      "x-enum-varnames": [
        "InfraStatusActive",
        "InfraStatusInactive",
        "InfraStatusPending",
        "InfraStatusUpgrading",
        "InfraStatusUpgradeRequired"
      ]
    },
    "infra_v2.InfraType": {
      "type": "string",
      "enum": [
        "KUBERNETES",
        "KUBERNETESV2"
      ],
      "x-enum-varnames": [
        "InfraTypeKubernetes",
        "InfraTypeKubernetesV2"
      ]
    },
    "infra_v2.InstallationType": {
      "type": "string",
      "enum": [
        "CONNECTOR",
        "MANIFEST",
        "CONNECTOR_V2"
      ],
      "x-enum-varnames": [
        "InstallationTypeConnector",
        "InstallationTypeManifest",
        "InstallationTypeConnectorV2"
      ]
    },
    "infra_v2.MTLSConfiguration": {
      "type": "object",
      "properties": {
        "certPath": {
          "type": "string"
        },
        "keyPath": {
          "type": "string"
        },
        "secretName": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      }
    },
    "infra_v2.ProxyConfiguration": {
      "type": "object",
      "properties": {
        "httpProxy": {
          "type": "string"
        },
        "httpsProxy": {
          "type": "string"
        },
        "noProxy": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      }
    },
    "infra_v2.UpdateStatus": {
      "type": "string",
      "enum": [
        "AVAILABLE",
        "MANDATORY",
        "NOT_REQUIRED"
      ],
      "x-enum-varnames": [
        "UpdateStatusAvailable",
        "UpdateStatusMandatory",
        "UpdateStatusNotRequired"
      ]
    },
    "infra_v2.Upgrade": {
      "type": "object",
      "properties": {
        "isAutoUpgradeEnabled": {
          "type": "boolean"
        },
        "status": {
          "$ref": "#/$defs/infra_v2.UpgradeStatus"
        }
      }
    },
    "infra_v2.UpgradeStatus": {
      "type": "string",
      "enum": [
        "UPGRADING_INFRA",
        "UPGRADE_SKIPPED",
        "UPGRADE_SUCCESSFUL",
        "UPGRADE_FAILED",
        "DETECTING_UPGRADER",
        "UPGRADER_DISABLED"
      ],
      "x-enum-varnames": [
        "UpgradeStatusUpgrading",
        "UpgradeStatusSkipped",
        "UpgradeStatusSuccessful",
        "UpgradeStatusFailed",
        "UpgradeStatusDetecting",
        "UpgradeStatusDisabled"
      ]
    },
    "infra_v2.UserDetails": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      }
    },
    "infra_v2.Volumes": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "sizeLimit": {
          "type": "string"
        }
      }
    },
    "v1.MountPropagationMode": {
      "type": "string",
      "enum": [
        "None",
        "HostToContainer",
        "Bidirectional"
      ],
      "x-enum-varnames": [
        "MountPropagationNone",
        "MountPropagationHostToContainer",
        "MountPropagationBidirectional"
      ]
    },
    "v1.TaintEffect": {
      "type": "string",
      "enum": [
        "NoSchedule",
        "PreferNoSchedule",
        "NoExecute"
      ],
      "x-enum-varnames": [
        "TaintEffectNoSchedule",
        "TaintEffectPreferNoSchedule",
        "TaintEffectNoExecute"
      ]
    },
    "v1.Toleration": {
      "type": "object",
      "properties": {
        "effect": {
          "description": "Effect indicates the taint effect to match. Empty means match all taint effects.\nWhen specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.TaintEffect"
            }
          ]
        },
        "key": {
          "description": "Key is the taint key that the toleration applies to. Empty means match all taint keys.\nIf the key is empty, operator must be Exists; this combination means to match all values and all keys.\n+optional",
          "type": "string"
        },
        "operator": {
          "description": "Operator represents a key's relationship to the value.\nValid operators are Exists and Equal. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category.\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.TolerationOperator"
            }
          ]
        },
        "tolerationSeconds": {
          "description": "TolerationSeconds represents the period of time the toleration (which must be\nof effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,\nit is not set, which means tolerate the taint forever (do not evict). Zero and\nnegative values will be treated as 0 (evict immediately) by the system.\n+optional",
          "type": "integer"
        },
        "value": {
          "description": "Value is the taint value the toleration matches to.\nIf the operator is Exists, the value should be empty, otherwise just a regular string.\n+optional",
          "type": "string"
        }
      }
    },
    "v1.TolerationOperator": {
      "type": "string",
      "enum": [
        "Exists",
        "Equal"
      ],
      "x-enum-varnames": [
        "TolerationOpExists",
        "TolerationOpEqual"
      ]
    },
    "v1.VolumeMount": {
      "type": "object",
      "properties": {
        "mountPath": {
          "description": "Path within the container at which the volume should be mounted.  Must\nnot contain ':'.",
          "type": "string"
        },
        "mountPropagation": {
          "description": "mountPropagation determines how mounts are propagated from the host\nto container and the other way around.\nWhen not set, MountPropagationNone is used.\nThis field is beta in 1.10.\n+optional",
          "allOf": [
            {
              "$ref": "#/$defs/v1.MountPropagationMode"
            }
          ]
        },
        "name": {
          "description": "This must match the Name of a Volume.",
          "type": "string"
        },
        "readOnly": {
          "description": "Mounted read-only if true, read-write otherwise (false or unspecified).\nDefaults to false.\n+optional",
          "type": "boolean"
        },
        "subPath": {
          "description": "Path within the volume from which the container's volume should be mounted.\nDefaults to \"\" (volume's root).\n+optional",
          "type": "string"
        },
        "subPathExpr": {
          "description": "Expanded path within the volume from which the container's volume should be mounted.\nBehaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.\nDefaults to \"\" (volume's root).\nSubPathExpr and SubPath are mutually exclusive.\n+optional",
          "type": "string"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/harness-infra-v2-kubernetes-infrastructure-v2-details"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.