UNPKG

eslint-plugin-json-schema-validator

Version:
1 lines 14.5 kB
{"$schema":"https://json-schema.org/draft-04/schema#","type":"object","definitions":{"httpRouter":{"type":"object","properties":{"entryPoints":{"type":"array","items":{"type":"string"}},"rule":{"type":"string"},"priority":{"type":"integer","default":0,"minimum":0},"middlewares":{"type":"array","items":{"type":"string"}},"service":{"type":"string"},"tls":{"type":"object","properties":{"options":{"type":"string"},"certResolver":{"type":"string"},"domains":{"type":"array","items":{"type":"object","properties":{"main":{"type":"string"},"sans":{"type":"array","items":{"type":"string"}}}}}}}},"required":["rule","service"]},"httpLoadBalancerService":{"type":"object","properties":{"servers":{"type":"array","minItems":1,"items":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"]}},"sticky":{"type":"object","properties":{"cookie":{"type":"object","properties":{"name":{"type":"string"},"secure":{"type":"boolean","default":false},"httpOnly":{"type":"boolean","default":false},"sameSite":{"type":"string","default":""}}}}},"healthCheck":{"type":"object","properties":{"path":{"type":"string"},"scheme":{"type":"string"},"hostname":{"type":"string"},"port":{"type":"integer"},"interval":{"type":"string"},"timeout":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}},"followRedirects":{"type":"boolean","default":true}}},"passHostHeader":{"type":"boolean","default":true},"responseForwarding":{"type":"object","properties":{"flushInterval":{"type":"string"}}}},"required":["servers"]},"httpWeightedService":{"type":"object","properties":{"services":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"weight":{"type":"number"}}}}}},"httpMirroringService":{"type":"object","properties":{"service":{"type":"string"},"maxBodySize":{"type":"integer","default":-1},"mirrors":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"percent":{"type":"number","minimum":0,"maximum":100}}}}}},"httpService":{"type":"object","oneOf":[{"properties":{"loadBalancer":{"$ref":"#/definitions/httpLoadBalancerService"}},"additionalProperties":false},{"properties":{"weighted":{"$ref":"#/definitions/httpWeightedService"}},"additionalProperties":false},{"properties":{"mirroring":{"$ref":"#/definitions/httpMirroringService"}},"additionalProperties":false}]},"addPrefixMiddleware":{"type":"object","properties":{"prefix":{"type":"string"}}},"basicAuthMiddleware":{"type":"object","properties":{"users":{"type":"array","items":{"type":"string"}},"usersFile":{"type":"string"},"realm":{"type":"string","default":"traefik"},"headerField":{"type":"string"},"removeHeader":{"type":"boolean","default":false}}},"bufferingMiddleware":{"type":"object","properties":{"maxRequestBodyBytes":{"type":"integer"},"memRequestBodyBytes":{"type":"integer"},"maxResponseBodyBytes":{"type":"integer"},"memResponseBodyBytes":{"type":"integer"},"retryExpression":{"type":"string"}}},"chainMiddleware":{"type":"object","properties":{"middlewares":{"type":"array","minItems":1,"items":{"type":"string"}}}},"circuitBreakerMiddleware":{"type":"object","properties":{"expression":{"type":"string"}}},"compressMiddleware":{"type":"object","properties":{"excludedContentTypes":{"type":"array","items":{"type":"string"}}}},"contentTypeMiddleware":{"type":"object","properties":{"autoDetect":{"type":"boolean","default":false}}},"digestAuthMiddleware":{"type":"object","properties":{"users":{"type":"array","items":{"type":"string"}},"usersFile":{"type":"string"},"realm":{"type":"string","default":"traefik"},"headerField":{"type":"string"},"removeHeader":{"type":"boolean","default":false}}},"errorsMiddleware":{"type":"object","properties":{"status":{"type":"array","items":{"type":"string"}},"service":{"type":"string"},"query":{"type":"string"}}},"forwardAuthMiddleware":{"type":"object","properties":{"address":{"type":"string"},"trustForwardHeader":{"type":"boolean"},"authResponseHeaders":{"type":"array","items":{"type":"string"}},"tls":{"type":"object","properties":{"ca":{"type":"string"},"caOptional":{"type":"boolean"},"cert":{"type":"string"},"key":{"type":"string"},"insecureSkipVerify":{"type":"boolean"}},"dependencies":{"caOptional":["ca"]}}}},"headersMiddleware":{"type":"object","properties":{"customRequestHeaders":{"type":"object","additionalProperties":{"type":"string"}},"customResponseHeaders":{"type":"object","additionalProperties":{"type":"string"}},"accessControlAllowCredentials":{"type":"boolean"},"accessControlAllowHeaders":{"type":"array","items":{"type":"string"}},"accessControlAllowMethods":{"type":"array","items":{"type":"string"}},"accessControlAllowOriginList":{"type":"array","items":{"type":"string"}},"accessControlExposeHeaders":{"type":"array","items":{"type":"string"}},"accessControlMaxAge":{"type":"integer"},"addVaryHeader":{"type":"boolean"},"allowedHosts":{"type":"array","items":{"type":"string"}},"hostsProxyHeaders":{"type":"array","items":{"type":"string"}},"sslRedirect":{"type":"boolean"},"sslTemporaryRedirect":{"type":"boolean"},"sslHost":{"type":"string"},"sslProxyHeaders":{"type":"object","additionalProperties":{"type":"string"}},"sslForceHost":{"type":"boolean"},"stsSeconds":{"type":"integer"},"stsIncludeSubdomains":{"type":"boolean"},"stsPreload":{"type":"boolean"},"forceSTSHeader":{"type":"boolean"},"frameDeny":{"type":"boolean"},"customFrameOptionsValue":{"type":"string"},"contentTypeNosniff":{"type":"boolean"},"browserXssFilter":{"type":"boolean"},"customBrowserXSSValue":{"type":"string"},"contentSecurityPolicy":{"type":"string"},"publicKey":{"type":"string"},"referrerPolicy":{"type":"string"},"featurePolicy":{"type":"string"},"isDevelopment":{"type":"boolean"}}},"ipStrategy":{"type":"object","properties":{"depth":{"type":"integer"},"excludedIPs":{"type":"array","items":{"type":"string"}}}},"ipWhiteListMiddleware":{"type":"object","properties":{"sourceRange":{"type":"array","items":{"type":"string"}},"ipStrategy":{"$ref":"#/definitions/ipStrategy"}}},"sourceCriterion":{"type":"object","properties":{"ipStrategy":{"$ref":"#/definitions/ipStrategy"},"requestHeaderName":{"type":"string"},"requestHost":{"type":"boolean"}}},"inFlightReqMiddleware":{"type":"object","properties":{"amount":{"type":"integer"},"sourceCriterion":{"$ref":"#/definitions/sourceCriterion"}}},"passTLSClientCertMiddleware":{"type":"object","properties":{"pem":{"type":"boolean"},"info":{"type":"object","properties":{"notAfter":{"type":"boolean"},"notBefore":{"type":"boolean"},"sans":{"type":"boolean"},"subject":{"type":"object","properties":{"country":{"type":"boolean"},"province":{"type":"boolean"},"locality":{"type":"boolean"},"organization":{"type":"boolean"},"commonName":{"type":"boolean"},"serialNumber":{"type":"boolean"},"domainComponent":{"type":"boolean"}}},"issuer":{"type":"object","properties":{"country":{"type":"boolean"},"province":{"type":"boolean"},"locality":{"type":"boolean"},"organization":{"type":"boolean"},"commonName":{"type":"boolean"},"serialNumber":{"type":"boolean"},"domainComponent":{"type":"boolean"}}}}}}},"pluginMiddleware":{"type":"object","additionalProperties":{"type":"object"}},"rateLimitMiddleware":{"type":"object","properties":{"average":{"type":"number","default":0},"period":{"type":"number","default":1},"burst":{"type":"number","default":1},"sourceCriterion":{"$ref":"#/definitions/sourceCriterion"}}},"redirectRegexMiddleware":{"type":"object","properties":{"permanent":{"type":"boolean"},"regex":{"type":"string"},"replacement":{"type":"string"}}},"redirectSchemeMiddleware":{"type":"object","properties":{"permanent":{"type":"boolean"},"scheme":{"type":"string"},"port":{"type":"string"}}},"replacePathMiddleware":{"type":"object","properties":{"path":{"type":"string"}}},"replacePathRegexMiddleware":{"type":"object","properties":{"regex":{"type":"string"},"replacement":{"type":"string"}}},"retryMiddleware":{"type":"object","properties":{"attempts":{"type":"integer"}},"required":["attempts"]},"stripPrefixMiddleware":{"type":"object","properties":{"prefixes":{"type":"array","items":{"type":"string"}},"forceSlash":{"type":"boolean"}}},"stripPrefixRegexMiddleware":{"type":"object","properties":{"regex":{"type":"array","items":{"type":"string"}}}},"httpMiddleware":{"type":"object","oneOf":[{"properties":{"addPrefix":{"$ref":"#/definitions/addPrefixMiddleware"}},"additionalProperties":false},{"properties":{"basicAuth":{"$ref":"#/definitions/basicAuthMiddleware"}},"additionalProperties":false},{"properties":{"buffering":{"$ref":"#/definitions/bufferingMiddleware"}},"additionalProperties":false},{"properties":{"chain":{"$ref":"#/definitions/chainMiddleware"}},"additionalProperties":false},{"properties":{"circuitBreaker":{"$ref":"#/definitions/circuitBreakerMiddleware"}},"additionalProperties":false},{"properties":{"compress":{"$ref":"#/definitions/compressMiddleware"}},"additionalProperties":false},{"properties":{"contentType":{"$ref":"#/definitions/contentTypeMiddleware"}},"additionalProperties":false},{"properties":{"digestAuth":{"$ref":"#/definitions/digestAuthMiddleware"}},"additionalProperties":false},{"properties":{"errors":{"$ref":"#/definitions/errorsMiddleware"}},"additionalProperties":false},{"properties":{"forwardAuth":{"$ref":"#/definitions/forwardAuthMiddleware"}},"additionalProperties":false},{"properties":{"headers":{"$ref":"#/definitions/headersMiddleware"}},"additionalProperties":false},{"properties":{"ipWhiteList":{"$ref":"#/definitions/ipWhiteListMiddleware"}},"additionalProperties":false},{"properties":{"inFlightReq":{"$ref":"#/definitions/inFlightReqMiddleware"}},"additionalProperties":false},{"properties":{"passTLSClientCert":{"$ref":"#/definitions/passTLSClientCertMiddleware"}},"additionalProperties":false},{"properties":{"plugin":{"$ref":"#/definitions/pluginMiddleware"}},"additionalProperties":false},{"properties":{"rateLimit":{"$ref":"#/definitions/rateLimitMiddleware"}},"additionalProperties":false},{"properties":{"redirectRegex":{"$ref":"#/definitions/redirectRegexMiddleware"}},"additionalProperties":false},{"properties":{"redirectScheme":{"$ref":"#/definitions/redirectSchemeMiddleware"}},"additionalProperties":false},{"properties":{"replacePath":{"$ref":"#/definitions/replacePathMiddleware"}},"additionalProperties":false},{"properties":{"replacePathRegex":{"$ref":"#/definitions/replacePathRegexMiddleware"}},"additionalProperties":false},{"properties":{"retry":{"$ref":"#/definitions/retryMiddleware"}},"additionalProperties":false},{"properties":{"stripPrefix":{"$ref":"#/definitions/stripPrefixMiddleware"}},"additionalProperties":false},{"properties":{"stripPrefixRegex":{"$ref":"#/definitions/stripPrefixRegexMiddleware"}},"additionalProperties":false}]},"tcpRouter":{"type":"object","properties":{"entryPoints":{"type":"array","items":{"type":"string"}},"rule":{"type":"string"},"service":{"type":"string"},"tls":{"type":"object","properties":{"passthrough":{"type":"boolean","default":false},"options":{"type":"string"},"certResolver":{"type":"string"},"domains":{"type":"array","items":{"type":"object","properties":{"main":{"type":"string"},"sans":{"type":"array","items":{"type":"string"}}}}}}}},"required":["rule","service"]},"tcpLoadBalancerService":{"type":"object","properties":{"servers":{"type":"array","minItems":1,"items":{"type":"object","properties":{"address":{"type":"string"}},"required":["address"]}},"terminationDelay":{"type":"number","default":100}},"required":["servers"]},"tcpWeightedService":{"type":"object","properties":{"weighted":{"type":"object","properties":{"services":{"type":"object","properties":{"name":{"type":"string"},"weight":{"type":"number"}},"required":["name","weight"]}},"required":["services"]}}},"tcpService":{"type":"object","oneOf":[{"properties":{"loadBalancer":{"$ref":"#/definitions/tcpLoadBalancerService"}},"additionalProperties":false},{"properties":{"weighted":{"$ref":"#/definitions/tcpWeightedService"}},"additionalProperties":false}]},"udpRouter":{"type":"object","properties":{"entryPoints":{"type":"array","items":{"type":"string"}},"service":{"type":"string"}},"required":["service"]},"udpLoadBalancerService":{"type":"object","properties":{"servers":{"type":"array","minItems":1,"items":{"type":"object","properties":{"address":{"type":"string"}},"required":["address"]}}},"required":["servers"]},"udpWeightedService":{"type":"object","properties":{"weighted":{"type":"object","properties":{"services":{"type":"object","properties":{"name":{"type":"string"},"weight":{"type":"number"}},"required":["name","weight"]}},"required":["services"]}}},"udpService":{"type":"object","oneOf":[{"properties":{"loadBalancer":{"$ref":"#/definitions/udpLoadBalancerService"}},"additionalProperties":false},{"properties":{"weighted":{"$ref":"#/definitions/udpWeightedService"}},"additionalProperties":false}]}},"properties":{"http":{"type":"object","properties":{"routers":{"type":"object","additionalProperties":{"$ref":"#/definitions/httpRouter"}},"services":{"type":"object","additionalProperties":{"$ref":"#/definitions/httpService"}},"middlewares":{"type":"object","additionalProperties":{"$ref":"#/definitions/httpMiddleware"}}}},"tcp":{"type":"object","properties":{"routers":{"type":"object","additionalProperties":{"$ref":"#/definitions/tcpRouter"}},"services":{"type":"object","additionalProperties":{"$ref":"#/definitions/tcpService"}}}},"udp":{"type":"object","properties":{"routers":{"type":"object","additionalProperties":{"$ref":"#/definitions/udpRouter"}},"services":{"type":"object","additionalProperties":{"$ref":"#/definitions/udpService"}}}},"tls":{"type":"object","properties":{"certificates":{"type":"array","items":{"type":"object","properties":{"certFile":{"type":"string"},"keyFile":{"type":"string"},"stores":{"type":"array","items":{"type":"string"}}}}},"options":{"type":"object","additionalProperties":{"type":"object","properties":{"minVersion":{"type":"string"},"maxVersion":{"type":"string"},"cipherSuites":{"type":"array","items":{"type":"string"}},"curvePreferences":{"type":"array","items":{"type":"string"}},"sniStrict":{"type":"boolean"},"preferServerCipherSuites":{"type":"boolean"},"clientAuth":{"type":"object","properties":{"caFiles":{"type":"array","items":{"type":"string"}},"clientAuthType":{"type":"string"}}}}}},"stores":{"type":"object","additionalProperties":{"type":"object","properties":{"defaultCertificate":{"type":"object","properties":{"certFile":{"type":"string"},"keyFile":{"type":"string"}}}}}}}}}}