{
  "description": "TektonResult is the Schema for the tektonresults 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": "TektonResultSpec defines the desired state of TektonResult",
      "properties": {
        "auth_disable": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "auth_impersonate": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "config": {
          "additionalProperties": false,
          "description": "Config holds the configuration for resources created by TektonResult",
          "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"
          ]
        },
        "db_enable_auto_migration": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "db_host": {
          "type": [
            "string",
            "null"
          ]
        },
        "db_name": {
          "type": [
            "string",
            "null"
          ]
        },
        "db_port": {
          "format": "int64",
          "type": [
            "integer",
            "null"
          ]
        },
        "db_secret_name": {
          "type": [
            "string",
            "null"
          ]
        },
        "db_secret_password_key": {
          "type": [
            "string",
            "null"
          ]
        },
        "db_secret_user_key": {
          "type": [
            "string",
            "null"
          ]
        },
        "db_sslmode": {
          "type": [
            "string",
            "null"
          ]
        },
        "db_sslrootcert": {
          "type": [
            "string",
            "null"
          ]
        },
        "disabled": {
          "description": "enable or disable Result Component",
          "type": "boolean"
        },
        "gcs_bucket_name": {
          "type": [
            "string",
            "null"
          ]
        },
        "gcs_creds_secret_key": {
          "type": [
            "string",
            "null"
          ]
        },
        "gcs_creds_secret_name": {
          "type": [
            "string",
            "null"
          ]
        },
        "is_external_db": {
          "type": "boolean"
        },
        "log_level": {
          "type": [
            "string",
            "null"
          ]
        },
        "logging_plugin_api_url": {
          "type": [
            "string",
            "null"
          ]
        },
        "logging_plugin_ca_cert": {
          "type": [
            "string",
            "null"
          ]
        },
        "logging_plugin_forwarder_delay_duration": {
          "type": [
            "integer",
            "null"
          ]
        },
        "logging_plugin_multipart_regex": {
          "type": [
            "string",
            "null"
          ]
        },
        "logging_plugin_namespace_key": {
          "type": [
            "string",
            "null"
          ]
        },
        "logging_plugin_proxy_path": {
          "type": [
            "string",
            "null"
          ]
        },
        "logging_plugin_query_limit": {
          "type": [
            "integer",
            "null"
          ]
        },
        "logging_plugin_query_params": {
          "type": [
            "string",
            "null"
          ]
        },
        "logging_plugin_static_labels": {
          "type": [
            "string",
            "null"
          ]
        },
        "logging_plugin_tls_verification_disable": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "logging_plugin_token_path": {
          "type": [
            "string",
            "null"
          ]
        },
        "logging_pvc_name": {
          "type": [
            "string",
            "null"
          ]
        },
        "logs_api": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "logs_buffer_size": {
          "format": "int64",
          "type": [
            "integer",
            "null"
          ]
        },
        "logs_path": {
          "type": [
            "string",
            "null"
          ]
        },
        "logs_type": {
          "type": [
            "string",
            "null"
          ]
        },
        "loki_stack_name": {
          "type": [
            "string",
            "null"
          ]
        },
        "loki_stack_namespace": {
          "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"
        },
        "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"
          ]
        },
        "prometheus_histogram": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "prometheus_port": {
          "format": "int64",
          "type": [
            "integer",
            "null"
          ]
        },
        "route_enabled": {
          "description": "Route configuration for Results API service exposure",
          "type": [
            "boolean",
            "null"
          ]
        },
        "route_host": {
          "type": [
            "string",
            "null"
          ]
        },
        "route_path": {
          "type": [
            "string",
            "null"
          ]
        },
        "route_tls_termination": {
          "type": [
            "string",
            "null"
          ]
        },
        "secret_name": {
          "description": "name of the secret used to get S3 credentials and\npass it as environment variables to the \"tekton-results-api\" deployment under \"api\" container",
          "type": [
            "string",
            "null"
          ]
        },
        "server_port": {
          "format": "int64",
          "type": [
            "integer",
            "null"
          ]
        },
        "storage_emulator_host": {
          "type": [
            "string",
            "null"
          ]
        },
        "targetNamespace": {
          "description": "TargetNamespace is where resources will be installed",
          "type": [
            "string",
            "null"
          ]
        },
        "tls_hostname_override": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "disabled",
        "is_external_db",
        "options"
      ],
      "type": [
        "object",
        "null"
      ]
    },
    "status": {
      "additionalProperties": false,
      "description": "TektonResultStatus defines the observed state of TektonResult",
      "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"
          ]
        },
        "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 TektonResult",
          "type": [
            "string",
            "null"
          ]
        },
        "version": {
          "description": "The version of the installed release",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    }
  },
  "type": "object"
}