<commit_before>{
  "$schema": "http://json-schema.org/draft-04/hyper-schema#",
  "type": "object",
  "title": "Schema for creating deployment",
  "id": "#app-version-v1",
  "properties": {
    "meta-info": {
      "$ref": "#/definitions/meta-info"
    },
    "deployment":{
      "$ref": "#/definitions/deployment"
    },
    "proxy":{
      "$ref": "#/definitions/proxy"
    },
    "templates": {
      "$ref": "#/definitions/templates"
    },
    "security": {
      "$ref": "#/definitions/security"
    },
    "notifications": {
      "$ref": "#/definitions/notifications"
    }
  },
  "required": ["meta-info"],
  "additionalProperties": false,
  "definitions":{
    "meta-info": {
      "properties": {
        "git": {
          "$ref": "#/definitions/git"
        },
        "job-id": {
          "type": "string",
          "maxLength": 100
        }
      },
      "additionalProperties": false
    },
    "git": {
      "properties": {
        "owner": {
          "type": "string",
          "maxLength": 100
        },
        "repo": {
          "type": "string",
          "maxLength": 100
        },
        "ref": {
          "type": "string",
          "maxLength": 100
        },
        "commit": {
          "type": "string",
          "maxLength": 100
        }
      },
      "additionalProperties": false
    },
    "deployment": {
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 512
        },
        "version": {
          "type": "string",
          "maxLength": 100
        },
        "type": {
          "enum": [ "blue-green", "red-green", "a/b", "custom"]
        },
        "nodes": {
          "type": "number",
          "maximum": 12,
          "minimum": 1
        },
        "check": {
          "$ref": "#/definitions/deployment-check"
        }
      },
      "additionalProperties": false
    },
    "deployment-check": {
      "properties": {
        "min-nodes": {
          "type": "number",
          "description": "Minimum number of nodes for deployment. (Used for deployment check)",
          "minimum": 1
        },
        "port": {
          "type": "number",
          "description": "Application internal Port to be used for discover check",
          "minimum": 1
        }
      },
      "additionalProperties": false
    },
    "proxy": {
      "type": "object",
      "properties": {
        "hosts": {
          "description": "Hosts associated with the proxy",
          "patternProperties": {
            ".*": {
              "$ref": "#/definitions/host"
            }
          }
        },
        "upstreams": {
          "description": "Backends associated with the proxy",
          "patternProperties": {
            ".*": {
              "$ref": "#/definitions/upstream"
            }
          }
        },
        "listeners":{
          "description": "TCP Listeners associated with proxy (for tcp based proxy)",
          "patternProperties": {
            ".*": {
              "$ref": "#/definitions/listener"
            }
          }
        }
      },
      "additionalProperties": false
    },

    "host": {
      "description": "Proxy Host definition",
      "type": "object",
      "properties": {
        "hostname": {
          "description": "Hostname(s) to be registered with proxy. If multiple hosts needs to be specified, separate them using comma or space",
          "type": "string",
          "pattern": "^[a-zA-Z0-9\\-.\\s]+$"
        },<commit_msg>Allow comma for hostname (multi host separator)<commit_after>{
  "$schema": "http://json-schema.org/draft-04/hyper-schema#",
  "type": "object",
  "title": "Schema for creating deployment",
  "id": "#app-version-v1",
  "properties": {
    "meta-info": {
      "$ref": "#/definitions/meta-info"
    },
    "deployment":{
      "$ref": "#/definitions/deployment"
    },
    "proxy":{
      "$ref": "#/definitions/proxy"
    },
    "templates": {
      "$ref": "#/definitions/templates"
    },
    "security": {
      "$ref": "#/definitions/security"
    },
    "notifications": {
      "$ref": "#/definitions/notifications"
    }
  },
  "required": ["meta-info"],
  "additionalProperties": false,
  "definitions":{
    "meta-info": {
      "properties": {
        "git": {
          "$ref": "#/definitions/git"
        },
        "job-id": {
          "type": "string",
          "maxLength": 100
        }
      },
      "additionalProperties": false
    },
    "git": {
      "properties": {
        "owner": {
          "type": "string",
          "maxLength": 100
        },
        "repo": {
          "type": "string",
          "maxLength": 100
        },
        "ref": {
          "type": "string",
          "maxLength": 100
        },
        "commit": {
          "type": "string",
          "maxLength": 100
        }
      },
      "additionalProperties": false
    },
    "deployment": {
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 512
        },
        "version": {
          "type": "string",
          "maxLength": 100
        },
        "type": {
          "enum": [ "blue-green", "red-green", "a/b", "custom"]
        },
        "nodes": {
          "type": "number",
          "maximum": 12,
          "minimum": 1
        },
        "check": {
          "$ref": "#/definitions/deployment-check"
        }
      },
      "additionalProperties": false
    },
    "deployment-check": {
      "properties": {
        "min-nodes": {
          "type": "number",
          "description": "Minimum number of nodes for deployment. (Used for deployment check)",
          "minimum": 1
        },
        "port": {
          "type": "number",
          "description": "Application internal Port to be used for discover check",
          "minimum": 1
        }
      },
      "additionalProperties": false
    },
    "proxy": {
      "type": "object",
      "properties": {
        "hosts": {
          "description": "Hosts associated with the proxy",
          "patternProperties": {
            ".*": {
              "$ref": "#/definitions/host"
            }
          }
        },
        "upstreams": {
          "description": "Backends associated with the proxy",
          "patternProperties": {
            ".*": {
              "$ref": "#/definitions/upstream"
            }
          }
        },
        "listeners":{
          "description": "TCP Listeners associated with proxy (for tcp based proxy)",
          "patternProperties": {
            ".*": {
              "$ref": "#/definitions/listener"
            }
          }
        }
      },
      "additionalProperties": false
    },

    "host": {
      "description": "Proxy Host definition",
      "type": "object",
      "properties": {
        "hostname": {
          "description": "Hostname(s) to be registered with proxy. If multiple hosts needs to be specified, separate them using comma or space",
          "type": "string",
          "pattern": "^[a-zA-Z0-9\\-.\\s,]+$"
        },
{'fraction_non_alphanumeric': 0.1783521347993717, 'fraction_numerical': 0.008853348564900757, 'mean_word_length': 1.538600942370424, 'pattern_counts': {'":': 196, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3367480', 'n_tokens_mistral': 2099, 'n_tokens_neox': 2027, 'n_words': 426}