{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/traefik-v3/latest.json",
  "title": "Traefik v3 Static Configuration",
  "x-lintel": {
    "source": "https://www.schemastore.org/traefik-v3.json",
    "sourceSha256": "8d2837a39334259aa58cd5b90eefda4b56792cc2a47a7e7db2ac6069fc4aa6f6"
  },
  "type": "object",
  "properties": {
    "accessLog": {
      "$ref": "#/$defs/typesAccessLog"
    },
    "api": {
      "$ref": "#/$defs/staticAPI"
    },
    "certificatesResolvers": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/staticCertificateResolver"
      }
    },
    "core": {
      "$ref": "#/$defs/staticCore"
    },
    "entryPoints": {
      "type": "object",
      "additionalProperties": {
        "$ref": "#/$defs/staticEntryPoint"
      }
    },
    "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"
    }
  },
  "$defs": {
    "CertificateResolverTailscaleStruct": {
      "type": "object",
      "additionalProperties": false
    },
    "acmeConfiguration": {
      "type": "object",
      "properties": {
        "caCertificates": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "caServer": {
          "type": "string"
        },
        "caServerName": {
          "type": "string"
        },
        "caSystemCertPool": {
          "type": "boolean"
        },
        "certificatesDuration": {
          "type": "integer"
        },
        "clientResponseHeaderTimeout": {
          "type": "string"
        },
        "clientTimeout": {
          "type": "string"
        },
        "disableCommonName": {
          "type": "boolean"
        },
        "dnsChallenge": {
          "$ref": "#/$defs/acmeDNSChallenge"
        },
        "eab": {
          "$ref": "#/$defs/acmeEAB"
        },
        "email": {
          "type": "string",
          "description": "Email address used for ACME account registration. This is the contact email for the certificate authority."
        },
        "emailAddresses": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ],
          "description": "Email addresses to include in the Certificate Signing Request (CSR). These are different from the ACME registration email and are embedded in the certificate itself."
        },
        "httpChallenge": {
          "$ref": "#/$defs/acmeHTTPChallenge"
        },
        "keyType": {
          "type": "string"
        },
        "preferredChain": {
          "type": "string"
        },
        "profile": {
          "type": "string"
        },
        "storage": {
          "type": "string"
        },
        "tlsChallenge": {
          "$ref": "#/$defs/acmeTLSChallenge"
        }
      },
      "additionalProperties": false
    },
    "acmeDNSChallenge": {
      "type": "object",
      "properties": {
        "delayBeforeCheck": {
          "type": "string",
          "description": "DEPRECATED. Delay before checking propagation. Use acme.dnsChallenge.propagation.delayBeforeChecks instead."
        },
        "disablePropagationCheck": {
          "type": "boolean",
          "description": "DEPRECATED. Disable propagation check. Use acme.dnsChallenge.propagation.disableChecks instead."
        },
        "propagation": {
          "$ref": "#/$defs/acmePropagation"
        },
        "provider": {
          "type": "string"
        },
        "resolvers": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "acmeEAB": {
      "type": "object",
      "properties": {
        "hmacEncoded": {
          "type": "string"
        },
        "kid": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "acmeHTTPChallenge": {
      "type": "object",
      "properties": {
        "delay": {
          "type": "string",
          "description": "Delay between the creation of the challenge and the validation (duration format, e.g., 30s, 1m)."
        },
        "entryPoint": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "acmePropagation": {
      "type": "object",
      "properties": {
        "delayBeforeChecks": {
          "type": "string"
        },
        "disableANSChecks": {
          "type": "boolean"
        },
        "disableChecks": {
          "type": "boolean"
        },
        "requireAllRNS": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "acmeTLSChallenge": {
      "type": "object",
      "properties": {
        "delay": {
          "type": "string",
          "description": "Delay between the creation of the challenge and the validation (duration format, e.g., 30s, 1m)."
        }
      },
      "additionalProperties": false
    },
    "consulProviderBuilder": {
      "type": "object",
      "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"
        }
      },
      "additionalProperties": false
    },
    "consulcatalogEndpointConfig": {
      "type": "object",
      "properties": {
        "address": {
          "type": "string"
        },
        "datacenter": {
          "type": "string"
        },
        "endpointWaitTime": {
          "type": "string"
        },
        "httpAuth": {
          "$ref": "#/$defs/consulcatalogEndpointHTTPAuthConfig"
        },
        "scheme": {
          "type": "string"
        },
        "tls": {
          "$ref": "#/$defs/typesClientTLS"
        },
        "token": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "consulcatalogEndpointHTTPAuthConfig": {
      "type": "object",
      "properties": {
        "password": {
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "consulcatalogProviderBuilder": {
      "type": "object",
      "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"
        }
      },
      "additionalProperties": false
    },
    "crdProvider": {
      "type": "object",
      "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"
        }
      },
      "additionalProperties": false
    },
    "dockerProvider": {
      "type": "object",
      "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"
        }
      },
      "additionalProperties": false
    },
    "dockerSwarmProvider": {
      "type": "object",
      "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"
        }
      },
      "additionalProperties": false
    },
    "ecsProvider": {
      "type": "object",
      "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"
        }
      },
      "additionalProperties": false
    },
    "etcdProvider": {
      "type": "object",
      "properties": {
        "endpoints": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "password": {
          "type": "string"
        },
        "rootKey": {
          "type": "string"
        },
        "tls": {
          "$ref": "#/$defs/typesClientTLS"
        },
        "username": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "fileProvider": {
      "type": "object",
      "properties": {
        "debugLogGeneratedTemplate": {
          "type": "boolean"
        },
        "directory": {
          "type": "string"
        },
        "filename": {
          "type": "string"
        },
        "watch": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "gatewayProvider": {
      "type": "object",
      "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"
        }
      },
      "additionalProperties": false
    },
    "gatewayServiceRef": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "namespace": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "gatewayStatusAddress": {
      "type": "object",
      "properties": {
        "hostname": {
          "type": "string"
        },
        "ip": {
          "type": "string"
        },
        "service": {
          "$ref": "#/$defs/gatewayServiceRef"
        }
      },
      "additionalProperties": false
    },
    "httpProvider": {
      "type": "object",
      "properties": {
        "endpoint": {
          "type": "string"
        },
        "headers": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "pollInterval": {
          "type": "string"
        },
        "pollTimeout": {
          "type": "string"
        },
        "tls": {
          "$ref": "#/$defs/typesClientTLS"
        }
      },
      "required": [
        "endpoint"
      ],
      "additionalProperties": false
    },
    "ingressEndpointIngress": {
      "type": "object",
      "properties": {
        "hostname": {
          "type": "string"
        },
        "ip": {
          "type": "string"
        },
        "publishedService": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ingressProvider": {
      "type": "object",
      "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"
        }
      },
      "additionalProperties": false
    },
    "nomadEndpointConfig": {
      "type": "object",
      "properties": {
        "address": {
          "type": "string"
        },
        "endpointWaitTime": {
          "type": "string"
        },
        "region": {
          "type": "string"
        },
        "tls": {
          "$ref": "#/$defs/typesClientTLS"
        },
        "token": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "nomadProviderBuilder": {
      "type": "object",
      "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"
        }
      },
      "additionalProperties": false
    },
    "pingHandler": {
      "type": "object",
      "properties": {
        "entryPoint": {
          "type": "string"
        },
        "manualRouting": {
          "type": "boolean"
        },
        "terminatingStatusCode": {
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "pluginsDescriptor": {
      "type": "object",
      "properties": {
        "moduleName": {
          "type": "string"
        },
        "settings": {
          "$ref": "#/$defs/pluginsSettings"
        },
        "version": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "pluginsLocalDescriptor": {
      "type": "object",
      "properties": {
        "moduleName": {
          "type": "string"
        },
        "settings": {
          "$ref": "#/$defs/pluginsSettings"
        }
      },
      "additionalProperties": false
    },
    "pluginsSettings": {
      "type": "object",
      "properties": {
        "envs": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "mounts": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "redisProvider": {
      "type": "object",
      "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"
        }
      },
      "additionalProperties": false
    },
    "redisSentinel": {
      "type": "object",
      "properties": {
        "latencyStrategy": {
          "type": "boolean"
        },
        "masterName": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "randomStrategy": {
          "type": "boolean"
        },
        "replicaStrategy": {
          "type": "boolean"
        },
        "useDisconnectedReplicas": {
          "type": "boolean"
        },
        "username": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "restProvider": {
      "type": "object",
      "properties": {
        "insecure": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "staticAPI": {
      "type": "object",
      "properties": {
        "basePath": {
          "type": "string"
        },
        "dashboard": {
          "type": "boolean"
        },
        "debug": {
          "type": "boolean"
        },
        "disableDashboardAd": {
          "type": "boolean"
        },
        "insecure": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "staticCertificateResolver": {
      "type": "object",
      "properties": {
        "acme": {
          "$ref": "#/$defs/acmeConfiguration"
        },
        "tailscale": {
          "$ref": "#/$defs/CertificateResolverTailscaleStruct"
        }
      },
      "additionalProperties": false
    },
    "staticCore": {
      "type": "object",
      "properties": {
        "defaultRuleSyntax": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "staticEncodedCharacters": {
      "type": "object",
      "properties": {
        "allowEncodedSlash": {
          "type": "boolean"
        },
        "allowEncodedBackSlash": {
          "type": "boolean"
        },
        "allowEncodedNullCharacter": {
          "type": "boolean"
        },
        "allowEncodedSemicolon": {
          "type": "boolean"
        },
        "allowEncodedPercent": {
          "type": "boolean"
        },
        "allowEncodedQuestionMark": {
          "type": "boolean"
        },
        "allowEncodedHash": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "staticEntryPoint": {
      "type": "object",
      "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"
        }
      },
      "additionalProperties": false
    },
    "staticEntryPointsTransport": {
      "type": "object",
      "properties": {
        "keepAliveMaxRequests": {
          "type": "integer"
        },
        "keepAliveMaxTime": {
          "type": "string"
        },
        "lifeCycle": {
          "$ref": "#/$defs/staticLifeCycle"
        },
        "respondingTimeouts": {
          "$ref": "#/$defs/staticRespondingTimeouts"
        }
      },
      "additionalProperties": false
    },
    "staticExperimental": {
      "type": "object",
      "properties": {
        "abortOnPluginFailure": {
          "type": "boolean"
        },
        "fastProxy": {
          "$ref": "#/$defs/staticFastProxyConfig"
        },
        "kubernetesGateway": {
          "type": "boolean"
        },
        "localPlugins": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/pluginsLocalDescriptor"
          }
        },
        "otlplogs": {
          "type": "boolean"
        },
        "plugins": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/pluginsDescriptor"
          }
        }
      },
      "additionalProperties": false
    },
    "staticFastProxyConfig": {
      "type": "object",
      "properties": {
        "debug": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "staticForwardedHeaders": {
      "type": "object",
      "properties": {
        "connection": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "insecure": {
          "type": "boolean"
        },
        "trustedIPs": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "staticForwardingTimeouts": {
      "type": "object",
      "properties": {
        "dialTimeout": {
          "type": "string"
        },
        "idleConnTimeout": {
          "type": "string"
        },
        "responseHeaderTimeout": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "staticGlobal": {
      "type": "object",
      "properties": {
        "checkNewVersion": {
          "type": "boolean"
        },
        "sendAnonymousUsage": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "staticHTTP2Config": {
      "type": "object",
      "properties": {
        "maxConcurrentStreams": {
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "staticHTTP3Config": {
      "type": "object",
      "properties": {
        "advertisedPort": {
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "staticHTTPConfig": {
      "type": "object",
      "properties": {
        "encodedCharacters": {
          "$ref": "#/$defs/staticEncodedCharacters"
        },
        "encodeQuerySemicolons": {
          "type": "boolean"
        },
        "maxHeaderBytes": {
          "type": "integer"
        },
        "middlewares": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "redirections": {
          "$ref": "#/$defs/staticRedirections"
        },
        "tls": {
          "$ref": "#/$defs/staticTLSConfig"
        }
      },
      "additionalProperties": false
    },
    "staticLifeCycle": {
      "type": "object",
      "properties": {
        "graceTimeOut": {
          "type": "string"
        },
        "requestAcceptGraceTimeout": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "staticObservabilityConfig": {
      "type": "object",
      "properties": {
        "accessLogs": {
          "type": "boolean"
        },
        "metrics": {
          "type": "boolean"
        },
        "tracing": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "staticProviders": {
      "type": "object",
      "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": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "providersThrottleDuration": {
          "type": "string"
        },
        "redis": {
          "$ref": "#/$defs/redisProvider"
        },
        "rest": {
          "$ref": "#/$defs/restProvider"
        },
        "swarm": {
          "$ref": "#/$defs/dockerSwarmProvider"
        },
        "zooKeeper": {
          "$ref": "#/$defs/zkProvider"
        }
      },
      "additionalProperties": false
    },
    "staticProxyProtocol": {
      "type": "object",
      "properties": {
        "insecure": {
          "type": "boolean"
        },
        "trustedIPs": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "staticRedirectEntryPoint": {
      "type": "object",
      "properties": {
        "permanent": {
          "type": "boolean"
        },
        "priority": {
          "type": "integer"
        },
        "scheme": {
          "type": "string"
        },
        "to": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "staticRedirections": {
      "type": "object",
      "properties": {
        "entryPoint": {
          "$ref": "#/$defs/staticRedirectEntryPoint"
        }
      },
      "additionalProperties": false
    },
    "staticRespondingTimeouts": {
      "type": "object",
      "properties": {
        "idleTimeout": {
          "type": "string"
        },
        "readTimeout": {
          "type": "string"
        },
        "writeTimeout": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "staticServersTransport": {
      "type": "object",
      "properties": {
        "forwardingTimeouts": {
          "$ref": "#/$defs/staticForwardingTimeouts"
        },
        "insecureSkipVerify": {
          "type": "boolean"
        },
        "maxIdleConnsPerHost": {
          "type": "integer"
        },
        "rootCAs": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "spiffe": {
          "$ref": "#/$defs/staticSpiffe"
        }
      },
      "additionalProperties": false
    },
    "staticSpiffe": {
      "type": "object",
      "properties": {
        "ids": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "trustDomain": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "staticSpiffeClientConfig": {
      "type": "object",
      "properties": {
        "workloadAPIAddr": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "staticTCPServersTransport": {
      "type": "object",
      "properties": {
        "dialKeepAlive": {
          "type": "string"
        },
        "dialTimeout": {
          "type": "string"
        },
        "terminationDelay": {
          "type": "string"
        },
        "tls": {
          "$ref": "#/$defs/staticTLSClientConfig"
        }
      },
      "additionalProperties": false
    },
    "staticTLSClientConfig": {
      "type": "object",
      "properties": {
        "insecureSkipVerify": {
          "type": "boolean"
        },
        "rootCAs": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "spiffe": {
          "$ref": "#/$defs/staticSpiffe"
        }
      },
      "additionalProperties": false
    },
    "staticTLSConfig": {
      "type": "object",
      "properties": {
        "certResolver": {
          "type": "string"
        },
        "domains": {
          "items": {
            "$ref": "#/$defs/typesDomain"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "options": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "staticTracing": {
      "type": "object",
      "properties": {
        "addInternals": {
          "type": "boolean"
        },
        "capturedRequestHeaders": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "capturedResponseHeaders": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "globalAttributes": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "otlp": {
          "$ref": "#/$defs/typesOTelTracing"
        },
        "resourceAttributes": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "safeQueryParams": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "sampleRate": {
          "type": "number"
        },
        "serviceName": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "staticUDPConfig": {
      "type": "object",
      "properties": {
        "timeout": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "typesAccessLog": {
      "type": "object",
      "properties": {
        "addInternals": {
          "type": "boolean"
        },
        "dualOutput": {
          "type": "boolean"
        },
        "bufferingSize": {
          "type": "integer"
        },
        "fields": {
          "$ref": "#/$defs/typesAccessLogFields"
        },
        "filePath": {
          "type": "string"
        },
        "filters": {
          "$ref": "#/$defs/typesAccessLogFilters"
        },
        "format": {
          "type": "string"
        },
        "otlp": {
          "$ref": "#/$defs/typesOTelLog"
        }
      },
      "additionalProperties": false
    },
    "typesAccessLogFields": {
      "type": "object",
      "properties": {
        "defaultMode": {
          "type": "string"
        },
        "headers": {
          "$ref": "#/$defs/typesFieldHeaders"
        },
        "names": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "typesAccessLogFilters": {
      "type": "object",
      "properties": {
        "minDuration": {
          "type": "string"
        },
        "retryAttempts": {
          "type": "boolean"
        },
        "statusCodes": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "typesClientTLS": {
      "type": "object",
      "properties": {
        "ca": {
          "type": "string"
        },
        "cert": {
          "type": "string"
        },
        "insecureSkipVerify": {
          "type": "boolean"
        },
        "key": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "typesDatadog": {
      "type": "object",
      "properties": {
        "addEntryPointsLabels": {
          "type": "boolean"
        },
        "addRoutersLabels": {
          "type": "boolean"
        },
        "addServicesLabels": {
          "type": "boolean"
        },
        "address": {
          "type": "string"
        },
        "prefix": {
          "type": "string"
        },
        "pushInterval": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "typesDomain": {
      "type": "object",
      "properties": {
        "main": {
          "type": "string"
        },
        "sans": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        }
      },
      "additionalProperties": false
    },
    "typesFieldHeaders": {
      "type": "object",
      "properties": {
        "defaultMode": {
          "type": "string"
        },
        "names": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "typesHostResolverConfig": {
      "type": "object",
      "properties": {
        "cnameFlattening": {
          "type": "boolean"
        },
        "resolvConfig": {
          "type": "string"
        },
        "resolvDepth": {
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "typesInfluxDB2": {
      "type": "object",
      "properties": {
        "addEntryPointsLabels": {
          "type": "boolean"
        },
        "addRoutersLabels": {
          "type": "boolean"
        },
        "addServicesLabels": {
          "type": "boolean"
        },
        "additionalLabels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "address": {
          "type": "string"
        },
        "bucket": {
          "type": "string"
        },
        "org": {
          "type": "string"
        },
        "pushInterval": {
          "type": "string"
        },
        "token": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "typesMetrics": {
      "type": "object",
      "properties": {
        "addInternals": {
          "type": "boolean"
        },
        "datadog": {
          "$ref": "#/$defs/typesDatadog"
        },
        "influxDB2": {
          "$ref": "#/$defs/typesInfluxDB2"
        },
        "otlp": {
          "$ref": "#/$defs/typesOTLP"
        },
        "prometheus": {
          "$ref": "#/$defs/typesPrometheus"
        },
        "statsD": {
          "$ref": "#/$defs/typesStatsd"
        }
      },
      "additionalProperties": false
    },
    "typesOTLP": {
      "type": "object",
      "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"
        }
      },
      "additionalProperties": false
    },
    "typesOTelGRPC": {
      "type": "object",
      "properties": {
        "endpoint": {
          "type": "string"
        },
        "headers": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "insecure": {
          "type": "boolean"
        },
        "tls": {
          "$ref": "#/$defs/typesClientTLS"
        }
      },
      "additionalProperties": false
    },
    "typesOTelHTTP": {
      "type": "object",
      "properties": {
        "endpoint": {
          "type": "string"
        },
        "headers": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "tls": {
          "$ref": "#/$defs/typesClientTLS"
        }
      },
      "additionalProperties": false
    },
    "typesOTelLog": {
      "type": "object",
      "properties": {
        "grpc": {
          "$ref": "#/$defs/typesOTelGRPC"
        },
        "http": {
          "$ref": "#/$defs/typesOTelHTTP"
        },
        "resourceAttributes": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "serviceName": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "typesOTelTracing": {
      "type": "object",
      "properties": {
        "grpc": {
          "$ref": "#/$defs/typesOTelGRPC"
        },
        "http": {
          "$ref": "#/$defs/typesOTelHTTP"
        }
      },
      "additionalProperties": false
    },
    "typesPrometheus": {
      "type": "object",
      "properties": {
        "addEntryPointsLabels": {
          "type": "boolean"
        },
        "addRoutersLabels": {
          "type": "boolean"
        },
        "addServicesLabels": {
          "type": "boolean"
        },
        "buckets": {
          "items": {
            "type": "number"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "entryPoint": {
          "type": "string"
        },
        "headerLabels": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "manualRouting": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "typesStatsd": {
      "type": "object",
      "properties": {
        "addEntryPointsLabels": {
          "type": "boolean"
        },
        "addRoutersLabels": {
          "type": "boolean"
        },
        "addServicesLabels": {
          "type": "boolean"
        },
        "address": {
          "type": "string"
        },
        "prefix": {
          "type": "string"
        },
        "pushInterval": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "typesTraefikLog": {
      "type": "object",
      "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"
        }
      },
      "additionalProperties": false
    },
    "zkProvider": {
      "type": "object",
      "properties": {
        "endpoints": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "password": {
          "type": "string"
        },
        "rootKey": {
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      },
      "additionalProperties": false
    }
  }
}
