1829 lines
39 KiB
JSON
1829 lines
39 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "https://json.schemastore.org/traefik-v3.json",
|
|
"$defs": {
|
|
"CertificateResolverTailscaleStruct": {
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
},
|
|
"acmeConfiguration": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"caCertificates": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"caServer": {
|
|
"type": "string"
|
|
},
|
|
"caServerName": {
|
|
"type": "string"
|
|
},
|
|
"caSystemCertPool": {
|
|
"type": "boolean"
|
|
},
|
|
"certificatesDuration": {
|
|
"type": "integer"
|
|
},
|
|
"dnsChallenge": {
|
|
"$ref": "#/$defs/acmeDNSChallenge"
|
|
},
|
|
"eab": {
|
|
"$ref": "#/$defs/acmeEAB"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"httpChallenge": {
|
|
"$ref": "#/$defs/acmeHTTPChallenge"
|
|
},
|
|
"keyType": {
|
|
"type": "string"
|
|
},
|
|
"preferredChain": {
|
|
"type": "string"
|
|
},
|
|
"storage": {
|
|
"type": "string"
|
|
},
|
|
"tlsChallenge": {
|
|
"$ref": "#/$defs/acmeTLSChallenge"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"acmeDNSChallenge": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"delayBeforeCheck": {
|
|
"type": "string"
|
|
},
|
|
"disablePropagationCheck": {
|
|
"type": "boolean"
|
|
},
|
|
"propagation": {
|
|
"$ref": "#/$defs/acmePropagation"
|
|
},
|
|
"provider": {
|
|
"type": "string"
|
|
},
|
|
"resolvers": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"acmeEAB": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"hmacEncoded": {
|
|
"type": "string"
|
|
},
|
|
"kid": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"acmeHTTPChallenge": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"entryPoint": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"acmePropagation": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"delayBeforeChecks": {
|
|
"type": "string"
|
|
},
|
|
"disableANSChecks": {
|
|
"type": "boolean"
|
|
},
|
|
"disableChecks": {
|
|
"type": "boolean"
|
|
},
|
|
"requireAllRNS": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"acmeTLSChallenge": {
|
|
"additionalProperties": false,
|
|
"type": "object"
|
|
},
|
|
"consulProviderBuilder": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"endpoints": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"namespaces": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"rootKey": {
|
|
"type": "string"
|
|
},
|
|
"tls": {
|
|
"$ref": "#/$defs/typesClientTLS"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"consulcatalogEndpointConfig": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"datacenter": {
|
|
"type": "string"
|
|
},
|
|
"endpointWaitTime": {
|
|
"type": "string"
|
|
},
|
|
"httpAuth": {
|
|
"$ref": "#/$defs/consulcatalogEndpointHTTPAuthConfig"
|
|
},
|
|
"scheme": {
|
|
"type": "string"
|
|
},
|
|
"tls": {
|
|
"$ref": "#/$defs/typesClientTLS"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"consulcatalogEndpointHTTPAuthConfig": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"consulcatalogProviderBuilder": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"cache": {
|
|
"type": "boolean"
|
|
},
|
|
"connectAware": {
|
|
"type": "boolean"
|
|
},
|
|
"connectByDefault": {
|
|
"type": "boolean"
|
|
},
|
|
"constraints": {
|
|
"type": "string"
|
|
},
|
|
"defaultRule": {
|
|
"type": "string"
|
|
},
|
|
"endpoint": {
|
|
"$ref": "#/$defs/consulcatalogEndpointConfig"
|
|
},
|
|
"exposedByDefault": {
|
|
"type": "boolean"
|
|
},
|
|
"namespaces": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"prefix": {
|
|
"type": "string"
|
|
},
|
|
"refreshInterval": {
|
|
"type": "string"
|
|
},
|
|
"requireConsistent": {
|
|
"type": "boolean"
|
|
},
|
|
"serviceName": {
|
|
"type": "string"
|
|
},
|
|
"stale": {
|
|
"type": "boolean"
|
|
},
|
|
"strictChecks": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"watch": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"crdProvider": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"allowCrossNamespace": {
|
|
"type": "boolean"
|
|
},
|
|
"allowEmptyServices": {
|
|
"type": "boolean"
|
|
},
|
|
"allowExternalNameServices": {
|
|
"type": "boolean"
|
|
},
|
|
"certAuthFilePath": {
|
|
"type": "string"
|
|
},
|
|
"disableClusterScopeResources": {
|
|
"type": "boolean"
|
|
},
|
|
"endpoint": {
|
|
"type": "string"
|
|
},
|
|
"ingressClass": {
|
|
"type": "string"
|
|
},
|
|
"labelSelector": {
|
|
"type": "string"
|
|
},
|
|
"namespaces": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"nativeLBByDefault": {
|
|
"type": "boolean"
|
|
},
|
|
"throttleDuration": {
|
|
"type": "string"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"dockerProvider": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"allowEmptyServices": {
|
|
"type": "boolean"
|
|
},
|
|
"constraints": {
|
|
"type": "string"
|
|
},
|
|
"defaultRule": {
|
|
"type": "string"
|
|
},
|
|
"endpoint": {
|
|
"type": "string"
|
|
},
|
|
"exposedByDefault": {
|
|
"type": "boolean"
|
|
},
|
|
"httpClientTimeout": {
|
|
"type": "string"
|
|
},
|
|
"network": {
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"tls": {
|
|
"$ref": "#/$defs/typesClientTLS"
|
|
},
|
|
"useBindPortIP": {
|
|
"type": "boolean"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"watch": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"dockerSwarmProvider": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"allowEmptyServices": {
|
|
"type": "boolean"
|
|
},
|
|
"constraints": {
|
|
"type": "string"
|
|
},
|
|
"defaultRule": {
|
|
"type": "string"
|
|
},
|
|
"endpoint": {
|
|
"type": "string"
|
|
},
|
|
"exposedByDefault": {
|
|
"type": "boolean"
|
|
},
|
|
"httpClientTimeout": {
|
|
"type": "string"
|
|
},
|
|
"network": {
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"refreshSeconds": {
|
|
"type": "string"
|
|
},
|
|
"tls": {
|
|
"$ref": "#/$defs/typesClientTLS"
|
|
},
|
|
"useBindPortIP": {
|
|
"type": "boolean"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
},
|
|
"watch": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ecsProvider": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"accessKeyID": {
|
|
"type": "string"
|
|
},
|
|
"autoDiscoverClusters": {
|
|
"type": "boolean"
|
|
},
|
|
"clusters": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"constraints": {
|
|
"type": "string"
|
|
},
|
|
"defaultRule": {
|
|
"type": "string"
|
|
},
|
|
"ecsAnywhere": {
|
|
"type": "boolean"
|
|
},
|
|
"exposedByDefault": {
|
|
"type": "boolean"
|
|
},
|
|
"healthyTasksOnly": {
|
|
"type": "boolean"
|
|
},
|
|
"refreshSeconds": {
|
|
"type": "integer"
|
|
},
|
|
"region": {
|
|
"type": "string"
|
|
},
|
|
"secretAccessKey": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"etcdProvider": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"endpoints": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"rootKey": {
|
|
"type": "string"
|
|
},
|
|
"tls": {
|
|
"$ref": "#/$defs/typesClientTLS"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"fileProvider": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"debugLogGeneratedTemplate": {
|
|
"type": "boolean"
|
|
},
|
|
"directory": {
|
|
"type": "string"
|
|
},
|
|
"filename": {
|
|
"type": "string"
|
|
},
|
|
"watch": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"gatewayProvider": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"certAuthFilePath": {
|
|
"type": "string"
|
|
},
|
|
"endpoint": {
|
|
"type": "string"
|
|
},
|
|
"experimentalChannel": {
|
|
"type": "boolean"
|
|
},
|
|
"labelSelector": {
|
|
"type": "string"
|
|
},
|
|
"namespaces": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"nativeLBByDefault": {
|
|
"type": "boolean"
|
|
},
|
|
"statusAddress": {
|
|
"$ref": "#/$defs/gatewayStatusAddress"
|
|
},
|
|
"throttleDuration": {
|
|
"type": "string"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"gatewayServiceRef": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"namespace": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"gatewayStatusAddress": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"hostname": {
|
|
"type": "string"
|
|
},
|
|
"ip": {
|
|
"type": "string"
|
|
},
|
|
"service": {
|
|
"$ref": "#/$defs/gatewayServiceRef"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"httpProvider": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"endpoint": {
|
|
"type": "string"
|
|
},
|
|
"headers": {
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"pollInterval": {
|
|
"type": "string"
|
|
},
|
|
"pollTimeout": {
|
|
"type": "string"
|
|
},
|
|
"tls": {
|
|
"$ref": "#/$defs/typesClientTLS"
|
|
}
|
|
},
|
|
"required": ["endpoint"],
|
|
"type": "object"
|
|
},
|
|
"ingressEndpointIngress": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"hostname": {
|
|
"type": "string"
|
|
},
|
|
"ip": {
|
|
"type": "string"
|
|
},
|
|
"publishedService": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ingressProvider": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"allowEmptyServices": {
|
|
"type": "boolean"
|
|
},
|
|
"allowExternalNameServices": {
|
|
"type": "boolean"
|
|
},
|
|
"certAuthFilePath": {
|
|
"type": "string"
|
|
},
|
|
"disableClusterScopeResources": {
|
|
"type": "boolean"
|
|
},
|
|
"disableIngressClassLookup": {
|
|
"type": "boolean"
|
|
},
|
|
"endpoint": {
|
|
"type": "string"
|
|
},
|
|
"ingressClass": {
|
|
"type": "string"
|
|
},
|
|
"ingressEndpoint": {
|
|
"$ref": "#/$defs/ingressEndpointIngress"
|
|
},
|
|
"labelSelector": {
|
|
"type": "string"
|
|
},
|
|
"namespaces": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"nativeLBByDefault": {
|
|
"type": "boolean"
|
|
},
|
|
"throttleDuration": {
|
|
"type": "string"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"nomadEndpointConfig": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"endpointWaitTime": {
|
|
"type": "string"
|
|
},
|
|
"region": {
|
|
"type": "string"
|
|
},
|
|
"tls": {
|
|
"$ref": "#/$defs/typesClientTLS"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"nomadProviderBuilder": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"allowEmptyServices": {
|
|
"type": "boolean"
|
|
},
|
|
"constraints": {
|
|
"type": "string"
|
|
},
|
|
"defaultRule": {
|
|
"type": "string"
|
|
},
|
|
"endpoint": {
|
|
"$ref": "#/$defs/nomadEndpointConfig"
|
|
},
|
|
"exposedByDefault": {
|
|
"type": "boolean"
|
|
},
|
|
"namespaces": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"prefix": {
|
|
"type": "string"
|
|
},
|
|
"refreshInterval": {
|
|
"type": "string"
|
|
},
|
|
"stale": {
|
|
"type": "boolean"
|
|
},
|
|
"throttleDuration": {
|
|
"type": "string"
|
|
},
|
|
"watch": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"pingHandler": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"entryPoint": {
|
|
"type": "string"
|
|
},
|
|
"manualRouting": {
|
|
"type": "boolean"
|
|
},
|
|
"terminatingStatusCode": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"pluginsDescriptor": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"moduleName": {
|
|
"type": "string"
|
|
},
|
|
"settings": {
|
|
"$ref": "#/$defs/pluginsSettings"
|
|
},
|
|
"version": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"pluginsLocalDescriptor": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"moduleName": {
|
|
"type": "string"
|
|
},
|
|
"settings": {
|
|
"$ref": "#/$defs/pluginsSettings"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"pluginsSettings": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"envs": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"mounts": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"redisProvider": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"db": {
|
|
"type": "integer"
|
|
},
|
|
"endpoints": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"rootKey": {
|
|
"type": "string"
|
|
},
|
|
"sentinel": {
|
|
"$ref": "#/$defs/redisSentinel"
|
|
},
|
|
"tls": {
|
|
"$ref": "#/$defs/typesClientTLS"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"redisSentinel": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"latencyStrategy": {
|
|
"type": "boolean"
|
|
},
|
|
"masterName": {
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"randomStrategy": {
|
|
"type": "boolean"
|
|
},
|
|
"replicaStrategy": {
|
|
"type": "boolean"
|
|
},
|
|
"useDisconnectedReplicas": {
|
|
"type": "boolean"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"restProvider": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"insecure": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticAPI": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"basePath": {
|
|
"type": "string"
|
|
},
|
|
"dashboard": {
|
|
"type": "boolean"
|
|
},
|
|
"debug": {
|
|
"type": "boolean"
|
|
},
|
|
"disableDashboardAd": {
|
|
"type": "boolean"
|
|
},
|
|
"insecure": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticCertificateResolver": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"acme": {
|
|
"$ref": "#/$defs/acmeConfiguration"
|
|
},
|
|
"tailscale": {
|
|
"$ref": "#/$defs/CertificateResolverTailscaleStruct"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticCore": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"defaultRuleSyntax": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticEntryPoint": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"allowACMEByPass": {
|
|
"type": "boolean"
|
|
},
|
|
"asDefault": {
|
|
"type": "boolean"
|
|
},
|
|
"forwardedHeaders": {
|
|
"$ref": "#/$defs/staticForwardedHeaders"
|
|
},
|
|
"http": {
|
|
"$ref": "#/$defs/staticHTTPConfig"
|
|
},
|
|
"http2": {
|
|
"$ref": "#/$defs/staticHTTP2Config"
|
|
},
|
|
"http3": {
|
|
"$ref": "#/$defs/staticHTTP3Config"
|
|
},
|
|
"observability": {
|
|
"$ref": "#/$defs/staticObservabilityConfig"
|
|
},
|
|
"proxyProtocol": {
|
|
"$ref": "#/$defs/staticProxyProtocol"
|
|
},
|
|
"reusePort": {
|
|
"type": "boolean"
|
|
},
|
|
"transport": {
|
|
"$ref": "#/$defs/staticEntryPointsTransport"
|
|
},
|
|
"udp": {
|
|
"$ref": "#/$defs/staticUDPConfig"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticEntryPointsTransport": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"keepAliveMaxRequests": {
|
|
"type": "integer"
|
|
},
|
|
"keepAliveMaxTime": {
|
|
"type": "string"
|
|
},
|
|
"lifeCycle": {
|
|
"$ref": "#/$defs/staticLifeCycle"
|
|
},
|
|
"respondingTimeouts": {
|
|
"$ref": "#/$defs/staticRespondingTimeouts"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticExperimental": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"abortOnPluginFailure": {
|
|
"type": "boolean"
|
|
},
|
|
"fastProxy": {
|
|
"$ref": "#/$defs/staticFastProxyConfig"
|
|
},
|
|
"kubernetesGateway": {
|
|
"type": "boolean"
|
|
},
|
|
"localPlugins": {
|
|
"additionalProperties": {
|
|
"$ref": "#/$defs/pluginsLocalDescriptor"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"otlplogs": {
|
|
"type": "boolean"
|
|
},
|
|
"plugins": {
|
|
"additionalProperties": {
|
|
"$ref": "#/$defs/pluginsDescriptor"
|
|
},
|
|
"type": "object"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticFastProxyConfig": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"debug": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticForwardedHeaders": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"connection": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"insecure": {
|
|
"type": "boolean"
|
|
},
|
|
"trustedIPs": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticForwardingTimeouts": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"dialTimeout": {
|
|
"type": "string"
|
|
},
|
|
"idleConnTimeout": {
|
|
"type": "string"
|
|
},
|
|
"responseHeaderTimeout": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticGlobal": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"checkNewVersion": {
|
|
"type": "boolean"
|
|
},
|
|
"sendAnonymousUsage": {
|
|
"type": "boolean"
|
|
},
|
|
"updaterCallbacks": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticHTTP2Config": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"maxConcurrentStreams": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticHTTP3Config": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"advertisedPort": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticHTTPConfig": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"encodeQuerySemicolons": {
|
|
"type": "boolean"
|
|
},
|
|
"maxHeaderBytes": {
|
|
"type": "integer"
|
|
},
|
|
"middlewares": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"redirections": {
|
|
"$ref": "#/$defs/staticRedirections"
|
|
},
|
|
"tls": {
|
|
"$ref": "#/$defs/staticTLSConfig"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticLifeCycle": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"graceTimeOut": {
|
|
"type": "string"
|
|
},
|
|
"requestAcceptGraceTimeout": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticObservabilityConfig": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"accessLogs": {
|
|
"type": "boolean"
|
|
},
|
|
"metrics": {
|
|
"type": "boolean"
|
|
},
|
|
"tracing": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticProviders": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"consul": {
|
|
"$ref": "#/$defs/consulProviderBuilder"
|
|
},
|
|
"consulCatalog": {
|
|
"$ref": "#/$defs/consulcatalogProviderBuilder"
|
|
},
|
|
"docker": {
|
|
"$ref": "#/$defs/dockerProvider"
|
|
},
|
|
"ecs": {
|
|
"$ref": "#/$defs/ecsProvider"
|
|
},
|
|
"etcd": {
|
|
"$ref": "#/$defs/etcdProvider"
|
|
},
|
|
"file": {
|
|
"$ref": "#/$defs/fileProvider"
|
|
},
|
|
"http": {
|
|
"$ref": "#/$defs/httpProvider"
|
|
},
|
|
"kubernetesCRD": {
|
|
"$ref": "#/$defs/crdProvider"
|
|
},
|
|
"kubernetesGateway": {
|
|
"$ref": "#/$defs/gatewayProvider"
|
|
},
|
|
"kubernetesIngress": {
|
|
"$ref": "#/$defs/ingressProvider"
|
|
},
|
|
"nomad": {
|
|
"$ref": "#/$defs/nomadProviderBuilder"
|
|
},
|
|
"plugin": {
|
|
"additionalProperties": {
|
|
"additionalProperties": {},
|
|
"type": "object"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"providersThrottleDuration": {
|
|
"type": "string"
|
|
},
|
|
"redis": {
|
|
"$ref": "#/$defs/redisProvider"
|
|
},
|
|
"rest": {
|
|
"$ref": "#/$defs/restProvider"
|
|
},
|
|
"swarm": {
|
|
"$ref": "#/$defs/dockerSwarmProvider"
|
|
},
|
|
"zooKeeper": {
|
|
"$ref": "#/$defs/zkProvider"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticProxyProtocol": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"insecure": {
|
|
"type": "boolean"
|
|
},
|
|
"trustedIPs": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticRedirectEntryPoint": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"permanent": {
|
|
"type": "boolean"
|
|
},
|
|
"priority": {
|
|
"type": "integer"
|
|
},
|
|
"scheme": {
|
|
"type": "string"
|
|
},
|
|
"to": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticRedirections": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"entryPoint": {
|
|
"$ref": "#/$defs/staticRedirectEntryPoint"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticRespondingTimeouts": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"idleTimeout": {
|
|
"type": "string"
|
|
},
|
|
"readTimeout": {
|
|
"type": "string"
|
|
},
|
|
"writeTimeout": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticServersTransport": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"forwardingTimeouts": {
|
|
"$ref": "#/$defs/staticForwardingTimeouts"
|
|
},
|
|
"insecureSkipVerify": {
|
|
"type": "boolean"
|
|
},
|
|
"maxIdleConnsPerHost": {
|
|
"type": "integer"
|
|
},
|
|
"rootCAs": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"spiffe": {
|
|
"$ref": "#/$defs/staticSpiffe"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticSpiffe": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"ids": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"trustDomain": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticSpiffeClientConfig": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"workloadAPIAddr": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticTCPServersTransport": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"dialKeepAlive": {
|
|
"type": "string"
|
|
},
|
|
"dialTimeout": {
|
|
"type": "string"
|
|
},
|
|
"terminationDelay": {
|
|
"type": "string"
|
|
},
|
|
"tls": {
|
|
"$ref": "#/$defs/staticTLSClientConfig"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticTLSClientConfig": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"insecureSkipVerify": {
|
|
"type": "boolean"
|
|
},
|
|
"rootCAs": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"spiffe": {
|
|
"$ref": "#/$defs/staticSpiffe"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticTLSConfig": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"certResolver": {
|
|
"type": "string"
|
|
},
|
|
"domains": {
|
|
"items": {
|
|
"$ref": "#/$defs/typesDomain"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"options": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticTracing": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"addInternals": {
|
|
"type": "boolean"
|
|
},
|
|
"capturedRequestHeaders": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"capturedResponseHeaders": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"globalAttributes": {
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"otlp": {
|
|
"$ref": "#/$defs/typesOTelTracing"
|
|
},
|
|
"resourceAttributes": {
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"safeQueryParams": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"sampleRate": {
|
|
"type": "number"
|
|
},
|
|
"serviceName": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"staticUDPConfig": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"timeout": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesAccessLog": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"addInternals": {
|
|
"type": "boolean"
|
|
},
|
|
"bufferingSize": {
|
|
"type": "integer"
|
|
},
|
|
"fields": {
|
|
"$ref": "#/$defs/typesAccessLogFields"
|
|
},
|
|
"filePath": {
|
|
"type": "string"
|
|
},
|
|
"filters": {
|
|
"$ref": "#/$defs/typesAccessLogFilters"
|
|
},
|
|
"format": {
|
|
"type": "string"
|
|
},
|
|
"otlp": {
|
|
"$ref": "#/$defs/typesOTelLog"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesAccessLogFields": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"defaultMode": {
|
|
"type": "string"
|
|
},
|
|
"headers": {
|
|
"$ref": "#/$defs/typesFieldHeaders"
|
|
},
|
|
"names": {
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesAccessLogFilters": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"minDuration": {
|
|
"type": "string"
|
|
},
|
|
"retryAttempts": {
|
|
"type": "boolean"
|
|
},
|
|
"statusCodes": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesClientTLS": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"ca": {
|
|
"type": "string"
|
|
},
|
|
"cert": {
|
|
"type": "string"
|
|
},
|
|
"insecureSkipVerify": {
|
|
"type": "boolean"
|
|
},
|
|
"key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesDatadog": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"addEntryPointsLabels": {
|
|
"type": "boolean"
|
|
},
|
|
"addRoutersLabels": {
|
|
"type": "boolean"
|
|
},
|
|
"addServicesLabels": {
|
|
"type": "boolean"
|
|
},
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"prefix": {
|
|
"type": "string"
|
|
},
|
|
"pushInterval": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesDomain": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"main": {
|
|
"type": "string"
|
|
},
|
|
"sans": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesFieldHeaders": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"defaultMode": {
|
|
"type": "string"
|
|
},
|
|
"names": {
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesHostResolverConfig": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"cnameFlattening": {
|
|
"type": "boolean"
|
|
},
|
|
"resolvConfig": {
|
|
"type": "string"
|
|
},
|
|
"resolvDepth": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesInfluxDB2": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"addEntryPointsLabels": {
|
|
"type": "boolean"
|
|
},
|
|
"addRoutersLabels": {
|
|
"type": "boolean"
|
|
},
|
|
"addServicesLabels": {
|
|
"type": "boolean"
|
|
},
|
|
"additionalLabels": {
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"bucket": {
|
|
"type": "string"
|
|
},
|
|
"org": {
|
|
"type": "string"
|
|
},
|
|
"pushInterval": {
|
|
"type": "string"
|
|
},
|
|
"token": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesMetrics": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"addInternals": {
|
|
"type": "boolean"
|
|
},
|
|
"datadog": {
|
|
"$ref": "#/$defs/typesDatadog"
|
|
},
|
|
"influxDB2": {
|
|
"$ref": "#/$defs/typesInfluxDB2"
|
|
},
|
|
"otlp": {
|
|
"$ref": "#/$defs/typesOTLP"
|
|
},
|
|
"prometheus": {
|
|
"$ref": "#/$defs/typesPrometheus"
|
|
},
|
|
"statsD": {
|
|
"$ref": "#/$defs/typesStatsd"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesOTLP": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"addEntryPointsLabels": {
|
|
"type": "boolean"
|
|
},
|
|
"addRoutersLabels": {
|
|
"type": "boolean"
|
|
},
|
|
"addServicesLabels": {
|
|
"type": "boolean"
|
|
},
|
|
"explicitBoundaries": {
|
|
"items": {
|
|
"type": "number"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"grpc": {
|
|
"$ref": "#/$defs/typesOTelGRPC"
|
|
},
|
|
"http": {
|
|
"$ref": "#/$defs/typesOTelHTTP"
|
|
},
|
|
"pushInterval": {
|
|
"type": "string"
|
|
},
|
|
"serviceName": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesOTelGRPC": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"endpoint": {
|
|
"type": "string"
|
|
},
|
|
"headers": {
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"insecure": {
|
|
"type": "boolean"
|
|
},
|
|
"tls": {
|
|
"$ref": "#/$defs/typesClientTLS"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesOTelHTTP": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"endpoint": {
|
|
"type": "string"
|
|
},
|
|
"headers": {
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"tls": {
|
|
"$ref": "#/$defs/typesClientTLS"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesOTelLog": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"grpc": {
|
|
"$ref": "#/$defs/typesOTelGRPC"
|
|
},
|
|
"http": {
|
|
"$ref": "#/$defs/typesOTelHTTP"
|
|
},
|
|
"resourceAttributes": {
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"serviceName": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesOTelTracing": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"grpc": {
|
|
"$ref": "#/$defs/typesOTelGRPC"
|
|
},
|
|
"http": {
|
|
"$ref": "#/$defs/typesOTelHTTP"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesPrometheus": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"addEntryPointsLabels": {
|
|
"type": "boolean"
|
|
},
|
|
"addRoutersLabels": {
|
|
"type": "boolean"
|
|
},
|
|
"addServicesLabels": {
|
|
"type": "boolean"
|
|
},
|
|
"buckets": {
|
|
"items": {
|
|
"type": "number"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"entryPoint": {
|
|
"type": "string"
|
|
},
|
|
"headerLabels": {
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"manualRouting": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesStatsd": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"addEntryPointsLabels": {
|
|
"type": "boolean"
|
|
},
|
|
"addRoutersLabels": {
|
|
"type": "boolean"
|
|
},
|
|
"addServicesLabels": {
|
|
"type": "boolean"
|
|
},
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"prefix": {
|
|
"type": "string"
|
|
},
|
|
"pushInterval": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"typesTraefikLog": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"compress": {
|
|
"type": "boolean"
|
|
},
|
|
"filePath": {
|
|
"type": "string"
|
|
},
|
|
"format": {
|
|
"type": "string"
|
|
},
|
|
"level": {
|
|
"type": "string"
|
|
},
|
|
"maxAge": {
|
|
"type": "integer"
|
|
},
|
|
"maxBackups": {
|
|
"type": "integer"
|
|
},
|
|
"maxSize": {
|
|
"type": "integer"
|
|
},
|
|
"noColor": {
|
|
"type": "boolean"
|
|
},
|
|
"otlp": {
|
|
"$ref": "#/$defs/typesOTelLog"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"zkProvider": {
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"endpoints": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": ["array", "null"]
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"rootKey": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
},
|
|
"title": "Traefik v3 Static Configuration",
|
|
"properties": {
|
|
"accessLog": {
|
|
"$ref": "#/$defs/typesAccessLog"
|
|
},
|
|
"api": {
|
|
"$ref": "#/$defs/staticAPI"
|
|
},
|
|
"certificatesResolvers": {
|
|
"additionalProperties": {
|
|
"$ref": "#/$defs/staticCertificateResolver"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"core": {
|
|
"$ref": "#/$defs/staticCore"
|
|
},
|
|
"entryPoints": {
|
|
"additionalProperties": {
|
|
"$ref": "#/$defs/staticEntryPoint"
|
|
},
|
|
"type": "object"
|
|
},
|
|
"experimental": {
|
|
"$ref": "#/$defs/staticExperimental"
|
|
},
|
|
"global": {
|
|
"$ref": "#/$defs/staticGlobal"
|
|
},
|
|
"hostResolver": {
|
|
"$ref": "#/$defs/typesHostResolverConfig"
|
|
},
|
|
"log": {
|
|
"$ref": "#/$defs/typesTraefikLog"
|
|
},
|
|
"metrics": {
|
|
"$ref": "#/$defs/typesMetrics"
|
|
},
|
|
"ping": {
|
|
"$ref": "#/$defs/pingHandler"
|
|
},
|
|
"providers": {
|
|
"$ref": "#/$defs/staticProviders"
|
|
},
|
|
"serversTransport": {
|
|
"$ref": "#/$defs/staticServersTransport"
|
|
},
|
|
"spiffe": {
|
|
"$ref": "#/$defs/staticSpiffeClientConfig"
|
|
},
|
|
"tcpServersTransport": {
|
|
"$ref": "#/$defs/staticTCPServersTransport"
|
|
},
|
|
"tracing": {
|
|
"$ref": "#/$defs/staticTracing"
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|