{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "apiVersion": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "properties": {
        "basicAuthSecretName": {
          "type": "string"
        },
        "caBundle": {
          "format": "byte",
          "type": "string"
        },
        "clientSecret": {
          "properties": {
            "name": {
              "type": "string"
            },
            "namespace": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "disableSameOriginCheck": {
          "type": "boolean"
        },
        "enabled": {
          "type": "boolean"
        },
        "exponentialBackOffValues": {
          "properties": {
            "maxRetries": {
              "type": "integer"
            },
            "maxWait": {
              "type": "integer"
            },
            "minWait": {
              "type": "integer"
            }
          },
          "type": "object"
        },
        "forceUpdate": {
          "format": "date-time",
          "type": "string"
        },
        "gitBranch": {
          "type": "string"
        },
        "gitRepo": {
          "type": "string"
        },
        "insecurePlainHttp": {
          "type": "boolean"
        },
        "insecureSkipTLSVerify": {
          "type": "boolean"
        },
        "refreshInterval": {
          "type": "integer"
        },
        "serviceAccount": {
          "type": "string"
        },
        "serviceAccountNamespace": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "status": {
      "properties": {
        "branch": {
          "type": "string"
        },
        "commit": {
          "type": "string"
        },
        "conditions": {
          "items": {
            "properties": {
              "lastTransitionTime": {
                "type": "string"
              },
              "lastUpdateTime": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "reason": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "type"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "downloadTime": {
          "format": "date-time",
          "type": "string"
        },
        "indexConfigMapName": {
          "type": "string"
        },
        "indexConfigMapNamespace": {
          "type": "string"
        },
        "indexConfigMapResourceVersion": {
          "type": "string"
        },
        "nextRetryAt": {
          "format": "date-time",
          "type": "string"
        },
        "numberOfRetries": {
          "type": "integer"
        },
        "observedGeneration": {
          "format": "int64",
          "type": "integer"
        },
        "shouldNotSkip": {
          "type": "boolean"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "observedGeneration"
      ],
      "type": "object"
    }
  },
  "required": [
    "spec"
  ],
  "type": "object"
}
