{
  "description": "Executor is the Schema for the executors API",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": [
        "string",
        "null"
      ]
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": [
        "string",
        "null"
      ]
    },
    "metadata": {
      "type": [
        "object",
        "null"
      ]
    },
    "spec": {
      "additionalProperties": false,
      "description": "ExecutorSpec defines the desired state of Executor",
      "properties": {
        "args": {
          "description": "executor binary arguments",
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "command": {
          "description": "executor default binary command",
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "content_types": {
          "description": "ContentTypes list of handled content types",
          "items": {
            "enum": [
              "string",
              "file-uri",
              "git-file",
              "git-dir",
              "git"
            ],
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "executor_type": {
          "description": "ExecutorType one of \"rest\" for rest openapi based executors or \"job\" which will be default runners for testkube or \"container\" for container executors",
          "enum": [
            "job",
            "container"
          ],
          "type": [
            "string",
            "null"
          ]
        },
        "features": {
          "description": "Features list of possible features which executor handles",
          "items": {
            "enum": [
              "artifacts",
              "junit-report"
            ],
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "image": {
          "description": "Image for kube-job",
          "type": [
            "string",
            "null"
          ]
        },
        "imagePullSecrets": {
          "description": "container executor default image pull secrets",
          "items": {
            "additionalProperties": false,
            "description": "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.",
            "properties": {
              "name": {
                "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: Add other useful fields. apiVersion, kind, uid?",
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "jobTemplateReference": {
          "description": "name of the template resource",
          "type": [
            "string",
            "null"
          ]
        },
        "job_template": {
          "description": "Job template to launch executor",
          "type": [
            "string",
            "null"
          ]
        },
        "meta": {
          "additionalProperties": false,
          "description": "Meta data about executor",
          "properties": {
            "docsURI": {
              "description": "URI for executor docs",
              "type": [
                "string",
                "null"
              ]
            },
            "iconURI": {
              "description": "URI for executor icon",
              "type": [
                "string",
                "null"
              ]
            },
            "tooltips": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "executor tooltips",
              "type": [
                "object",
                "null"
              ]
            }
          },
          "type": [
            "object",
            "null"
          ]
        },
        "slaves": {
          "additionalProperties": false,
          "description": "Slaves data to run test in distributed environment",
          "properties": {
            "image": {
              "type": "string"
            }
          },
          "required": [
            "image"
          ],
          "type": [
            "object",
            "null"
          ]
        },
        "types": {
          "description": "Types defines what types can be handled by executor e.g. \"postman/collection\", \":curl/command\" etc",
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "uri": {
          "description": "URI for rest based executors",
          "type": [
            "string",
            "null"
          ]
        },
        "useDataDirAsWorkingDir": {
          "description": "use data dir as working dir for executor",
          "type": [
            "boolean",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    },
    "status": {
      "description": "ExecutorStatus defines the observed state of Executor",
      "type": [
        "object",
        "null"
      ]
    }
  },
  "type": "object"
}