From e505ffe235e2f9d6ee8dd7956759120dc04206cd Mon Sep 17 00:00:00 2001 From: lena-larionova <54370747+lena-larionova@users.noreply.github.com> Date: Wed, 21 Oct 2026 21:16:28 +0000 Subject: [PATCH] Download Plugin Schemas and Metadata for 3.15 --- app/_data/plugins/referenceable_fields/3.15.json | 4 ++++ app/_schemas/gateway/plugins/3.15/Confluent.json | 8 ++++++++ .../gateway/plugins/3.15/ConfluentConsume.json | 16 ++++++++++++++++ app/_schemas/gateway/plugins/3.15/HttpLog.json | 6 ++++-- .../gateway/plugins/3.15/KafkaConsume.json | 16 ++++++++++++++++ app/_schemas/gateway/plugins/3.15/KafkaLog.json | 8 ++++++++ .../gateway/plugins/3.15/KafkaUpstream.json | 8 ++++++++ .../plugins/3.15/KonnectApplicationAuth.json | 6 +++--- .../gateway/plugins/3.15/OpenidConnect.json | 6 +++--- .../gateway/plugins/3.15/Opentelemetry.json | 6 ++++-- 10 files changed, 74 insertions(+), 10 deletions(-) diff --git a/app/_data/plugins/referenceable_fields/3.15.json b/app/_data/plugins/referenceable_fields/3.15.json index 1421a2a048f..17cc6678948 100644 --- a/app/_data/plugins/referenceable_fields/3.15.json +++ b/app/_data/plugins/referenceable_fields/3.15.json @@ -503,6 +503,8 @@ "config.redis.username" ], "http-log": [ + "config.headers", + "config.headers.additionalProperties", "config.http_endpoint" ], "jwt-signer": [ @@ -714,6 +716,8 @@ ], "opentelemetry": [ "config.access_logs.endpoint", + "config.headers", + "config.headers.additionalProperties", "config.logs_endpoint", "config.metrics.endpoint", "config.traces_endpoint" diff --git a/app/_schemas/gateway/plugins/3.15/Confluent.json b/app/_schemas/gateway/plugins/3.15/Confluent.json index 6780c263ae8..a02fad3322b 100644 --- a/app/_schemas/gateway/plugins/3.15/Confluent.json +++ b/app/_schemas/gateway/plugins/3.15/Confluent.json @@ -279,6 +279,14 @@ ], "type": "object" }, + "identity_pool_id": { + "description": "The Confluent Cloud OAuth identity pool ID, sent as the `Confluent-Identity-Pool-Id` request header. Optional: if omitted, Confluent Cloud automatically maps an identity pool based on the token's claims.", + "type": "string" + }, + "logical_cluster_id": { + "description": "The Confluent Cloud Schema Registry cluster ID, sent as the `target-sr-cluster` request header. Confluent Cloud requires this when `mode` is 'oauth2'.", + "type": "string" + }, "mode": { "default": "none", "description": "Authentication mode to use with the schema registry.", diff --git a/app/_schemas/gateway/plugins/3.15/ConfluentConsume.json b/app/_schemas/gateway/plugins/3.15/ConfluentConsume.json index e5adea33a7c..37ac7191a77 100644 --- a/app/_schemas/gateway/plugins/3.15/ConfluentConsume.json +++ b/app/_schemas/gateway/plugins/3.15/ConfluentConsume.json @@ -218,6 +218,14 @@ ], "type": "object" }, + "identity_pool_id": { + "description": "The Confluent Cloud OAuth identity pool ID, sent as the `Confluent-Identity-Pool-Id` request header. Optional: if omitted, Confluent Cloud automatically maps an identity pool based on the token's claims.", + "type": "string" + }, + "logical_cluster_id": { + "description": "The Confluent Cloud Schema Registry cluster ID, sent as the `target-sr-cluster` request header. Confluent Cloud requires this when `mode` is 'oauth2'.", + "type": "string" + }, "mode": { "default": "none", "description": "Authentication mode to use with the schema registry.", @@ -450,6 +458,14 @@ ], "type": "object" }, + "identity_pool_id": { + "description": "The Confluent Cloud OAuth identity pool ID, sent as the `Confluent-Identity-Pool-Id` request header. Optional: if omitted, Confluent Cloud automatically maps an identity pool based on the token's claims.", + "type": "string" + }, + "logical_cluster_id": { + "description": "The Confluent Cloud Schema Registry cluster ID, sent as the `target-sr-cluster` request header. Confluent Cloud requires this when `mode` is 'oauth2'.", + "type": "string" + }, "mode": { "default": "none", "description": "Authentication mode to use with the schema registry.", diff --git a/app/_schemas/gateway/plugins/3.15/HttpLog.json b/app/_schemas/gateway/plugins/3.15/HttpLog.json index 6466f57315b..dc93353410e 100644 --- a/app/_schemas/gateway/plugins/3.15/HttpLog.json +++ b/app/_schemas/gateway/plugins/3.15/HttpLog.json @@ -34,9 +34,11 @@ }, "headers": { "additionalProperties": { - "type": "string" + "description": "\nThis field is [referenceable](/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault).", + "type": "string", + "x-referenceable": true }, - "description": "An optional table of headers included in the HTTP message to the upstream server. Values are indexed by header name, and each header name accepts a single string.", + "description": "An optional table of headers included in the HTTP message to the upstream server. Values are indexed by header name, and each header name accepts a single string. \nThis field is [referenceable](/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault).", "type": "object" }, "http_endpoint": { diff --git a/app/_schemas/gateway/plugins/3.15/KafkaConsume.json b/app/_schemas/gateway/plugins/3.15/KafkaConsume.json index 7dec4a84310..9d17c95a5ed 100644 --- a/app/_schemas/gateway/plugins/3.15/KafkaConsume.json +++ b/app/_schemas/gateway/plugins/3.15/KafkaConsume.json @@ -223,6 +223,14 @@ ], "type": "object" }, + "identity_pool_id": { + "description": "The Confluent Cloud OAuth identity pool ID, sent as the `Confluent-Identity-Pool-Id` request header. Optional: if omitted, Confluent Cloud automatically maps an identity pool based on the token's claims.", + "type": "string" + }, + "logical_cluster_id": { + "description": "The Confluent Cloud Schema Registry cluster ID, sent as the `target-sr-cluster` request header. Confluent Cloud requires this when `mode` is 'oauth2'.", + "type": "string" + }, "mode": { "default": "none", "description": "Authentication mode to use with the schema registry.", @@ -458,6 +466,14 @@ ], "type": "object" }, + "identity_pool_id": { + "description": "The Confluent Cloud OAuth identity pool ID, sent as the `Confluent-Identity-Pool-Id` request header. Optional: if omitted, Confluent Cloud automatically maps an identity pool based on the token's claims.", + "type": "string" + }, + "logical_cluster_id": { + "description": "The Confluent Cloud Schema Registry cluster ID, sent as the `target-sr-cluster` request header. Confluent Cloud requires this when `mode` is 'oauth2'.", + "type": "string" + }, "mode": { "default": "none", "description": "Authentication mode to use with the schema registry.", diff --git a/app/_schemas/gateway/plugins/3.15/KafkaLog.json b/app/_schemas/gateway/plugins/3.15/KafkaLog.json index b9faea70616..c4592d6f427 100644 --- a/app/_schemas/gateway/plugins/3.15/KafkaLog.json +++ b/app/_schemas/gateway/plugins/3.15/KafkaLog.json @@ -205,6 +205,14 @@ ], "type": "object" }, + "identity_pool_id": { + "description": "The Confluent Cloud OAuth identity pool ID, sent as the `Confluent-Identity-Pool-Id` request header. Optional: if omitted, Confluent Cloud automatically maps an identity pool based on the token's claims.", + "type": "string" + }, + "logical_cluster_id": { + "description": "The Confluent Cloud Schema Registry cluster ID, sent as the `target-sr-cluster` request header. Confluent Cloud requires this when `mode` is 'oauth2'.", + "type": "string" + }, "mode": { "default": "none", "description": "Authentication mode to use with the schema registry.", diff --git a/app/_schemas/gateway/plugins/3.15/KafkaUpstream.json b/app/_schemas/gateway/plugins/3.15/KafkaUpstream.json index dabd18b963e..ace488cfae8 100644 --- a/app/_schemas/gateway/plugins/3.15/KafkaUpstream.json +++ b/app/_schemas/gateway/plugins/3.15/KafkaUpstream.json @@ -293,6 +293,14 @@ ], "type": "object" }, + "identity_pool_id": { + "description": "The Confluent Cloud OAuth identity pool ID, sent as the `Confluent-Identity-Pool-Id` request header. Optional: if omitted, Confluent Cloud automatically maps an identity pool based on the token's claims.", + "type": "string" + }, + "logical_cluster_id": { + "description": "The Confluent Cloud Schema Registry cluster ID, sent as the `target-sr-cluster` request header. Confluent Cloud requires this when `mode` is 'oauth2'.", + "type": "string" + }, "mode": { "default": "none", "description": "Authentication mode to use with the schema registry.", diff --git a/app/_schemas/gateway/plugins/3.15/KonnectApplicationAuth.json b/app/_schemas/gateway/plugins/3.15/KonnectApplicationAuth.json index d729136f670..eb69641d7b3 100644 --- a/app/_schemas/gateway/plugins/3.15/KonnectApplicationAuth.json +++ b/app/_schemas/gateway/plugins/3.15/KonnectApplicationAuth.json @@ -1052,7 +1052,7 @@ }, "ignore_signature": { "default": [], - "description": "Skip the token signature verification on certain grants: - `password`: OAuth password grant - `client_credentials`: OAuth client credentials grant - `authorization_code`: authorization code flow - `refresh_token`: OAuth refresh token grant - `session`: session cookie authentication - `introspection`: OAuth introspection - `userinfo`: OpenID Connect user info endpoint authentication.", + "description": "Skip the token signature verification on certain grants. This is insecure and logs a warning; use it only for providers that publish no verification key. Grants: - `password`: OAuth password grant - `client_credentials`: OAuth client credentials grant - `authorization_code`: authorization code flow - `refresh_token`: OAuth refresh token grant - `session`: session cookie authentication - `introspection`: OAuth introspection - `userinfo`: OpenID Connect user info endpoint authentication.", "items": { "enum": [ "authorization_code", @@ -2265,7 +2265,7 @@ }, "verify_signature": { "default": false, - "description": "When true, Kong cryptographically verifies the signature of the incoming subject token before exchanging it. This field should be left empty or set to `false` when this issuer is the same as the target issuer. Defaults to `false` for backward compatibility.", + "description": "When true, Kong cryptographically verifies the signature of the incoming subject token before exchanging it. Defaults to `false` for backward compatibility, which skips this local check; the token exchange request to the issuer still validates the subject token itself, so this is defense in depth, not the only safeguard. This field should be left empty or set to `false` when this issuer is the same as the target issuer.", "type": "boolean" } }, @@ -2536,7 +2536,7 @@ }, "verify_signature": { "default": true, - "description": "Verify signature of tokens.", + "description": "Verify the cryptographic signature of tokens. Disabling this skips verification for every token source, including tokens presented directly by clients (bearer); this is insecure for that path. To trust only tokens fetched from the identity provider for specific grants, use `ignore_signature` instead, which never affects bearer tokens.", "type": "boolean" } }, diff --git a/app/_schemas/gateway/plugins/3.15/OpenidConnect.json b/app/_schemas/gateway/plugins/3.15/OpenidConnect.json index a6bcaedf127..94e2bbf1505 100644 --- a/app/_schemas/gateway/plugins/3.15/OpenidConnect.json +++ b/app/_schemas/gateway/plugins/3.15/OpenidConnect.json @@ -974,7 +974,7 @@ }, "ignore_signature": { "default": [], - "description": "Skip the token signature verification on certain grants: - `password`: OAuth password grant - `client_credentials`: OAuth client credentials grant - `authorization_code`: authorization code flow - `refresh_token`: OAuth refresh token grant - `session`: session cookie authentication - `introspection`: OAuth introspection - `userinfo`: OpenID Connect user info endpoint authentication.", + "description": "Skip the token signature verification on certain grants. This is insecure and logs a warning; use it only for providers that publish no verification key. Grants: - `password`: OAuth password grant - `client_credentials`: OAuth client credentials grant - `authorization_code`: authorization code flow - `refresh_token`: OAuth refresh token grant - `session`: session cookie authentication - `introspection`: OAuth introspection - `userinfo`: OpenID Connect user info endpoint authentication.", "items": { "enum": [ "authorization_code", @@ -2187,7 +2187,7 @@ }, "verify_signature": { "default": false, - "description": "When true, Kong cryptographically verifies the signature of the incoming subject token before exchanging it. This field should be left empty or set to `false` when this issuer is the same as the target issuer. Defaults to `false` for backward compatibility.", + "description": "When true, Kong cryptographically verifies the signature of the incoming subject token before exchanging it. Defaults to `false` for backward compatibility, which skips this local check; the token exchange request to the issuer still validates the subject token itself, so this is defense in depth, not the only safeguard. This field should be left empty or set to `false` when this issuer is the same as the target issuer.", "type": "boolean" } }, @@ -2458,7 +2458,7 @@ }, "verify_signature": { "default": true, - "description": "Verify signature of tokens.", + "description": "Verify the cryptographic signature of tokens. Disabling this skips verification for every token source, including tokens presented directly by clients (bearer); this is insecure for that path. To trust only tokens fetched from the identity provider for specific grants, use `ignore_signature` instead, which never affects bearer tokens.", "type": "boolean" } }, diff --git a/app/_schemas/gateway/plugins/3.15/Opentelemetry.json b/app/_schemas/gateway/plugins/3.15/Opentelemetry.json index 029f4d1d156..9fc5bf5f4ae 100644 --- a/app/_schemas/gateway/plugins/3.15/Opentelemetry.json +++ b/app/_schemas/gateway/plugins/3.15/Opentelemetry.json @@ -55,9 +55,11 @@ }, "headers": { "additionalProperties": { - "type": "string" + "description": "\nThis field is [referenceable](/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault).", + "type": "string", + "x-referenceable": true }, - "description": "The custom headers to be added in the HTTP request sent to the OTLP server. This setting is useful for adding the authentication headers (token) for the APM backend.", + "description": "The custom headers to be added in the HTTP request sent to the OTLP server. This setting is useful for adding the authentication headers (token) for the APM backend. \nThis field is [referenceable](/gateway/entities/vault/#how-do-i-reference-secrets-stored-in-a-vault).", "type": "object" }, "http_response_header_for_traceid": {