{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "apiVersion": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "properties": {
        "controllers": {
          "properties": {
            "loadBalancer": {
              "properties": {
                "assignIPs": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "namespace": {
              "properties": {
                "reconcilerPeriod": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "node": {
              "properties": {
                "hostEndpoint": {
                  "properties": {
                    "autoCreate": {
                      "type": "string"
                    },
                    "createDefaultHostEndpoint": {
                      "type": "string"
                    },
                    "templates": {
                      "items": {
                        "properties": {
                          "generateName": {
                            "type": "string"
                          },
                          "interfaceCIDRs": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "labels": {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "type": "object"
                          },
                          "nodeSelector": {
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                },
                "leakGracePeriod": {
                  "type": "string"
                },
                "reconcilerPeriod": {
                  "type": "string"
                },
                "syncLabels": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "policy": {
              "properties": {
                "reconcilerPeriod": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "serviceAccount": {
              "properties": {
                "reconcilerPeriod": {
                  "type": "string"
                }
              },
              "type": "object"
            },
            "workloadEndpoint": {
              "properties": {
                "reconcilerPeriod": {
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "debugProfilePort": {
          "format": "int32",
          "type": "integer"
        },
        "etcdV3CompactionPeriod": {
          "type": "string"
        },
        "healthChecks": {
          "type": "string"
        },
        "logSeverityScreen": {
          "type": "string"
        },
        "prometheusMetricsPort": {
          "type": "integer"
        }
      },
      "required": [
        "controllers"
      ],
      "type": "object"
    },
    "status": {
      "properties": {
        "environmentVars": {
          "additionalProperties": {
            "type": "string"
          },
          "type": "object"
        },
        "runningConfig": {
          "properties": {
            "controllers": {
              "properties": {
                "loadBalancer": {
                  "properties": {
                    "assignIPs": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "namespace": {
                  "properties": {
                    "reconcilerPeriod": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "node": {
                  "properties": {
                    "hostEndpoint": {
                      "properties": {
                        "autoCreate": {
                          "type": "string"
                        },
                        "createDefaultHostEndpoint": {
                          "type": "string"
                        },
                        "templates": {
                          "items": {
                            "properties": {
                              "generateName": {
                                "type": "string"
                              },
                              "interfaceCIDRs": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "labels": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": "object"
                              },
                              "nodeSelector": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    "leakGracePeriod": {
                      "type": "string"
                    },
                    "reconcilerPeriod": {
                      "type": "string"
                    },
                    "syncLabels": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "policy": {
                  "properties": {
                    "reconcilerPeriod": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "serviceAccount": {
                  "properties": {
                    "reconcilerPeriod": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "workloadEndpoint": {
                  "properties": {
                    "reconcilerPeriod": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            },
            "debugProfilePort": {
              "format": "int32",
              "type": "integer"
            },
            "etcdV3CompactionPeriod": {
              "type": "string"
            },
            "healthChecks": {
              "type": "string"
            },
            "logSeverityScreen": {
              "type": "string"
            },
            "prometheusMetricsPort": {
              "type": "integer"
            }
          },
          "required": [
            "controllers"
          ],
          "type": "object"
        }
      },
      "type": "object"
    }
  },
  "type": "object"
}
