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,156 @@
1
+ ---
2
+ title: Zuplo Managed WAF
3
+ ---
4
+
5
+ Zuplo's Managed WAF provides enterprise customers using our **managed edge
6
+ deployment** with comprehensive security protection purpose-built for API
7
+ Gateways. This service offers multiple layers of protection against common
8
+ threats, attacks, and malicious traffic without requiring you to manage complex
9
+ security configurations.
10
+
11
+ <EnterpriseFeature name="Zuplo Managed WAF" />
12
+
13
+ :::note
14
+
15
+ Zuplo Managed WAF is only available for customers using Zuplo's managed edge
16
+ deployment model. Customers using managed dedicated deployments should refer to
17
+ the [Managed Dedicated WAF Options](#managed-dedicated-waf-options) section
18
+ below.
19
+
20
+ :::
21
+
22
+ ## Available Protection Rules
23
+
24
+ ### OWASP Core Ruleset
25
+
26
+ Zuplo's Managed WAF includes protection based on the
27
+ [OWASP Core Ruleset](https://owasp.org/www-project-top-ten/), which defends
28
+ against the most critical web application security risks. This includes
29
+ protection against:
30
+
31
+ - **SQL Injection** - Prevents attackers from inserting malicious SQL code
32
+ - **Cross-Site Scripting (XSS)** - Blocks malicious scripts from being injected
33
+ into your API responses
34
+ - **Remote Code Execution** - Prevents attackers from executing arbitrary code
35
+ - **Local File Inclusion** - Blocks attempts to access local server files
36
+ - **Remote File Inclusion** - Prevents loading of remote malicious files
37
+ - **PHP Code Injection** - Blocks malicious PHP code execution attempts
38
+ - **HTTP Protocol Violations** - Detects and blocks malformed HTTP requests
39
+ - **Session Fixation** - Prevents session hijacking attempts
40
+ - **Scanner Detection** - Identifies and blocks automated vulnerability scanners
41
+ - **Metadata/Error Leakages** - Prevents exposure of sensitive system
42
+ information
43
+
44
+ ### OFAC Sanctioned Country Blocking
45
+
46
+ Zuplo's Managed WAF includes automatic blocking of traffic from countries on the
47
+ [OFAC Sanctions Programs list](https://ofac.treasury.gov/sanctions-programs-and-country-information).
48
+ This helps ensure compliance with U.S. Treasury regulations by preventing API
49
+ access from sanctioned regions.
50
+
51
+ The blocked country list is automatically updated as OFAC sanctions change,
52
+ ensuring your API remains compliant without manual intervention.
53
+
54
+ ### DDoS Protection
55
+
56
+ All Zuplo API Gateways include automatic DDoS protection that defends against:
57
+
58
+ - **Layer 3/4 Attacks** - Network and transport layer flood attacks
59
+ - **Layer 7 Attacks** - Application layer attacks targeting your API endpoints
60
+ - **Amplification Attacks** - DNS, NTP, and other amplification-based attacks
61
+ - **SYN Floods** - TCP connection exhaustion attempts
62
+ - **HTTP Floods** - High-volume HTTP request attacks
63
+
64
+ DDoS protection is always-on and automatically scales to handle attacks of any
65
+ size without impacting legitimate traffic.
66
+
67
+ ### Zero-Day Vulnerability Protection
68
+
69
+ Zuplo's Managed WAF includes rapid response protection against emerging threats
70
+ and zero-day vulnerabilities. When critical vulnerabilities are discovered,
71
+ protection rules are automatically deployed across all protected gateways
72
+ without requiring any action from your team.
73
+
74
+ ## Custom WAF Rules
75
+
76
+ Enterprise customers can work with Zuplo to create and enable custom WAF rules
77
+ tailored to their specific security requirements. Custom rules can be configured
78
+ to:
79
+
80
+ - Block or allow traffic based on specific patterns
81
+ - Create IP allowlists or blocklists
82
+ - Implement rate limiting for specific endpoints
83
+ - Add custom request validation
84
+ - Create geography-based access controls beyond OFAC requirements
85
+ - Implement custom bot detection and mitigation
86
+
87
+ To discuss custom WAF rule requirements, contact your Zuplo account team.
88
+
89
+ ## Enabling Zuplo Managed WAF
90
+
91
+ Zuplo's Managed WAF is available to enterprise customers. The service can be
92
+ enabled with different protection levels based on your security requirements:
93
+
94
+ - **Standard Protection** - OWASP Core Rules and DDoS protection
95
+ - **Enhanced Protection** - Includes OFAC blocking and zero-day protection
96
+ - **Custom Protection** - All features plus custom rules tailored to your needs
97
+
98
+ To enable Zuplo's Managed WAF on your API Gateway, contact our
99
+ [sales team](mailto:sales@zuplo.com).
100
+
101
+ ## Benefits
102
+
103
+ - **Edge-deployed protection** - Security rules run at the same edge locations
104
+ as your API, ensuring no additional latency
105
+ - **Automatic updates** - Protection rules are continuously updated without
106
+ requiring deployments
107
+ - **No configuration complexity** - Pre-configured rulesets based on security
108
+ best practices
109
+ - **Compliance support** - Automatic OFAC sanctions compliance
110
+ - **24/7 protection** - Always-on security monitoring and threat mitigation
111
+
112
+ ## Complementary Zuplo Policies
113
+
114
+ In addition to Zuplo Managed WAF, you can implement many security features
115
+ directly using Zuplo's built-in policies:
116
+
117
+ - **IP Restriction** - Block or allow specific IP addresses with the
118
+ [IP Restriction policy](../policies/ip-restriction-inbound)
119
+ - **Geolocation Controls** - Route or block requests based on geographic
120
+ location using [custom policies](../guides/geolocation-backend-routing)
121
+ - **Rate Limiting** - Implement granular rate limits with
122
+ [rate limiting policies](../policies/rate-limit-inbound)
123
+ - **Custom Security Rules** - Create any custom security logic with
124
+ [custom code policies](../policies/custom-code-inbound)
125
+
126
+ These policies can be used alongside Zuplo Managed WAF for defense-in-depth
127
+ security or independently for specific security requirements.
128
+
129
+ ## Managed Dedicated WAF Options
130
+
131
+ For customers using Zuplo's managed dedicated deployment model, WAF and DDoS
132
+ protection options depend on your chosen cloud provider. Unlike the standardized
133
+ Zuplo Managed WAF available for edge deployments, managed dedicated customers
134
+ can leverage the full range of security services offered by their cloud
135
+ platform.
136
+
137
+ For managed dedicated deployments, our team will:
138
+
139
+ 1. Assess your security requirements during the deployment planning phase
140
+ 2. Configure the appropriate WAF and DDoS services based on your cloud provider
141
+ 3. Implement custom rules and policies specific to your use case
142
+ 4. Provide ongoing support for security configuration updates
143
+
144
+ Contact our [sales team](mailto:sales@zuplo.com) to discuss security options for
145
+ your managed dedicated deployment.
146
+
147
+ ## Next Steps
148
+
149
+ If you're interested in Zuplo's Managed WAF services for edge deployments or
150
+ need custom security configurations for managed dedicated deployments, contact
151
+ our [sales team](mailto:sales@zuplo.com) to discuss your requirements.
152
+
153
+ For customers requiring full control over WAF configurations, see our guides for
154
+ integrating with [Cloudflare WAF](./waf-ddos.mdx#cloudflare-waf--ddos),
155
+ [Fastly Next-Gen WAF](./waf-ddos-fastly.mdx), or
156
+ [AWS WAF + Shield](./waf-ddos-aws-waf-shield.mdx).
package/docs/ask.mdx ADDED
@@ -0,0 +1,3 @@
1
+ # Ask AI Chatbot
2
+
3
+ <EmbeddedChat />
@@ -0,0 +1,56 @@
1
+ ---
2
+ title: Authentication
3
+ ---
4
+
5
+ There are two ways to authenticate with the Zuplo Command Line Interface (CLI):
6
+ using an API Key or via OAuth.
7
+
8
+ ## Using OAuth
9
+
10
+ The Zuplo CLI supports OAuth authentication. To authenticate using OAuth, run
11
+ the following command:
12
+
13
+ ```bash
14
+ zuplo login
15
+ ```
16
+
17
+ Your browser will open and prompt you to log in to your Zuplo account. After
18
+ logging in, you will be redirected to a page that confirms your authentication.
19
+ You can then return to your terminal, which will now be authenticated.
20
+
21
+ ## Using an API key
22
+
23
+ API key authentication is useful for CI/CD pipelines or other automated
24
+ workflows where interactive login isn't feasible. See the following instructions
25
+ to obtain and use an API key with the Zuplo CLI.
26
+
27
+ :::tip
28
+
29
+ The API key is scoped to your account. So you can use the same one for all
30
+ projects under the same account. If you are a member of multiple accounts, be
31
+ sure to select the right one.
32
+
33
+ :::
34
+
35
+ The Zuplo CLI uses API Keys to authenticate. You can find your API Key by
36
+ following these steps:
37
+
38
+ 1. Navigate to [portal.zuplo.com](https://portal.zuplo.com) and log in.
39
+ 2. Select the account that you want to work on.
40
+ 3. Click the **Settings** tab and navigate to the "API Keys" section. Select an
41
+ existing API Key or create a new one to use with the CLI.
42
+
43
+ Most commands take an `--api-key` argument. For example, to list your available
44
+ Zuplo API Gateways, run:
45
+
46
+ ```bash
47
+ zuplo list --api-key zpka_d67b7e241bb948758f415b79aa8exxxx_2efbxxxx
48
+ ```
49
+
50
+ If you don't want to pass your API Key to every command, you can set it as an
51
+ environment variable:
52
+
53
+ ```bash
54
+ export ZUPLO_API_KEY=zpka_d67b7e241bb948758f415b79aa8exxxx_2efbxxxx
55
+ zuplo list
56
+ ```
@@ -0,0 +1,38 @@
1
+ ---
2
+ title: Zuplo CLI Network Connectivity
3
+ sidebar_label: Network Connectivity
4
+ ---
5
+
6
+ The Zuplo CLI is used for local development as well as performing various
7
+ lifecycle operations with your Zuplo Project. This document describes the
8
+ various domain names that the CLI uses.
9
+
10
+ In order to use local development and manage your Zuplo project, you must ensure
11
+ that your network allows access to the following domains:
12
+
13
+ - `dev.zuplo.com` - This is Zuplo's public API. It's used for various
14
+ operations, such as creating a new project, deploying a project, etc.
15
+ - `storage.zuploedge.com` - This domain is used when uploading your project
16
+ assets when deploying your project.
17
+
18
+ In addition to the above, the following domains are used for local development:
19
+
20
+ - `*.zuploedge.com` - There are multiple services running on this domain that
21
+ are used by local development. In order to use features like API Key
22
+ management, rate limiting, etc. this domain must be accessible. If you must
23
+ allow specific domains, you can use the following list. Do note, the list
24
+ isn't exhaustive and may change over time:
25
+ - `api.zuploedge.com`
26
+ - `rate-limiter.zuploedge.com`
27
+ - `redis-proxy.zuploedge.com`
28
+ - `ellie.zuploedge.com`
29
+ - `metrics.zuploedge.com`
30
+ - `apikey.zuploedge.com`
31
+
32
+ ## Analytics
33
+
34
+ To help improve the CLI, Zuplo collects usage and error analytics from the CLI.
35
+
36
+ If you don't wish to send analytics to Zuplo, you can set the
37
+ `ZUPLO_DO_NOT_TRACK` environment variable on your machine before invoking the
38
+ Zuplo CLI.
@@ -0,0 +1,80 @@
1
+ ---
2
+ title: Create Zuplo API
3
+ ---
4
+
5
+ The `create-zuplo-api` CLI makes it easy to create a new Zuplo API using the
6
+ default template or an
7
+ [example](https://github.com/zuplo/zuplo/tree/main/examples) from a public
8
+ GitHub repository. It's the fastest way to get started with Zuplo.
9
+
10
+ ```bash
11
+ npx create-zuplo-api@latest
12
+ ```
13
+
14
+ ## Options
15
+
16
+ `create-zuplo-api` comes with the following options:
17
+
18
+ - `-v, --version` - Output the current version of create-zuplo-api
19
+ - `--eslint` - Initialize with ESLint configuration
20
+ - `--prettier` - Initialize with Prettier configuration
21
+ - `--empty` - Initialize an empty project
22
+ - `--use-npm` - Explicitly tell the CLI to bootstrap the application using npm
23
+ - `--use-pnpm` - Explicitly tell the CLI to bootstrap the application using pnpm
24
+ - `--use-yarn` - Explicitly tell the CLI to bootstrap the application using Yarn
25
+ - `--use-bun` - Explicitly tell the CLI to bootstrap the application using Bun
26
+ - `--reset, --reset-preferences` - Reset the preferences saved for
27
+ create-zuplo-api
28
+ - `--git` - Whether or not to initialize the project as a git repository
29
+ - `--version-check` - Whether or not to check for an outdated version
30
+ - `--install` - Whether or not to install packages
31
+ - `--yes` - Use saved preferences or defaults for unprovided options
32
+ - `-e, --example <example-name|github-url>` - An example to bootstrap the API
33
+ with. You can use an example name from the official Zuplo repository or a
34
+ public GitHub URL. The URL can use any branch and/or subdirectory
35
+ - `--example-path <path-to-example>` - In a rare case, your GitHub URL might
36
+ contain a branch name with a slash (for example, bug/fix-1) and the path to
37
+ the example (for example, foo/bar). In this case, you must specify the path to
38
+ the example separately: `--example-path foo/bar`
39
+ - `-h, --help` - Display the help message
40
+
41
+ ### Examples
42
+
43
+ The following examples show different ways to use `create-zuplo-api`:
44
+
45
+ #### With Default Template
46
+
47
+ ```bash
48
+ npx create-zuplo-api@latest my-api
49
+ cd my-api
50
+ npm run dev
51
+ ```
52
+
53
+ You will then be asked the following prompts:
54
+
55
+ ```bash
56
+ What's your project named? my-api
57
+ Would you like to use ESLint? No / Yes
58
+ Would you like to use Prettier? No / Yes
59
+ ```
60
+
61
+ #### With an Official Example from GitHub
62
+
63
+ To create a new Zuplo API using an official example from the Zuplo GitHub
64
+ repository, you specify the example name using the `--example` option.
65
+
66
+ ```bash
67
+ npx create-zuplo-api@latest my-api --example my-example
68
+ ```
69
+
70
+ You can find the list of available examples in the
71
+ [Zuplo examples repository](https://github.com/zuplo/zuplo/tree/main/examples).
72
+
73
+ #### With any Public GitHub Repository
74
+
75
+ To create a new Zuplo API using any public GitHub repository, you can specify
76
+ the repository URL using the `--example` option.
77
+
78
+ ```bash
79
+ npx create-zuplo-api@latest my-api --example https://github.com/username/repo
80
+ ```
@@ -0,0 +1,79 @@
1
+ ---
2
+ title: "Zuplo CLI: Delete"
3
+ sidebar_label: delete
4
+ ---
5
+
6
+ <CliCommand
7
+ command="delete"
8
+ description="Deletes the Zuplo API by URL"
9
+ options={[
10
+ {
11
+ "name": "url",
12
+ "type": "string",
13
+ "description": "The URL of the Zuplo API to delete",
14
+ "required": false,
15
+ "deprecated": false,
16
+ "hidden": false
17
+ },
18
+ {
19
+ "name": "branch",
20
+ "type": "string",
21
+ "description": "The branch name to delete deployments for",
22
+ "required": false,
23
+ "deprecated": false,
24
+ "hidden": true
25
+ },
26
+ {
27
+ "name": "project",
28
+ "type": "string",
29
+ "description": "The project name",
30
+ "required": false,
31
+ "deprecated": false,
32
+ "hidden": false
33
+ },
34
+ {
35
+ "name": "account",
36
+ "type": "string",
37
+ "description": "The account name",
38
+ "required": false,
39
+ "deprecated": false,
40
+ "hidden": false
41
+ },
42
+ {
43
+ "name": "self-hosted-endpoint",
44
+ "type": "string",
45
+ "description": "The endpoint of your self-hosted service to deploy to",
46
+ "required": false,
47
+ "deprecated": false,
48
+ "hidden": false
49
+ },
50
+ {
51
+ "name": "wait",
52
+ "type": "boolean",
53
+ "description": "Should the CLI wait until the Zuplo API is deleted",
54
+ "required": false,
55
+ "deprecated": false,
56
+ "hidden": false
57
+ }
58
+ ]}
59
+ examples={[
60
+ [
61
+ "$0 delete --url https://my-api-dev-123abc.zuplo.app",
62
+ "Delete a deployed environment by its URL"
63
+ ],
64
+ [
65
+ "$0 delete --url https://my-api-dev-123abc.zuplo.app --wait",
66
+ "Delete an environment and wait until the deletion is complete"
67
+ ]
68
+ ]}
69
+ usage="$0 delete --url <url> [options]"
70
+ >
71
+
72
+ </CliCommand>
73
+
74
+ ## Global options
75
+
76
+ The following global options are available for all commands:
77
+
78
+ - [`--help`](./global-options.mdx#help)
79
+ - [`--api-key`](./global-options.mdx#api-key)
@@ -0,0 +1,156 @@
1
+ ---
2
+ title: "Zuplo CLI: Deploy"
3
+ sidebar_label: deploy
4
+ ---
5
+
6
+ <CliCommand
7
+ command="deploy"
8
+ description="Deploys current Git branch of the current directory"
9
+ options={[
10
+ {
11
+ "name": "project",
12
+ "type": "string",
13
+ "description": "The project name",
14
+ "required": false,
15
+ "deprecated": false,
16
+ "hidden": true
17
+ },
18
+ {
19
+ "name": "account",
20
+ "type": "string",
21
+ "description": "The account name",
22
+ "required": false,
23
+ "deprecated": false,
24
+ "hidden": false
25
+ },
26
+ {
27
+ "name": "dir",
28
+ "type": "string",
29
+ "description": "The directory containing your Zuplo API",
30
+ "default": ".",
31
+ "required": false,
32
+ "deprecated": false,
33
+ "hidden": true,
34
+ "normalize": true
35
+ },
36
+ {
37
+ "name": "environment",
38
+ "type": "string",
39
+ "description": "The value to use for environment name, instead of the current branch name",
40
+ "required": false,
41
+ "deprecated": false,
42
+ "hidden": false
43
+ },
44
+ {
45
+ "name": "self-hosted-endpoint",
46
+ "type": "string",
47
+ "description": "The endpoint of your self-hosted service to deploy to",
48
+ "required": false,
49
+ "deprecated": false,
50
+ "hidden": false
51
+ },
52
+ {
53
+ "name": "override-repo-url",
54
+ "type": "string",
55
+ "description": "Override the repo url reference",
56
+ "required": false,
57
+ "deprecated": false,
58
+ "hidden": true
59
+ },
60
+ {
61
+ "name": "mtls-certificates-dir",
62
+ "type": "string",
63
+ "description": "Directory containing mtls certificates to use for the deployment, in the hierarchy that you want them to appear in the runtime. Ex: <cert-name>/tls.crt and <cert-name>/tls.keyAll certificates must be in pem format. Only for use for self-hosted deployments.",
64
+ "required": false,
65
+ "deprecated": false,
66
+ "hidden": true
67
+ },
68
+ {
69
+ "name": "verify-remote",
70
+ "type": "boolean",
71
+ "description": "Verify that this Git repository matches the one configured on Zuplo. Use --no-verify-remote to disable.",
72
+ "default": false,
73
+ "required": false,
74
+ "deprecated": true,
75
+ "hidden": false
76
+ },
77
+ {
78
+ "name": "fetch-environments",
79
+ "type": "boolean",
80
+ "description": "Fetch the environments for your project from Zuplo. If this is false, then the environment will automatically be detected from the git branch.",
81
+ "default": false,
82
+ "required": false,
83
+ "deprecated": false,
84
+ "hidden": false
85
+ }
86
+ ]}
87
+ examples={[
88
+ [
89
+ "$0 deploy",
90
+ "Deploy the current Git branch using the branch name as the environment name"
91
+ ],
92
+ [
93
+ "$0 deploy --environment my-env",
94
+ "Override the environment name instead of using the Git branch name"
95
+ ],
96
+ [
97
+ "$0 deploy --account my-account --project my-project --environment my-env",
98
+ "Explicitly specify the account, project, and environment"
99
+ ]
100
+ ]}
101
+ usage="$0 deploy [options]"
102
+ >
103
+
104
+ ## Common use cases
105
+
106
+ The following examples assume that you are passing in your `--api-key` either as
107
+ an argument or through the `ZUPLO_API_KEY` environment variable.
108
+
109
+ ### Deploying your gateway
110
+
111
+ ```bash
112
+ # The following will use the current Git branch as the name of the environment
113
+
114
+ git checkout -b my-new-branch
115
+ zuplo deploy --project my-project
116
+ ```
117
+
118
+ ```bash
119
+ # If you don't wish to use the current Git branch as the name of the
120
+ # environment, you can specify one using --environment
121
+
122
+ zuplo deploy --project my-project --environment my-env-name
123
+ ```
124
+
125
+ ## Polling timeout
126
+
127
+ By default, the deploy command will poll the status of the deployment every
128
+ second for 150 seconds. For most deployments this is enough time for the build
129
+ and deploy process to complete. However, if you have a large project, this may
130
+ not be enough time. You can increase the timeout by setting the following
131
+ environment variables.
132
+
133
+ - `POLL_INTERVAL` - The interval in seconds between each poll. Default is 1
134
+ second.
135
+ - `MAX_POLL_RETRIES` - The maximum number of retries before the command times
136
+ out. Default is 150.
137
+
138
+ ```bash
139
+ POLL_INTERVAL=5000 MAX_POLL_RETRIES=300 zuplo deploy
140
+ ```
141
+
142
+ Note, that even if the CLI times out, the deployment will continue. You can
143
+ check the status of the deployment in the Zuplo portal.
144
+
145
+ </CliCommand>
146
+
147
+ ## Global options
148
+
149
+ The following global options are available for all commands:
150
+
151
+ - [`--help`](./global-options.mdx#help)
152
+ - [`--api-key`](./global-options.mdx#api-key)
153
+
154
+ ## Additional resources
155
+
156
+ - [Custom CI/CD](../articles/custom-ci-cd.mdx)
@@ -0,0 +1,46 @@
1
+ ---
2
+ additional-resources:
3
+ - name: Custom CI/CD
4
+ href: ../articles/custom-ci-cd.mdx
5
+ ---
6
+
7
+ ## Common use cases
8
+
9
+ The following examples assume that you are passing in your `--api-key` either as
10
+ an argument or through the `ZUPLO_API_KEY` environment variable.
11
+
12
+ ### Deploying your gateway
13
+
14
+ ```bash
15
+ # The following will use the current Git branch as the name of the environment
16
+
17
+ git checkout -b my-new-branch
18
+ zuplo deploy --project my-project
19
+ ```
20
+
21
+ ```bash
22
+ # If you don't wish to use the current Git branch as the name of the
23
+ # environment, you can specify one using --environment
24
+
25
+ zuplo deploy --project my-project --environment my-env-name
26
+ ```
27
+
28
+ ## Polling timeout
29
+
30
+ By default, the deploy command will poll the status of the deployment every
31
+ second for 150 seconds. For most deployments this is enough time for the build
32
+ and deploy process to complete. However, if you have a large project, this may
33
+ not be enough time. You can increase the timeout by setting the following
34
+ environment variables.
35
+
36
+ - `POLL_INTERVAL` - The interval in seconds between each poll. Default is 1
37
+ second.
38
+ - `MAX_POLL_RETRIES` - The maximum number of retries before the command times
39
+ out. Default is 150.
40
+
41
+ ```bash
42
+ POLL_INTERVAL=5000 MAX_POLL_RETRIES=300 zuplo deploy
43
+ ```
44
+
45
+ Note, that even if the CLI times out, the deployment will continue. You can
46
+ check the status of the deployment in the Zuplo portal.