KrakenD · Schema

KrakenD TLS Configuration

TLS configuration for enabling HTTPS on the KrakenD API Gateway, including certificate paths, minimum TLS version, and cipher suite preferences.

AggregationAPI GatewayGoOpen Source

Properties

Name Type Description
public_key string Path to the public key or certificate PEM file.
private_key string Path to the private key PEM file.
min_version string Minimum TLS version accepted.
max_version string Maximum TLS version accepted.
curve_preferences array Elliptic curve preferences for TLS handshake.
prefer_server_cipher_suites boolean Whether to prefer the server cipher suite order.
cipher_suites array List of supported cipher suite IDs.
disabled boolean Disables TLS even when certificate files are present.
enable_mtls boolean Enables mutual TLS authentication.
ca_certs array Paths to CA certificate files for mTLS client verification.
View JSON Schema on GitHub

JSON Schema

tls.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/krakend/blob/main/json-schema/tls.json",
  "title": "KrakenD TLS Configuration",
  "description": "TLS configuration for enabling HTTPS on the KrakenD API Gateway, including certificate paths, minimum TLS version, and cipher suite preferences.",
  "type": "object",
  "required": ["public_key", "private_key"],
  "properties": {
    "public_key": {
      "type": "string",
      "description": "Path to the public key or certificate PEM file."
    },
    "private_key": {
      "type": "string",
      "description": "Path to the private key PEM file."
    },
    "min_version": {
      "type": "string",
      "enum": ["SSL3.0", "TLS10", "TLS11", "TLS12", "TLS13"],
      "description": "Minimum TLS version accepted."
    },
    "max_version": {
      "type": "string",
      "enum": ["SSL3.0", "TLS10", "TLS11", "TLS12", "TLS13"],
      "description": "Maximum TLS version accepted."
    },
    "curve_preferences": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "Elliptic curve preferences for TLS handshake."
    },
    "prefer_server_cipher_suites": {
      "type": "boolean",
      "description": "Whether to prefer the server cipher suite order."
    },
    "cipher_suites": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "List of supported cipher suite IDs."
    },
    "disabled": {
      "type": "boolean",
      "default": false,
      "description": "Disables TLS even when certificate files are present."
    },
    "enable_mtls": {
      "type": "boolean",
      "default": false,
      "description": "Enables mutual TLS authentication."
    },
    "ca_certs": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Paths to CA certificate files for mTLS client verification."
    }
  }
}