zuplo 6.67.32 → 6.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (644) hide show
  1. package/README.md +9 -0
  2. package/docs/_index.md +44 -0
  3. package/docs/ai-gateway/apps.mdx +28 -0
  4. package/docs/ai-gateway/custom-providers.mdx +54 -0
  5. package/docs/ai-gateway/getting-started.mdx +224 -0
  6. package/docs/ai-gateway/guardrails.mdx +65 -0
  7. package/docs/ai-gateway/integrations/ai-sdk.mdx +109 -0
  8. package/docs/ai-gateway/integrations/claude-code.mdx +49 -0
  9. package/docs/ai-gateway/integrations/codex.mdx +78 -0
  10. package/docs/ai-gateway/integrations/goose.mdx +104 -0
  11. package/docs/ai-gateway/integrations/langchain.mdx +66 -0
  12. package/docs/ai-gateway/integrations/openai.mdx +99 -0
  13. package/docs/ai-gateway/introduction.mdx +85 -0
  14. package/docs/ai-gateway/managing-apps.mdx +46 -0
  15. package/docs/ai-gateway/managing-providers.mdx +66 -0
  16. package/docs/ai-gateway/managing-teams.mdx +63 -0
  17. package/docs/ai-gateway/policies/akamai-ai-firewall.mdx +125 -0
  18. package/docs/ai-gateway/policies/comet-opik-tracing.mdx +139 -0
  19. package/docs/ai-gateway/policies/galileo-tracing.mdx +147 -0
  20. package/docs/ai-gateway/providers.mdx +32 -0
  21. package/docs/ai-gateway/teams.mdx +38 -0
  22. package/docs/ai-gateway/universal-api.mdx +43 -0
  23. package/docs/ai-gateway/usage-limits.mdx +89 -0
  24. package/docs/api-management/introduction.md +127 -0
  25. package/docs/articles/accounts/audit-logs.mdx +227 -0
  26. package/docs/articles/accounts/billing.mdx +25 -0
  27. package/docs/articles/accounts/default-api-key.mdx +30 -0
  28. package/docs/articles/accounts/delete-account.mdx +36 -0
  29. package/docs/articles/accounts/enterprise-sso.mdx +116 -0
  30. package/docs/articles/accounts/managing-account-members.mdx +45 -0
  31. package/docs/articles/accounts/managing-project-members.mdx +37 -0
  32. package/docs/articles/accounts/members-and-roles.mdx +21 -0
  33. package/docs/articles/accounts/roles-and-permissions.mdx +115 -0
  34. package/docs/articles/accounts/zuplo-api-keys.mdx +94 -0
  35. package/docs/articles/add-api-to-backstage.mdx +216 -0
  36. package/docs/articles/advanced-path-matching.mdx +139 -0
  37. package/docs/articles/api-key-administration.mdx +47 -0
  38. package/docs/articles/api-key-api.mdx +220 -0
  39. package/docs/articles/api-key-authentication.mdx +195 -0
  40. package/docs/articles/api-key-buckets.mdx +61 -0
  41. package/docs/articles/api-key-end-users.mdx +52 -0
  42. package/docs/articles/api-key-leak-detection.mdx +75 -0
  43. package/docs/articles/api-key-management.mdx +100 -0
  44. package/docs/articles/api-key-react-component.mdx +90 -0
  45. package/docs/articles/api-key-service-limits.mdx +14 -0
  46. package/docs/articles/archiving-requests-to-storage.mdx +119 -0
  47. package/docs/articles/branch-based-deployments.mdx +184 -0
  48. package/docs/articles/bypass-policy-for-testing.mdx +117 -0
  49. package/docs/articles/check-ip-address.mdx +17 -0
  50. package/docs/articles/ci-cd-azure/basic-deployment.mdx +49 -0
  51. package/docs/articles/ci-cd-azure/deploy-and-test.mdx +47 -0
  52. package/docs/articles/ci-cd-azure/local-testing.mdx +59 -0
  53. package/docs/articles/ci-cd-azure/multi-stage-deployment.mdx +88 -0
  54. package/docs/articles/ci-cd-azure/pr-preview-environments.mdx +50 -0
  55. package/docs/articles/ci-cd-azure/tag-based-releases.mdx +37 -0
  56. package/docs/articles/ci-cd-bitbucket/basic-deployment.mdx +27 -0
  57. package/docs/articles/ci-cd-bitbucket/deploy-and-test.mdx +41 -0
  58. package/docs/articles/ci-cd-bitbucket/local-testing.mdx +34 -0
  59. package/docs/articles/ci-cd-bitbucket/multi-stage-deployment.mdx +52 -0
  60. package/docs/articles/ci-cd-bitbucket/pr-preview-environments.mdx +46 -0
  61. package/docs/articles/ci-cd-bitbucket/tag-based-releases.mdx +27 -0
  62. package/docs/articles/ci-cd-circleci/basic-deployment.mdx +34 -0
  63. package/docs/articles/ci-cd-circleci/deploy-and-test.mdx +44 -0
  64. package/docs/articles/ci-cd-circleci/local-testing.mdx +50 -0
  65. package/docs/articles/ci-cd-circleci/multi-stage-deployment.mdx +82 -0
  66. package/docs/articles/ci-cd-circleci/pr-preview-environments.mdx +47 -0
  67. package/docs/articles/ci-cd-circleci/tag-based-releases.mdx +38 -0
  68. package/docs/articles/ci-cd-github/basic-deployment.mdx +48 -0
  69. package/docs/articles/ci-cd-github/cleanup-on-branch-delete.mdx +123 -0
  70. package/docs/articles/ci-cd-github/deploy-and-test.mdx +82 -0
  71. package/docs/articles/ci-cd-github/local-testing.mdx +102 -0
  72. package/docs/articles/ci-cd-github/multi-stage-deployment.mdx +136 -0
  73. package/docs/articles/ci-cd-github/pr-preview-environments.mdx +106 -0
  74. package/docs/articles/ci-cd-github/tag-based-releases.mdx +99 -0
  75. package/docs/articles/ci-cd-gitlab/basic-deployment.mdx +28 -0
  76. package/docs/articles/ci-cd-gitlab/deploy-and-test.mdx +44 -0
  77. package/docs/articles/ci-cd-gitlab/local-testing.mdx +39 -0
  78. package/docs/articles/ci-cd-gitlab/mr-preview-environments.mdx +52 -0
  79. package/docs/articles/ci-cd-gitlab/multi-stage-deployment.mdx +64 -0
  80. package/docs/articles/ci-cd-gitlab/tag-based-releases.mdx +28 -0
  81. package/docs/articles/composite-policy-reference.mdx +284 -0
  82. package/docs/articles/configuring-auth0-for-mcp-auth.mdx +186 -0
  83. package/docs/articles/configuring-okta-for-mcp-auth.mdx +208 -0
  84. package/docs/articles/convert-urls-to-openapi.mdx +62 -0
  85. package/docs/articles/cors.mdx +447 -0
  86. package/docs/articles/custom-audit-log-policy.mdx +95 -0
  87. package/docs/articles/custom-ci-cd-azure.mdx +81 -0
  88. package/docs/articles/custom-ci-cd-bitbucket.mdx +80 -0
  89. package/docs/articles/custom-ci-cd-circleci.mdx +78 -0
  90. package/docs/articles/custom-ci-cd-github.mdx +99 -0
  91. package/docs/articles/custom-ci-cd-gitlab.mdx +79 -0
  92. package/docs/articles/custom-ci-cd.mdx +82 -0
  93. package/docs/articles/custom-code-patterns.md +418 -0
  94. package/docs/articles/custom-domains.mdx +258 -0
  95. package/docs/articles/custom-logging-example.mdx +139 -0
  96. package/docs/articles/ddos-protection.mdx +138 -0
  97. package/docs/articles/development-options.mdx +49 -0
  98. package/docs/articles/environment-variables.mdx +134 -0
  99. package/docs/articles/environments.mdx +143 -0
  100. package/docs/articles/fastly-zuplo-host-setup.mdx +41 -0
  101. package/docs/articles/github-deployment-testing.mdx +101 -0
  102. package/docs/articles/gke-with-upstream-auth-policy.mdx +192 -0
  103. package/docs/articles/graphql-security.mdx +180 -0
  104. package/docs/articles/handling-form-data.mdx +61 -0
  105. package/docs/articles/health-checks.mdx +109 -0
  106. package/docs/articles/hosting-options.mdx +70 -0
  107. package/docs/articles/lazy-load-configuration-into-cache.mdx +92 -0
  108. package/docs/articles/limits.mdx +98 -0
  109. package/docs/articles/local-development-debugging.mdx +44 -0
  110. package/docs/articles/local-development-env-variables.mdx +23 -0
  111. package/docs/articles/local-development-installing-packages.mdx +23 -0
  112. package/docs/articles/local-development-routes-designer.mdx +27 -0
  113. package/docs/articles/local-development-services.mdx +40 -0
  114. package/docs/articles/local-development-troubleshooting.mdx +56 -0
  115. package/docs/articles/local-development.mdx +81 -0
  116. package/docs/articles/log-plugin-aws-cloudwatch.mdx +83 -0
  117. package/docs/articles/log-plugin-datadog.mdx +84 -0
  118. package/docs/articles/log-plugin-dynatrace.mdx +75 -0
  119. package/docs/articles/log-plugin-gcp.mdx +75 -0
  120. package/docs/articles/log-plugin-loki.mdx +136 -0
  121. package/docs/articles/log-plugin-new-relic.mdx +84 -0
  122. package/docs/articles/log-plugin-splunk.mdx +104 -0
  123. package/docs/articles/log-plugin-sumo.mdx +73 -0
  124. package/docs/articles/log-plugin-vmware-log-insight.mdx +154 -0
  125. package/docs/articles/log-request-response-data.mdx +398 -0
  126. package/docs/articles/logging.mdx +115 -0
  127. package/docs/articles/manual-mcp-oauth-testing.mdx +193 -0
  128. package/docs/articles/mcp-quickstart.mdx +135 -0
  129. package/docs/articles/metrics-plugins.mdx +371 -0
  130. package/docs/articles/migrate-from-apigee.md +408 -0
  131. package/docs/articles/migrate-from-aws-api-gateway.md +248 -0
  132. package/docs/articles/migrate-from-azure-apim.md +292 -0
  133. package/docs/articles/migrate-from-kong.md +300 -0
  134. package/docs/articles/migration-overview.md +81 -0
  135. package/docs/articles/monetization/api-access.mdx +69 -0
  136. package/docs/articles/monetization/billing-models.md +520 -0
  137. package/docs/articles/monetization/developer-portal.md +167 -0
  138. package/docs/articles/monetization/features.mdx +98 -0
  139. package/docs/articles/monetization/index.mdx +113 -0
  140. package/docs/articles/monetization/meters.mdx +135 -0
  141. package/docs/articles/monetization/monetization-policy.md +314 -0
  142. package/docs/articles/monetization/plan-examples.mdx +366 -0
  143. package/docs/articles/monetization/plans.mdx +266 -0
  144. package/docs/articles/monetization/pricing-models.mdx +225 -0
  145. package/docs/articles/monetization/private-plans.md +154 -0
  146. package/docs/articles/monetization/quickstart.md +355 -0
  147. package/docs/articles/monetization/rate-cards.mdx +171 -0
  148. package/docs/articles/monetization/stripe-integration.md +195 -0
  149. package/docs/articles/monetization/subscription-lifecycle.md +298 -0
  150. package/docs/articles/monetization/tax-collection.md +166 -0
  151. package/docs/articles/monetization/troubleshooting.md +272 -0
  152. package/docs/articles/monetization-custom.mdx +71 -0
  153. package/docs/articles/monetization-integrations.mdx +104 -0
  154. package/docs/articles/monitoring-your-gateway.mdx +53 -0
  155. package/docs/articles/monorepo-deployment.mdx +350 -0
  156. package/docs/articles/multiple-auth-policies.mdx +81 -0
  157. package/docs/articles/non-standard-ports.mdx +30 -0
  158. package/docs/articles/oauth-authentication.mdx +54 -0
  159. package/docs/articles/openapi-server-urls.mdx +60 -0
  160. package/docs/articles/openapi.mdx +130 -0
  161. package/docs/articles/opentelemetry.mdx +250 -0
  162. package/docs/articles/per-user-rate-limits-using-db.mdx +112 -0
  163. package/docs/articles/performance-testing.mdx +304 -0
  164. package/docs/articles/plugin-akamai-api-security.mdx +76 -0
  165. package/docs/articles/plugin-azure-blob.mdx +73 -0
  166. package/docs/articles/plugin-azure-event-hubs.mdx +64 -0
  167. package/docs/articles/plugin-hydrolix-traffic-peak.mdx +147 -0
  168. package/docs/articles/policies.mdx +33 -0
  169. package/docs/articles/rename-or-move-project.mdx +39 -0
  170. package/docs/articles/rick-and-morty-api-developer-portal-example.mdx +23 -0
  171. package/docs/articles/routing.mdx +193 -0
  172. package/docs/articles/s3-signed-url-uploads.mdx +521 -0
  173. package/docs/articles/secure-tunnel.mdx +84 -0
  174. package/docs/articles/securing-backend-mtls.mdx +268 -0
  175. package/docs/articles/securing-your-backend.mdx +148 -0
  176. package/docs/articles/security.mdx +105 -0
  177. package/docs/articles/sharing-code-across-projects.mdx +412 -0
  178. package/docs/articles/source-control-setup-azure.mdx +13 -0
  179. package/docs/articles/source-control-setup-bitbucket.mdx +43 -0
  180. package/docs/articles/source-control-setup-github.mdx +172 -0
  181. package/docs/articles/source-control-setup-gitlab.mdx +12 -0
  182. package/docs/articles/source-control.mdx +80 -0
  183. package/docs/articles/step-1-setup-basic-gateway-local.mdx +136 -0
  184. package/docs/articles/step-1-setup-basic-gateway.mdx +118 -0
  185. package/docs/articles/step-2-add-rate-limiting-local.mdx +126 -0
  186. package/docs/articles/step-2-add-rate-limiting.mdx +82 -0
  187. package/docs/articles/step-3-add-api-key-auth-local.mdx +199 -0
  188. package/docs/articles/step-3-add-api-key-auth.mdx +166 -0
  189. package/docs/articles/step-4-deploying-to-the-edge.mdx +220 -0
  190. package/docs/articles/step-5-dynamic-rate-limiting.mdx +167 -0
  191. package/docs/articles/support.mdx +144 -0
  192. package/docs/articles/terraform.mdx +114 -0
  193. package/docs/articles/testing-graphql.mdx +34 -0
  194. package/docs/articles/testing.mdx +522 -0
  195. package/docs/articles/troubleshooting-slow-responses.mdx +301 -0
  196. package/docs/articles/troubleshooting.md +302 -0
  197. package/docs/articles/tsconfig.mdx +105 -0
  198. package/docs/articles/tunnel-setup.mdx +195 -0
  199. package/docs/articles/tunnel-troubleshooting.mdx +50 -0
  200. package/docs/articles/update-zup-in-github-action.mdx +110 -0
  201. package/docs/articles/use-openapi-extension-data.mdx +79 -0
  202. package/docs/articles/users/multifactor-authentication.mdx +64 -0
  203. package/docs/articles/users/profile.mdx +13 -0
  204. package/docs/articles/versioning-on-zuplo.mdx +89 -0
  205. package/docs/articles/waf-ddos-akamai.md +133 -0
  206. package/docs/articles/waf-ddos-aws-waf-shield.mdx +85 -0
  207. package/docs/articles/waf-ddos-fastly.mdx +251 -0
  208. package/docs/articles/waf-ddos.mdx +140 -0
  209. package/docs/articles/zuplo-waf.mdx +156 -0
  210. package/docs/ask.mdx +3 -0
  211. package/docs/cli/authentication.mdx +56 -0
  212. package/docs/cli/connectivity.mdx +38 -0
  213. package/docs/cli/create-zuplo-api.mdx +80 -0
  214. package/docs/cli/delete.mdx +79 -0
  215. package/docs/cli/deploy.mdx +156 -0
  216. package/docs/cli/deploy.partial.mdx +46 -0
  217. package/docs/cli/dev.mdx +115 -0
  218. package/docs/cli/docs.mdx +66 -0
  219. package/docs/cli/editor.mdx +50 -0
  220. package/docs/cli/global-options.mdx +19 -0
  221. package/docs/cli/init.mdx +74 -0
  222. package/docs/cli/link.mdx +74 -0
  223. package/docs/cli/list.mdx +55 -0
  224. package/docs/cli/mtls-certificate-create.mdx +94 -0
  225. package/docs/cli/mtls-certificate-delete.mdx +55 -0
  226. package/docs/cli/mtls-certificate-describe.mdx +55 -0
  227. package/docs/cli/mtls-certificate-disable.mdx +55 -0
  228. package/docs/cli/mtls-certificate-list.mdx +47 -0
  229. package/docs/cli/mtls-certificate-update.mdx +72 -0
  230. package/docs/cli/openapi-convert.mdx +111 -0
  231. package/docs/cli/openapi-merge.mdx +138 -0
  232. package/docs/cli/openapi-merge.partial.mdx +29 -0
  233. package/docs/cli/openapi-overlay.mdx +123 -0
  234. package/docs/cli/overview.mdx +78 -0
  235. package/docs/cli/project-create.mdx +43 -0
  236. package/docs/cli/source-migrate.mdx +18 -0
  237. package/docs/cli/source-upgrade.mdx +41 -0
  238. package/docs/cli/test.mdx +70 -0
  239. package/docs/cli/test.partial.mdx +7 -0
  240. package/docs/cli/tunnel-create.mdx +53 -0
  241. package/docs/cli/tunnel-create.partial.mdx +9 -0
  242. package/docs/cli/tunnel-delete.mdx +35 -0
  243. package/docs/cli/tunnel-delete.partial.mdx +9 -0
  244. package/docs/cli/tunnel-describe.mdx +45 -0
  245. package/docs/cli/tunnel-describe.partial.mdx +5 -0
  246. package/docs/cli/tunnel-list.mdx +35 -0
  247. package/docs/cli/tunnel-list.partial.mdx +9 -0
  248. package/docs/cli/tunnel-rate-token.partial.mdx +9 -0
  249. package/docs/cli/tunnel-rotate-token.mdx +39 -0
  250. package/docs/cli/tunnel-services-describe.mdx +45 -0
  251. package/docs/cli/tunnel-services-describe.partial.mdx +9 -0
  252. package/docs/cli/tunnel-services-update.mdx +48 -0
  253. package/docs/cli/variable-create.mdx +91 -0
  254. package/docs/cli/variable-create.partial.mdx +5 -0
  255. package/docs/cli/variable-update.mdx +75 -0
  256. package/docs/cli/variable-update.partial.mdx +5 -0
  257. package/docs/concepts/api-keys.md +146 -0
  258. package/docs/concepts/authentication.mdx +109 -0
  259. package/docs/concepts/how-zuplo-works.mdx +120 -0
  260. package/docs/concepts/project-structure.mdx +174 -0
  261. package/docs/concepts/rate-limiting.md +246 -0
  262. package/docs/concepts/request-lifecycle.mdx +56 -0
  263. package/docs/concepts/source-control-and-deployment.mdx +229 -0
  264. package/docs/conferences/conference-prize-terms.mdx +80 -0
  265. package/docs/dedicated/akamai/ai-powered-applications.mdx +223 -0
  266. package/docs/dedicated/akamai/architecture.mdx +280 -0
  267. package/docs/dedicated/akamai/caching.mdx +212 -0
  268. package/docs/dedicated/akamai/cdn.mdx +156 -0
  269. package/docs/dedicated/architecture.mdx +208 -0
  270. package/docs/dedicated/custom-domains.mdx +31 -0
  271. package/docs/dedicated/federated-gateways.mdx +80 -0
  272. package/docs/dedicated/networking.mdx +69 -0
  273. package/docs/dedicated/overview.mdx +80 -0
  274. package/docs/dedicated/source-control.mdx +63 -0
  275. package/docs/dev-portal/dev-portal-create-consumer-on-auth.mdx +134 -0
  276. package/docs/dev-portal/introduction.mdx +65 -0
  277. package/docs/dev-portal/local-development.mdx +72 -0
  278. package/docs/dev-portal/migration.mdx +526 -0
  279. package/docs/dev-portal/node-modules.mdx +45 -0
  280. package/docs/dev-portal/updating.mdx +28 -0
  281. package/docs/dev-portal/zudoku/components/alert.mdx +130 -0
  282. package/docs/dev-portal/zudoku/components/badge.mdx +70 -0
  283. package/docs/dev-portal/zudoku/components/button.mdx +132 -0
  284. package/docs/dev-portal/zudoku/components/callout.mdx +112 -0
  285. package/docs/dev-portal/zudoku/components/card.mdx +104 -0
  286. package/docs/dev-portal/zudoku/components/checkbox.mdx +72 -0
  287. package/docs/dev-portal/zudoku/components/client-only.mdx +79 -0
  288. package/docs/dev-portal/zudoku/components/code-tabs.mdx +179 -0
  289. package/docs/dev-portal/zudoku/components/dialog.mdx +167 -0
  290. package/docs/dev-portal/zudoku/components/head.mdx +199 -0
  291. package/docs/dev-portal/zudoku/components/icons.mdx +27 -0
  292. package/docs/dev-portal/zudoku/components/input.mdx +96 -0
  293. package/docs/dev-portal/zudoku/components/label.mdx +86 -0
  294. package/docs/dev-portal/zudoku/components/link.mdx +242 -0
  295. package/docs/dev-portal/zudoku/components/markdown.mdx +151 -0
  296. package/docs/dev-portal/zudoku/components/mermaid.mdx +81 -0
  297. package/docs/dev-portal/zudoku/components/playground.mdx +87 -0
  298. package/docs/dev-portal/zudoku/components/secret.mdx +78 -0
  299. package/docs/dev-portal/zudoku/components/select.mdx +176 -0
  300. package/docs/dev-portal/zudoku/components/shadcn.mdx +73 -0
  301. package/docs/dev-portal/zudoku/components/slider.mdx +108 -0
  302. package/docs/dev-portal/zudoku/components/slot.mdx +119 -0
  303. package/docs/dev-portal/zudoku/components/stepper.mdx +138 -0
  304. package/docs/dev-portal/zudoku/components/switch.mdx +96 -0
  305. package/docs/dev-portal/zudoku/components/syntax-highlight.mdx +602 -0
  306. package/docs/dev-portal/zudoku/components/textarea.mdx +78 -0
  307. package/docs/dev-portal/zudoku/components/tooltip.mdx +195 -0
  308. package/docs/dev-portal/zudoku/components/typography.mdx +61 -0
  309. package/docs/dev-portal/zudoku/configuration/ai-assistants.md +64 -0
  310. package/docs/dev-portal/zudoku/configuration/api-catalog.md +108 -0
  311. package/docs/dev-portal/zudoku/configuration/api-reference.md +397 -0
  312. package/docs/dev-portal/zudoku/configuration/authentication-auth0.md +173 -0
  313. package/docs/dev-portal/zudoku/configuration/authentication-azure-ad.md +238 -0
  314. package/docs/dev-portal/zudoku/configuration/authentication-clerk.md +110 -0
  315. package/docs/dev-portal/zudoku/configuration/authentication-firebase.md +61 -0
  316. package/docs/dev-portal/zudoku/configuration/authentication-pingfederate.md +136 -0
  317. package/docs/dev-portal/zudoku/configuration/authentication-supabase.md +225 -0
  318. package/docs/dev-portal/zudoku/configuration/authentication.md +199 -0
  319. package/docs/dev-portal/zudoku/configuration/build-configuration.mdx +147 -0
  320. package/docs/dev-portal/zudoku/configuration/docs.md +282 -0
  321. package/docs/dev-portal/zudoku/configuration/footer.mdx +214 -0
  322. package/docs/dev-portal/zudoku/configuration/llms.md +89 -0
  323. package/docs/dev-portal/zudoku/configuration/navigation.mdx +408 -0
  324. package/docs/dev-portal/zudoku/configuration/overview.md +380 -0
  325. package/docs/dev-portal/zudoku/configuration/protected-routes.md +149 -0
  326. package/docs/dev-portal/zudoku/configuration/search.md +169 -0
  327. package/docs/dev-portal/zudoku/configuration/sentry.mdx +44 -0
  328. package/docs/dev-portal/zudoku/configuration/site.md +124 -0
  329. package/docs/dev-portal/zudoku/configuration/slots.mdx +124 -0
  330. package/docs/dev-portal/zudoku/configuration/vite-config.md +18 -0
  331. package/docs/dev-portal/zudoku/custom-plugins.md +287 -0
  332. package/docs/dev-portal/zudoku/customization/colors-theme.mdx +275 -0
  333. package/docs/dev-portal/zudoku/customization/fonts.md +110 -0
  334. package/docs/dev-portal/zudoku/extending/events.md +124 -0
  335. package/docs/dev-portal/zudoku/guides/custom-pages.md +106 -0
  336. package/docs/dev-portal/zudoku/guides/environment-variables.md +99 -0
  337. package/docs/dev-portal/zudoku/guides/mermaid.mdx +70 -0
  338. package/docs/dev-portal/zudoku/guides/navigation-migration.md +87 -0
  339. package/docs/dev-portal/zudoku/guides/navigation-rules.mdx +197 -0
  340. package/docs/dev-portal/zudoku/guides/processors.mdx +234 -0
  341. package/docs/dev-portal/zudoku/guides/static-files.md +55 -0
  342. package/docs/dev-portal/zudoku/guides/transforming-examples.md +156 -0
  343. package/docs/dev-portal/zudoku/guides/using-multiple-apis.md +87 -0
  344. package/docs/dev-portal/zudoku/markdown/admonitions.md +128 -0
  345. package/docs/dev-portal/zudoku/markdown/code-blocks.md +196 -0
  346. package/docs/dev-portal/zudoku/markdown/frontmatter.md +172 -0
  347. package/docs/dev-portal/zudoku/markdown/mdx.md +68 -0
  348. package/docs/dev-portal/zudoku/markdown/overview.md +275 -0
  349. package/docs/dev-portal/zudoku/plugins.md +5 -0
  350. package/docs/dev-portal/zudoku/writing.mdx +72 -0
  351. package/docs/errors/bad-request.mdx +39 -0
  352. package/docs/errors/build-error.mdx +45 -0
  353. package/docs/errors/fatal-project-error.mdx +39 -0
  354. package/docs/errors/gateway-timeout.mdx +33 -0
  355. package/docs/errors/get-head-body-error.mdx +41 -0
  356. package/docs/errors/main-mod-error.mdx +40 -0
  357. package/docs/errors/no-project-set.mdx +41 -0
  358. package/docs/errors/not-found.mdx +43 -0
  359. package/docs/errors/rate-limit-exceeded.mdx +31 -0
  360. package/docs/errors/schema-validation-failed.mdx +51 -0
  361. package/docs/errors/system-configuration-error.mdx +44 -0
  362. package/docs/errors/unauthorized.mdx +50 -0
  363. package/docs/errors/unknown-error.mdx +42 -0
  364. package/docs/errors.mdx +14 -0
  365. package/docs/guides/canary-routing-for-employees.mdx +385 -0
  366. package/docs/guides/geolocation-backend-routing.mdx +404 -0
  367. package/docs/guides/modify-openapi-paths.mdx +371 -0
  368. package/docs/guides/openapi-overlays.mdx +492 -0
  369. package/docs/guides/overview.mdx +12 -0
  370. package/docs/guides/user-based-backend-routing.mdx +437 -0
  371. package/docs/handlers/aws-lambda.mdx +201 -0
  372. package/docs/handlers/custom-handler.mdx +112 -0
  373. package/docs/handlers/legacy-dev-portal-handler.mdx +135 -0
  374. package/docs/handlers/mcp-server.mdx +730 -0
  375. package/docs/handlers/openapi.mdx +78 -0
  376. package/docs/handlers/redirect.mdx +115 -0
  377. package/docs/handlers/system-handlers.mdx +41 -0
  378. package/docs/handlers/url-forward.mdx +204 -0
  379. package/docs/handlers/url-rewrite.mdx +224 -0
  380. package/docs/handlers/websocket-handler.mdx +154 -0
  381. package/docs/home.mdx +6 -0
  382. package/docs/managed-edge/overview.md +78 -0
  383. package/docs/mcp-server/configuration-migration-guide.mdx +344 -0
  384. package/docs/mcp-server/custom-tools.mdx +487 -0
  385. package/docs/mcp-server/graphql.mdx +241 -0
  386. package/docs/mcp-server/introduction.mdx +122 -0
  387. package/docs/mcp-server/openai-apps-sdk.mdx +160 -0
  388. package/docs/mcp-server/prompts.mdx +283 -0
  389. package/docs/mcp-server/resources.mdx +288 -0
  390. package/docs/mcp-server/testing.mdx +53 -0
  391. package/docs/mcp-server/tools.mdx +306 -0
  392. package/docs/policies/_index.md +92 -0
  393. package/docs/policies/ab-test-inbound/intro.md +8 -0
  394. package/docs/policies/ab-test-inbound/policy.ts +14 -0
  395. package/docs/policies/ab-test-inbound/schema.json +27 -0
  396. package/docs/policies/ab-test-outbound/intro.md +8 -0
  397. package/docs/policies/ab-test-outbound/policy.ts +26 -0
  398. package/docs/policies/ab-test-outbound/schema.json +27 -0
  399. package/docs/policies/acl-policy-inbound/intro.md +5 -0
  400. package/docs/policies/acl-policy-inbound/policy.ts +32 -0
  401. package/docs/policies/acl-policy-inbound/schema.json +52 -0
  402. package/docs/policies/akamai-ai-firewall/schema.json +98 -0
  403. package/docs/policies/amberflo-metering-inbound/doc.md +183 -0
  404. package/docs/policies/amberflo-metering-inbound/intro.md +20 -0
  405. package/docs/policies/amberflo-metering-inbound/schema.json +108 -0
  406. package/docs/policies/api-key-inbound/doc.md +77 -0
  407. package/docs/policies/api-key-inbound/intro.md +30 -0
  408. package/docs/policies/api-key-inbound/schema.json +84 -0
  409. package/docs/policies/archive-request-aws-s3-inbound/intro.md +4 -0
  410. package/docs/policies/archive-request-aws-s3-inbound/policy.ts +58 -0
  411. package/docs/policies/archive-request-aws-s3-inbound/schema.json +68 -0
  412. package/docs/policies/archive-request-azure-storage-inbound/doc.md +31 -0
  413. package/docs/policies/archive-request-azure-storage-inbound/intro.md +4 -0
  414. package/docs/policies/archive-request-azure-storage-inbound/policy.ts +54 -0
  415. package/docs/policies/archive-request-azure-storage-inbound/schema.json +53 -0
  416. package/docs/policies/archive-request-gcp-storage-inbound/doc.md +63 -0
  417. package/docs/policies/archive-request-gcp-storage-inbound/intro.md +4 -0
  418. package/docs/policies/archive-request-gcp-storage-inbound/policy.ts +68 -0
  419. package/docs/policies/archive-request-gcp-storage-inbound/schema.json +47 -0
  420. package/docs/policies/archive-response-aws-s3-outbound/intro.md +2 -0
  421. package/docs/policies/archive-response-aws-s3-outbound/policy.ts +59 -0
  422. package/docs/policies/archive-response-aws-s3-outbound/schema.json +68 -0
  423. package/docs/policies/archive-response-azure-storage-outbound/doc.md +31 -0
  424. package/docs/policies/archive-response-azure-storage-outbound/intro.md +3 -0
  425. package/docs/policies/archive-response-azure-storage-outbound/policy.ts +54 -0
  426. package/docs/policies/archive-response-azure-storage-outbound/schema.json +53 -0
  427. package/docs/policies/audit-log-inbound/doc.md +78 -0
  428. package/docs/policies/audit-log-inbound/intro.md +10 -0
  429. package/docs/policies/audit-log-inbound/schema.json +81 -0
  430. package/docs/policies/auth0-jwt-auth-inbound/doc.md +125 -0
  431. package/docs/policies/auth0-jwt-auth-inbound/intro.md +17 -0
  432. package/docs/policies/auth0-jwt-auth-inbound/schema.json +74 -0
  433. package/docs/policies/authzen-inbound/doc.md +24 -0
  434. package/docs/policies/authzen-inbound/intro.md +31 -0
  435. package/docs/policies/authzen-inbound/schema.json +126 -0
  436. package/docs/policies/axiomatics-authz-inbound/doc.md +144 -0
  437. package/docs/policies/axiomatics-authz-inbound/intro.md +11 -0
  438. package/docs/policies/axiomatics-authz-inbound/schema.json +161 -0
  439. package/docs/policies/basic-auth-inbound/intro.md +9 -0
  440. package/docs/policies/basic-auth-inbound/schema.json +99 -0
  441. package/docs/policies/bot-detection-inbound/intro.md +4 -0
  442. package/docs/policies/bot-detection-inbound/schema.json +56 -0
  443. package/docs/policies/brownout-inbound/doc.md +55 -0
  444. package/docs/policies/brownout-inbound/intro.md +12 -0
  445. package/docs/policies/brownout-inbound/schema.json +115 -0
  446. package/docs/policies/caching-inbound/doc.md +209 -0
  447. package/docs/policies/caching-inbound/intro.md +23 -0
  448. package/docs/policies/caching-inbound/schema.json +98 -0
  449. package/docs/policies/change-method-inbound/schema.json +56 -0
  450. package/docs/policies/clear-headers-inbound/schema.json +59 -0
  451. package/docs/policies/clear-headers-outbound/schema.json +59 -0
  452. package/docs/policies/clerk-jwt-auth-inbound/doc.md +85 -0
  453. package/docs/policies/clerk-jwt-auth-inbound/intro.md +4 -0
  454. package/docs/policies/clerk-jwt-auth-inbound/schema.json +68 -0
  455. package/docs/policies/cognito-jwt-auth-inbound/intro.md +7 -0
  456. package/docs/policies/cognito-jwt-auth-inbound/schema.json +74 -0
  457. package/docs/policies/comet-opik-tracing-inbound/schema.json +65 -0
  458. package/docs/policies/complex-rate-limit-inbound/doc.md +20 -0
  459. package/docs/policies/complex-rate-limit-inbound/intro.md +23 -0
  460. package/docs/policies/complex-rate-limit-inbound/schema.json +142 -0
  461. package/docs/policies/composite-inbound/doc.md +69 -0
  462. package/docs/policies/composite-inbound/intro.md +15 -0
  463. package/docs/policies/composite-inbound/schema.json +59 -0
  464. package/docs/policies/composite-outbound/intro.md +6 -0
  465. package/docs/policies/composite-outbound/schema.json +59 -0
  466. package/docs/policies/curity-phantom-token-inbound/doc.md +109 -0
  467. package/docs/policies/curity-phantom-token-inbound/intro.md +3 -0
  468. package/docs/policies/curity-phantom-token-inbound/schema.json +68 -0
  469. package/docs/policies/custom-code-inbound/doc.md +267 -0
  470. package/docs/policies/custom-code-inbound/intro.md +2 -0
  471. package/docs/policies/custom-code-inbound/schema.json +48 -0
  472. package/docs/policies/custom-code-outbound/doc.md +235 -0
  473. package/docs/policies/custom-code-outbound/intro.md +2 -0
  474. package/docs/policies/custom-code-outbound/schema.json +43 -0
  475. package/docs/policies/firebase-jwt-inbound/intro.md +6 -0
  476. package/docs/policies/firebase-jwt-inbound/schema.json +68 -0
  477. package/docs/policies/formdata-to-json-inbound/schema.json +60 -0
  478. package/docs/policies/galileo-tracing-inbound/schema.json +65 -0
  479. package/docs/policies/geo-filter-inbound/doc.md +33 -0
  480. package/docs/policies/geo-filter-inbound/schema.json +108 -0
  481. package/docs/policies/graphql-complexity-limit-inbound/doc.md +48 -0
  482. package/docs/policies/graphql-complexity-limit-inbound/intro.md +2 -0
  483. package/docs/policies/graphql-complexity-limit-inbound/schema.json +90 -0
  484. package/docs/policies/graphql-disable-introspection-inbound/doc.md +66 -0
  485. package/docs/policies/graphql-disable-introspection-inbound/intro.md +15 -0
  486. package/docs/policies/graphql-disable-introspection-inbound/schema.json +48 -0
  487. package/docs/policies/graphql-introspection-filter-outbound/doc.md +148 -0
  488. package/docs/policies/graphql-introspection-filter-outbound/schema.json +79 -0
  489. package/docs/policies/hmac-auth-inbound/doc.md +30 -0
  490. package/docs/policies/hmac-auth-inbound/intro.md +10 -0
  491. package/docs/policies/hmac-auth-inbound/policy.ts +70 -0
  492. package/docs/policies/hmac-auth-inbound/schema.json +53 -0
  493. package/docs/policies/http-deprecation-outbound/doc.md +73 -0
  494. package/docs/policies/http-deprecation-outbound/schema.json +83 -0
  495. package/docs/policies/ip-restriction-inbound/intro.md +8 -0
  496. package/docs/policies/ip-restriction-inbound/policy.ts +40 -0
  497. package/docs/policies/ip-restriction-inbound/schema.json +58 -0
  498. package/docs/policies/jwt-scopes-inbound/schema.json +59 -0
  499. package/docs/policies/ldap-auth-inbound/schema.json +56 -0
  500. package/docs/policies/mock-api-inbound/schema.json +72 -0
  501. package/docs/policies/moesif-inbound/doc.md +44 -0
  502. package/docs/policies/moesif-inbound/intro.md +6 -0
  503. package/docs/policies/moesif-inbound/schema.json +68 -0
  504. package/docs/policies/monetization-inbound/doc.md +87 -0
  505. package/docs/policies/monetization-inbound/intro.md +6 -0
  506. package/docs/policies/monetization-inbound/schema.json +102 -0
  507. package/docs/policies/mtls-auth-inbound/intro.md +6 -0
  508. package/docs/policies/mtls-auth-inbound/schema.json +68 -0
  509. package/docs/policies/okta-fga-authz-inbound/doc.md +181 -0
  510. package/docs/policies/okta-fga-authz-inbound/intro.md +20 -0
  511. package/docs/policies/okta-fga-authz-inbound/schema.json +104 -0
  512. package/docs/policies/okta-jwt-auth-inbound/intro.md +7 -0
  513. package/docs/policies/okta-jwt-auth-inbound/schema.json +74 -0
  514. package/docs/policies/open-id-jwt-auth-inbound/doc.md +58 -0
  515. package/docs/policies/open-id-jwt-auth-inbound/intro.md +30 -0
  516. package/docs/policies/open-id-jwt-auth-inbound/schema.json +128 -0
  517. package/docs/policies/openfga-authz-inbound/doc.md +207 -0
  518. package/docs/policies/openfga-authz-inbound/intro.md +17 -0
  519. package/docs/policies/openfga-authz-inbound/schema.json +191 -0
  520. package/docs/policies/openmeter-inbound/doc.md +163 -0
  521. package/docs/policies/openmeter-inbound/intro.md +18 -0
  522. package/docs/policies/openmeter-inbound/schema.json +183 -0
  523. package/docs/policies/prompt-injection-outbound/doc.md +106 -0
  524. package/docs/policies/prompt-injection-outbound/intro.md +4 -0
  525. package/docs/policies/prompt-injection-outbound/schema.json +74 -0
  526. package/docs/policies/propel-auth-jwt-inbound/doc.md +88 -0
  527. package/docs/policies/propel-auth-jwt-inbound/intro.md +4 -0
  528. package/docs/policies/propel-auth-jwt-inbound/schema.json +74 -0
  529. package/docs/policies/query-param-to-header-inbound/doc.md +70 -0
  530. package/docs/policies/query-param-to-header-inbound/intro.md +5 -0
  531. package/docs/policies/query-param-to-header-inbound/schema.json +74 -0
  532. package/docs/policies/quota-inbound/doc.md +235 -0
  533. package/docs/policies/quota-inbound/intro.md +7 -0
  534. package/docs/policies/quota-inbound/schema.json +133 -0
  535. package/docs/policies/rate-limit-inbound/doc.md +78 -0
  536. package/docs/policies/rate-limit-inbound/intro.md +30 -0
  537. package/docs/policies/rate-limit-inbound/schema.json +134 -0
  538. package/docs/policies/rbac-policy-inbound/intro.md +3 -0
  539. package/docs/policies/rbac-policy-inbound/policy.ts +42 -0
  540. package/docs/policies/rbac-policy-inbound/schema.json +52 -0
  541. package/docs/policies/readme-metrics-inbound/doc.md +1 -0
  542. package/docs/policies/readme-metrics-inbound/intro.md +3 -0
  543. package/docs/policies/readme-metrics-inbound/schema.json +84 -0
  544. package/docs/policies/remove-headers-inbound/schema.json +59 -0
  545. package/docs/policies/remove-headers-outbound/schema.json +59 -0
  546. package/docs/policies/remove-query-params-inbound/schema.json +59 -0
  547. package/docs/policies/replace-string-outbound/schema.json +69 -0
  548. package/docs/policies/request-size-limit-inbound/schema.json +60 -0
  549. package/docs/policies/request-validation-inbound/doc.md +72 -0
  550. package/docs/policies/request-validation-inbound/intro.md +24 -0
  551. package/docs/policies/request-validation-inbound/schema.json +98 -0
  552. package/docs/policies/require-origin-inbound/intro.md +12 -0
  553. package/docs/policies/require-origin-inbound/schema.json +65 -0
  554. package/docs/policies/secret-masking-outbound/doc.md +41 -0
  555. package/docs/policies/secret-masking-outbound/intro.md +13 -0
  556. package/docs/policies/secret-masking-outbound/schema.json +65 -0
  557. package/docs/policies/semantic-cache-inbound/doc.md +63 -0
  558. package/docs/policies/semantic-cache-inbound/intro.md +4 -0
  559. package/docs/policies/semantic-cache-inbound/schema.json +179 -0
  560. package/docs/policies/set-body-inbound/intro.md +7 -0
  561. package/docs/policies/set-body-inbound/schema.json +56 -0
  562. package/docs/policies/set-headers-inbound/doc.md +41 -0
  563. package/docs/policies/set-headers-inbound/intro.md +2 -0
  564. package/docs/policies/set-headers-inbound/schema.json +83 -0
  565. package/docs/policies/set-headers-outbound/schema.json +83 -0
  566. package/docs/policies/set-query-params-inbound/schema.json +83 -0
  567. package/docs/policies/set-status-outbound/schema.json +62 -0
  568. package/docs/policies/sleep-inbound/schema.json +56 -0
  569. package/docs/policies/stripe-webhook-verification-inbound/intro.md +2 -0
  570. package/docs/policies/stripe-webhook-verification-inbound/schema.json +60 -0
  571. package/docs/policies/supabase-jwt-auth-inbound/doc.md +29 -0
  572. package/docs/policies/supabase-jwt-auth-inbound/intro.md +12 -0
  573. package/docs/policies/supabase-jwt-auth-inbound/schema.json +86 -0
  574. package/docs/policies/transform-body-inbound/intro.md +8 -0
  575. package/docs/policies/transform-body-inbound/policy.ts +16 -0
  576. package/docs/policies/transform-body-inbound/schema.json +27 -0
  577. package/docs/policies/transform-body-outbound/intro.md +8 -0
  578. package/docs/policies/transform-body-outbound/policy.ts +19 -0
  579. package/docs/policies/transform-body-outbound/schema.json +27 -0
  580. package/docs/policies/upstream-azure-ad-service-auth-inbound/doc.md +82 -0
  581. package/docs/policies/upstream-azure-ad-service-auth-inbound/intro.md +20 -0
  582. package/docs/policies/upstream-azure-ad-service-auth-inbound/schema.json +84 -0
  583. package/docs/policies/upstream-firebase-admin-auth-inbound/intro.md +10 -0
  584. package/docs/policies/upstream-firebase-admin-auth-inbound/schema.json +68 -0
  585. package/docs/policies/upstream-firebase-user-auth-inbound/intro.md +2 -0
  586. package/docs/policies/upstream-firebase-user-auth-inbound/schema.json +113 -0
  587. package/docs/policies/upstream-gcp-federated-auth-inbound/doc.md +139 -0
  588. package/docs/policies/upstream-gcp-federated-auth-inbound/intro.md +21 -0
  589. package/docs/policies/upstream-gcp-federated-auth-inbound/schema.json +96 -0
  590. package/docs/policies/upstream-gcp-jwt-inbound/intro.md +10 -0
  591. package/docs/policies/upstream-gcp-jwt-inbound/schema.json +62 -0
  592. package/docs/policies/upstream-gcp-service-auth-inbound/doc.md +132 -0
  593. package/docs/policies/upstream-gcp-service-auth-inbound/intro.md +25 -0
  594. package/docs/policies/upstream-gcp-service-auth-inbound/schema.json +95 -0
  595. package/docs/policies/upstream-zuplo-jwt-auth-inbound/doc.md +213 -0
  596. package/docs/policies/upstream-zuplo-jwt-auth-inbound/intro.md +16 -0
  597. package/docs/policies/upstream-zuplo-jwt-auth-inbound/schema.json +101 -0
  598. package/docs/policies/validate-json-schema-inbound/doc.md +129 -0
  599. package/docs/policies/validate-json-schema-inbound/intro.md +7 -0
  600. package/docs/policies/validate-json-schema-inbound/schema.json +56 -0
  601. package/docs/policies/web-bot-auth-inbound/doc.md +104 -0
  602. package/docs/policies/web-bot-auth-inbound/intro.md +16 -0
  603. package/docs/policies/web-bot-auth-inbound/schema.json +76 -0
  604. package/docs/policies/xml-to-json-outbound/doc.md +71 -0
  605. package/docs/policies/xml-to-json-outbound/intro.md +4 -0
  606. package/docs/policies/xml-to-json-outbound/schema.json +117 -0
  607. package/docs/programmable-api/audit-log.mdx +74 -0
  608. package/docs/programmable-api/background-dispatcher.mdx +124 -0
  609. package/docs/programmable-api/background-loader.mdx +104 -0
  610. package/docs/programmable-api/cache.mdx +186 -0
  611. package/docs/programmable-api/compatibility-dates.mdx +201 -0
  612. package/docs/programmable-api/console-logging.mdx +48 -0
  613. package/docs/programmable-api/context-data.mdx +127 -0
  614. package/docs/programmable-api/custom-cors-policy.mdx +64 -0
  615. package/docs/programmable-api/environment.mdx +328 -0
  616. package/docs/programmable-api/hooks.mdx +569 -0
  617. package/docs/programmable-api/http-problems.mdx +385 -0
  618. package/docs/programmable-api/jwt-service-plugin.mdx +420 -0
  619. package/docs/programmable-api/logger.mdx +223 -0
  620. package/docs/programmable-api/memory-zone-read-through-cache.mdx +96 -0
  621. package/docs/programmable-api/node-modules.mdx +67 -0
  622. package/docs/programmable-api/not-found-handler.mdx +47 -0
  623. package/docs/programmable-api/oauth-protected-resource-plugin.mdx +46 -0
  624. package/docs/programmable-api/overview.mdx +213 -0
  625. package/docs/programmable-api/problem-response-formatter.mdx +183 -0
  626. package/docs/programmable-api/request-user.mdx +289 -0
  627. package/docs/programmable-api/reusing-code.mdx +26 -0
  628. package/docs/programmable-api/route-raw.mdx +55 -0
  629. package/docs/programmable-api/runtime-behaviors.mdx +25 -0
  630. package/docs/programmable-api/runtime-errors.mdx +246 -0
  631. package/docs/programmable-api/runtime-extensions.mdx +340 -0
  632. package/docs/programmable-api/safely-clone-a-request-or-response.mdx +57 -0
  633. package/docs/programmable-api/streaming-zone-cache.mdx +155 -0
  634. package/docs/programmable-api/web-crypto-apis.mdx +219 -0
  635. package/docs/programmable-api/web-standard-apis.mdx +109 -0
  636. package/docs/programmable-api/zone-cache.mdx +131 -0
  637. package/docs/programmable-api/zp-body-removed.mdx +32 -0
  638. package/docs/programmable-api/zuplo-context.mdx +414 -0
  639. package/docs/programmable-api/zuplo-id-token.mdx +90 -0
  640. package/docs/programmable-api/zuplo-json.mdx +91 -0
  641. package/docs/programmable-api/zuplo-request.mdx +200 -0
  642. package/docs/sample-apis.mdx +78 -0
  643. package/docs/self-hosted/overview.md +60 -0
  644. package/package.json +6 -5
@@ -0,0 +1,70 @@
1
+ ---
2
+ title: Hosting Options
3
+ sidebar_label: Overview
4
+ ---
5
+
6
+ Your place or ours; Zuplo has a variety of hosting options to suit your needs.
7
+
8
+ ## 1. Managed Edge
9
+
10
+ Run your Zuplo projects in a serverless environment at the edge across 300+ data
11
+ centers worldwide. This is our most popular option and the default choice for
12
+ all Zuplo projects. If you use our self-serve product and pay with your credit
13
+ card, this is the option you are using.
14
+
15
+ Managed Edge is ideal for organizations that want:
16
+
17
+ - The simplest deployment experience with zero infrastructure management
18
+ - Global distribution and low-latency performance for users worldwide
19
+ - Automatic scaling to handle traffic spikes and high request volumes
20
+ - Enterprise-grade performance proven at scale (billions of requests per month,
21
+ millions of requests per second)
22
+
23
+ For more information, see the
24
+ [Managed Edge documentation](/docs/managed-edge/overview).
25
+
26
+ ## 2. Managed Dedicated
27
+
28
+ We run your gateway in a dedicated, isolated VPC on the cloud provider of your
29
+ choice, including Akamai Connected Cloud, AWS, GCP, Azure, Equinix, TerraSwitch,
30
+ and more. You get to choose the regions where you want your service hosted to
31
+ meet any sovereignty or data residency concerns.
32
+
33
+ Managed Dedicated is ideal for organizations that need:
34
+
35
+ - To run your API Gateway on a specific cloud provider
36
+ - Custom networking configurations, such as restricting access to the public
37
+ internet
38
+ - Geographical deployment requirements where Managed Edge isn't feasible
39
+ - Regulatory or compliance requirements that necessitate a dedicated instance
40
+ - Private networking options like AWS PrivateLink, Azure Private Link, or GCP
41
+ Private Service Connect (available for both inbound and outbound connections)
42
+
43
+ For more information, see the
44
+ [Managed Dedicated documentation](/docs/dedicated/overview.mdx) or
45
+ [schedule some time to talk with us](https://book.zuplo.com).
46
+
47
+ ## 3. Self-Hosted (On-Premises)
48
+
49
+ Run Zuplo on your own infrastructure in any cloud or private data center using
50
+ Kubernetes. Zuplo Self-Hosted runs exclusively on Kubernetes and can be deployed
51
+ to any Kubernetes environment. Deployment is simple and uses Helm charts.
52
+
53
+ Self-Hosted is available in two deployment models:
54
+
55
+ - **Hybrid Deployment**: Run the Zuplo API Gateway on your Kubernetes cluster
56
+ while leveraging shared services for features such as rate limiting
57
+ - **Full Self-Hosted**: Run all Zuplo components on your Kubernetes cluster for
58
+ complete control and isolation
59
+
60
+ Self-Hosted is ideal for organizations that need:
61
+
62
+ - Complete control over your infrastructure and deployment environment
63
+ - To run Zuplo in a private data center or on-premises Kubernetes environment
64
+ - To meet strict data sovereignty or regulatory requirements
65
+ - To integrate with existing on-premises systems and networks
66
+ - To customize the deployment architecture to match your specific requirements
67
+
68
+ For more information, see the
69
+ [Self-Hosted documentation](/docs/self-hosted/overview) or
70
+ [book a meeting](https://zuplo.com/meeting) with us.
@@ -0,0 +1,92 @@
1
+ ---
2
+ title: Lazy Load Configuration
3
+ sidebar_label: "Lazy Load Configuration"
4
+ description:
5
+ Learn how to efficiently load and cache configuration data using
6
+ MemoryZoneReadThroughCache for optimal performance.
7
+ tags:
8
+ - caching
9
+ - custom-code
10
+ ---
11
+
12
+ Often when working with a programmable gateway like Zuplo you'll want to load
13
+ some configuration and store it safely for fast access on future requests
14
+ without impacting latency.
15
+
16
+ The fastest place to store such information is in memory, but there can be
17
+ thousands of processes on Zuplo when you're at scale and sometimes those
18
+ processes aren't long lived.
19
+
20
+ The next fastest place is in [ZoneCache](../programmable-api/zone-cache.mdx)
21
+ which is a cache located in each data center. This requires an asynchronous
22
+ connection but is usually much faster than going back to your configuration data
23
+ store (often in a single location worldwide).
24
+
25
+ The
26
+ [MemoryZoneReadThroughCache](../programmable-api/memory-zone-read-through-cache.mdx)
27
+ offers the best of both worlds - it uses memory and zone cache in combination to
28
+ afford the lowest possible latency.
29
+
30
+ :::warning
31
+
32
+ Do take care not to load so much data into memory that you OOM (out-of-memory)
33
+ your process. Processes in Zuplo typically have ~120MB of memory to perform all
34
+ their work, including holding request bodies etc.
35
+
36
+ :::
37
+
38
+ Here's a simple example of the usage of MemoryZoneReadthroughCache being used to
39
+ store configuration data.
40
+
41
+ ```ts
42
+ import {
43
+ ZuploContext,
44
+ ZuploRequest,
45
+ MemoryZoneReadThroughCache,
46
+ environment,
47
+ } from "@zuplo/runtime";
48
+
49
+ interface MyConfig {
50
+ data: Record<string, string>[];
51
+ }
52
+
53
+ const cacheName = "CACHE_NAME";
54
+ const configKey = "CONFIG_KEY";
55
+ const cacheTtlSeconds = 3600;
56
+
57
+ async function loadConfig(context: ZuploContext) {
58
+ // We will type the cache to work with MyConfig type, but
59
+ // you can use `any` if there. Use the same cache name
60
+ // when trying to use the same cache store from different modules.
61
+ const cache = new MemoryZoneReadThroughCache<MyConfig>(cacheName, context);
62
+ let config = await cache.get(configKey);
63
+
64
+ if (!config) {
65
+ // This is where you load the configuration for your own backend API
66
+ const response = await fetch(`https://your-backend-config-api.com`, {
67
+ headers: {
68
+ authorization: `Bearer ${environment.CONFIG_API_KEY}`,
69
+ },
70
+ });
71
+
72
+ if (response.status !== 200) {
73
+ throw new Error(
74
+ `Error reading config ${response.status}: '${await response.text()}'`,
75
+ );
76
+ }
77
+
78
+ config = await response.json();
79
+ cache.put(configKey, config, cacheTtlSeconds);
80
+ }
81
+ return config;
82
+ }
83
+
84
+ export default async function (request: ZuploRequest, context: ZuploContext) {
85
+ const config = await loadConfig(context);
86
+ context.log.info(config);
87
+ // use the config in your pipeline or request handler etc
88
+ // ...
89
+ // ...
90
+ return request;
91
+ }
92
+ ```
@@ -0,0 +1,98 @@
1
+ ---
2
+ title: Zuplo Platform Limits
3
+ sidebar_label: Platform Limits
4
+ ---
5
+
6
+ This document describes the limits that apply to your Zuplo account.
7
+
8
+ :::tip{title="Managed Dedicated Environments"}
9
+
10
+ The limits in this document are primarily for Zuplo's managed edge environment .
11
+ For managed dedicated environments and enterprise agreements, most limits are
12
+ fully customizable to meet your specific requirements.
13
+
14
+ :::
15
+
16
+ ## General
17
+
18
+ Below are general limits that apply to deployments on Zuplo's managed edge
19
+ environments.
20
+
21
+ | Feature | Description | Limit |
22
+ | ----------------------------- | --------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
23
+ | Environment Variables | The number of environment variables you can create | Free/Builder Plans: 50 variables per environment, Other Plans: 100 per environment |
24
+ | Environment Variable size | The size of an environment variable | ~5kb per variable |
25
+ | Request Duration | The maximum time a request can take to complete | Free/Builder Plans: 30 seconds, Other Plans: No Limit |
26
+ | Memory | The maximum memory available when processing a request | Free/Builder Plans: 128mb, Enterprise Plans: Custom |
27
+ | Requests per second | The maximum number of requests per second | Development Environments (Working Copy): 1000 requests per minute. No Limit outside of plan monthly limit |
28
+ | Log Size | The size of a log entry | Zuplo Portal live logs are limited to ~10kB. Excess will be truncated. For third-party logging providers, the value depends on the provider. Zuplo imposes no limit. |
29
+ | Request Body Size | The maximum size of an incoming request body | 500 MB |
30
+ | Response Headers | The total size of all response headers | 128 KB |
31
+ | Subrequests | The maximum number of subrequests per request | 1,000 |
32
+ | Simultaneous Open Connections | The maximum number of simultaneous open connections per request | 6 |
33
+
34
+ ## HTTP connections
35
+
36
+ In Zuplo's managed edge environment, HTTP connections have timeouts to ensure
37
+ efficient use of resources. These timeouts apply to both incoming connections
38
+ from clients to Zuplo and outgoing connections from Zuplo to your origin
39
+ servers.
40
+
41
+ ## Between client and Zuplo
42
+
43
+ | Type | Limit (seconds) | HTTP status code at limit |
44
+ | ------------------------------ | --------------- | ------------------------- |
45
+ | Connection Keep-Alive HTTP/1.1 | 400 | TCP connection closed |
46
+ | Connection Idle HTTP/2 | 400 | TCP connection closed |
47
+
48
+ ## Between Zuplo and origin server
49
+
50
+ | Type | Limit (seconds) | HTTP status code at limit |
51
+ | ----------------------- | --------------- | ------------------------- |
52
+ | Complete TCP Connection | 19 | 522 |
53
+ | TCP ACK Timeout | 90 | 522 |
54
+ | TCP Keep-Alive Interval | 30 | 520 |
55
+ | Proxy Idle Timeout | 900 | 520 |
56
+ | Proxy Read Timeout | 180 | 524 |
57
+ | Proxy Write Timeout | 30 | 524 |
58
+ | HTTP/2 Pings to Origin | Off | - |
59
+ | HTTP/2 Connection Idle | 900 | No |
60
+
61
+ ## API keys
62
+
63
+ ### Consumers & keys
64
+
65
+ Zuplo doesn't impose a hard cap on the number of consumers or keys you can
66
+ create. However, usage of the service is subject to "fair use" policies meaning
67
+ if your usage is deemed excessive we may limit usage. If you require specific
68
+ limits please contact sales to discuss pricing plans.
69
+
70
+ Our general guidelines for what constitutes fair use are as follows:
71
+
72
+ - Free Plan: 500 consumers or keys
73
+ - Builder Plan: 1,000 consumers or keys
74
+ - Enterprise Plan: Custom
75
+
76
+ ### Consumer metadata and tags
77
+
78
+ - Consumer `metadata` - The JSON encoded object can't be larger than 1kb.
79
+ - Consumer `tags` - Each consumer is limited to 5 key value pair tags.
80
+
81
+ ### API key management operations
82
+
83
+ Requests to API key management operations on the Zuplo Developer API
84
+ (dev.zuplo.com) are limited to 100 requests per second.
85
+
86
+ ### API key authorizations
87
+
88
+ One API key authorization can be made per request. Enterprise plans can request
89
+ custom limits to allow multiple API key authorizations per request.
90
+
91
+ ### Cache
92
+
93
+ The [cache API](../programmable-api/cache.mdx) and abstractions on top of it
94
+ such as [ZoneCache](../programmable-api/zone-cache.mdx) have the following
95
+ limits:
96
+
97
+ - Maximum size per cached item: 512 MB
98
+ - Maximum cache calls per request: 1000
@@ -0,0 +1,44 @@
1
+ ---
2
+ title: "Debugging Locally"
3
+ sidebar_label: Debugging
4
+ ---
5
+
6
+ You can debug your local gateway through VS Code using its TypeScript debugger.
7
+ Features such as breakpoints, stepping through the code, variable inspection,
8
+ etc., will be available to help you debug your gateway.
9
+
10
+ 1. Create a `.vscode/launch.json` file with the following content. If you
11
+ already have an older/existing `.vscode/launch.json` file, you can add the
12
+ section in the curly braces to the configurations array. Take note of the
13
+ port value since that's the value you will specify next.
14
+
15
+ ```json
16
+ {
17
+ "configurations": [
18
+ {
19
+ "name": "Zuplo Gateway",
20
+ "type": "node",
21
+ "request": "attach",
22
+ "restart": true,
23
+ "port": 9229
24
+ }
25
+ ]
26
+ }
27
+ ```
28
+
29
+ 2. Start the gateway in debug mode using the port that you specified above.
30
+
31
+ ```bash
32
+ npx zuplo dev --debug-port 9229
33
+ ```
34
+
35
+ 3. Switch to the View > Run and Debug in VS Code. You can now attach the
36
+ debugger by selecting **Zuplo Gateway** and clicking the green triangle.
37
+
38
+ ![VS code debugging](../../public/media/local-development-debugging/image.png)
39
+
40
+ ## Limitations
41
+
42
+ - We only support stepping through your own module code. System code provided by
43
+ Zuplo are minified and stripped of source maps, so you won't be able to step
44
+ through them.
@@ -0,0 +1,23 @@
1
+ ---
2
+ title: "Configuring Environment Variables Locally"
3
+ sidebar_label: Environment variables
4
+ ---
5
+
6
+ For security reasons, your local development doesn't have access to the
7
+ environment variables that you have configured on the Zuplo Portal. Instead,
8
+ your local Zuplo API Gateway will load environment variables from a .env file.
9
+
10
+ 1. Create a .env file in the root of your project.
11
+ 2. Follow the following format
12
+
13
+ :::warning
14
+
15
+ As the `.env` file could contain sensitive information, it shouldn't be
16
+ committed to your version system. Consider adding .env to your .gitignore file.
17
+
18
+ :::
19
+
20
+ ```txt
21
+ KEY1=VALUE1
22
+ KEY2=VALUE2
23
+ ```
@@ -0,0 +1,23 @@
1
+ ---
2
+ title: "Installing Packages"
3
+ ---
4
+
5
+ You can install packages from npm to use in your Zuplo Gateway. This can help
6
+ with code completion and hover tips.
7
+
8
+ However, bear in mind, these might not work out-of-the-box in the cloud (for
9
+ example, working-copy and edge environments), as Zuplo for security reasons
10
+ doesn't allow all packages to be installed. Consult
11
+ [Node Modules](../programmable-api/node-modules.mdx) for the official list of
12
+ supported modules.
13
+
14
+ There are workarounds though. If you need a package to be available, you can try
15
+ to _bundle_ it. This will bypass the `npm install` step since the module is
16
+ already bundled and available. We've an example at
17
+ [Custom Modules](https://github.com/zuplo/zuplo/tree/main/examples/custom-module)
18
+ that you can follow.
19
+
20
+ We're looking into ways to simplify bringing in your own modules. We're
21
+ proceeding carefully as we want to ensure that we can provide a secure and
22
+ reliable experience for our users. Please contact
23
+ [Zuplo support](mailto:support@zuplo.com) if you need more assistance.
@@ -0,0 +1,27 @@
1
+ ---
2
+ title: "Routes Designer"
3
+ ---
4
+
5
+ The Routes Designer is a visual tool that allows you to create and edit routes,
6
+ as well as add [policies](../policies), for your Zuplo Gateway without having to
7
+ manually edit the OpenAPI `routes.oas.json` file manually.
8
+
9
+ When you run `npm run dev`, the Routes Designer is automatically started on
10
+ port 9100. You can access it by visiting http://localhost:9100 in your browser.
11
+
12
+ ```sh
13
+ $ npm run dev
14
+
15
+ Started local development setup
16
+ Ctrl+C to exit
17
+
18
+ 🚀 Zuplo Gateway: http://localhost:9000
19
+ 📘 Route Designer: http://localhost:9100 # <-- Your local route designer
20
+ ```
21
+
22
+ ![Routes Designer](../../public/media/local-development-routes-designer/8108441d-5d60-4ff6-9b1b-2791f9a971f5.png)
23
+
24
+ If you are using VS Code, you can open it in the Simple Browser extension to see
25
+ it side-by-side as follows.
26
+
27
+ ![VS Code with Simple Browser](../../public/media/local-development-routes-designer/1a3594c1-18a1-4416-b7c7-05585b253dca.png)
@@ -0,0 +1,40 @@
1
+ ---
2
+ title: "Connecting to Zuplo Services Locally"
3
+ sidebar_label: Zuplo Services
4
+ ---
5
+
6
+ To use Zuplo services such as API keys and rate limiting locally, you must have
7
+ a Zuplo account and an existing project. You will be using the connections from
8
+ your remote gateway.
9
+
10
+ 1. Run `npx zuplo link` to bring in relevant information from your Zuplo account
11
+ and project. Follow the prompt to select the right environment. For local
12
+ development, we recommend selecting the development environment.
13
+ 2. At this point, you will see a file called `.env.zuplo` containing some
14
+ information about the account, project, and environment that your local
15
+ gateway is linked to.
16
+
17
+ :::warning
18
+
19
+ As the .env.zuplo file could contain sensitive information, it shouldn't be
20
+ committed to your version system. Consider adding .env.zuplo to your .gitignore
21
+ file.
22
+
23
+ :::
24
+
25
+ 4. You can run `npm run dev` as normal. The Zuplo CLI will automatically pick up
26
+ the relevant services from the `.env.zuplo` file.
27
+ 5. If you want to switch environments (for example, from development to
28
+ preview), run `npx zuplo link` again and select the new environment. You can
29
+ see which environment you are connected to by looking at the .env.zuplo file.
30
+
31
+ ```bash title="Contents of .env.zuplo "
32
+ # This file is auto-generated from zuplo link. Please don't edit it manually.
33
+ # It will be auto-generated afresh the next time you run zuplo link.
34
+ # If you wish to add your own environment variables, create a separate .env file.
35
+
36
+ ZUPLO_ACCOUNT_NAME=your-account-name
37
+ ZUPLO_PROJECT_NAME=your-project-name
38
+ ZUPLO_ENVIRONMENT_TYPE=your-environment
39
+
40
+ ```
@@ -0,0 +1,56 @@
1
+ ---
2
+ title: "Troubleshooting"
3
+ ---
4
+
5
+ ## Changing the port numbers
6
+
7
+ By default the Zuplo local server runs on port 9000 and route designer runs on
8
+ port 9100. To change the port number, you can call
9
+
10
+ ```sh
11
+ npx zuplo dev --port <port number> --editor-port <editor port number>
12
+ ```
13
+
14
+ ## Certificates Errors
15
+
16
+ When running Zuplo locally you may want to call a service with a self-signed
17
+ certificate. By default this isn't supported - we recommend using signed/trusted
18
+ certificates in deployed environments. However, for local development you can
19
+ ignore certificate errors by adding the `--unsafely-ignore-certificate-errors`
20
+ flag on the `zuplo dev` command.
21
+
22
+ Run your development server with the following command:
23
+
24
+ ```bash
25
+ npx zuplo dev --unsafely-ignore-certificate-errors
26
+ ```
27
+
28
+ If you want to update your `package.json` to always allow self-signed
29
+ certificates, you can add the following script:
30
+
31
+ ```json
32
+ {
33
+ "scripts": {
34
+ "dev": "zuplo dev --unsafely-ignore-certificate-errors"
35
+ }
36
+ }
37
+ ```
38
+
39
+ ## Updating the Zuplo CLI
40
+
41
+ To update the CLI, run the following command in your project directory.
42
+
43
+ ```bash
44
+ npm install zuplo@latest
45
+ ```
46
+
47
+ You must include the @latest to ensure you are getting the latest. Otherwise,
48
+ you could have an older version cached locally on your machine.
49
+
50
+ You can compare if you have the latest version by looking at the version number
51
+ on [NPM](https://www.npmjs.com/package/zuplo?activeTab=versions)
52
+
53
+ ## Getting help
54
+
55
+ Please reach out to support@zuplo.com or join our
56
+ [Discord server](https://discord.gg/8QbEjr2MgZ).
@@ -0,0 +1,81 @@
1
+ ---
2
+ title: Running your Zuplo Gateway locally
3
+ sidebar_label: Quickstart
4
+ ---
5
+
6
+ You can configure and run your Zuplo Gateway locally on your machine for
7
+ development purposes using your favorite code editor.
8
+
9
+ ## Requirements
10
+
11
+ - [Node.js](https://nodejs.org/en/download) 20.0.0 or higher
12
+ - Linux, Mac OS X, Windows, or Windows Subsystem for Linux (WSL)
13
+
14
+ ## Getting Started
15
+
16
+ ### Create a new project from scratch
17
+
18
+ <Stepper>
19
+
20
+ 1. Create a new project using
21
+
22
+ ```bash
23
+ npx create-zuplo-api@latest
24
+ ```
25
+
26
+ ```bash title="Expected output: "
27
+ cd <your-new-project-directory>
28
+ npm run dev
29
+ ```
30
+
31
+ 1. Start your local gateway using `npm run dev`.
32
+ 1. Use the [local Route Designer](./local-development-routes-designer.mdx) to
33
+ create your first route.
34
+
35
+ </Stepper>
36
+
37
+ ### Import your existing project
38
+
39
+ If you have been using Zuplo using the _Zuplo Web Portal_, you can import your
40
+ project into your local machine.
41
+
42
+ <Stepper>
43
+
44
+ 1. Connect your project to a Git repository from the _Zuplo Web Portal_.
45
+ ![Connect repository](../../public/media/local-development/3bd6b736-20d7-4ac4-805c-d7fd810dea28.png)
46
+ 1. Clone your project from your Git provider to your local machine.
47
+ 1. Install the necessary dependencies:
48
+
49
+ ```sh
50
+ npm install
51
+ ```
52
+
53
+ 1. Start your Zuplo Gateway locally;
54
+
55
+ ```sh
56
+ npm run dev
57
+ ```
58
+
59
+ 1. Use the [local Route Designer](./local-development-routes-designer.mdx) to
60
+ create your first route.
61
+
62
+ </Stepper>
63
+
64
+ ## Limitations
65
+
66
+ While convenient and powerful, not all features of Zuplo are supported while
67
+ developing locally. The following features are currently not supported when
68
+ running your Zuplo Gateway locally:
69
+
70
+ - Analytics
71
+
72
+ ## Next steps
73
+
74
+ - Use the [local Route Designer](./local-development-routes-designer.mdx) to
75
+ create your first route.
76
+ - Install [packages](../programmable-api/node-modules.mdx) to extend your Zuplo
77
+ Gateway.
78
+ - Use the [API keys](./local-development-services.mdx) service locally to secure
79
+ your routes.
80
+ - Add [environment variables](./local-development-env-variables.mdx) to your
81
+ project.
@@ -0,0 +1,83 @@
1
+ ---
2
+ title: AWS CloudWatch Plugin
3
+ sidebar_label: AWS CloudWatch Logging
4
+ ---
5
+
6
+ The AWS CloudWatch Log plugin enables pushing logs to AWS CloudWatch.
7
+
8
+ <EnterpriseFeature name="Custom logging" />
9
+
10
+ ## Setup
11
+
12
+ To add the AWS CloudWatch logging plugin to your Zuplo project, add the
13
+ following code to your `zuplo.runtime.ts` file.
14
+
15
+ ```ts title="modules/zuplo.runtime.ts"
16
+ import {
17
+ RuntimeExtensions,
18
+ AWSLoggingPlugin,
19
+ environment,
20
+ } from "@zuplo/runtime";
21
+
22
+ export function runtimeInit(runtime: RuntimeExtensions) {
23
+ runtime.addPlugin(
24
+ new AWSLoggingPlugin({
25
+ region: environment.AWS_REGION,
26
+ accessKeyId: environment.AWS_ACCESS_KEY_ID,
27
+ secretAccessKey: environment.AWS_SECRET_ACCESS_KEY,
28
+ logGroupName: "/aws/zuplo/api",
29
+ logStreamName: "production",
30
+ }),
31
+ );
32
+ }
33
+ ```
34
+
35
+ ## Configuration Options
36
+
37
+ The `AWSLoggingPlugin` constructor accepts an options object with the following
38
+ properties:
39
+
40
+ - `region` - (required) AWS region where your CloudWatch logs are stored (for
41
+ example, "us-east-1")
42
+ - `accessKeyId` - (required) AWS access key ID for authentication
43
+ - `secretAccessKey` - (required) AWS secret access key for authentication
44
+ - `logGroupName` - (required) CloudWatch log group name
45
+ - `logStreamName` - (required) CloudWatch log stream name
46
+ - `fields` - (optional) Custom fields to include in each log entry. Can contain
47
+ string, number, or boolean values
48
+
49
+ ### Custom Fields
50
+
51
+ Any custom fields you want to include in the log entry can be added to the
52
+ `fields` property. These values will be appended to every log entry.
53
+
54
+ ```ts
55
+ new AWSLoggingPlugin({
56
+ region: environment.AWS_REGION,
57
+ accessKeyId: environment.AWS_ACCESS_KEY_ID,
58
+ secretAccessKey: environment.AWS_SECRET_ACCESS_KEY,
59
+ logGroupName: "/aws/zuplo/api",
60
+ logStreamName: "production",
61
+ fields: {
62
+ field1: "value1",
63
+ field2: "value2",
64
+ },
65
+ });
66
+ ```
67
+
68
+ ## Default Fields
69
+
70
+ Every log entry will include the following fields (in camelCase format):
71
+
72
+ - `timestamp` - The time the log was created (ISO 8601 format)
73
+ - `severity` - The log level (for example, `ERROR`, `INFO`, `DEBUG`, `WARN`)
74
+ - `data` - The log message and any additional data
75
+ - `environmentType` - Where the Zuplo API is running. Values are `edge`,
76
+ `working-copy`, or `local`
77
+ - `environmentStage` - The deployment stage: `working-copy`, `preview`, or
78
+ `production`
79
+ - `requestId` - The UUID of the request (the value of the `zp-rid` header)
80
+ - `atomicCounter` - An atomic counter used to order logs with identical
81
+ timestamps
82
+ - `rayId` - The network provider identifier (for example, Cloudflare Ray ID) of
83
+ the request