{
  "description": "TektonPipeline is the Schema for the tektonpipelines API",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore 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.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore 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": "TektonPipelineSpec defines the desired state of TektonPipeline",
      "properties": {
        "await-sidecar-readiness": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "bundles-resolver-config": {
          "additionalProperties": {
            "type": "string"
          },
          "type": [
            "object",
            "null"
          ]
        },
        "cluster-resolver-config": {
          "additionalProperties": {
            "type": "string"
          },
          "type": [
            "object",
            "null"
          ]
        },
        "config": {
          "additionalProperties": false,
          "description": "Config holds the configuration for resources created by TektonPipeline",
          "properties": {
            "nodeSelector": {
              "additionalProperties": {
                "type": "string"
              },
              "type": [
                "object",
                "null"
              ]
            },
            "priorityClassName": {
              "description": "PriorityClassName holds the priority class to be set to pod template",
              "type": [
                "string",
                "null"
              ]
            },
            "tolerations": {
              "items": {
                "additionalProperties": false,
                "description": "The pod this Toleration is attached to tolerates any taint that matches\nthe triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.",
                "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.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "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.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "operator": {
                    "description": "Operator represents a key's relationship to the value.\nValid operators are Exists, Equal, Lt, and Gt. Defaults to Equal.\nExists is equivalent to wildcard for value, so that a pod can\ntolerate all taints of a particular category.\nLt and Gt perform numeric comparisons (requires feature gate TaintTolerationComparisonOperators).",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "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.",
                    "format": "int64",
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "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.",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "type": [
                "array",
                "null"
              ]
            }
          },
          "type": [
            "object",
            "null"
          ]
        },
        "coschedule": {
          "type": [
            "string",
            "null"
          ]
        },
        "default-affinity-assistant-pod-template": {
          "type": [
            "string",
            "null"
          ]
        },
        "default-cloud-events-sink": {
          "type": [
            "string",
            "null"
          ]
        },
        "default-forbidden-env": {
          "type": [
            "string",
            "null"
          ]
        },
        "default-managed-by-label-value": {
          "type": [
            "string",
            "null"
          ]
        },
        "default-max-matrix-combinations-count": {
          "type": [
            "string",
            "null"
          ]
        },
        "default-pod-template": {
          "type": [
            "string",
            "null"
          ]
        },
        "default-resolver-type": {
          "type": [
            "string",
            "null"
          ]
        },
        "default-service-account": {
          "type": [
            "string",
            "null"
          ]
        },
        "default-task-run-workspace-binding": {
          "type": [
            "string",
            "null"
          ]
        },
        "default-timeout-minutes": {
          "type": [
            "integer",
            "null"
          ]
        },
        "disable-affinity-assistant": {
          "description": "Deprecated: DisableAffinityAssistant is deprecated and no longer used.\nThis field is removed from pipeline component.\nKeeping here to maintain API compatibility during upgrades.",
          "type": [
            "boolean",
            "null"
          ]
        },
        "disable-creds-init": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "disable-inline-spec": {
          "type": [
            "string",
            "null"
          ]
        },
        "embedded-status": {
          "type": [
            "string",
            "null"
          ]
        },
        "enable-api-fields": {
          "type": [
            "string",
            "null"
          ]
        },
        "enable-bundles-resolver": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "enable-cel-in-whenexpression": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "enable-cluster-resolver": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "enable-custom-tasks": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "enable-git-resolver": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "enable-hub-resolver": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "enable-param-enum": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "enable-provenance-in-status": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "enable-step-actions": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "enable-tekton-oci-bundles": {
          "description": "not in use, see: https://github.com/tektoncd/pipeline/pull/7789\nthis field is removed from pipeline component\nkeeping here to maintain the API compatibility",
          "type": [
            "boolean",
            "null"
          ]
        },
        "enforce-nonfalsifiability": {
          "type": [
            "string",
            "null"
          ]
        },
        "git-resolver-config": {
          "additionalProperties": {
            "type": "string"
          },
          "type": [
            "object",
            "null"
          ]
        },
        "hub-resolver-config": {
          "additionalProperties": {
            "type": "string"
          },
          "type": [
            "object",
            "null"
          ]
        },
        "keep-pod-on-cancel": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "max-result-size": {
          "format": "int32",
          "type": [
            "integer",
            "null"
          ]
        },
        "metrics.count.enable-reason": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "metrics.pipelinerun.duration-type": {
          "type": [
            "string",
            "null"
          ]
        },
        "metrics.pipelinerun.level": {
          "type": [
            "string",
            "null"
          ]
        },
        "metrics.taskrun.duration-type": {
          "type": [
            "string",
            "null"
          ]
        },
        "metrics.taskrun.level": {
          "type": [
            "string",
            "null"
          ]
        },
        "options": {
          "additionalProperties": false,
          "description": "options holds additions fields and these fields will be updated on the manifests",
          "properties": {
            "configMaps": {
              "x-kubernetes-preserve-unknown-fields": true
            },
            "deployments": {
              "x-kubernetes-preserve-unknown-fields": true
            },
            "disabled": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "horizontalPodAutoscalers": {
              "x-kubernetes-preserve-unknown-fields": true
            },
            "statefulSets": {
              "x-kubernetes-preserve-unknown-fields": true
            },
            "webhookConfigurationOptions": {
              "additionalProperties": {
                "additionalProperties": false,
                "description": "WebhookOptions defines options for webhooks",
                "properties": {
                  "failurePolicy": {
                    "description": "FailurePolicyType specifies a failure policy that defines how unrecognized errors from the admission endpoint are handled.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "sideEffects": {
                    "description": "SideEffectClass specifies the types of side effects a webhook may have.",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "timeoutSeconds": {
                    "format": "int32",
                    "type": [
                      "integer",
                      "null"
                    ]
                  }
                },
                "type": "object"
              },
              "type": [
                "object",
                "null"
              ]
            }
          },
          "type": "object"
        },
        "params": {
          "description": "The params to customize different components of Pipelines",
          "items": {
            "additionalProperties": false,
            "description": "Param declares an string value to use for the parameter called name.",
            "properties": {
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "value": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "performance": {
          "additionalProperties": false,
          "description": "PerformanceProperties defines the fields which are configurable\nto tune the performance of component controller",
          "properties": {
            "buckets": {
              "type": [
                "integer",
                "null"
              ]
            },
            "disable-ha": {
              "description": "if it is true, disables the HA feature",
              "type": "boolean"
            },
            "kube-api-burst": {
              "type": [
                "integer",
                "null"
              ]
            },
            "kube-api-qps": {
              "description": "queries per second (QPS) and burst to the master from rest API client\nactually the number multiplied by 2\nhttps://github.com/pierretasci/pipeline/blob/05d67e427c722a2a57e58328d7097e21429b7524/cmd/controller/main.go#L85-L87\ndefaults: https://github.com/tektoncd/pipeline/blob/34618964300620dca44d10a595e4af84e9903a55/vendor/k8s.io/client-go/rest/config.go#L45-L46",
              "type": [
                "number",
                "null"
              ]
            },
            "replicas": {
              "format": "int32",
              "type": [
                "integer",
                "null"
              ]
            },
            "statefulset-ordinals": {
              "description": "if is true, enable StatefulsetOrdinals mode",
              "type": [
                "boolean",
                "null"
              ]
            },
            "threads-per-controller": {
              "description": "The number of workers to use when processing the component controller's work queue",
              "type": [
                "integer",
                "null"
              ]
            }
          },
          "required": [
            "disable-ha"
          ],
          "type": [
            "object",
            "null"
          ]
        },
        "require-git-ssh-secret-known-hosts": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "results-from": {
          "type": [
            "string",
            "null"
          ]
        },
        "running-in-environment-with-injected-sidecars": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "scope-when-expressions-to-task": {
          "description": "ScopeWhenExpressionsToTask is deprecated and never used.",
          "type": [
            "boolean",
            "null"
          ]
        },
        "send-cloudevents-for-runs": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "set-security-context": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "targetNamespace": {
          "description": "TargetNamespace is where resources will be installed",
          "type": [
            "string",
            "null"
          ]
        },
        "traces.credentialsSecret": {
          "description": "CredentialsSecret is the name of the secret containing credentials for the tracing endpoint",
          "type": [
            "string",
            "null"
          ]
        },
        "traces.enabled": {
          "description": "Enabled controls whether tracing is enabled or not",
          "type": [
            "boolean",
            "null"
          ]
        },
        "traces.endpoint": {
          "description": "Endpoint is the URL for the OpenTelemetry trace collector",
          "type": [
            "string",
            "null"
          ]
        },
        "trusted-resources-verification-no-match-policy": {
          "type": [
            "string",
            "null"
          ]
        },
        "verification-mode": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "options"
      ],
      "type": [
        "object",
        "null"
      ]
    },
    "status": {
      "additionalProperties": false,
      "description": "TektonPipelineStatus defines the observed state of TektonPipeline",
      "properties": {
        "annotations": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Annotations is additional Status fields for the Resource to save some\nadditional State as well as convey more information to the user. This is\nroughly akin to Annotations on any k8s resource, just the reconciler conveying\nricher information outwards.",
          "type": [
            "object",
            "null"
          ]
        },
        "conditions": {
          "description": "Conditions the latest available observations of a resource's current state.",
          "items": {
            "additionalProperties": false,
            "description": "Condition defines a readiness condition for a Knative resource.\nSee: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties",
            "properties": {
              "lastTransitionTime": {
                "description": "LastTransitionTime is the last time the condition transitioned from one status to another.\nWe use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic\ndifferences (all other things held constant).",
                "type": [
                  "string",
                  "null"
                ]
              },
              "message": {
                "description": "A human readable message indicating details about the transition.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "reason": {
                "description": "The reason for the condition's last transition.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "severity": {
                "description": "Severity with which to treat failures of this type of condition.\nWhen this is not specified, it defaults to Error.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "description": "Status of the condition, one of True, False, Unknown.",
                "type": "string"
              },
              "type": {
                "description": "Type of condition.",
                "type": "string"
              }
            },
            "required": [
              "status",
              "type"
            ],
            "type": "object"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "extTektonInstallerSets": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The installer sets created for extension components",
          "type": [
            "object",
            "null"
          ]
        },
        "observedGeneration": {
          "description": "ObservedGeneration is the 'Generation' of the Service that\nwas last processed by the controller.",
          "format": "int64",
          "type": [
            "integer",
            "null"
          ]
        },
        "tektonInstallerSet": {
          "description": "The current installer set name for TektonPipeline",
          "type": [
            "string",
            "null"
          ]
        },
        "version": {
          "description": "The version of the installed release",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    }
  },
  "type": "object"
}