gitextract_m8kek0kp/ ├── .bazelignore ├── .bazelrc ├── .bazelversion ├── .busted ├── .ci/ │ ├── ast-grep/ │ │ ├── README.md │ │ ├── common/ │ │ │ └── .gitkeep │ │ ├── rules/ │ │ │ ├── .gitkeep │ │ │ ├── assert-eventually-terminated.yml │ │ │ ├── helpers-outside-of-setup.yml │ │ │ └── ngx-log-string-concat.yml │ │ └── tests/ │ │ ├── .gitkeep │ │ ├── __snapshots__/ │ │ │ ├── assert-eventually-terminated-snapshot.yml │ │ │ ├── helpers-outside-of-setup-snapshot.yml │ │ │ └── ngx-log-string-concat-snapshot.yml │ │ ├── assert-eventually-terminated-test.yml │ │ ├── helpers-outside-of-setup-test.yml │ │ └── ngx-log-string-concat-test.yml │ ├── luacov-stats-aggregator.lua │ └── test_suites.json ├── .devcontainer/ │ ├── Dockerfile │ ├── devcontainer.json │ └── docker-compose.yml ├── .editorconfig ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yaml │ │ └── config.yml │ ├── PULL_REQUEST_TEMPLATE.md │ ├── actions/ │ │ ├── build-cache-key/ │ │ │ └── action.yml │ │ └── build-wasm-test-filters/ │ │ └── action.yml │ ├── dependabot.yml │ ├── labeler.yml │ ├── matrix-commitly.yml │ ├── matrix-full.yml │ └── workflows/ │ ├── add-release-pongo.yml │ ├── ast-grep.yml │ ├── auto-assignee.yml │ ├── autodocs.yml │ ├── backport-fail-bot.yml │ ├── backport-v2.yml │ ├── build.yml │ ├── build_and_test.yml │ ├── buildifier.yml │ ├── changelog-requirement.yml │ ├── changelog-validation.yml │ ├── cherry-picks-v2.yml │ ├── community-stale.yml │ ├── copyright-check.yml │ ├── deck-integration.yml │ ├── label-check.yml │ ├── label-community-pr.yml │ ├── label-schema.yml │ ├── labeler-v2.yml │ ├── openresty-patches-companion.yml │ ├── perf.yml │ ├── release.yml │ ├── update-ngx-wasm-module.yml │ ├── update-test-runtime-statistics.yml │ └── upgrade-tests.yml ├── .gitignore ├── .luacheckrc ├── .luacov ├── .requirements ├── BUILD.bazel ├── CHANGELOG-OLD.md ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── COMMUNITY_PLEDGE.md ├── CONTRIBUTING.md ├── COPYRIGHT ├── DEVELOPER.md ├── LICENSE ├── MODULE.bazel ├── Makefile ├── README.md ├── SECURITY.md ├── UPGRADE.md ├── WORKSPACE ├── autodoc/ │ ├── README.md │ ├── cli/ │ │ ├── data.lua │ │ └── generate.lua │ └── pdk/ │ ├── generate.lua │ └── ldoc/ │ ├── config.ld │ ├── filters.lua │ ├── json.ltp │ ├── ldoc.ltp │ └── nav_yml.ltp ├── bin/ │ ├── busted │ ├── kong │ └── kong-health ├── build/ │ ├── BUILD.bazel │ ├── README.md │ ├── build_system.bzl │ ├── cross_deps/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── libxcrypt/ │ │ │ ├── 001-4.4.27-enable-hash-all.patch │ │ │ ├── BUILD.bazel │ │ │ ├── BUILD.libxcrypt.bazel │ │ │ └── repositories.bzl │ │ ├── libyaml/ │ │ │ ├── BUILD.bazel │ │ │ ├── BUILD.libyaml.bazel │ │ │ └── repositories.bzl │ │ ├── repositories.bzl │ │ └── zlib/ │ │ ├── BUILD.bazel │ │ ├── BUILD.zlib.bazel │ │ └── repositories.bzl │ ├── dockerfiles/ │ │ ├── deb.Dockerfile │ │ ├── entrypoint.sh │ │ └── rpm.Dockerfile │ ├── kong_bindings.bzl │ ├── kong_crate/ │ │ ├── BUILD.bazel │ │ ├── crates.bzl │ │ └── deps.bzl │ ├── libexpat/ │ │ ├── BUILD.bazel │ │ ├── BUILD.libexpat.bazel │ │ └── repositories.bzl │ ├── luarocks/ │ │ ├── BUILD.bazel │ │ ├── BUILD.luarocks.bazel │ │ ├── lua/ │ │ │ ├── BUILD.bazel │ │ │ ├── BUILD.lua.bazel │ │ │ ├── lua_repositories.bzl │ │ │ └── patches/ │ │ │ └── lua-cross.patch │ │ ├── luarocks_repositories.bzl │ │ ├── luarocks_wrap_script.lua │ │ └── templates/ │ │ ├── luarocks_exec.sh │ │ ├── luarocks_make.sh │ │ └── luarocks_target.sh │ ├── nfpm/ │ │ ├── BUILD.bazel │ │ ├── BUILD.nfpm.bazel │ │ ├── repositories.bzl │ │ └── rules.bzl │ ├── openresty/ │ │ ├── BUILD.bazel │ │ ├── BUILD.openresty.bazel │ │ ├── ada/ │ │ │ ├── BUILD.bazel │ │ │ └── ada_repositories.bzl │ │ ├── atc_router/ │ │ │ ├── BUILD.atc_router.bazel │ │ │ ├── BUILD.bazel │ │ │ └── atc_router_repositories.bzl │ │ ├── brotli/ │ │ │ ├── BUILD.bazel │ │ │ └── brotli_repositories.bzl │ │ ├── lua-resty-lmdb-cross.patch │ │ ├── openssl/ │ │ │ ├── BUILD.bazel │ │ │ ├── README.md │ │ │ ├── openssl.bzl │ │ │ └── openssl_repositories.bzl │ │ ├── patches/ │ │ │ ├── LuaJIT-2.1-20250117_01-patch-macro-luajit-version.patch │ │ │ ├── LuaJIT-2.1-20250117_02-pass-cc-env.patch │ │ │ ├── LuaJIT-2.1-20250117_03-revert-reflect-override-of-ljlibd.patch │ │ │ ├── lua-cjson-2.1.0.14_01-error-on-t-end.patch │ │ │ ├── nginx-1.27.1_01-upstream-client-certificate-and-ssl-verify.patch │ │ │ ├── nginx-1.27.1_02-remove-server-tokens-from-special-responses-output.patch │ │ │ ├── nginx-1.27.1_03-stream-upstream-client-certificate-and-ssl-verify.patch │ │ │ ├── nginx-1.27.1_04-grpc-authority-override.patch │ │ │ ├── nginx-1.27.1_05-remove-server-headers-from-ngx-header-filter-module.patch │ │ │ ├── nginx-1.27.1_06-dynamic-log-level.patch │ │ │ ├── nginx-1.27.1_07-cross.patch │ │ │ ├── nginx-1.27.1_08-cross-endianness-fix.patch │ │ │ ├── nginx-1.27.1_09-proxy-upstream-next.patch │ │ │ ├── nginx-1.27.1_10-refresh-uri-when-proxy-pass-balancer-recreate.patch │ │ │ ├── nginx-1.27.1_11-upstream-latency-metrics.patch │ │ │ ├── ngx_lua-0.10.28_01-dynamic-log-level.patch │ │ │ ├── ngx_lua-0.10.28_02-fix-invalid-hostname.patch │ │ │ ├── ngx_lua-0.10.28_03-missing-lightud.patch │ │ │ ├── ngx_stream_lua-0.0.16_01-expose-request-struct.patch │ │ │ └── openresty_01-custom-prefix-and-cc.patch │ │ ├── pcre/ │ │ │ ├── BUILD.bazel │ │ │ ├── BUILD.pcre.bazel │ │ │ ├── README.md │ │ │ └── pcre_repositories.bzl │ │ ├── repositories.bzl │ │ ├── simdjson_ffi/ │ │ │ ├── BUILD.bazel │ │ │ └── simdjson_ffi_repositories.bzl │ │ ├── snappy/ │ │ │ ├── BUILD.bazel │ │ │ └── snappy_repositories.bzl │ │ └── wasmx/ │ │ ├── BUILD.bazel │ │ ├── filters/ │ │ │ ├── BUILD.bazel │ │ │ ├── repositories.bzl │ │ │ └── variables.bzl │ │ ├── rules.bzl │ │ └── wasmx_repositories.bzl │ ├── package/ │ │ ├── kong.logrotate │ │ ├── kong.service │ │ ├── nfpm.yaml │ │ └── postinstall.sh │ ├── patches/ │ │ ├── 01-revert-LD-environment.patch │ │ └── 02-revert-Reduce-build-times-especially-on-windows.patch │ ├── platforms/ │ │ └── distro/ │ │ └── BUILD │ ├── repositories.bzl │ ├── templates/ │ │ ├── venv-commons │ │ ├── venv.fish │ │ └── venv.sh │ └── toolchain/ │ ├── .gitignore │ ├── BUILD │ ├── bindings.bzl │ ├── cc_toolchain_config.bzl │ ├── generate_wrappers.sh │ ├── managed_toolchain.bzl │ └── repositories.bzl ├── changelog/ │ ├── 3.5.0/ │ │ ├── 3.5.0.md │ │ └── kong/ │ │ ├── .gitkeep │ │ ├── 10570.yml │ │ ├── 11360-1.yml │ │ ├── 11360-2.yml │ │ ├── 11402.yml │ │ ├── 11424.yml │ │ ├── 11442.yml │ │ ├── 11464.yml │ │ ├── 11468.yml │ │ ├── 11480.yml │ │ ├── 11484.yml │ │ ├── 11502.yml │ │ ├── 11515.yml │ │ ├── 11518.yml │ │ ├── 11523.yml │ │ ├── 11532.yml │ │ ├── 11538.yml │ │ ├── 11551-1.yml │ │ ├── 11551-2.yml │ │ ├── 11553.yml │ │ ├── 11566.yml │ │ ├── 11578.yml │ │ ├── 11599.yml │ │ ├── 11613.yml │ │ ├── 11638.yml │ │ ├── 11639.yml │ │ ├── 11727.yml │ │ ├── aws_lambda_service_cache.yml │ │ ├── bump_openssl_3.1.4.yml │ │ ├── dedicated_config_processing.yml │ │ ├── fix-cve-2023-44487.yml │ │ ├── fix-opentelemetry-parent-id.yml │ │ ├── fix-tcp-log-sslhandshake.yml │ │ ├── fix_dns_enable_dns_no_sync.yml │ │ ├── fix_patch_order.yml │ │ ├── lapis_version_bump.yml │ │ ├── lua_kong_nginx_module_bump.yml │ │ ├── luajit_ldp_stp_fusion.yml │ │ ├── ngx_wasm_module_bump.yml │ │ ├── on_prem_dp_metadata.yml │ │ ├── per_reqeuest_deubgging.yml │ │ ├── plugin-configure-phase.yml │ │ ├── request-aware-table.yml │ │ ├── request_id.yml │ │ ├── session_do_not_read_body_by_default.yml │ │ ├── vault-declarative.yml │ │ ├── vault-init-warmup.yml │ │ ├── vault-resurrect.yml │ │ ├── wasm-filter-config-schemas.yml │ │ ├── wasm-filter-json-config.yml │ │ └── wasmtime_version_bump.yml │ ├── 3.6.0/ │ │ ├── 3.6.0.md │ │ ├── kong/ │ │ │ ├── .gitkeep │ │ │ ├── add-ai-prompt-decorator-plugin.yml │ │ │ ├── add-ai-prompt-guard-plugin.yml │ │ │ ├── add-ai-prompt-template-plugin.yml │ │ │ ├── add-ai-proxy-plugin.yml │ │ │ ├── add-ai-proxy-telemetry.yml │ │ │ ├── add-ai-request-transformer-plugin.yml │ │ │ ├── add-ai-response-transformer-plugin.yml │ │ │ ├── add-gateway-edition-to-root-endpoint-admin-api.yml │ │ │ ├── add_ngx_brotli_module.yml │ │ │ ├── atc_reuse_context.yml │ │ │ ├── basic_www_authenticate.yml │ │ │ ├── bump-atc-router.yml │ │ │ ├── bump-cocurrency-limit-of-timer-ng.yml │ │ │ ├── bump-lapis-1.16.0.1.yml │ │ │ ├── bump-lpeg-1.1.0.yml │ │ │ ├── bump-lua-messagepack-0.5.3.yml │ │ │ ├── bump-lua-messagepack-0.5.4.yml │ │ │ ├── bump-lua-resty-aws-1.3.6.yml │ │ │ ├── bump-lua-resty-healthcheck-3.0.1.yml │ │ │ ├── bump-lua-resty-lmdb-1.4.1.yml │ │ │ ├── bump-lua-resty-timer-ng-to-0.2.6.yml │ │ │ ├── bump-ngx-wasm-module.yml │ │ │ ├── bump-openresty.yml │ │ │ ├── bump-openssl.yml │ │ │ ├── bump-resty-openssl.yml │ │ │ ├── bump-wasmtime.yml │ │ │ ├── bump_dns_stale_ttl.yml │ │ │ ├── bump_ngx_brotli.yml │ │ │ ├── bump_openssl_from_3_1_4_to_3_2_0.yml │ │ │ ├── ca_certificates_reference_check.yml │ │ │ ├── clustering-empty-data-plane-hash-fix.yml │ │ │ ├── cookie-name-validator.yml │ │ │ ├── cp-expose-dp-cert-details.yml │ │ │ ├── dao-pk-as-entity.yml │ │ │ ├── debian-12-support.yml │ │ │ ├── declarative_config_fix.yml │ │ │ ├── default_status_port.yml │ │ │ ├── deps_bump_lua_resty_healthcheck.yml │ │ │ ├── display-warning-message-for-km-misconfig.yml │ │ │ ├── enhance_admin_api_auth_error_response.yml │ │ │ ├── error_handler_494.yml │ │ │ ├── expression_http_headers_sensitive.yml │ │ │ ├── expressions_not_operator.yml │ │ │ ├── feat-add-cipher-to-the-intermediate.yml │ │ │ ├── fix-declarative-config-flattened-data-loss.yml │ │ │ ├── fix-error-message-print.yml │ │ │ ├── fix-ldoc-intermittent-fail.yml │ │ │ ├── fix-pdk-response-set-header-with-table.yml │ │ │ ├── fix-upstream-uri-azure-function-plugin.yml │ │ │ ├── fix-wasm-module-branch.yml │ │ │ ├── fix_dns_blocking.yml │ │ │ ├── fix_dns_disable_dns_no_sync.yml │ │ │ ├── fix_dns_instrument_error_handling.yml │ │ │ ├── inject-nginx-directives-location.yml │ │ │ ├── introduce_lmdb_validation_tag.yml │ │ │ ├── log-serializer-source-property.yml │ │ │ ├── optimize_keepalive_parameters.yml │ │ │ ├── pdk-json-encoding-numbers-precision.yml │ │ │ ├── pdk-response-send-remove-transfer-encoding.yml │ │ │ ├── perf-tracing-from-timers.yml │ │ │ ├── plugin-server-instance-leak.yml │ │ │ ├── postremove.yml │ │ │ ├── prometheus_expose_no_service_metrics.yml │ │ │ ├── rate-limiting-fix-redis-sync-rate.yml │ │ │ ├── respect-custom-proxy_access_log.yml │ │ │ ├── rl-shared-sync-timer.yml │ │ │ ├── router-report-yield.yml │ │ │ ├── serviceless-routes-still-trigger-datalog-plugin.yml │ │ │ ├── standardize-redis-conifguration-acme.yml │ │ │ ├── standardize-redis-conifguration-rate-limiting.yml │ │ │ ├── standardize-redis-conifguration-response-rl.yml │ │ │ ├── subsystems_do_not_share_router_schemas.yml │ │ │ ├── support_http_path_segments_field.yml │ │ │ ├── support_net_src_dst_field_in_expression.yml │ │ │ ├── tracing-dns-query-patch.yml │ │ │ ├── tracing-sampling-rate-scope.yml │ │ │ ├── validate_private_key.yml │ │ │ ├── wasm-attach.yml │ │ │ ├── wasm-dynamic-properties.yml │ │ │ └── wasm-injected-shm-kv.yml │ │ └── kong-manager/ │ │ ├── entity_form_preview.yml │ │ ├── redesigned_basic_components.yml │ │ ├── standardized_notification_format.yml │ │ └── unified_plugin_pages.yml │ ├── 3.7.0/ │ │ ├── 3.7.0.md │ │ ├── kong/ │ │ │ ├── .gitkeep │ │ │ ├── add-ai-data-report.yml │ │ │ ├── add-messages-api-to-anthropic.yml │ │ │ ├── add_tzdata.yml │ │ │ ├── ai-proxy-client-params.yml │ │ │ ├── ai-proxy-preserve-mode.yml │ │ │ ├── analytics-for-anthropic.yml │ │ │ ├── bump-atc-router.yml │ │ │ ├── bump-libexpat.yml │ │ │ ├── bump-lua-kong-nginx-module.yml │ │ │ ├── bump-lua-protobuf.yml │ │ │ ├── bump-lua-resty-acme.yml │ │ │ ├── bump-lua-resty-aws.yml │ │ │ ├── bump-lua-resty-http-0.17.2.yml │ │ │ ├── bump-lua-resty-lmdb.yml │ │ │ ├── bump-lua-resty-openssl.yml │ │ │ ├── bump-lua-resty-timer-ng.yml │ │ │ ├── bump-luarocks.yml │ │ │ ├── bump-ngx-wasm-module.yml │ │ │ ├── bump-pcre.yml │ │ │ ├── bump-penlight.yml │ │ │ ├── bump-v8.yml │ │ │ ├── bump-wasmtime.yml │ │ │ ├── cleanup_ai.yml │ │ │ ├── decrease-cocurrency-limit-of-timer-ng.yml │ │ │ ├── disable-TLSv1_1-in-openssl3.yml │ │ │ ├── feat-add-workspace-label-to-prometheus.yml │ │ │ ├── feat-ai-proxy-add-streaming.yml │ │ │ ├── feat-emmy-debugger.yml │ │ │ ├── feat-hybrid-sync-mixed-route-policy.yml │ │ │ ├── feat-increase-ai-anthropic-regex-expression-length.yml │ │ │ ├── feat-jwt-eddsa.yml │ │ │ ├── feat-jwt-es512.yml │ │ │ ├── feat-wasm-general-shm-kv.yml │ │ │ ├── fix-acme-renewal-bug.yml │ │ │ ├── fix-aws-lambda-kong-latency.yml │ │ │ ├── fix-cjson-t-end.yml │ │ │ ├── fix-cli-db-timeout-overrides.yml │ │ │ ├── fix-ctx-host-port.yml │ │ │ ├── fix-dbless-duplicate-target-error.yml │ │ │ ├── fix-default-value-of-upstream-keepalive-max-requests.yml │ │ │ ├── fix-dns-resolv-timeout-zero.yml │ │ │ ├── fix-external-plugin-instance.yml │ │ │ ├── fix-file-permission-of-logrotate.yml │ │ │ ├── fix-hybrid-dp-certificate-with-vault-not-refresh.yml │ │ │ ├── fix-jwt-plugin-check.yml │ │ │ ├── fix-migrations-for-redis-plugins-acme.yml │ │ │ ├── fix-migrations-for-redis-plugins-response-rl.yml │ │ │ ├── fix-migrations-for-redis-plugins-rl.yml │ │ │ ├── fix-missing-router-section-of-request-debugging.yml │ │ │ ├── fix-mlcache-renew-lock-leaks.yml │ │ │ ├── fix-router-rebuing-flag.yml │ │ │ ├── fix-snis-tls-passthrough-in-trad-compat.yml │ │ │ ├── fix-upstream-status-unset.yml │ │ │ ├── fix-vault-init-worker.yml │ │ │ ├── fix-vault-secret-update-without-ttl.yml │ │ │ ├── fix-vault-workspaces.yml │ │ │ ├── fix-wasm-disable-pwm-lua-resolver.yml │ │ │ ├── fix_api_405_vaults_validate_endpoint.yml │ │ │ ├── fix_balancer_healthecker_unexpected_panic.yml │ │ │ ├── fix_privileged_agent_id_1.yml │ │ │ ├── flavor-expressions-supports-traditional-fields.yml │ │ │ ├── key_auth_www_authenticate.yml │ │ │ ├── log-serializer-kong-latency.yml │ │ │ ├── log-serializer-receive-latency.yml │ │ │ ├── otel-increase-queue-max-batch-size.yml │ │ │ ├── otel-sampling-panic-when-header-trace-id-enable.yml │ │ │ ├── plugin-schema-deprecation-record.yml │ │ │ ├── plugin_server_restart.yml │ │ │ ├── pluginsocket-proto-wrong-type.yml │ │ │ ├── propagation-module-rework.yml │ │ │ ├── revert-req-body-limitation-patch.yml │ │ │ ├── separate_kong_cache_invalidation_cluster_event_channel.yml │ │ │ ├── set_grpc_tls_seclevel.yml │ │ │ ├── speed_up_internal_hooking_mechanism.yml │ │ │ ├── speed_up_router.yml │ │ │ ├── tracing-pdk-short-trace-ids.yml │ │ │ ├── update-ai-proxy-telemetry.yml │ │ │ └── wasm-bundled-filters.yml │ │ └── kong-manager/ │ │ ├── .gitkeep │ │ ├── expressions_routes.yml │ │ ├── plugin_forms_improvements.yml │ │ └── ui_improvements.yml │ ├── 3.8.0/ │ │ ├── 3.8.0.md │ │ ├── kong/ │ │ │ ├── .gitkeep │ │ │ ├── acl-always-use-authenticated-groups.yml │ │ │ ├── add-ai-data-latency.yml │ │ │ ├── add-ai-data-prometheus.yml │ │ │ ├── admin-api-map-brackets-syntax.yml │ │ │ ├── ai-plugin-read-file.yml │ │ │ ├── ai-proxy-add-allow-override-opt.yml │ │ │ ├── ai-proxy-add-deep-copy-lib.yml │ │ │ ├── ai-proxy-aws-bedrock.yml │ │ │ ├── ai-proxy-azure-streaming.yml │ │ │ ├── ai-proxy-cloud-identity-transformer-plugins.yml │ │ │ ├── ai-proxy-fix-model-parameter.yml │ │ │ ├── ai-proxy-fix-nil-response-token-count.yml │ │ │ ├── ai-proxy-fix-sending-own-model.yml │ │ │ ├── ai-proxy-fix-tuning-parameter-precedence.yml │ │ │ ├── ai-proxy-google-gemini.yml │ │ │ ├── ai-proxy-mistral-ai.yml │ │ │ ├── ai-proxy-model-header.yml │ │ │ ├── ai-proxy-proper-model-assignment.yml │ │ │ ├── bump-lua-protobuf.yml │ │ │ ├── bump-lua-resty-acme.yml │ │ │ ├── bump-lua-resty-aws.yml │ │ │ ├── bump-lua-resty-events.yml │ │ │ ├── bump-lua-resty-healthcheck.yml │ │ │ ├── bump-lua-resty-lmdb.yml │ │ │ ├── bump-lua-resty-openssl.yml │ │ │ ├── bump-luarocks.yml │ │ │ ├── bump-ngx-wasm-module.yml │ │ │ ├── bump-openresty.yml │ │ │ ├── bump-pcre.yml │ │ │ ├── bump-wasmtime.yml │ │ │ ├── certificates_schema_validate.yml │ │ │ ├── cp-luarocks-admin-to-bin.yml │ │ │ ├── feat-ai-prompt-guard-all-roles.yml │ │ │ ├── feat-aws-lambda-configurable-sts-endpoint.yml │ │ │ ├── feat-aws-lambda-decode-empty-array.yml │ │ │ ├── feat-pdk-unlimited-body-size.yml │ │ │ ├── feat-queue-concurrency-limit.yml │ │ │ ├── feat-response-transformer-json-rename.yml │ │ │ ├── feat-via.yml │ │ │ ├── fix-acme-misleading-deprecation-logs.yml │ │ │ ├── fix-acme-username-password-auth.yml │ │ │ ├── fix-ai-gzip-content.yml │ │ │ ├── fix-ai-metrics-prometheus-compat.yml │ │ │ ├── fix-ai-plugin-no-consumer.yml │ │ │ ├── fix-ai-prompt-guard-order.yml │ │ │ ├── fix-ai-proxy-shared-state.yml │ │ │ ├── fix-aws-lambda-empty-array-mutli-value.yml │ │ │ ├── fix-aws-lambda-gateway-compat-version-field.yml │ │ │ ├── fix-clustering-forward-proxy-authentication.yml │ │ │ ├── fix-cmd-error-log.yml │ │ │ ├── fix-correlation-id-config-generator.yml │ │ │ ├── fix-cors-wildcard.yml │ │ │ ├── fix-db-read-only.yml │ │ │ ├── fix-deprecate-shorthands-precedence.yml │ │ │ ├── fix-dns-initialization.yml │ │ │ ├── fix-filter-finalize-in-send-header-clear-context.yml │ │ │ ├── fix-for-null-aware-shorthand.yml │ │ │ ├── fix-grpc-gateway-json-decode-bug.yml │ │ │ ├── fix-http-log-host-header.yml │ │ │ ├── fix-log-upstream-status-nil-subrequest.yml │ │ │ ├── fix-multi-modal.yml │ │ │ ├── fix-otel-migrations-exception.yml │ │ │ ├── fix-propagation-remove-redundant-warnings.yml │ │ │ ├── fix-realm-compat-changes-basic-auth.yml │ │ │ ├── fix-realm-compat-changes-key-auth.yml │ │ │ ├── fix-reports-uninitialized-variable-in-400.yml │ │ │ ├── fix-request-size-limiting-with-chunked-transfer-encoding-and-no-content-length.yml │ │ │ ├── fix-request-transformer-uri-replace.yml │ │ │ ├── fix-response-rl-misleading-deprecation-logs.yml │ │ │ ├── fix-rl-misleading-deprecation-logs.yml │ │ │ ├── fix-route-set-priority-with-others.yml │ │ │ ├── fix-service-tls-verify.yml │ │ │ ├── fix-sni-cache-invalidate.yml │ │ │ ├── fix-tracing-sampling-rate.yml │ │ │ ├── fix-type-of-logrotate.yml │ │ │ ├── fix-vault-reference-parsing-endslash.yml │ │ │ ├── fix-vault-resurrect-ttl-multi-worker.yml │ │ │ ├── fix-vault-secret-rotation-log-level.yml │ │ │ ├── fix-wasm-enable-pwm-lua-resolver.yml │ │ │ ├── fix_hash.yml │ │ │ ├── hmac_www_authenticate.yml │ │ │ ├── host_header.yml │ │ │ ├── improve-prometheus-error-logging.yml │ │ │ ├── jwt_www_authenticate.yml │ │ │ ├── ldap_www_authenticate.yml │ │ │ ├── make_rpm_relocatable.yml │ │ │ ├── migration_of_ai_proxy_plugin.yml │ │ │ ├── move-sockets-to-subdir.yml │ │ │ ├── oauth2_www_authenticate.yml │ │ │ ├── otel-formatted-logs.yml │ │ │ ├── pdk-log-error.yml │ │ │ ├── pdk-read-file.yml │ │ │ ├── pdk-telemetry-log.yml │ │ │ ├── plugins-add-standard-webhooks.yml │ │ │ ├── proxy-cache-fix-age-header.yml │ │ │ ├── refactor_dns_client.yml │ │ │ ├── reject-config-on-deprecated-fields-mismatch.yml │ │ │ ├── remove_eol_debian_rhel.yml │ │ │ ├── req-trans-rename.yml │ │ │ ├── resty-simdjson.yml │ │ │ ├── revert-dns-behavior.yml │ │ │ ├── shorten-socket-names.yml │ │ │ ├── wasm-module-cache.yml │ │ │ └── yield-in-gzip.yml │ │ └── kong-manager/ │ │ ├── .gitkeep │ │ ├── a11y-improvements.yml │ │ ├── resizable-entity-lists.yml │ │ ├── sni-field-in-certificate-form.yml │ │ └── ui-improvements.yml │ ├── 3.9.0/ │ │ ├── 3.9.0.md │ │ ├── kong/ │ │ │ ├── .gitkeep │ │ │ ├── add-noble-numbat.yml │ │ │ ├── add_multiple_domain_for_gui.yml │ │ │ ├── ai-anthropic-fix-function-calling.yml │ │ │ ├── ai-bedrock-fix-function-calling.yml │ │ │ ├── ai-bedrock-fix-guardrails.yml │ │ │ ├── ai-cohere-fix-function-calling.yml │ │ │ ├── ai-gemini-blocks-content-safety.yml │ │ │ ├── ai-gemini-fix-function-calling.yml │ │ │ ├── ai-gemini-fix-transformer-plugins.yml │ │ │ ├── ai-transformers-bad-error-handling.yml │ │ │ ├── bump-dockerfile-ubi9.yml │ │ │ ├── bump-lua-kong-nginx-module.yml │ │ │ ├── bump-lua-resty-aws.yml │ │ │ ├── bump-lua-resty-events.yml │ │ │ ├── bump-lua-resty-ljsonschema.yml │ │ │ ├── bump-lua-resty-lmdb-2.yml │ │ │ ├── bump-lua-resty-lmdb.yml │ │ │ ├── bump-ngx-wasm-module.yml │ │ │ ├── bump-prometheus-latency-bucket.yml │ │ │ ├── bump-wasmtime.yml │ │ │ ├── bump_openssl.yml │ │ │ ├── chore-clustering-log-level.yml │ │ │ ├── cp-dp-rpc.yml │ │ │ ├── deprecate_node_id.yml │ │ │ ├── feat-add-ada.yml │ │ │ ├── feat-add-huggingface-llm-driver.yml │ │ │ ├── feat-ai-proxy-disable-h2-alpn.yml │ │ │ ├── feat-api-yaml-media-type.yml │ │ │ ├── feat-correlation-id-order.yml │ │ │ ├── feat-disable-h2-alpn.yml │ │ │ ├── feat-kong-drain-cmd.yml │ │ │ ├── feat-pdk-clear-query-arg.yml │ │ │ ├── feat-request-debguger-finer-resolution-and-total-latency.yml │ │ │ ├── feat-tracing-pdk-attributes.yml │ │ │ ├── fix-admin-api-for-empty-tags.yml │ │ │ ├── fix-ai-proxy-multi-modal-azure.yml │ │ │ ├── fix-ai-semantic-cache-model.yml │ │ │ ├── fix-aws-lambda-multi-value-header-null.yml │ │ │ ├── fix-balancer-health-checker.yml │ │ │ ├── fix-core-pass-ctx-to-log-init-worker-errors.yml │ │ │ ├── fix-jwt-plugin-rsa-public-key-b64decoded.yml │ │ │ ├── fix-key-auth-retain-query-order.yml │ │ │ ├── fix-loggly-hostname-notfound.yml │ │ │ ├── fix-ngx-balancer-recreate-request-api-for-balancer-body-refresh.yml │ │ │ ├── fix-parse-nested-parameters.yml │ │ │ ├── fix-pdk-inspect-notice.yml │ │ │ ├── fix-plugin-conf-ws-id.yml │ │ │ ├── fix-retries-error-message.yml │ │ │ ├── fix-return-values-mistaken-in-rate-limiting-plugin.yml │ │ │ ├── fix-rl-plugin-resp-hdr.yml │ │ │ ├── fix-schema-validation-with-nil-field.yml │ │ │ ├── fix-vault-array-config.yml │ │ │ ├── fix-vault-cache-workspace-id.yml │ │ │ ├── fix-vault-stream-subsystem.yml │ │ │ ├── fix-wasm-check-missing-filters.yml │ │ │ ├── plugins-redirect.yml │ │ │ ├── prometheus-wasmx-metrics.yml │ │ │ ├── remove-datakit.yml │ │ │ ├── revert-http2-limitation-buffered-request.yml │ │ │ └── wasm-filter-plugins.yml │ │ └── kong-manager/ │ │ ├── .gitkeep │ │ ├── hide-plugin-scoping.yml │ │ ├── ui-improvements.yml │ │ └── unified-redirection.yml │ ├── Makefile │ ├── README.md │ ├── changelog-template.yaml │ ├── create_pr │ ├── unreleased/ │ │ ├── kong/ │ │ │ ├── .gitkeep │ │ │ ├── add-cp-connectivity-metric-prometheus.yml │ │ │ ├── add_ai_gemini_boto_support.yml │ │ │ ├── admin-gui-csp-header.yml │ │ │ ├── backport-resty-balancer-set-upstream.yml │ │ │ ├── bump-atc-router.yml │ │ │ ├── bump-kong-nginx-module.yml │ │ │ ├── bump-libexpat-to-2_6_4.yml │ │ │ ├── bump-lua-kong-nginx-module-0140.yml │ │ │ ├── bump-lua-resty-simdjson.yml │ │ │ ├── bump-luarocks-to-3_12_2.yml │ │ │ ├── bump-ngx-wasm-module.yml │ │ │ ├── bump-openresty.yml │ │ │ ├── bump-pcre.yml │ │ │ ├── bump-snappy-library.yml │ │ │ ├── bump_openssl.yml │ │ │ ├── deprecate-llm-upstream-url.yml │ │ │ ├── disable-ngx-wasm-module.yml │ │ │ ├── dynamic-set-tls-in-pdk-set_scheme.yml │ │ │ ├── feat-cors-skip-return-acao-when-no-origin-in-request.yml │ │ │ ├── feat-patch-supprt-set_next_upstream.yml │ │ │ ├── feat-variable-resource-attributes.yml │ │ │ ├── fix-admin-api-route-path-response-error.yml │ │ │ ├── fix-ai-analytics-key.yml │ │ │ ├── fix-ai-azure-incorrect-path-overriding.yml │ │ │ ├── fix-ai-azure-streaming.yml │ │ │ ├── fix-ai-chunking.yml │ │ │ ├── fix-ai-gemini-multimodal.yml │ │ │ ├── fix-ai-parameters-typo-in-huggingface.yml │ │ │ ├── fix-ai-proxy-anthropic-tool-choice.yml │ │ │ ├── fix-ai-proxy-gemini-incorrect-model-name.yml │ │ │ ├── fix-ai-upstream-url-trailing-empty.yml │ │ │ ├── fix-certificate-reference.yml │ │ │ ├── fix-consistent-hashing-for-hyphenated-pascal-case-headers.yml │ │ │ ├── fix-cors-allow-empty-string-origin.yml │ │ │ ├── fix-db_resurrect_ttl.yml │ │ │ ├── fix-dbless-consumer-credential-error.yml │ │ │ ├── fix-declarative-config-load.yml │ │ │ ├── fix-downgrade-routes-plugins-rebuilding-log-level.yml │ │ │ ├── fix-duplicate-content-type.yml │ │ │ ├── fix-error-flattening-json.yml │ │ │ ├── fix-error-handle-certificate.yml │ │ │ ├── fix-escape-dots-in-logging-plugins.yml │ │ │ ├── fix-header_cache.yml │ │ │ ├── fix-invalid-hostname.yml │ │ │ ├── fix-ip-restriction-tcp-error.yml │ │ │ ├── fix-jwt-www-authenticate-header-delimiter.yml │ │ │ ├── fix-new-dns-client-timeout.yml │ │ │ ├── fix-nil-reference-schema-checker.yml │ │ │ ├── fix-nonexisting-anonymous-error-message.yml │ │ │ ├── fix-oauth2-header-delimiter.yml │ │ │ ├── fix-pdk-clear-query-arg-space-encoding.yml │ │ │ ├── fix-potential-socket-connection-leak.yml │ │ │ ├── fix-response-ratelimiting-upstream-headers.yml │ │ │ ├── fix-socket-path-permissions.yml │ │ │ ├── fix-target-deletion.yml │ │ │ ├── fix-upstream-keep-alive-pool-name.yml │ │ │ ├── fix_ai-gemini-truncated-streams.yml │ │ │ ├── fix_ai-logger-error-handling.yml │ │ │ ├── fix_ai-plugins-templating.yml │ │ │ ├── fix_ai-streaming-function-calls.yml │ │ │ ├── fix_ai_ollama_content_streaming.yml │ │ │ ├── fix_ai_proxy_config_issue.yml │ │ │ ├── fix_ai_proxy_preserve_mode.yml │ │ │ ├── fix_file_path_not_allowed_whitespace.yml │ │ │ ├── instana-header-support.yml │ │ │ ├── perf-lmdb-remove-global-query-key.yml │ │ │ ├── perf-string-splitting.yml │ │ │ ├── perf-trace-ID-size-lookup.yml │ │ │ ├── prometheus-upstream-metrics-toggle.yml │ │ │ ├── refine-pdk-performance.yml │ │ │ ├── remove-datakit.yml │ │ │ ├── remove-duplicate-rl-ctx-check.yml │ │ │ ├── revert-translate-backwards.yml │ │ │ ├── session_store_metadata.yml │ │ │ └── upstream-uri-refresh-when-recreate-request.yml │ │ └── kong-manager/ │ │ └── .gitkeep │ └── verify-prs ├── crate_locks/ │ └── README.md ├── kong/ │ ├── admin_gui/ │ │ ├── init.lua │ │ └── utils.lua │ ├── api/ │ │ ├── api_helpers.lua │ │ ├── arguments.lua │ │ ├── arguments_decoder.lua │ │ ├── endpoints.lua │ │ ├── init.lua │ │ └── routes/ │ │ ├── cache.lua │ │ ├── certificates.lua │ │ ├── clustering.lua │ │ ├── config.lua │ │ ├── consumers.lua │ │ ├── debug.lua │ │ ├── dns.lua │ │ ├── filter_chains.lua │ │ ├── health.lua │ │ ├── kong.lua │ │ ├── plugins.lua │ │ ├── snis.lua │ │ ├── tags.lua │ │ ├── targets.lua │ │ └── upstreams.lua │ ├── cache/ │ │ ├── init.lua │ │ └── warmup.lua │ ├── cluster_events/ │ │ ├── init.lua │ │ └── strategies/ │ │ ├── off.lua │ │ └── postgres.lua │ ├── clustering/ │ │ ├── compat/ │ │ │ ├── checkers.lua │ │ │ ├── init.lua │ │ │ ├── removed_fields.lua │ │ │ └── version.lua │ │ ├── config_helper.lua │ │ ├── control_plane.lua │ │ ├── data_plane.lua │ │ ├── events.lua │ │ ├── init.lua │ │ ├── rpc/ │ │ │ ├── callbacks.lua │ │ │ ├── concentrator.lua │ │ │ ├── future.lua │ │ │ ├── json_rpc_v2.lua │ │ │ ├── manager.lua │ │ │ ├── queue.lua │ │ │ ├── socket.lua │ │ │ └── utils.lua │ │ ├── services/ │ │ │ └── sync/ │ │ │ ├── hooks.lua │ │ │ ├── init.lua │ │ │ ├── rpc.lua │ │ │ ├── strategies/ │ │ │ │ └── postgres.lua │ │ │ └── validate.lua │ │ ├── tls.lua │ │ └── utils.lua │ ├── cmd/ │ │ ├── check.lua │ │ ├── config.lua │ │ ├── drain.lua │ │ ├── health.lua │ │ ├── hybrid.lua │ │ ├── init.lua │ │ ├── migrations.lua │ │ ├── prepare.lua │ │ ├── quit.lua │ │ ├── reload.lua │ │ ├── restart.lua │ │ ├── roar.lua │ │ ├── start.lua │ │ ├── stop.lua │ │ ├── utils/ │ │ │ ├── env.lua │ │ │ ├── inject_confs.lua │ │ │ ├── kill.lua │ │ │ ├── log.lua │ │ │ ├── migrations.lua │ │ │ ├── nginx_signals.lua │ │ │ ├── prefix_handler.lua │ │ │ ├── process_secrets.lua │ │ │ ├── timer.lua │ │ │ └── tty.lua │ │ ├── vault.lua │ │ └── version.lua │ ├── concurrency.lua │ ├── conf_loader/ │ │ ├── constants.lua │ │ ├── init.lua │ │ ├── listeners.lua │ │ ├── parse.lua │ │ └── sys.lua │ ├── constants.lua │ ├── db/ │ │ ├── dao/ │ │ │ ├── ca_certificates.lua │ │ │ ├── certificates.lua │ │ │ ├── init.lua │ │ │ ├── key_sets.lua │ │ │ ├── keys.lua │ │ │ ├── plugins.lua │ │ │ ├── services.lua │ │ │ ├── snis.lua │ │ │ ├── tags.lua │ │ │ ├── targets.lua │ │ │ ├── vaults.lua │ │ │ └── workspaces.lua │ │ ├── declarative/ │ │ │ ├── export.lua │ │ │ ├── import.lua │ │ │ ├── init.lua │ │ │ ├── marshaller.lua │ │ │ └── migrations/ │ │ │ ├── init.lua │ │ │ └── route_path.lua │ │ ├── errors.lua │ │ ├── init.lua │ │ ├── iteration.lua │ │ ├── migrations/ │ │ │ ├── core/ │ │ │ │ ├── 000_base.lua │ │ │ │ ├── 003_100_to_110.lua │ │ │ │ ├── 004_110_to_120.lua │ │ │ │ ├── 005_120_to_130.lua │ │ │ │ ├── 006_130_to_140.lua │ │ │ │ ├── 007_140_to_150.lua │ │ │ │ ├── 008_150_to_200.lua │ │ │ │ ├── 009_200_to_210.lua │ │ │ │ ├── 010_210_to_211.lua │ │ │ │ ├── 011_212_to_213.lua │ │ │ │ ├── 012_213_to_220.lua │ │ │ │ ├── 013_220_to_230.lua │ │ │ │ ├── 014_230_to_270.lua │ │ │ │ ├── 015_270_to_280.lua │ │ │ │ ├── 016_280_to_300.lua │ │ │ │ ├── 017_300_to_310.lua │ │ │ │ ├── 018_310_to_320.lua │ │ │ │ ├── 019_320_to_330.lua │ │ │ │ ├── 020_330_to_340.lua │ │ │ │ ├── 021_340_to_350.lua │ │ │ │ ├── 022_350_to_360.lua │ │ │ │ ├── 023_360_to_370.lua │ │ │ │ ├── 024_380_to_390.lua │ │ │ │ ├── 025_390_to_3100.lua │ │ │ │ └── init.lua │ │ │ ├── migrate_path_280_300.lua │ │ │ ├── operations/ │ │ │ │ ├── 200_to_210.lua │ │ │ │ ├── 212_to_213.lua │ │ │ │ ├── 280_to_300.lua │ │ │ │ └── 331_to_332.lua │ │ │ ├── state.lua │ │ │ └── subsystems.lua │ │ ├── schema/ │ │ │ ├── entities/ │ │ │ │ ├── ca_certificates.lua │ │ │ │ ├── certificates.lua │ │ │ │ ├── clustering_data_planes.lua │ │ │ │ ├── consumers.lua │ │ │ │ ├── filter_chains.lua │ │ │ │ ├── key_sets.lua │ │ │ │ ├── keys.lua │ │ │ │ ├── parameters.lua │ │ │ │ ├── plugins.lua │ │ │ │ ├── routes.lua │ │ │ │ ├── routes_subschemas.lua │ │ │ │ ├── services.lua │ │ │ │ ├── snis.lua │ │ │ │ ├── tags.lua │ │ │ │ ├── targets.lua │ │ │ │ ├── upstreams.lua │ │ │ │ ├── vaults.lua │ │ │ │ └── workspaces.lua │ │ │ ├── entity.lua │ │ │ ├── init.lua │ │ │ ├── json.lua │ │ │ ├── metaschema.lua │ │ │ ├── others/ │ │ │ │ ├── declarative_config.lua │ │ │ │ ├── migrations.lua │ │ │ │ └── wasm_filter.lua │ │ │ ├── plugin_loader.lua │ │ │ ├── topological_sort.lua │ │ │ ├── typedefs.lua │ │ │ └── vault_loader.lua │ │ ├── strategies/ │ │ │ ├── connector.lua │ │ │ ├── init.lua │ │ │ ├── off/ │ │ │ │ ├── connector.lua │ │ │ │ ├── init.lua │ │ │ │ ├── plugins.lua │ │ │ │ ├── services.lua │ │ │ │ └── tags.lua │ │ │ └── postgres/ │ │ │ ├── connector.lua │ │ │ ├── init.lua │ │ │ ├── plugins.lua │ │ │ ├── services.lua │ │ │ └── tags.lua │ │ └── utils.lua │ ├── deprecation.lua │ ├── dns/ │ │ ├── README.md │ │ ├── client.lua │ │ ├── stats.lua │ │ └── utils.lua │ ├── dynamic_hook/ │ │ ├── README.md │ │ └── init.lua │ ├── error_handlers.lua │ ├── global.lua │ ├── globalpatches.lua │ ├── hooks.lua │ ├── include/ │ │ ├── kong/ │ │ │ ├── model/ │ │ │ │ ├── ca_certificate.proto │ │ │ │ ├── certificate.proto │ │ │ │ ├── config.proto │ │ │ │ ├── consumer.proto │ │ │ │ ├── parameter.proto │ │ │ │ ├── plugin.proto │ │ │ │ ├── plugin_entities.proto │ │ │ │ ├── route.proto │ │ │ │ ├── service.proto │ │ │ │ ├── sni.proto │ │ │ │ ├── target.proto │ │ │ │ ├── upstream.proto │ │ │ │ └── workspace.proto │ │ │ └── pluginsocket.proto │ │ └── opentelemetry/ │ │ └── proto/ │ │ ├── collector/ │ │ │ ├── logs/ │ │ │ │ └── v1/ │ │ │ │ └── logs_service.proto │ │ │ └── trace/ │ │ │ └── v1/ │ │ │ └── trace_service.proto │ │ ├── common/ │ │ │ └── v1/ │ │ │ └── common.proto │ │ ├── logs/ │ │ │ └── v1/ │ │ │ └── logs.proto │ │ ├── resource/ │ │ │ └── v1/ │ │ │ └── resource.proto │ │ └── trace/ │ │ └── v1/ │ │ └── trace.proto │ ├── init.lua │ ├── llm/ │ │ ├── adapters/ │ │ │ ├── bedrock.lua │ │ │ └── gemini.lua │ │ ├── drivers/ │ │ │ ├── anthropic.lua │ │ │ ├── azure.lua │ │ │ ├── bedrock.lua │ │ │ ├── cohere.lua │ │ │ ├── gemini.lua │ │ │ ├── huggingface.lua │ │ │ ├── llama2.lua │ │ │ ├── mistral.lua │ │ │ ├── openai.lua │ │ │ └── shared.lua │ │ ├── init.lua │ │ ├── plugin/ │ │ │ ├── base.lua │ │ │ ├── crud_handler.lua │ │ │ ├── ctx.lua │ │ │ ├── observability.lua │ │ │ └── shared-filters/ │ │ │ ├── enable-buffering.lua │ │ │ ├── normalize-json-response.lua │ │ │ ├── normalize-request.lua │ │ │ ├── normalize-response-header.lua │ │ │ ├── normalize-sse-chunk.lua │ │ │ ├── parse-json-response.lua │ │ │ ├── parse-request.lua │ │ │ ├── parse-sse-chunk.lua │ │ │ └── serialize-analytics.lua │ │ └── schemas/ │ │ └── init.lua │ ├── meta.lua │ ├── observability/ │ │ ├── logs.lua │ │ ├── otlp/ │ │ │ ├── init.lua │ │ │ └── proto.lua │ │ └── tracing/ │ │ ├── instrumentation.lua │ │ ├── propagation/ │ │ │ ├── extractors/ │ │ │ │ ├── _base.lua │ │ │ │ ├── aws.lua │ │ │ │ ├── b3.lua │ │ │ │ ├── datadog.lua │ │ │ │ ├── gcp.lua │ │ │ │ ├── instana.lua │ │ │ │ ├── jaeger.lua │ │ │ │ ├── ot.lua │ │ │ │ └── w3c.lua │ │ │ ├── init.lua │ │ │ ├── injectors/ │ │ │ │ ├── _base.lua │ │ │ │ ├── aws.lua │ │ │ │ ├── b3-single.lua │ │ │ │ ├── b3.lua │ │ │ │ ├── datadog.lua │ │ │ │ ├── gcp.lua │ │ │ │ ├── instana.lua │ │ │ │ ├── jaeger.lua │ │ │ │ ├── ot.lua │ │ │ │ └── w3c.lua │ │ │ ├── schema.lua │ │ │ └── utils.lua │ │ ├── request_id.lua │ │ └── tracing_context.lua │ ├── pdk/ │ │ ├── client/ │ │ │ └── tls.lua │ │ ├── client.lua │ │ ├── cluster.lua │ │ ├── ctx.lua │ │ ├── init.lua │ │ ├── ip.lua │ │ ├── log.lua │ │ ├── nginx.lua │ │ ├── node.lua │ │ ├── plugin.lua │ │ ├── private/ │ │ │ ├── checks.lua │ │ │ ├── node.lua │ │ │ ├── phases.lua │ │ │ └── rate_limiting.lua │ │ ├── request.lua │ │ ├── response.lua │ │ ├── router.lua │ │ ├── service/ │ │ │ ├── request.lua │ │ │ └── response.lua │ │ ├── service.lua │ │ ├── table.lua │ │ ├── telemetry.lua │ │ ├── tracing.lua │ │ └── vault.lua │ ├── plugins/ │ │ ├── acl/ │ │ │ ├── acls.lua │ │ │ ├── api.lua │ │ │ ├── daos.lua │ │ │ ├── groups.lua │ │ │ ├── handler.lua │ │ │ ├── migrations/ │ │ │ │ ├── 000_base_acl.lua │ │ │ │ ├── 002_130_to_140.lua │ │ │ │ ├── 003_200_to_210.lua │ │ │ │ ├── 004_212_to_213.lua │ │ │ │ └── init.lua │ │ │ └── schema.lua │ │ ├── acme/ │ │ │ ├── api.lua │ │ │ ├── client.lua │ │ │ ├── clustering/ │ │ │ │ └── compat/ │ │ │ │ └── redis_translation.lua │ │ │ ├── daos.lua │ │ │ ├── handler.lua │ │ │ ├── migrations/ │ │ │ │ ├── 000_base_acme.lua │ │ │ │ ├── 001_280_to_300.lua │ │ │ │ ├── 002_320_to_330.lua │ │ │ │ ├── 003_350_to_360.lua │ │ │ │ └── init.lua │ │ │ ├── reserved_words.lua │ │ │ ├── schema.lua │ │ │ └── storage/ │ │ │ ├── config_adapters/ │ │ │ │ ├── init.lua │ │ │ │ └── redis.lua │ │ │ └── kong.lua │ │ ├── ai-prompt-decorator/ │ │ │ ├── filters/ │ │ │ │ └── decorate-prompt.lua │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── ai-prompt-guard/ │ │ │ ├── filters/ │ │ │ │ └── guard-prompt.lua │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── ai-prompt-template/ │ │ │ ├── filters/ │ │ │ │ └── render-prompt-template.lua │ │ │ ├── handler.lua │ │ │ ├── schema.lua │ │ │ └── templater.lua │ │ ├── ai-proxy/ │ │ │ ├── handler.lua │ │ │ ├── migrations/ │ │ │ │ ├── 001_360_to_370.lua │ │ │ │ └── init.lua │ │ │ └── schema.lua │ │ ├── ai-request-transformer/ │ │ │ ├── filters/ │ │ │ │ └── transform-request.lua │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── ai-response-transformer/ │ │ │ ├── filters/ │ │ │ │ └── transform-response.lua │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── aws-lambda/ │ │ │ ├── handler.lua │ │ │ ├── request-util.lua │ │ │ └── schema.lua │ │ ├── azure-functions/ │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── basic-auth/ │ │ │ ├── access.lua │ │ │ ├── crypto.lua │ │ │ ├── daos.lua │ │ │ ├── handler.lua │ │ │ ├── migrations/ │ │ │ │ ├── 000_base_basic_auth.lua │ │ │ │ ├── 002_130_to_140.lua │ │ │ │ ├── 003_200_to_210.lua │ │ │ │ └── init.lua │ │ │ └── schema.lua │ │ ├── bot-detection/ │ │ │ ├── handler.lua │ │ │ ├── migrations/ │ │ │ │ ├── 001_200_to_210.lua │ │ │ │ └── init.lua │ │ │ ├── rules.lua │ │ │ └── schema.lua │ │ ├── correlation-id/ │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── cors/ │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── datadog/ │ │ │ ├── handler.lua │ │ │ ├── schema.lua │ │ │ └── statsd_logger.lua │ │ ├── file-log/ │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── grpc-gateway/ │ │ │ ├── deco.lua │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── grpc-web/ │ │ │ ├── deco.lua │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── hmac-auth/ │ │ │ ├── access.lua │ │ │ ├── daos.lua │ │ │ ├── handler.lua │ │ │ ├── migrations/ │ │ │ │ ├── 000_base_hmac_auth.lua │ │ │ │ ├── 002_130_to_140.lua │ │ │ │ ├── 003_200_to_210.lua │ │ │ │ └── init.lua │ │ │ └── schema.lua │ │ ├── http-log/ │ │ │ ├── handler.lua │ │ │ ├── migrations/ │ │ │ │ ├── 001_280_to_300.lua │ │ │ │ └── init.lua │ │ │ └── schema.lua │ │ ├── ip-restriction/ │ │ │ ├── handler.lua │ │ │ ├── migrations/ │ │ │ │ ├── 001_200_to_210.lua │ │ │ │ └── init.lua │ │ │ └── schema.lua │ │ ├── jwt/ │ │ │ ├── daos.lua │ │ │ ├── handler.lua │ │ │ ├── jwt_parser.lua │ │ │ ├── migrations/ │ │ │ │ ├── 000_base_jwt.lua │ │ │ │ ├── 002_130_to_140.lua │ │ │ │ ├── 003_200_to_210.lua │ │ │ │ └── init.lua │ │ │ └── schema.lua │ │ ├── key-auth/ │ │ │ ├── daos.lua │ │ │ ├── handler.lua │ │ │ ├── migrations/ │ │ │ │ ├── 000_base_key_auth.lua │ │ │ │ ├── 002_130_to_140.lua │ │ │ │ ├── 003_200_to_210.lua │ │ │ │ ├── 004_320_to_330.lua │ │ │ │ └── init.lua │ │ │ └── schema.lua │ │ ├── ldap-auth/ │ │ │ ├── access.lua │ │ │ ├── asn1.lua │ │ │ ├── handler.lua │ │ │ ├── ldap.lua │ │ │ └── schema.lua │ │ ├── loggly/ │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── oauth2/ │ │ │ ├── access.lua │ │ │ ├── daos/ │ │ │ │ └── oauth2_tokens.lua │ │ │ ├── daos.lua │ │ │ ├── handler.lua │ │ │ ├── migrations/ │ │ │ │ ├── 000_base_oauth2.lua │ │ │ │ ├── 003_130_to_140.lua │ │ │ │ ├── 004_200_to_210.lua │ │ │ │ ├── 005_210_to_211.lua │ │ │ │ ├── 006_320_to_330.lua │ │ │ │ ├── 007_320_to_330.lua │ │ │ │ └── init.lua │ │ │ ├── schema.lua │ │ │ └── secret.lua │ │ ├── opentelemetry/ │ │ │ ├── handler.lua │ │ │ ├── logs.lua │ │ │ ├── migrations/ │ │ │ │ ├── 001_331_to_332.lua │ │ │ │ └── init.lua │ │ │ ├── schema.lua │ │ │ ├── traces.lua │ │ │ └── utils.lua │ │ ├── post-function/ │ │ │ ├── handler.lua │ │ │ ├── migrations/ │ │ │ │ ├── 001_280_to_300.lua │ │ │ │ └── init.lua │ │ │ └── schema.lua │ │ ├── pre-function/ │ │ │ ├── _handler.lua │ │ │ ├── _schema.lua │ │ │ ├── handler.lua │ │ │ ├── migrations/ │ │ │ │ ├── 001_280_to_300.lua │ │ │ │ ├── _001_280_to_300.lua │ │ │ │ └── init.lua │ │ │ └── schema.lua │ │ ├── prometheus/ │ │ │ ├── api.lua │ │ │ ├── exporter.lua │ │ │ ├── grafana/ │ │ │ │ ├── README.md │ │ │ │ └── kong-official.json │ │ │ ├── handler.lua │ │ │ ├── prometheus.lua │ │ │ ├── schema.lua │ │ │ ├── serve.lua │ │ │ ├── status_api.lua │ │ │ └── wasmx.lua │ │ ├── proxy-cache/ │ │ │ ├── api.lua │ │ │ ├── cache_key.lua │ │ │ ├── handler.lua │ │ │ ├── schema.lua │ │ │ └── strategies/ │ │ │ ├── init.lua │ │ │ └── memory.lua │ │ ├── rate-limiting/ │ │ │ ├── clustering/ │ │ │ │ └── compat/ │ │ │ │ └── redis_translation.lua │ │ │ ├── daos.lua │ │ │ ├── expiration.lua │ │ │ ├── handler.lua │ │ │ ├── migrations/ │ │ │ │ ├── 000_base_rate_limiting.lua │ │ │ │ ├── 003_10_to_112.lua │ │ │ │ ├── 004_200_to_210.lua │ │ │ │ ├── 005_320_to_330.lua │ │ │ │ ├── 006_350_to_360.lua │ │ │ │ └── init.lua │ │ │ ├── policies/ │ │ │ │ ├── cluster.lua │ │ │ │ └── init.lua │ │ │ └── schema.lua │ │ ├── redirect/ │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── request-size-limiting/ │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── request-termination/ │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── request-transformer/ │ │ │ ├── access.lua │ │ │ ├── handler.lua │ │ │ ├── migrations/ │ │ │ │ ├── common.lua │ │ │ │ └── postgres.lua │ │ │ └── schema.lua │ │ ├── response-ratelimiting/ │ │ │ ├── access.lua │ │ │ ├── clustering/ │ │ │ │ └── compat/ │ │ │ │ └── redis_translation.lua │ │ │ ├── handler.lua │ │ │ ├── header_filter.lua │ │ │ ├── log.lua │ │ │ ├── migrations/ │ │ │ │ ├── 000_base_response_rate_limiting.lua │ │ │ │ ├── 001_350_to_360.lua │ │ │ │ └── init.lua │ │ │ ├── policies/ │ │ │ │ ├── cluster.lua │ │ │ │ └── init.lua │ │ │ └── schema.lua │ │ ├── response-transformer/ │ │ │ ├── body_transformer.lua │ │ │ ├── handler.lua │ │ │ ├── header_transformer.lua │ │ │ └── schema.lua │ │ ├── session/ │ │ │ ├── access.lua │ │ │ ├── daos/ │ │ │ │ └── session_metadatas.lua │ │ │ ├── daos.lua │ │ │ ├── handler.lua │ │ │ ├── header_filter.lua │ │ │ ├── migrations/ │ │ │ │ ├── 000_base_session.lua │ │ │ │ ├── 001_add_ttl_index.lua │ │ │ │ ├── 002_320_to_330.lua │ │ │ │ ├── 003_330_to_3100.lua │ │ │ │ └── init.lua │ │ │ ├── schema.lua │ │ │ ├── session.lua │ │ │ ├── storage/ │ │ │ │ └── kong.lua │ │ │ └── strategies/ │ │ │ └── postgres/ │ │ │ └── session_metadatas.lua │ │ ├── standard-webhooks/ │ │ │ ├── handler.lua │ │ │ ├── internal.lua │ │ │ └── schema.lua │ │ ├── statsd/ │ │ │ ├── constants.lua │ │ │ ├── handler.lua │ │ │ ├── log.lua │ │ │ ├── schema.lua │ │ │ └── statsd_logger.lua │ │ ├── syslog/ │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── tcp-log/ │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── udp-log/ │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ └── zipkin/ │ │ ├── README.md │ │ ├── handler.lua │ │ ├── reporter.lua │ │ ├── request_tags.lua │ │ ├── schema.lua │ │ └── span.lua │ ├── reports.lua │ ├── resty/ │ │ ├── ctx.lua │ │ ├── dns/ │ │ │ ├── client.lua │ │ │ └── utils.lua │ │ └── mlcache/ │ │ ├── init.lua │ │ └── ipc.lua │ ├── router/ │ │ ├── atc.lua │ │ ├── compat.lua │ │ ├── expressions.lua │ │ ├── fields.lua │ │ ├── init.lua │ │ ├── traditional.lua │ │ ├── transform.lua │ │ └── utils.lua │ ├── runloop/ │ │ ├── balancer/ │ │ │ ├── balancers.lua │ │ │ ├── consistent_hashing.lua │ │ │ ├── healthcheckers.lua │ │ │ ├── init.lua │ │ │ ├── latency.lua │ │ │ ├── least_connections.lua │ │ │ ├── round_robin.lua │ │ │ ├── targets.lua │ │ │ └── upstreams.lua │ │ ├── certificate.lua │ │ ├── events.lua │ │ ├── handler.lua │ │ ├── log_level.lua │ │ ├── plugin_servers/ │ │ │ ├── init.lua │ │ │ ├── plugin.lua │ │ │ ├── process.lua │ │ │ └── rpc/ │ │ │ ├── init.lua │ │ │ ├── mp_rpc.lua │ │ │ ├── pb_rpc.lua │ │ │ └── util.lua │ │ ├── plugins_iterator.lua │ │ ├── upstream_retry.lua │ │ ├── upstream_ssl.lua │ │ ├── wasm/ │ │ │ ├── plugins.lua │ │ │ └── properties.lua │ │ └── wasm.lua │ ├── status/ │ │ ├── init.lua │ │ └── ready.lua │ ├── templates/ │ │ ├── kong_defaults.lua │ │ ├── kong_yml.lua │ │ ├── nginx.lua │ │ ├── nginx_inject.lua │ │ ├── nginx_kong.lua │ │ ├── nginx_kong_gui_include.lua │ │ ├── nginx_kong_inject.lua │ │ ├── nginx_kong_stream.lua │ │ ├── nginx_kong_stream_inject.lua │ │ └── wasmtime_cache_config.lua │ ├── timing/ │ │ ├── context.lua │ │ ├── hooks/ │ │ │ ├── dns.lua │ │ │ ├── http.lua │ │ │ ├── init.lua │ │ │ ├── redis.lua │ │ │ └── socket.lua │ │ └── init.lua │ ├── tools/ │ │ ├── aws_stream.lua │ │ ├── cjson.lua │ │ ├── dns.lua │ │ ├── emmy_debugger.lua │ │ ├── grpc.lua │ │ ├── gzip.lua │ │ ├── http.lua │ │ ├── ip.lua │ │ ├── kong-lua-sandbox.lua │ │ ├── mime_type.lua │ │ ├── module.lua │ │ ├── protobuf.lua │ │ ├── queue.lua │ │ ├── queue_schema.lua │ │ ├── rand.lua │ │ ├── redis/ │ │ │ └── schema.lua │ │ ├── request_aware_table.lua │ │ ├── sandbox/ │ │ │ ├── environment/ │ │ │ │ ├── handler.lua │ │ │ │ ├── init.lua │ │ │ │ ├── lua.lua │ │ │ │ └── schema.lua │ │ │ ├── init.lua │ │ │ ├── kong.lua │ │ │ └── require/ │ │ │ ├── handler.lua │ │ │ ├── init.lua │ │ │ ├── lua.lua │ │ │ └── schema.lua │ │ ├── sha256.lua │ │ ├── stream_api.lua │ │ ├── string.lua │ │ ├── system.lua │ │ ├── table.lua │ │ ├── time.lua │ │ ├── timestamp.lua │ │ ├── uri.lua │ │ ├── utils.lua │ │ ├── uuid.lua │ │ └── yield.lua │ ├── vaults/ │ │ └── env/ │ │ ├── init.lua │ │ └── schema.lua │ └── workspaces/ │ └── init.lua ├── kong-latest.rockspec ├── kong.conf.default ├── scripts/ │ ├── Dockerfile │ ├── autodoc │ ├── build-wasm-test-filters.sh │ ├── changelog-helper.lua │ ├── check-labeler.pl │ ├── check_spec_files_spelling.sh │ ├── dependency_services/ │ │ ├── 00-create-pg-db.sh │ │ ├── common.sh │ │ ├── docker-compose-test-services.yml │ │ ├── up.fish │ │ └── up.sh │ ├── explain_manifest/ │ │ ├── .gitignore │ │ ├── config.py │ │ ├── docker_image_filelist.txt │ │ ├── expect.py │ │ ├── explain.py │ │ ├── filelist.txt │ │ ├── fixtures/ │ │ │ ├── amazonlinux-2-amd64.txt │ │ │ ├── amazonlinux-2023-amd64.txt │ │ │ ├── amazonlinux-2023-arm64.txt │ │ │ ├── debian-11-amd64.txt │ │ │ ├── debian-12-amd64.txt │ │ │ ├── el8-amd64.txt │ │ │ ├── el9-amd64.txt │ │ │ ├── el9-arm64.txt │ │ │ ├── ubuntu-20.04-amd64.txt │ │ │ ├── ubuntu-22.04-amd64.txt │ │ │ ├── ubuntu-22.04-arm64.txt │ │ │ ├── ubuntu-24.04-amd64.txt │ │ │ └── ubuntu-24.04-arm64.txt │ │ ├── main.py │ │ ├── requirements.txt │ │ └── suites.py │ ├── grep-kong-version.sh │ ├── make-release │ ├── release-kong.sh │ ├── release-lib.sh │ ├── update-copyright │ ├── upgrade-tests/ │ │ ├── docker-compose.yml │ │ ├── luarocks-system-lua │ │ ├── source-versions │ │ └── test-upgrade-path.sh │ └── validate-rockspec ├── sgconfig.yml ├── spec/ │ ├── 01-unit/ │ │ ├── 01-db/ │ │ │ ├── 01-schema/ │ │ │ │ ├── 01-schema_spec.lua │ │ │ │ ├── 02-metaschema_spec.lua │ │ │ │ ├── 03-typedefs_spec.lua │ │ │ │ ├── 04-entities_schema_spec.lua │ │ │ │ ├── 05-services_spec.lua │ │ │ │ ├── 06-routes_spec.lua │ │ │ │ ├── 07-plugins_spec.lua │ │ │ │ ├── 08-targets_spec.lua │ │ │ │ ├── 09-upstreams_spec.lua │ │ │ │ ├── 10-migrations_spec.lua │ │ │ │ ├── 11-declarative_config/ │ │ │ │ │ ├── 01-validate_spec.lua │ │ │ │ │ ├── 02-process_auto_fields_spec.lua │ │ │ │ │ ├── 03-flatten_spec.lua │ │ │ │ │ ├── 04-on-the-fly-migration_spec.lua │ │ │ │ │ └── 05-error-flattening_spec.lua │ │ │ │ ├── 11-snis_spec.lua │ │ │ │ ├── 12-topological_sort_spec.lua │ │ │ │ ├── 13-cluster_status_spec.lua │ │ │ │ ├── 14-consumers_spec.lua │ │ │ │ └── 15-workspaces_spec.lua │ │ │ ├── 02-db-errors_spec.lua │ │ │ ├── 03-arguments_spec.lua │ │ │ ├── 04-dao_spec.lua │ │ │ ├── 06-postgres_spec.lua │ │ │ ├── 07-dao/ │ │ │ │ ├── 01-plugins_spec.lua │ │ │ │ └── 02-tags_spec.lua │ │ │ ├── 07-db_spec.lua │ │ │ ├── 08-cache_warmup_spec.lua │ │ │ ├── 09-no_broadcast_crud_event_spec.lua │ │ │ ├── 10-declarative_spec.lua │ │ │ ├── 11-declarative_lmdb_spec.lua │ │ │ ├── 12-missing-migrations_spec.lua │ │ │ └── 13-off/ │ │ │ └── 01-select-by-ca-certificate_spec.lua │ │ ├── 02-rockspec_meta_spec.lua │ │ ├── 03-conf_loader_spec.lua │ │ ├── 04-prefix_handler_spec.lua │ │ ├── 05-utils_spec.lua │ │ ├── 06-timestamp_spec.lua │ │ ├── 07-api_helpers_spec.lua │ │ ├── 08-router_spec.lua │ │ ├── 09-balancer/ │ │ │ ├── 01-generic_spec.lua │ │ │ ├── 02-least_connections_spec.lua │ │ │ ├── 03-consistent_hashing_spec.lua │ │ │ ├── 04-round_robin_spec.lua │ │ │ ├── 05-worker_consistency_spec.lua │ │ │ └── 06-latency_spec.lua │ │ ├── 10-log_serializer_spec.lua │ │ ├── 11-reports_spec.lua │ │ ├── 12-plugins_order_spec.lua │ │ ├── 13-plugins_version_spec.lua │ │ ├── 14-dns_spec.lua │ │ ├── 16-runloop_handler_spec.lua │ │ ├── 17-concurrency_spec.lua │ │ ├── 18-tools_uri_spec.lua │ │ ├── 19-hooks_spec.lua │ │ ├── 19-hybrid/ │ │ │ ├── 02-clustering_spec.lua │ │ │ ├── 03-compat_spec.lua │ │ │ ├── 04-validate_deltas_spec.lua │ │ │ └── 05-validate-versions_spec.lua │ │ ├── 20-sandbox_spec.lua │ │ ├── 21-dns-client/ │ │ │ ├── 01-utils_spec.lua │ │ │ ├── 02-client_spec.lua │ │ │ └── 03-client_cache_spec.lua │ │ ├── 22-grpc-utils_spec.lua │ │ ├── 23-vaults_spec.lua │ │ ├── 24-runloop_certificate_spec.lua │ │ ├── 25-msgpack_rpc_spec.lua │ │ ├── 26-mime-type_spec.lua │ │ ├── 26-observability/ │ │ │ ├── 01-tracer_pdk_spec.lua │ │ │ ├── 02-propagation_strategies_spec.lua │ │ │ ├── 03-propagation_module_spec.lua │ │ │ ├── 04-request-id_spec.lua │ │ │ ├── 05-logs_spec.lua │ │ │ └── 06-telemetry-pdk_spec.lua │ │ ├── 27-queue_spec.lua │ │ ├── 28-inject_confs_spec.lua │ │ ├── 28-plugins-iterator/ │ │ │ ├── 01-compound_key_spec.lua │ │ │ └── 02-lookup_cfg_spec.lua │ │ ├── 29-admin_gui/ │ │ │ ├── 01-admin_gui_spec.lua │ │ │ └── 02-admin_gui_template_spec.lua │ │ ├── 29-lua_cjson_large_str_spec.lua │ │ ├── 30-new-dns-client/ │ │ │ ├── 01-utils_spec.lua │ │ │ ├── 02-old_client_spec.lua │ │ │ ├── 03-old_client_cache_spec.lua │ │ │ ├── 04-client_ipc_spec.lua │ │ │ └── 05-client_stat_spec.lua │ │ ├── 30-standardized_redis_config_spec.lua │ │ ├── 31-ada-url_spec.lua │ │ ├── 31-simdjson/ │ │ │ ├── 01-cjson_compatibility_spec.lua │ │ │ └── 02-yield_spec.lua │ │ └── 32-tools_string_spec.lua │ ├── 02-integration/ │ │ ├── 01-helpers/ │ │ │ ├── 01-helpers_spec.lua │ │ │ ├── 02-blueprints_spec.lua │ │ │ ├── 03-http_mock_spec.lua │ │ │ ├── 04-redis_helper_spec.lua │ │ │ └── 05-rpc-mock_spec.lua │ │ ├── 02-cmd/ │ │ │ ├── 01-cmds_spec.lua │ │ │ ├── 02-start_stop_spec.lua │ │ │ ├── 03-reload_spec.lua │ │ │ ├── 04-version_spec.lua │ │ │ ├── 05-check_spec.lua │ │ │ ├── 06-restart_spec.lua │ │ │ ├── 07-health_spec.lua │ │ │ ├── 08-quit_spec.lua │ │ │ ├── 09-prepare_spec.lua │ │ │ ├── 10-migrations_spec.lua │ │ │ ├── 11-config_spec.lua │ │ │ ├── 12-hybrid_spec.lua │ │ │ ├── 13-signals_spec.lua │ │ │ ├── 14-vault_spec.lua │ │ │ ├── 15-utils_spec.lua │ │ │ ├── 16-verbose_spec.lua │ │ │ └── 17-drain_spec.lua │ │ ├── 03-db/ │ │ │ ├── 01-db_spec.lua │ │ │ ├── 02-db_core_entities_spec.lua │ │ │ ├── 03-plugins_spec.lua │ │ │ ├── 04-db_cluster_mutex_spec.lua │ │ │ ├── 06-migrations_state_spec.lua │ │ │ ├── 07-tags_spec.lua │ │ │ ├── 08-declarative_spec.lua │ │ │ ├── 09-query-semaphore_spec.lua │ │ │ ├── 10-db_unique_foreign_spec.lua │ │ │ ├── 11-db_transformations_spec.lua │ │ │ ├── 11-postgres-ro_spec.lua │ │ │ ├── 12-dao_hooks_spec.lua │ │ │ ├── 13-cluster_status_spec.lua │ │ │ ├── 14-dao_spec.lua │ │ │ ├── 15-connection_pool_spec.lua │ │ │ ├── 18-keys_spec.lua │ │ │ ├── 19-key-sets_spec.lua │ │ │ ├── 20-ttl-cleanup_spec.lua │ │ │ ├── 21-services_spec.lua │ │ │ ├── 22-ca_certificates_spec.lua │ │ │ └── 23-shorthand_fields_translate_backwards_spec.lua │ │ ├── 04-admin_api/ │ │ │ ├── 01-admin_api_spec.lua │ │ │ ├── 02-kong_routes_spec.lua │ │ │ ├── 03-consumers_routes_spec.lua │ │ │ ├── 04-plugins_routes_spec.lua │ │ │ ├── 05-cache_routes_spec.lua │ │ │ ├── 06-certificates_routes_spec.lua │ │ │ ├── 07-upstreams_routes_spec.lua │ │ │ ├── 08-targets_routes_spec.lua │ │ │ ├── 09-routes_routes_spec.lua │ │ │ ├── 10-services_routes_spec.lua │ │ │ ├── 11-reports_spec.lua │ │ │ ├── 12-plugins-conf_spec.lua │ │ │ ├── 13-plugin-endpoints_spec.lua │ │ │ ├── 14-tags_spec.lua │ │ │ ├── 15-off_spec.lua │ │ │ ├── 16-ca_certificates_routes_spec.lua │ │ │ ├── 17-foreign-entity_spec.lua │ │ │ ├── 19-vaults_spec.lua │ │ │ ├── 20-timers_spec.lua │ │ │ ├── 21-admin-api-keys_spec.lua │ │ │ ├── 21-truncated_arguments_spec.lua │ │ │ ├── 22-debug_spec.lua │ │ │ ├── 23-cors_spec.lua │ │ │ ├── 25-max_safe_integer_spec.lua │ │ │ └── 25-workspaces_spec.lua │ │ ├── 05-proxy/ │ │ │ ├── 01-proxy_spec.lua │ │ │ ├── 02-router_spec.lua │ │ │ ├── 03-upstream_headers_spec.lua │ │ │ ├── 04-plugins_triggering_spec.lua │ │ │ ├── 05-dns_spec.lua │ │ │ ├── 06-ssl_spec.lua │ │ │ ├── 07-upstream_timeouts_spec.lua │ │ │ ├── 08-uri_encoding_spec.lua │ │ │ ├── 09-websockets_spec.lua │ │ │ ├── 10-balancer/ │ │ │ │ ├── 01-healthchecks_spec.lua │ │ │ │ ├── 02-least-connections_spec.lua │ │ │ │ ├── 03-consistent-hashing_spec.lua │ │ │ │ ├── 04-round-robin_spec.lua │ │ │ │ ├── 05-recreate-request_spec.lua │ │ │ │ ├── 05-stress.lua │ │ │ │ ├── 06-stream_spec.lua │ │ │ │ └── 07-latency_spec.lua │ │ │ ├── 11-handler_spec.lua │ │ │ ├── 12-error_default_type_spec.lua │ │ │ ├── 13-error_handlers_spec.lua │ │ │ ├── 14-server_tokens_spec.lua │ │ │ ├── 15-upstream-status-header_spec.lua │ │ │ ├── 16-custom_nginx_directive_spec.lua │ │ │ ├── 18-upstream_tls_spec.lua │ │ │ ├── 19-grpc_proxy_spec.lua │ │ │ ├── 21-grpc_plugins_triggering_spec.lua │ │ │ ├── 22-reports_spec.lua │ │ │ ├── 23-context_spec.lua │ │ │ ├── 24-buffered_spec.lua │ │ │ ├── 25-upstream_keepalive_spec.lua │ │ │ ├── 26-udp_spec.lua │ │ │ ├── 27-lua-ssl-trusted-cert_spec.lua │ │ │ ├── 27-unbuffered_spec.lua │ │ │ ├── 28-stream_plugins_triggering_spec.lua │ │ │ ├── 29-collect-plugin-errors_spec.lua │ │ │ ├── 30-max-args_spec.lua │ │ │ ├── 31-stream_tls_spec.lua │ │ │ ├── 32-query-params_spec.lua │ │ │ ├── 33-request-aware-table_spec.lua │ │ │ ├── 33-request-id-header_spec.lua │ │ │ ├── 34-proxy_with_compress_spec.lua │ │ │ └── 35-via_spec.lua │ │ ├── 06-invalidations/ │ │ │ ├── 01-cluster_events_spec.lua │ │ │ ├── 02-core_entities_invalidations_spec.lua │ │ │ ├── 03-plugins_iterator_invalidation_spec.lua │ │ │ └── 04-balancer_cache_correctness_spec.lua │ │ ├── 07-sdk/ │ │ │ ├── 01-ctx_spec.lua │ │ │ ├── 02-log_spec.lua │ │ │ ├── 03-cluster_spec.lua │ │ │ ├── 04-plugin-config_spec.lua │ │ │ ├── 05-pdk_spec.lua │ │ │ └── 06-worker_events_spec.lua │ │ ├── 08-status_api/ │ │ │ ├── 01-core_routes_spec.lua │ │ │ ├── 02-targets_routes_spec.lua │ │ │ ├── 03-readiness_endpoint_spec.lua │ │ │ ├── 04-config_spec.lua │ │ │ └── 05-dns_client_spec.lua │ │ ├── 09-hybrid_mode/ │ │ │ ├── 01-sync_spec.lua │ │ │ ├── 02-start_stop_spec.lua │ │ │ ├── 03-pki_spec.lua │ │ │ ├── 04-cp_cluster_sync_spec.lua │ │ │ ├── 05-ocsp_spec.lua │ │ │ ├── 08-lazy_export_spec.lua │ │ │ ├── 09-config-compat_spec.lua │ │ │ ├── 09-node-id-persistence_spec.lua │ │ │ ├── 10-forward-proxy_spec.lua │ │ │ ├── 11-status_spec.lua │ │ │ ├── 12-errors_spec.lua │ │ │ ├── 13-deprecations_spec.lua │ │ │ ├── 14-dp_privileged_agent_spec.lua │ │ │ └── 15-cp_inert_rpc_sync_spec.lua │ │ ├── 10-external-plugins/ │ │ │ ├── 01-process-management_spec.lua │ │ │ ├── 02-execution_spec.lua │ │ │ ├── 03-wasm_spec.lua │ │ │ └── 99-reports_spec.lua │ │ ├── 11-dbless/ │ │ │ ├── 01-respawn_spec.lua │ │ │ ├── 02-workers_spec.lua │ │ │ ├── 03-config_persistence_spec.lua │ │ │ └── 04-pagination_spec.lua │ │ ├── 12-stream_api/ │ │ │ └── 01-stream_api_endpoint_spec.lua │ │ ├── 13-vaults/ │ │ │ ├── 01-vault_spec.lua │ │ │ ├── 02-env_vault_spec.lua │ │ │ ├── 03-mock_spec.lua │ │ │ ├── 04-echo_spec.lua │ │ │ ├── 05-ttl_spec.lua │ │ │ ├── 06-refresh-secrets_spec.lua │ │ │ └── 07-resurrect_spec.lua │ │ ├── 14-observability/ │ │ │ ├── 01-instrumentations_spec.lua │ │ │ ├── 02-propagation_spec.lua │ │ │ ├── 03-tracer-pdk_spec.lua │ │ │ ├── 04-trace-ids-log_spec.lua │ │ │ ├── 05-logs_spec.lua │ │ │ └── 06-telemetry-pdk_spec.lua │ │ ├── 15-plugins-iterator/ │ │ │ ├── 01-precedence_spec.lua │ │ │ └── 02-correctness_spec.lua │ │ ├── 16-queues/ │ │ │ └── 01-shutdown_spec.lua │ │ ├── 17-admin_gui/ │ │ │ ├── 01-admin-gui-path_spec.lua │ │ │ ├── 02-log_spec.lua │ │ │ └── 03-reports_spec.lua │ │ ├── 18-hybrid_rpc/ │ │ │ ├── 01-rpc_spec.lua │ │ │ ├── 02-error_spec.lua │ │ │ ├── 03-inert_spec.lua │ │ │ ├── 04-concentrator_spec.lua │ │ │ ├── 05-sync-rpc_spec.lua │ │ │ ├── 06-batch-rpc_spec.lua │ │ │ ├── 07-notification_spec.lua │ │ │ ├── 08-sync_v2_get_delta_spec.lua │ │ │ ├── 09-notify_new_version_spec.lua │ │ │ └── 10-validate_deltas_spec.lua │ │ ├── 21-request-debug/ │ │ │ └── 01-request-debug_spec.lua │ │ └── 22-ai_plugins/ │ │ └── 01-reports_spec.lua │ ├── 03-plugins/ │ │ ├── 01-legacy_queue_parameter_warning_spec.lua │ │ ├── 01-tcp-log/ │ │ │ └── 01-tcp-log_spec.lua │ │ ├── 02-legacy_propagation_parameter_warning_spec.lua │ │ ├── 02-udp-log/ │ │ │ └── 01-udp-log_spec.lua │ │ ├── 03-http-log/ │ │ │ ├── 01-log_spec.lua │ │ │ ├── 02-schema_spec.lua │ │ │ ├── 03-schem-vault_spec.lua │ │ │ ├── 04-legacy_queue_sharing_spec.lua │ │ │ └── 05-old-plugin-compatibility_spec.lua │ │ ├── 04-file-log/ │ │ │ ├── 01-log_spec.lua │ │ │ └── 02-schema_spec.lua │ │ ├── 05-syslog/ │ │ │ └── 01-log_spec.lua │ │ ├── 06-statsd/ │ │ │ ├── 01-log_spec.lua │ │ │ ├── 02-schema_spec.lua │ │ │ └── 03-allow_status_codes_spec.lua │ │ ├── 07-loggly/ │ │ │ └── 01-log_spec.lua │ │ ├── 08-datadog/ │ │ │ ├── 01-log_spec.lua │ │ │ └── 02-schema_spec.lua │ │ ├── 09-key-auth/ │ │ │ ├── 01-api_spec.lua │ │ │ ├── 02-access_spec.lua │ │ │ ├── 03-invalidations_spec.lua │ │ │ └── 04-hybrid_mode_spec.lua │ │ ├── 10-basic-auth/ │ │ │ ├── 01-crypto_spec.lua │ │ │ ├── 02-api_spec.lua │ │ │ ├── 03-access_spec.lua │ │ │ ├── 04-invalidations_spec.lua │ │ │ └── 05-declarative_spec.lua │ │ ├── 11-correlation-id/ │ │ │ ├── 01-access_spec.lua │ │ │ └── 02-schema_spec.lua │ │ ├── 12-request-size-limiting/ │ │ │ └── 01-access_spec.lua │ │ ├── 13-cors/ │ │ │ ├── 01-access_spec.lua │ │ │ └── 02-schema_spec.lua │ │ ├── 14-request-termination/ │ │ │ ├── 01-schema_spec.lua │ │ │ ├── 02-access_spec.lua │ │ │ └── 03-integration_spec.lua │ │ ├── 15-response-transformer/ │ │ │ ├── 01-header_transformer_spec.lua │ │ │ ├── 02-body_transformer_spec.lua │ │ │ ├── 03-api_spec.lua │ │ │ ├── 04-filter_spec.lua │ │ │ └── 05-big_response_body_spec.lua │ │ ├── 16-jwt/ │ │ │ ├── 01-jwt_parser_spec.lua │ │ │ ├── 02-api_spec.lua │ │ │ ├── 03-access_spec.lua │ │ │ ├── 04-invalidations_spec.lua │ │ │ ├── 06-schema_spec.lua │ │ │ └── fixtures.lua │ │ ├── 17-ip-restriction/ │ │ │ ├── 01-schema_spec.lua │ │ │ └── 02-access_spec.lua │ │ ├── 18-acl/ │ │ │ ├── 01-api_spec.lua │ │ │ ├── 02-access_spec.lua │ │ │ └── 03-invalidations_spec.lua │ │ ├── 19-hmac-auth/ │ │ │ ├── 01-schema_spec.lua │ │ │ ├── 02-api_spec.lua │ │ │ ├── 03-access_spec.lua │ │ │ └── 04-invalidations_spec.lua │ │ ├── 20-ldap-auth/ │ │ │ ├── 01-access_spec.lua │ │ │ ├── 02-invalidations_spec.lua │ │ │ ├── 02-schema_spec.lua │ │ │ └── 03-decode_spec.lua │ │ ├── 21-bot-detection/ │ │ │ ├── 01-access_spec.lua │ │ │ ├── 02-invalidations_spec.lua │ │ │ └── 03-api_spec.lua │ │ ├── 23-rate-limiting/ │ │ │ ├── 01-schema_spec.lua │ │ │ ├── 02-policies_spec.lua │ │ │ ├── 03-api_spec.lua │ │ │ ├── 04-access_spec.lua │ │ │ ├── 05-integration_spec.lua │ │ │ ├── 06-shorthand_fields_spec.lua │ │ │ └── 07-hybrid_mode_spec.lua │ │ ├── 24-response-rate-limiting/ │ │ │ ├── 01-schema_spec.lua │ │ │ ├── 02-policies_spec.lua │ │ │ ├── 03-api_spec.lua │ │ │ ├── 04-access_spec.lua │ │ │ ├── 05-integration_spec.lua │ │ │ └── 06-shorthand_fields_spec.lua │ │ ├── 25-oauth2/ │ │ │ ├── 01-schema_spec.lua │ │ │ ├── 02-api_spec.lua │ │ │ ├── 03-access_spec.lua │ │ │ ├── 04-invalidations_spec.lua │ │ │ └── 05-kdf_spec.lua │ │ ├── 26-prometheus/ │ │ │ ├── 01-api_spec.lua │ │ │ ├── 02-access_spec.lua │ │ │ ├── 03-custom-serve_spec.lua │ │ │ ├── 04-status_api_spec.lua │ │ │ ├── 05-metrics_spec.lua │ │ │ ├── 06-hybrid-mode_metrics_spec.lua │ │ │ ├── 07-optional_fields_spec.lua │ │ │ ├── 08-unit_spec.lua │ │ │ └── 09-wasmx_spec.lua │ │ ├── 27-aws-lambda/ │ │ │ ├── 02-schema_spec.lua │ │ │ ├── 05-aws-serializer_spec.lua │ │ │ ├── 06-request-util_spec.lua │ │ │ ├── 08-sam-integration_spec.lua │ │ │ └── 99-access_spec.lua │ │ ├── 28-grpc-gateway/ │ │ │ └── 01-proxy_spec.lua │ │ ├── 29-acme/ │ │ │ ├── 01-client_spec.lua │ │ │ ├── 02-kong_storage_spec.lua │ │ │ ├── 03-access_spec.lua │ │ │ ├── 04-schema_spec.lua │ │ │ ├── 05-redis_storage_spec.lua │ │ │ ├── 06-hybrid_mode_spec.lua │ │ │ └── 07-shorthand_fields_spec.lua │ │ ├── 30-session/ │ │ │ ├── 01-access_spec.lua │ │ │ ├── 02-kong_storage_adapter_spec.lua │ │ │ └── 03-session_spec.lua │ │ ├── 31-proxy-cache/ │ │ │ ├── 01-schema_spec.lua │ │ │ ├── 02-access_spec.lua │ │ │ ├── 03-api_spec.lua │ │ │ ├── 04-invalidations_spec.lua │ │ │ └── 05-cache_key_spec.lua │ │ ├── 32-grpc-web/ │ │ │ └── 01-proxy_spec.lua │ │ ├── 33-serverless-functions/ │ │ │ ├── 01-schema_spec.lua │ │ │ ├── 02-access_spec.lua │ │ │ ├── 03-dbless_spec.lua │ │ │ └── 04-phases_spec.lua │ │ ├── 34-zipkin/ │ │ │ ├── request_tags_spec.lua │ │ │ ├── schema_spec.lua │ │ │ ├── zipkin_no_endpoint_spec.lua │ │ │ ├── zipkin_queue_spec.lua │ │ │ └── zipkin_spec.lua │ │ ├── 35-azure-functions/ │ │ │ └── 01-access_spec.lua │ │ ├── 36-request-transformer/ │ │ │ ├── 01-schema_spec.lua │ │ │ ├── 02-access_spec.lua │ │ │ └── 03-api_spec.lua │ │ ├── 37-opentelemetry/ │ │ │ ├── 01-otlp_spec.lua │ │ │ ├── 02-schema_spec.lua │ │ │ ├── 03-propagation_spec.lua │ │ │ ├── 04-exporter_spec.lua │ │ │ ├── 05-otelcol_spec.lua │ │ │ ├── 06-regression_spec.lua │ │ │ └── 07-utils_spec.lua │ │ ├── 38-ai-proxy/ │ │ │ ├── 00-config_spec.lua │ │ │ ├── 01-unit_spec.lua │ │ │ ├── 02-openai_integration_spec.lua │ │ │ ├── 03-anthropic_integration_spec.lua │ │ │ ├── 04-cohere_integration_spec.lua │ │ │ ├── 05-azure_integration_spec.lua │ │ │ ├── 06-mistral_integration_spec.lua │ │ │ ├── 07-llama2_integration_spec.lua │ │ │ ├── 08-encoding_integration_spec.lua │ │ │ ├── 09-streaming_integration_spec.lua │ │ │ ├── 10-huggingface_integration_spec.lua │ │ │ ├── 11-gemini_integration_spec.lua │ │ │ ├── 12-native_unit_spec.lua │ │ │ ├── json-schema.json │ │ │ └── oas.yaml │ │ ├── 39-ai-request-transformer/ │ │ │ ├── 00-config_spec.lua │ │ │ ├── 01-transformer_spec.lua │ │ │ └── 02-integration_spec.lua │ │ ├── 39-reconfiguration-completion/ │ │ │ ├── 01-access_spec.lua │ │ │ └── 02-helper_spec.lua │ │ ├── 40-ai-response-transformer/ │ │ │ ├── 00-config_spec.lua │ │ │ ├── 01-transformer_spec.lua │ │ │ └── 02-integration_spec.lua │ │ ├── 41-ai-prompt-decorator/ │ │ │ ├── 00-config_spec.lua │ │ │ ├── 01-unit_spec.lua │ │ │ └── 02-integration_spec.lua │ │ ├── 42-ai-prompt-guard/ │ │ │ ├── 00-config_spec.lua │ │ │ ├── 01-unit_spec.lua │ │ │ └── 02-integration_spec.lua │ │ ├── 43-ai-prompt-template/ │ │ │ ├── 01-unit_spec.lua │ │ │ └── 02-integration_spec.lua │ │ ├── 44-standard-webhooks/ │ │ │ ├── 01-unit_spec.lua │ │ │ └── 02-integration_spec.lua │ │ └── 45-redirect/ │ │ ├── 01-schema_spec.lua │ │ ├── 02-access_spec.lua │ │ └── 03-integration_spec.lua │ ├── 04-perf/ │ │ ├── 01-rps/ │ │ │ ├── 01-simple_spec.lua │ │ │ ├── 02-balancer_spec.lua │ │ │ ├── 03-plugin_iterator_spec.lua │ │ │ ├── 04-simple_hybrid_spec.lua │ │ │ ├── 05-prometheus.lua │ │ │ ├── 06-core_entities_crud_spec.lua │ │ │ └── 07-upstream_lock_regression_spec.lua │ │ ├── 02-flamegraph/ │ │ │ ├── 01-simple_spec.lua │ │ │ ├── 03-plugin_iterator_spec.lua │ │ │ ├── 05-prometheus.lua │ │ │ └── 07-upstream_lock_regression_spec.lua │ │ └── 99-teardown/ │ │ └── 01-teardown_spec.lua │ ├── 05-migration/ │ │ ├── db/ │ │ │ └── migrations/ │ │ │ └── core/ │ │ │ ├── 016_280_to_300_spec.lua │ │ │ ├── 017_300_to_310_spec.lua │ │ │ ├── 018_310_to_320_spec.lua │ │ │ ├── 019_320_to_330_spec.lua │ │ │ ├── 020_330_to_340_spec.lua │ │ │ ├── 021_340_to_350_spec.lua │ │ │ ├── 022_350_to_360_spec.lua │ │ │ ├── 023_360_to_370_spec.lua │ │ │ ├── 024_380_to_390_spec.lua │ │ │ └── 025_390_to_3100_spec.lua │ │ └── plugins/ │ │ ├── acme/ │ │ │ └── migrations/ │ │ │ ├── 001_280_to_300_spec.lua │ │ │ ├── 002_320_to_330_spec.lua │ │ │ └── 003_350_to_360_spec.lua │ │ ├── ai-proxy/ │ │ │ └── migrations/ │ │ │ └── 001_360_to_370_spec.lua │ │ ├── http-log/ │ │ │ └── migrations/ │ │ │ └── 001_280_to_300_spec.lua │ │ ├── key-auth/ │ │ │ └── migrations/ │ │ │ └── 004_320_to_330_spec.lua │ │ ├── oauth2/ │ │ │ └── migrations/ │ │ │ ├── 006_320_to_330_spec.lua │ │ │ └── 007_320_to_330_spec.lua │ │ ├── opentelemetry/ │ │ │ └── migrations/ │ │ │ └── 001_331_to_332_spec.lua │ │ ├── post-function/ │ │ │ └── migrations/ │ │ │ └── 001_280_to_300_spec.lua │ │ ├── pre-function/ │ │ │ └── migrations/ │ │ │ └── 001_280_to_300_spec.lua │ │ ├── rate-limiting/ │ │ │ └── migrations/ │ │ │ ├── 005_320_to_330_spec.lua │ │ │ └── 006_350_to_360_spec.lua │ │ ├── response-ratelimiting/ │ │ │ └── migrations/ │ │ │ └── 001_350_to_360_spec.lua │ │ └── session/ │ │ └── migrations/ │ │ ├── 002_320_to_330_spec.lua │ │ └── 003_330_to_3100_spec.lua │ ├── 06-third-party/ │ │ └── 01-deck/ │ │ └── 01-deck-integration_spec.lua │ ├── README.md │ ├── busted-ci-helper.lua │ ├── config.ld │ ├── fixtures/ │ │ ├── 1.2_custom_nginx.template │ │ ├── admin_api.lua │ │ ├── ai-proxy/ │ │ │ ├── anthropic/ │ │ │ │ ├── llm-v1-chat/ │ │ │ │ │ ├── requests/ │ │ │ │ │ │ ├── bad_request.json │ │ │ │ │ │ ├── good-stream.json │ │ │ │ │ │ ├── good.json │ │ │ │ │ │ └── good_own_model.json │ │ │ │ │ └── responses/ │ │ │ │ │ ├── bad_request.json │ │ │ │ │ ├── bad_upstream_response.json │ │ │ │ │ ├── good.json │ │ │ │ │ ├── internal_server_error.html │ │ │ │ │ ├── malformed_usage_response.json │ │ │ │ │ ├── no_usage_response.json │ │ │ │ │ └── unauthorized.json │ │ │ │ ├── llm-v1-completions/ │ │ │ │ │ ├── requests/ │ │ │ │ │ │ ├── bad_request.json │ │ │ │ │ │ └── good.json │ │ │ │ │ └── responses/ │ │ │ │ │ ├── bad_request.json │ │ │ │ │ ├── good.json │ │ │ │ │ └── unauthorized.json │ │ │ │ └── request-transformer/ │ │ │ │ └── response-in-json.json │ │ │ ├── azure/ │ │ │ │ └── request-transformer/ │ │ │ │ └── response-in-json.json │ │ │ ├── bedrock/ │ │ │ │ └── chunks/ │ │ │ │ ├── chunk-1.txt │ │ │ │ ├── chunk-2.txt │ │ │ │ └── chunk-3.txt │ │ │ ├── cohere/ │ │ │ │ ├── llm-v1-chat/ │ │ │ │ │ ├── requests/ │ │ │ │ │ │ ├── bad_request.json │ │ │ │ │ │ ├── good-stream.json │ │ │ │ │ │ ├── good.json │ │ │ │ │ │ └── good_own_model.json │ │ │ │ │ └── responses/ │ │ │ │ │ ├── bad_request.json │ │ │ │ │ ├── bad_upstream_response.json │ │ │ │ │ ├── good.json │ │ │ │ │ ├── internal_server_error.html │ │ │ │ │ └── unauthorized.json │ │ │ │ ├── llm-v1-completions/ │ │ │ │ │ ├── requests/ │ │ │ │ │ │ ├── bad_request.json │ │ │ │ │ │ └── good.json │ │ │ │ │ └── responses/ │ │ │ │ │ ├── bad_request.json │ │ │ │ │ ├── good.json │ │ │ │ │ └── unauthorized.json │ │ │ │ └── request-transformer/ │ │ │ │ └── response-in-json.json │ │ │ ├── gemini/ │ │ │ │ ├── llm-v1-chat/ │ │ │ │ │ └── responses/ │ │ │ │ │ ├── fails_safety.json │ │ │ │ │ └── good.json │ │ │ │ └── request-transformer/ │ │ │ │ └── response-in-json.json │ │ │ ├── huggingface/ │ │ │ │ ├── llm-v1-chat/ │ │ │ │ │ ├── requests/ │ │ │ │ │ │ └── good.json │ │ │ │ │ └── responses/ │ │ │ │ │ ├── bad_request.json │ │ │ │ │ ├── bad_response_model_load.json │ │ │ │ │ ├── bad_response_timeout.json │ │ │ │ │ ├── good.json │ │ │ │ │ └── unauthorized.json │ │ │ │ └── llm-v1-completions/ │ │ │ │ ├── requests/ │ │ │ │ │ └── good.json │ │ │ │ └── responses/ │ │ │ │ ├── bad_request.json │ │ │ │ ├── good.json │ │ │ │ └── unauthorized.json │ │ │ ├── json-schema.json │ │ │ ├── llama2/ │ │ │ │ ├── ollama/ │ │ │ │ │ └── chat-stream.json │ │ │ │ ├── raw/ │ │ │ │ │ ├── requests/ │ │ │ │ │ │ ├── good-chat.json │ │ │ │ │ │ └── good-completions.json │ │ │ │ │ └── responses/ │ │ │ │ │ ├── bad_request.json │ │ │ │ │ ├── good.json │ │ │ │ │ └── unauthorized.json │ │ │ │ └── request-transformer/ │ │ │ │ └── response-in-json.json │ │ │ ├── mistral/ │ │ │ │ ├── llm-v1-chat/ │ │ │ │ │ └── responses/ │ │ │ │ │ └── good.json │ │ │ │ ├── llm-v1-completions/ │ │ │ │ │ └── responses/ │ │ │ │ │ └── good.json │ │ │ │ └── request-transformer/ │ │ │ │ └── response-in-json.json │ │ │ ├── native/ │ │ │ │ ├── bedrock/ │ │ │ │ │ └── request/ │ │ │ │ │ └── with-functions-and-chatter.json │ │ │ │ ├── gemini/ │ │ │ │ │ └── request/ │ │ │ │ │ ├── basic-chat.json │ │ │ │ │ ├── basic-multimodal.json │ │ │ │ │ ├── with-functions-and-chatter.json │ │ │ │ │ └── with-functions.json │ │ │ │ └── target/ │ │ │ │ ├── target-openai-complete-stream.json │ │ │ │ └── target-openai-complete.json │ │ │ ├── oas.yaml │ │ │ ├── openai/ │ │ │ │ ├── llm-v1-chat/ │ │ │ │ │ ├── requests/ │ │ │ │ │ │ ├── bad_request.json │ │ │ │ │ │ ├── good-stream-with-functions.json │ │ │ │ │ │ ├── good-stream.json │ │ │ │ │ │ ├── good.json │ │ │ │ │ │ ├── good_multi_modal.json │ │ │ │ │ │ ├── good_own_model.json │ │ │ │ │ │ ├── tool_choice_auto.json │ │ │ │ │ │ ├── tool_choice_none.json │ │ │ │ │ │ ├── tool_choice_object_function.json │ │ │ │ │ │ └── tool_choice_required.json │ │ │ │ │ └── responses/ │ │ │ │ │ ├── bad_request.json │ │ │ │ │ ├── bad_upstream_response.json │ │ │ │ │ ├── good.json │ │ │ │ │ ├── internal_server_error.html │ │ │ │ │ └── unauthorized.json │ │ │ │ ├── llm-v1-completions/ │ │ │ │ │ ├── requests/ │ │ │ │ │ │ ├── bad_request.json │ │ │ │ │ │ └── good.json │ │ │ │ │ └── responses/ │ │ │ │ │ ├── bad_request.json │ │ │ │ │ ├── good.json │ │ │ │ │ └── unauthorized.json │ │ │ │ ├── llm-v1-embeddings/ │ │ │ │ │ └── responses/ │ │ │ │ │ └── good.json │ │ │ │ └── request-transformer/ │ │ │ │ ├── response-in-json.json │ │ │ │ ├── response-not-json.json │ │ │ │ ├── response-with-bad-instructions.json │ │ │ │ └── response-with-instructions.json │ │ │ └── unit/ │ │ │ ├── expected-requests/ │ │ │ │ ├── anthropic/ │ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ │ └── llm-v1-completions.json │ │ │ │ ├── azure/ │ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ │ └── llm-v1-completions.json │ │ │ │ ├── bedrock/ │ │ │ │ │ └── llm-v1-chat.json │ │ │ │ ├── cohere/ │ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ │ └── llm-v1-completions.json │ │ │ │ ├── gemini/ │ │ │ │ │ └── llm-v1-chat.json │ │ │ │ ├── llama2/ │ │ │ │ │ ├── ollama/ │ │ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ │ │ └── llm-v1-completions.json │ │ │ │ │ └── raw/ │ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ │ └── llm-v1-completions.json │ │ │ │ ├── mistral/ │ │ │ │ │ ├── ollama/ │ │ │ │ │ │ └── llm-v1-chat.json │ │ │ │ │ └── openai/ │ │ │ │ │ └── llm-v1-chat.json │ │ │ │ └── openai/ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ └── llm-v1-completions.json │ │ │ ├── expected-responses/ │ │ │ │ ├── anthropic/ │ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ │ └── llm-v1-completions.json │ │ │ │ ├── azure/ │ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ │ └── llm-v1-completions.json │ │ │ │ ├── bedrock/ │ │ │ │ │ └── llm-v1-chat.json │ │ │ │ ├── cohere/ │ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ │ └── llm-v1-completions.json │ │ │ │ ├── gemini/ │ │ │ │ │ └── llm-v1-chat.json │ │ │ │ ├── llama2/ │ │ │ │ │ ├── ollama/ │ │ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ │ │ └── llm-v1-completions.json │ │ │ │ │ └── raw/ │ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ │ └── llm-v1-completions.json │ │ │ │ ├── mistral/ │ │ │ │ │ ├── ollama/ │ │ │ │ │ │ └── llm-v1-chat.json │ │ │ │ │ └── openai/ │ │ │ │ │ └── llm-v1-chat.json │ │ │ │ └── openai/ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ └── llm-v1-completions.json │ │ │ ├── real-responses/ │ │ │ │ ├── anthropic/ │ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ │ └── llm-v1-completions.json │ │ │ │ ├── azure/ │ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ │ └── llm-v1-completions.json │ │ │ │ ├── bedrock/ │ │ │ │ │ └── llm-v1-chat.json │ │ │ │ ├── cohere/ │ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ │ └── llm-v1-completions.json │ │ │ │ ├── gemini/ │ │ │ │ │ └── llm-v1-chat.json │ │ │ │ ├── llama2/ │ │ │ │ │ ├── ollama/ │ │ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ │ │ └── llm-v1-completions.json │ │ │ │ │ └── raw/ │ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ │ └── llm-v1-completions.json │ │ │ │ ├── mistral/ │ │ │ │ │ ├── ollama/ │ │ │ │ │ │ └── llm-v1-chat.json │ │ │ │ │ └── openai/ │ │ │ │ │ └── llm-v1-chat.json │ │ │ │ └── openai/ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ └── llm-v1-completions.json │ │ │ ├── real-stream-frames/ │ │ │ │ ├── cohere/ │ │ │ │ │ ├── llm-v1-chat.txt │ │ │ │ │ └── llm-v1-completions.txt │ │ │ │ └── openai/ │ │ │ │ ├── llm-v1-chat.txt │ │ │ │ └── llm-v1-completions.txt │ │ │ ├── requests/ │ │ │ │ ├── llm-v1-chat.json │ │ │ │ ├── llm-v1-completion-template.json │ │ │ │ └── llm-v1-completions.json │ │ │ └── streaming-chunk-formats/ │ │ │ ├── aws/ │ │ │ │ └── expected-output.json │ │ │ ├── complete-json/ │ │ │ │ └── expected-output.json │ │ │ ├── partial-json-beginning/ │ │ │ │ └── expected-output.json │ │ │ ├── partial-json-end/ │ │ │ │ └── expected-output.json │ │ │ └── text-event-stream/ │ │ │ └── expected-output.json │ │ ├── aws-lambda.lua │ │ ├── aws-sam.lua │ │ ├── balancer_utils.lua │ │ ├── blueprints.lua │ │ ├── burst.yml │ │ ├── custom_nginx.template │ │ ├── custom_plugins/ │ │ │ └── kong/ │ │ │ └── plugins/ │ │ │ ├── admin-api-method/ │ │ │ │ ├── api.lua │ │ │ │ ├── handler.lua │ │ │ │ ├── schema.lua │ │ │ │ └── status_api.lua │ │ │ ├── api-override/ │ │ │ │ ├── api.lua │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── cache/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── cache-key-vs-endpoint-key/ │ │ │ │ ├── daos.lua │ │ │ │ ├── handler.lua │ │ │ │ ├── migrations/ │ │ │ │ │ ├── 000_base_cache_key_vs_endpoint_key.lua │ │ │ │ │ └── init.lua │ │ │ │ └── schema.lua │ │ │ ├── cluster-error-reporting/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── ctx-checker/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── ctx-checker-last/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── ctx-tests/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── ctx-tests-response/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── dns-client-test/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── dummy/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── enable-buffering/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── enable-buffering-response/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── error-generator/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── error-generator-last/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── error-handler-log/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── fail-once-auth/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── foreign-entity/ │ │ │ │ ├── api.lua │ │ │ │ ├── daos.lua │ │ │ │ ├── handler.lua │ │ │ │ ├── migrations/ │ │ │ │ │ ├── 000_base_foreign_entity.lua │ │ │ │ │ └── init.lua │ │ │ │ └── schema.lua │ │ │ ├── get-plugin-id/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── init-worker-lua-error/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── invalid-schema/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── invalidations/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── logger/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── logger-last/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── max-args/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── muti-external-http-calls/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── older-version/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── pdk-logger/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── plugin-config-dump/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── plugin-with-custom-dao/ │ │ │ │ ├── custom_dao.lua │ │ │ │ ├── daos.lua │ │ │ │ ├── handler.lua │ │ │ │ ├── schema.lua │ │ │ │ └── strategies/ │ │ │ │ └── postgres/ │ │ │ │ └── custom_dao.lua │ │ │ ├── preserve-nulls/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── reconfiguration-completion/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── redis-dummy/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── reference-ca-cert/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── reports-api/ │ │ │ │ ├── api.lua │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── request-aware-table/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── response-phase/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── rewriter/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── rpc-batch-test/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── rpc-concentrator-test/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── rpc-debug/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── rpc-error-test/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── rpc-get-delta-test/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── rpc-hello-test/ │ │ │ │ ├── api.lua │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── rpc-notification-test/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── rpc-notify-new-version-test/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── rpc-validation-test/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── secret-response/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── short-circuit/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── slow-query/ │ │ │ │ ├── api.lua │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── stream-api-echo/ │ │ │ │ ├── api.lua │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── tcp-trace-exporter/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── transformations/ │ │ │ │ ├── daos.lua │ │ │ │ ├── handler.lua │ │ │ │ ├── migrations/ │ │ │ │ │ ├── 000_base_transformations.lua │ │ │ │ │ └── init.lua │ │ │ │ └── schema.lua │ │ │ ├── translate-backwards-older-plugin/ │ │ │ │ ├── handler.lua │ │ │ │ └── schema.lua │ │ │ ├── unique-foreign/ │ │ │ │ ├── daos.lua │ │ │ │ ├── handler.lua │ │ │ │ ├── migrations/ │ │ │ │ │ ├── 000_base_unique_foreign.lua │ │ │ │ │ └── init.lua │ │ │ │ └── schema.lua │ │ │ ├── with-migrations/ │ │ │ │ ├── daos.lua │ │ │ │ ├── handler.lua │ │ │ │ ├── migrations/ │ │ │ │ │ ├── 000_base_with_migrations.lua │ │ │ │ │ ├── 001_14_to_15.lua │ │ │ │ │ └── init.lua │ │ │ │ └── schema.lua │ │ │ └── worker-events/ │ │ │ ├── handler.lua │ │ │ └── schema.lua │ │ ├── custom_vaults/ │ │ │ └── kong/ │ │ │ └── vaults/ │ │ │ ├── echo/ │ │ │ │ ├── init.lua │ │ │ │ └── schema.lua │ │ │ ├── mock/ │ │ │ │ ├── init.lua │ │ │ │ └── schema.lua │ │ │ ├── mocksocket/ │ │ │ │ ├── init.lua │ │ │ │ └── schema.lua │ │ │ ├── random/ │ │ │ │ ├── init.lua │ │ │ │ └── schema.lua │ │ │ └── test/ │ │ │ ├── init.lua │ │ │ └── schema.lua │ │ ├── dc_blueprints.lua │ │ ├── default_status_listen.conf │ │ ├── dump_lmdb_key.lua │ │ ├── error_templates/ │ │ │ ├── error_template.html │ │ │ ├── error_template.json │ │ │ ├── error_template.plain │ │ │ └── error_template.xml │ │ ├── external_plugins/ │ │ │ ├── go/ │ │ │ │ ├── go-hello.go │ │ │ │ ├── go.mod │ │ │ │ └── go.sum │ │ │ ├── js/ │ │ │ │ └── js-hello.js │ │ │ └── py/ │ │ │ ├── py-hello.py │ │ │ └── requirements.txt │ │ ├── factories/ │ │ │ └── plugins.lua │ │ ├── forward-proxy-server.lua │ │ ├── grpc/ │ │ │ ├── direct_imports.proto │ │ │ ├── google/ │ │ │ │ ├── api/ │ │ │ │ │ ├── annotations.proto │ │ │ │ │ ├── http.proto │ │ │ │ │ └── httpbody.proto │ │ │ │ └── protobuf/ │ │ │ │ ├── any.proto │ │ │ │ ├── api.proto │ │ │ │ ├── descriptor.proto │ │ │ │ ├── duration.proto │ │ │ │ ├── empty.proto │ │ │ │ ├── field_mask.proto │ │ │ │ ├── source_context.proto │ │ │ │ ├── struct.proto │ │ │ │ ├── timestamp.proto │ │ │ │ ├── type.proto │ │ │ │ └── wrappers.proto │ │ │ ├── hello.proto │ │ │ ├── helloworld.proto │ │ │ ├── second_level_imports.proto │ │ │ ├── target/ │ │ │ │ ├── go.mod │ │ │ │ ├── go.sum │ │ │ │ ├── grpc-target.go │ │ │ │ └── targetservice/ │ │ │ │ ├── targetservice.pb.go │ │ │ │ └── targetservice_grpc.pb.go │ │ │ └── targetservice.proto │ │ ├── headers.conf │ │ ├── hosts │ │ ├── https_server.lua │ │ ├── invalid-module.lua │ │ ├── invalid.conf │ │ ├── invalid_nginx_directives.conf │ │ ├── kong_clustering.crt │ │ ├── kong_clustering.key │ │ ├── kong_clustering_ca.crt │ │ ├── kong_clustering_client.crt │ │ ├── kong_clustering_client.key │ │ ├── kong_spec.crt │ │ ├── kong_spec.key │ │ ├── migrations/ │ │ │ └── kong/ │ │ │ └── db/ │ │ │ └── migrations/ │ │ │ └── core/ │ │ │ ├── 000_base.lua │ │ │ ├── 001_14_to_15.lua │ │ │ └── init.lua │ │ ├── mock_cp.lua │ │ ├── mock_upstream.lua │ │ ├── mock_webserver_tpl.lua │ │ ├── mocker.lua │ │ ├── mocks/ │ │ │ ├── lua-resty-dns/ │ │ │ │ └── resty/ │ │ │ │ └── dns/ │ │ │ │ └── resolver.lua │ │ │ └── lua-resty-websocket/ │ │ │ └── resty/ │ │ │ └── websocket/ │ │ │ └── peer.lua │ │ ├── mtls_certs/ │ │ │ ├── ca.crt │ │ │ ├── ca.key │ │ │ ├── example.com.crt │ │ │ ├── example.com.key │ │ │ ├── example2.com.crt │ │ │ └── example2.com.key │ │ ├── nginx-directives.conf │ │ ├── ocsp_certs/ │ │ │ ├── ca-chain.crt │ │ │ ├── ca.crt │ │ │ ├── index.txt │ │ │ ├── index.txt.revoked │ │ │ ├── kong_clustering.crt │ │ │ ├── kong_clustering.key │ │ │ ├── kong_data_plane.crt │ │ │ ├── kong_data_plane.key │ │ │ ├── ocsp.crt │ │ │ └── ocsp.key │ │ ├── opentelemetry/ │ │ │ └── otelcol.yaml │ │ ├── perf/ │ │ │ ├── 500services-each-4-routes.sql │ │ │ ├── charts/ │ │ │ │ ├── test_data1.json │ │ │ │ └── test_data2.json │ │ │ └── terraform/ │ │ │ ├── aws-ec2/ │ │ │ │ ├── .gitignore │ │ │ │ ├── ec2.tf │ │ │ │ ├── main.tf │ │ │ │ ├── output.tf │ │ │ │ ├── ssh.tf │ │ │ │ └── variables.tf │ │ │ ├── bring-your-own/ │ │ │ │ ├── main.tf │ │ │ │ ├── output.tf │ │ │ │ ├── ssh.tf │ │ │ │ └── variables.tf │ │ │ ├── digitalocean/ │ │ │ │ ├── .gitignore │ │ │ │ ├── droplets.tf │ │ │ │ ├── main.tf │ │ │ │ ├── output.tf │ │ │ │ ├── project.tf │ │ │ │ ├── ssh.tf │ │ │ │ └── variables.tf │ │ │ └── equinix-metal/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── main.tf │ │ │ ├── metal.tf │ │ │ ├── output.tf │ │ │ ├── scripts/ │ │ │ │ └── wrk.lua │ │ │ ├── ssh.tf │ │ │ ├── tls.tf │ │ │ └── variables.tf │ │ ├── prometheus/ │ │ │ └── metrics.conf │ │ ├── proxy_wasm_filters/ │ │ │ ├── Cargo.toml │ │ │ ├── response_transformer/ │ │ │ │ ├── Cargo.toml │ │ │ │ └── src/ │ │ │ │ ├── filter.rs │ │ │ │ └── types.rs │ │ │ └── tests/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── filter.rs │ │ │ ├── metrics.rs │ │ │ ├── routines.rs │ │ │ ├── test_cases.rs │ │ │ ├── test_http.rs │ │ │ └── types.rs │ │ ├── redis/ │ │ │ ├── ca.crt │ │ │ ├── ca.key │ │ │ ├── docker-entrypoint.sh │ │ │ ├── server.crt │ │ │ └── server.key │ │ ├── reload.conf │ │ ├── router_path_handling_tests.lua │ │ ├── sam-app/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ ├── events/ │ │ │ │ └── event.json │ │ │ ├── hello_world/ │ │ │ │ ├── __init__.py │ │ │ │ ├── app.py │ │ │ │ └── requirements.txt │ │ │ ├── template.yaml │ │ │ └── tests/ │ │ │ ├── __init__.py │ │ │ ├── integration/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_api_gateway.py │ │ │ ├── requirements.txt │ │ │ └── unit/ │ │ │ ├── __init__.py │ │ │ └── test_handler.py │ │ ├── shared_dict.lua │ │ ├── shm-stub.lua │ │ ├── ssl.lua │ │ ├── stress_generator.lua │ │ ├── template_inject/ │ │ │ ├── nginx_kong_test_custom_inject_http.lua │ │ │ ├── nginx_kong_test_custom_inject_stream.lua │ │ │ └── nginx_kong_test_tcp_echo_server_custom_inject_stream.lua │ │ ├── to-strip.conf │ │ └── valid-module.lua │ ├── helpers/ │ │ ├── dns.lua │ │ ├── http_mock/ │ │ │ ├── asserts.lua │ │ │ ├── clients.lua │ │ │ ├── debug_port.lua │ │ │ ├── nginx_instance.lua │ │ │ ├── tapping.lua │ │ │ └── template.lua │ │ ├── http_mock.lua │ │ ├── perf/ │ │ │ ├── charts/ │ │ │ │ ├── .gitignore │ │ │ │ ├── charts.py │ │ │ │ └── requirements.txt │ │ │ ├── charts.lua │ │ │ ├── drivers/ │ │ │ │ ├── docker.lua │ │ │ │ └── terraform.lua │ │ │ ├── git.lua │ │ │ ├── logger.lua │ │ │ └── utils.lua │ │ ├── perf.lua │ │ ├── redis_helper.lua │ │ ├── rpc_mock/ │ │ │ ├── cp.lua │ │ │ ├── default.lua │ │ │ ├── dp.lua │ │ │ ├── readme.md │ │ │ └── setup.lua │ │ └── wait.lua │ ├── helpers.lua │ ├── hybrid.lua │ ├── internal/ │ │ ├── asserts.lua │ │ ├── client.lua │ │ ├── cmd.lua │ │ ├── conf.lua │ │ ├── constants.lua │ │ ├── db.lua │ │ ├── dns.lua │ │ ├── grpc.lua │ │ ├── misc.lua │ │ ├── module.lua │ │ ├── pid.lua │ │ ├── server.lua │ │ ├── shell.lua │ │ ├── ssl.lua │ │ ├── sys.lua │ │ └── wait.lua │ ├── kong_tests.conf │ ├── ldoc.css │ ├── on_demand_specs │ ├── renderdocs.sh │ ├── require.lua │ └── upgrade_helpers.lua └── t/ ├── 01-pdk/ │ ├── 01-table.t │ ├── 02-log/ │ │ ├── 00-phase_checks.t │ │ ├── 01-sanity.t │ │ ├── 02-new.t │ │ ├── 03-set_format.t │ │ ├── 04-inspect.t │ │ ├── 05-set_serialize_value.t │ │ └── 06-deprecation.t │ ├── 03-ip/ │ │ └── 01-is_trusted.t │ ├── 04-request/ │ │ ├── 00-phase_checks.t │ │ ├── 01-get_scheme.t │ │ ├── 02-get_host.t │ │ ├── 03-get_port.t │ │ ├── 04-get_forwarded_scheme.t │ │ ├── 05-get_forwarded_host.t │ │ ├── 06-get_forwarded_port.t │ │ ├── 07-get_http_version.t │ │ ├── 08-get_method.t │ │ ├── 09-get_path.t │ │ ├── 10-get_raw_query.t │ │ ├── 11-get_query_arg.t │ │ ├── 12-get_query.t │ │ ├── 13-get_header.t │ │ ├── 14-get_headers.t │ │ ├── 15-get_raw_body.t │ │ ├── 16-get_body.t │ │ ├── 17-get_path_with_query.t │ │ ├── 18-get_forwarded_path.t │ │ ├── 19-get_forwarded_prefix.t │ │ ├── 20-get_raw_path.t │ │ ├── 20-get_start_time.t │ │ └── 21-get_uri_captures.t │ ├── 05-client/ │ │ ├── 00-phase_checks.t │ │ ├── 01-get_ip.t │ │ ├── 02-get_forwarded_ip.t │ │ ├── 03-get_port.t │ │ ├── 04-get_forwarded_port.t │ │ ├── 05-get_credential.t │ │ ├── 06-get_consumer.t │ │ ├── 07-authenticate.t │ │ ├── 08-get_protocol.t │ │ └── 09-load-consumer.t │ ├── 06-service-request/ │ │ ├── 00-phase_checks.t │ │ ├── 01-set_scheme.t │ │ ├── 04-set_path.t │ │ ├── 05-set_raw_query.t │ │ ├── 06-set_method.t │ │ ├── 07-set_body.t │ │ ├── 08-set_query.t │ │ ├── 09-set_header.t │ │ ├── 10-add_header.t │ │ ├── 11-clear_header.t │ │ ├── 12-set_headers.t │ │ ├── 13-set_raw_body.t │ │ └── 14-clear_query_arg.t │ ├── 07-service-response/ │ │ ├── 00-phase_checks.t │ │ ├── 01-get_status.t │ │ ├── 02-get_headers.t │ │ ├── 03-get_header.t │ │ ├── 04-get_raw_body.t │ │ └── 05-get_body.t │ ├── 08-response/ │ │ ├── 00-phase_checks.t │ │ ├── 01-get_status.t │ │ ├── 02-get_header.t │ │ ├── 03-get_headers.t │ │ ├── 04-set_status.t │ │ ├── 05-set_header.t │ │ ├── 06-add_header.t │ │ ├── 07-clear_header.t │ │ ├── 08-set_headers.t │ │ ├── 09-set_raw_body.t │ │ ├── 10-set_body.t │ │ ├── 11-exit.t │ │ ├── 12-get_source.t │ │ ├── 13-error.t │ │ └── 14-get_raw_body.t │ ├── 09-service/ │ │ ├── 00-phase_checks.t │ │ ├── 01-set-upstream.t │ │ ├── 02-set-target.t │ │ ├── 03-set-tls-cert-key.t │ │ ├── 04-set-retries.t │ │ └── 05-set-timeouts.t │ ├── 10-nginx/ │ │ ├── 00-phase_checks.t │ │ ├── 01-get_subsystem.t │ │ └── 02-get_statistics.t │ ├── 11-ctx.t │ ├── 12-node/ │ │ ├── 00-phase_checks.t │ │ ├── 01-get_id.t │ │ ├── 02-get_memory_stats.t │ │ └── 03-get_hostname.t │ ├── 13-router/ │ │ ├── 00-phase_checks.t │ │ ├── 01-get_route.t │ │ └── 02-get_service.t │ ├── 14-client-tls/ │ │ ├── 00-phase_checks.t │ │ └── 01-request_client_certificate.t │ ├── 15-tracing/ │ │ └── 01-context.t │ └── 16-rl-ctx.t ├── 02-global/ │ ├── 01-init-pdk.t │ ├── 02-set-named-ctx.t │ └── 03-namespaced_log.t ├── 03-dns-client/ │ ├── 00-sanity.t │ ├── 01-phases.t │ └── 02-timer-usage.t ├── 04-patch/ │ ├── 01-ngx-buf-double-free.t │ ├── 02-ngx-read-body-block.t │ ├── 03-fix-ngx-send-header-filter-finalize-ctx.t │ ├── 04-fix-ngx-recreate-request-work-for-body.t │ └── 05-ngx-refresh-upstream-uri-when-balancer-retry.t ├── 05-mlcache/ │ ├── 00-ipc.t │ ├── 01-new.t │ ├── 02-get.t │ ├── 03-peek.t │ ├── 04-update.t │ ├── 05-set.t │ ├── 06-delete.t │ ├── 07-l1_serializer.t │ ├── 08-purge.t │ ├── 09-isolation.t │ ├── 10-ipc_shm.t │ ├── 11-locks_shm.t │ ├── 12-resurrect-stale.t │ ├── 13-get_bulk.t │ ├── 14-bulk-and-res.t │ └── 15-renew.t ├── Util.pm ├── certs/ │ ├── ca.crt │ ├── ca.key │ ├── client_example.com.crt │ ├── client_example.com.key │ ├── intermediate.crt │ ├── intermediate.key │ ├── test.crt │ └── test.key ├── pdk.luacov └── phase_checks.luacov