json_schema: {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "required": [
          "config"
      ],
      "properties": {
          "config": {
              "type": "object",
              "required": [
                  "general"
              ],
              "properties": {
                  "general": {
                      "type": "object",
                      "properties": {
                          "planFilePath": {
                              "type": "string"
                          },
                          "plan": {
                              "type": "object"
                          },
                          "executorsPath": {
                              "type": "string"
                          },
                          "notifiersPath": {
                              "type": "string"
                          },
                          "triggersPath": {
                              "type": "string"
                          },
                          "modulesPath": {
                              "type": "string"
                          },
                          "crypto": {
                              "type": "object",
                              "properties": {
                                  "algorithm": {
                                      "type": "string"
                                  },
                                  "iv": {
                                      "type": "string"
                                  }
                              }
                          },
                          "api": {
                              "type": "object",
                              "anyOf": [
                                  {
                                      "required": [
                                          "port"
                                      ],
                                      "properties": {
                                          "port": {
                                              "type": [
                                                  "number"
                                              ]
                                          },
                                          "users": {
                                              "type": "array"
                                          },
                                          "secret": {
                                              "type": "string"
                                          },
                                          "limite_req": {
                                              "type": "string"
                                          },
                                          "token_expiration_time": {
                                              "type": "number"
                                          },
                                          "log_display_level": {
                                              "type": "string",
                                              "pattern": "(combined|common|dev|short|tiny)"
                                          },
                                          "chainsFieldsResponse": {
                                              "type": "array"
                                          },
                                          "processFieldsResponse": {
                                              "type": "array"
                                          },
                                          "cors": {
                                              "type": "object",
                                              "properties": {
                                                  "origin": {
                                                      "type": [
                                                          "boolean",
                                                          "string",
                                                          "array",
                                                          "object"
                                                      ]
                                                  },
                                                  "methods": {
                                                      "type": [
                                                          "array",
                                                          "string"
                                                      ]
                                                  },
                                                  "allowedHeaders": {
                                                      "type": [
                                                          "array",
                                                          "string"
                                                      ]
                                                  },
                                                  "exposedHeaders": {
                                                      "type": [
                                                          "array",
                                                          "string"
                                                      ]
                                                  },
                                                  "credentials": {
                                                      "type": "boolean"
                                                  },
                                                  "maxAge": {
                                                      "type": "number"
                                                  },
                                                  "preflightContinue": {
                                                      "type": "boolean"
                                                  },
                                                  "optionsSuccessStatus": {
                                                      "type": "number"
                                                  }
                                              }
                                          }
                                      }
                                  },
                                  {
                                      "required": [
                                          "unix_socket"
                                      ],
                                      "properties": {
                                          "unix_socket": {
                                              "type": "string"
                                          },
                                          "users": {
                                              "type": "array"
                                          },
                                          "secret": {
                                              "type": "string"
                                          },
                                          "limite_req": {
                                              "type": "string"
                                          },
                                          "token_expiration_time": {
                                              "type": "number"
                                          },
                                          "log_display_level": {
                                              "type": "string",
                                              "pattern": "(combined|common|dev|short|tiny)"
                                          },
                                          "chainsFieldsResponse": {
                                              "type": "array"
                                          },
                                          "processFieldsResponse": {
                                              "type": "array"
                                          },
                                          "cors": {
                                              "type": "object",
                                              "properties": {
                                                  "origin": {
                                                      "type": [
                                                          "boolean",
                                                          "string",
                                                          "array",
                                                          "object"
                                                      ]
                                                  },
                                                  "methods": {
                                                      "type": [
                                                          "array",
                                                          "string"
                                                      ]
                                                  },
                                                  "allowedHeaders": {
                                                      "type": [
                                                          "array",
                                                          "string"
                                                      ]
                                                  },
                                                  "exposedHeaders": {
                                                      "type": [
                                                          "array",
                                                          "string"
                                                      ]
                                                  },
                                                  "credentials": {
                                                      "type": "boolean"
                                                  },
                                                  "maxAge": {
                                                      "type": "number"
                                                  },
                                                  "preflightContinue": {
                                                      "type": "boolean"
                                                  },
                                                  "optionsSuccessStatus": {
                                                      "type": "number"
                                                  }
                                              }
                                          }
                                      }
                                  },
                                  {
                                      "required": [
                                          "port",
                                          "ssl"
                                      ],
                                      "properties": {
                                          "port": {
                                              "type": [
                                                  "string"
                                              ]
                                          },
                                          "ssl": {
                                              "type": "boolean"
                                          },
                                          "key": {
                                              "type": "string"
                                          },
                                          "cert": {
                                              "type": "string"
                                          },
                                          "users": {
                                              "type": "array"
                                          },
                                          "secret": {
                                              "type": "string"
                                          },
                                          "limite_req": {
                                              "type": "string"
                                          },
                                          "token_expiration_time": {
                                              "type": "number"
                                          },
                                          "log_display_level": {
                                              "type": "string",
                                              "pattern": "(combined|common|dev|short|tiny)"
                                          },
                                          "chainsFieldsResponse": {
                                              "type": "array"
                                          },
                                          "processFieldsResponse": {
                                              "type": "array"
                                          },
                                          "cors": {
                                              "type": "object",
                                              "properties": {
                                                  "origin": {
                                                      "type": [
                                                          "boolean",
                                                          "string",
                                                          "array",
                                                          "object"
                                                      ]
                                                  },
                                                  "methods": {
                                                      "type": [
                                                          "array",
                                                          "string"
                                                      ]
                                                  },
                                                  "allowedHeaders": {
                                                      "type": [
                                                          "array",
                                                          "string"
                                                      ]
                                                  },
                                                  "exposedHeaders": {
                                                      "type": [
                                                          "array",
                                                          "string"
                                                      ]
                                                  },
                                                  "credentials": {
                                                      "type": "boolean"
                                                  },
                                                  "maxAge": {
                                                      "type": "number"
                                                  },
                                                  "preflightContinue": {
                                                      "type": "boolean"
                                                  },
                                                  "optionsSuccessStatus": {
                                                      "type": "number"
                                                  }
                                              }
                                          }
                                      }
                                  }
                              ]
                          },
                          "servers": {
                              "type": "array",
                              "items": {
                                  "type": "object",
                                  "anyOf": [
                                      {
                                          "required": [
                                              "id",
                                              "endpoint",
                                              "port"
                                          ],
                                          "properties": {
                                              "id": {
                                                  "type": [
                                                      "string"
                                                  ]
                                              },
                                              "endpoint": {
                                                  "type": [
                                                      "string"
                                                  ]
                                              },
                                              "port": {
                                                  "type": [
                                                      "number"
                                                  ]
                                              },
                                              "secret": {
                                                  "type": "string"
                                              },
                                              "limite_req": {
                                                  "type": "string"
                                              },
                                              "token_expiration_time": {
                                                  "type": "number"
                                              },
                                              "log_display_level": {
                                                  "type": "string",
                                                  "pattern": "(combined|common|dev|short|tiny)"
                                              }
                                          }
                                      },
                                      {
                                          "required": [
                                              "id",
                                              "endpoint",
                                              "unix_socket"
                                          ],
                                          "properties": {
                                              "id": {
                                                  "type": [
                                                      "string"
                                                  ]
                                              },
                                              "endpoint": {
                                                  "type": [
                                                      "string"
                                                  ]
                                              },
                                              "unix_socket": {
                                                  "type": "string"
                                              },
                                              "secret": {
                                                  "type": "string"
                                              },
                                              "limite_req": {
                                                  "type": "string"
                                              },
                                              "token_expiration_time": {
                                                  "type": "number"
                                              },
                                              "log_display_level": {
                                                  "type": "string",
                                                  "pattern": "(combined|common|dev|short|tiny)"
                                              }
                                          }
                                      },
                                      {
                                          "required": [
                                              "id",
                                              "endpoint",
                                              "port",
                                              "ssl"
                                          ],
                                          "properties": {
                                              "id": {
                                                  "type": [
                                                      "string"
                                                  ]
                                              },
                                              "endpoint": {
                                                  "type": [
                                                      "string"
                                                  ]
                                              },
                                              "port": {
                                                  "type": [
                                                      "string"
                                                  ]
                                              },
                                              "ssl": {
                                                  "type": "boolean"
                                              },
                                              "key": {
                                                  "type": "string"
                                              },
                                              "cert": {
                                                  "type": "string"
                                              },
                                              "secret": {
                                                  "type": "string"
                                              },
                                              "limite_req": {
                                                  "type": "string"
                                              },
                                              "token_expiration_time": {
                                                  "type": "number"
                                              },
                                              "log_display_level": {
                                                  "type": "string",
                                                  "pattern": "(combined|common|dev|short|tiny)"
                                              }
                                          }
                                      }
                                  ]
                              }
                          },
                          "queues": {
                              "type": "object",
                              "properties": {
                                  "refreshInterval": {
                                      "type": "number"
                                  }
                              }
                          },
                          "runnerty.io": {
                              "type": "object",
                              "required": [
                                  "apikey"
                              ],
                              "properties": {
                                  "apikey": {
                                      "type": "string"
                                  },
                                  "disable": {
                                      "type": "boolean"
                                  },
                                  "host": {
                                      "type": "string"
                                  },
                                  "healthChecker": {
                                      "type": "boolean"
                                  },
                                  "remoteControl": {
                                      "type": "boolean"
                                  },
                                  "debug": {
                                      "type": "boolean"
                                  }
                              }
                          }
                      }
                  },
                  "triggers": {
                      "type": "array"
                  },
                  "executors": {
                      "type": "array"
                  },
                  "notifiers": {
                      "type": "array"
                  },
                  "global_values": {
                      "type": "array",
                      "items": {
                          "type": "object"
                      }
                  }
              }
          }
      }
  }