zuplo 7.12.5 → 7.12.7

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 (579) hide show
  1. package/docs/ai-gateway/apps.mdx +3 -0
  2. package/docs/ai-gateway/azure-ai.mdx +3 -0
  3. package/docs/ai-gateway/bedrock-mantle.mdx +3 -0
  4. package/docs/ai-gateway/bedrock-runtime.mdx +3 -0
  5. package/docs/ai-gateway/budget-alerts.mdx +3 -0
  6. package/docs/ai-gateway/cookbooks/custom-fallback.mdx +3 -0
  7. package/docs/ai-gateway/cookbooks/dynamic-model-routing.mdx +3 -0
  8. package/docs/ai-gateway/cookbooks/sdk-path-shim.mdx +3 -0
  9. package/docs/ai-gateway/custom-policies.mdx +3 -0
  10. package/docs/ai-gateway/custom-pricing.mdx +3 -0
  11. package/docs/ai-gateway/custom-providers.mdx +3 -0
  12. package/docs/ai-gateway/fallback.mdx +3 -0
  13. package/docs/ai-gateway/integrations/ai-sdk.mdx +3 -0
  14. package/docs/ai-gateway/integrations/claude-code.mdx +3 -0
  15. package/docs/ai-gateway/integrations/claude-desktop.mdx +3 -0
  16. package/docs/ai-gateway/integrations/codex.mdx +3 -0
  17. package/docs/ai-gateway/integrations/github-copilot.mdx +3 -0
  18. package/docs/ai-gateway/integrations/goose.mdx +3 -0
  19. package/docs/ai-gateway/integrations/langchain.mdx +3 -0
  20. package/docs/ai-gateway/integrations/openai.mdx +3 -0
  21. package/docs/ai-gateway/jev.mdx +3 -0
  22. package/docs/ai-gateway/managing-apps.mdx +3 -0
  23. package/docs/ai-gateway/managing-pools.mdx +3 -0
  24. package/docs/ai-gateway/managing-providers.mdx +3 -0
  25. package/docs/ai-gateway/openrouter.mdx +3 -0
  26. package/docs/ai-gateway/overview.mdx +3 -0
  27. package/docs/ai-gateway/policies/overview.mdx +3 -0
  28. package/docs/ai-gateway/policy-chains.mdx +3 -0
  29. package/docs/ai-gateway/policy-templates.mdx +3 -0
  30. package/docs/ai-gateway/pools.mdx +3 -0
  31. package/docs/ai-gateway/providers.mdx +3 -0
  32. package/docs/ai-gateway/source-control.mdx +3 -0
  33. package/docs/ai-gateway/universal-api.mdx +3 -0
  34. package/docs/ai-gateway/usage-limits.mdx +3 -0
  35. package/docs/ai-gateway/user-apps.mdx +3 -0
  36. package/docs/ai-gateway/vertex-ai.mdx +3 -0
  37. package/docs/analytics/access-and-entitlements.md +3 -0
  38. package/docs/analytics/overview.md +9 -0
  39. package/docs/analytics/reference/metrics-glossary.md +3 -0
  40. package/docs/analytics/reference/url-parameters.md +3 -0
  41. package/docs/analytics/shared-controls.md +3 -0
  42. package/docs/analytics/tabs/agents.md +3 -0
  43. package/docs/analytics/tabs/consumers.md +3 -0
  44. package/docs/analytics/tabs/graphql.md +3 -0
  45. package/docs/analytics/tabs/mcp.md +3 -0
  46. package/docs/analytics/tabs/origins.md +3 -0
  47. package/docs/analytics/tabs/requests.md +12 -0
  48. package/docs/api-management/overview.md +12 -0
  49. package/docs/articles/accounts/audit-logs.mdx +3 -0
  50. package/docs/articles/accounts/billing.mdx +3 -0
  51. package/docs/articles/accounts/default-api-key.mdx +3 -0
  52. package/docs/articles/accounts/delete-account.mdx +3 -0
  53. package/docs/articles/accounts/enterprise-sso.mdx +3 -0
  54. package/docs/articles/accounts/managing-account-members.mdx +3 -0
  55. package/docs/articles/accounts/managing-project-members.mdx +3 -0
  56. package/docs/articles/accounts/members-and-roles.mdx +3 -0
  57. package/docs/articles/accounts/renew-sso-credentials.mdx +3 -0
  58. package/docs/articles/accounts/roles-and-permissions.mdx +3 -0
  59. package/docs/articles/accounts/switching-between-accounts.mdx +3 -0
  60. package/docs/articles/accounts/zuplo-api-keys.mdx +3 -0
  61. package/docs/articles/add-api-to-backstage.mdx +3 -0
  62. package/docs/articles/advanced-path-matching.mdx +3 -0
  63. package/docs/articles/api-key-administration.mdx +3 -0
  64. package/docs/articles/api-key-api.mdx +3 -0
  65. package/docs/articles/api-key-authentication.mdx +3 -0
  66. package/docs/articles/api-key-best-practices.mdx +10 -0
  67. package/docs/articles/api-key-buckets.mdx +3 -0
  68. package/docs/articles/api-key-consumer-bucket-portal-ui.mdx +3 -0
  69. package/docs/articles/api-key-end-users.mdx +3 -0
  70. package/docs/articles/api-key-leak-detection.mdx +3 -0
  71. package/docs/articles/api-key-management.mdx +10 -0
  72. package/docs/articles/api-key-metadata.mdx +3 -0
  73. package/docs/articles/api-key-react-component.mdx +3 -0
  74. package/docs/articles/api-key-self-serve-integration.mdx +3 -0
  75. package/docs/articles/api-key-service-limits.mdx +3 -0
  76. package/docs/articles/archiving-requests-to-storage.mdx +11 -0
  77. package/docs/articles/audit-logging.mdx +3 -0
  78. package/docs/articles/audit-logs.mdx +3 -0
  79. package/docs/articles/branch-based-deployments.mdx +13 -0
  80. package/docs/articles/bypass-policy-for-testing.mdx +3 -0
  81. package/docs/articles/certificate-pinning.mdx +12 -0
  82. package/docs/articles/check-ip-address.mdx +17 -9
  83. package/docs/articles/ci-cd-azure/basic-deployment.mdx +8 -0
  84. package/docs/articles/ci-cd-azure/deploy-and-test.mdx +8 -0
  85. package/docs/articles/ci-cd-azure/local-testing.mdx +8 -0
  86. package/docs/articles/ci-cd-azure/multi-stage-deployment.mdx +8 -0
  87. package/docs/articles/ci-cd-azure/pr-preview-environments.mdx +8 -0
  88. package/docs/articles/ci-cd-azure/tag-based-releases.mdx +8 -0
  89. package/docs/articles/ci-cd-bitbucket/basic-deployment.mdx +8 -0
  90. package/docs/articles/ci-cd-bitbucket/deploy-and-test.mdx +8 -0
  91. package/docs/articles/ci-cd-bitbucket/local-testing.mdx +8 -0
  92. package/docs/articles/ci-cd-bitbucket/multi-stage-deployment.mdx +8 -0
  93. package/docs/articles/ci-cd-bitbucket/pr-preview-environments.mdx +8 -0
  94. package/docs/articles/ci-cd-bitbucket/tag-based-releases.mdx +8 -0
  95. package/docs/articles/ci-cd-circleci/basic-deployment.mdx +8 -0
  96. package/docs/articles/ci-cd-circleci/deploy-and-test.mdx +8 -0
  97. package/docs/articles/ci-cd-circleci/local-testing.mdx +8 -0
  98. package/docs/articles/ci-cd-circleci/multi-stage-deployment.mdx +8 -0
  99. package/docs/articles/ci-cd-circleci/pr-preview-environments.mdx +8 -0
  100. package/docs/articles/ci-cd-circleci/tag-based-releases.mdx +8 -0
  101. package/docs/articles/ci-cd-github/basic-deployment.mdx +8 -0
  102. package/docs/articles/ci-cd-github/cleanup-on-branch-delete.mdx +8 -0
  103. package/docs/articles/ci-cd-github/deploy-and-test.mdx +8 -0
  104. package/docs/articles/ci-cd-github/local-testing.mdx +8 -0
  105. package/docs/articles/ci-cd-github/multi-stage-deployment.mdx +8 -0
  106. package/docs/articles/ci-cd-github/pr-preview-environments.mdx +8 -0
  107. package/docs/articles/ci-cd-github/tag-based-releases.mdx +8 -0
  108. package/docs/articles/ci-cd-gitlab/basic-deployment.mdx +8 -0
  109. package/docs/articles/ci-cd-gitlab/deploy-and-test.mdx +8 -0
  110. package/docs/articles/ci-cd-gitlab/local-testing.mdx +8 -0
  111. package/docs/articles/ci-cd-gitlab/mr-preview-environments.mdx +8 -0
  112. package/docs/articles/ci-cd-gitlab/multi-stage-deployment.mdx +8 -0
  113. package/docs/articles/ci-cd-gitlab/tag-based-releases.mdx +8 -0
  114. package/docs/articles/composite-policy-reference.mdx +3 -0
  115. package/docs/articles/configuring-auth0-for-mcp-auth.mdx +3 -0
  116. package/docs/articles/configuring-okta-for-mcp-auth.mdx +3 -0
  117. package/docs/articles/connect-to-aws-alb-with-mtls.mdx +10 -0
  118. package/docs/articles/convert-urls-to-openapi.mdx +3 -0
  119. package/docs/articles/cors.mdx +3 -0
  120. package/docs/articles/custom-audit-logs.mdx +3 -0
  121. package/docs/articles/custom-ci-cd-azure.mdx +8 -0
  122. package/docs/articles/custom-ci-cd-bitbucket.mdx +8 -0
  123. package/docs/articles/custom-ci-cd-circleci.mdx +8 -0
  124. package/docs/articles/custom-ci-cd-github.mdx +8 -0
  125. package/docs/articles/custom-ci-cd-gitlab.mdx +8 -0
  126. package/docs/articles/custom-ci-cd.mdx +8 -0
  127. package/docs/articles/custom-code-patterns.md +3 -0
  128. package/docs/articles/custom-domains.mdx +10 -0
  129. package/docs/articles/custom-logging-example.mdx +3 -0
  130. package/docs/articles/ddos-protection.mdx +3 -0
  131. package/docs/articles/development-options.mdx +7 -0
  132. package/docs/articles/environment-variables.mdx +8 -0
  133. package/docs/articles/environments.mdx +18 -8
  134. package/docs/articles/fastly-zuplo-host-setup.mdx +3 -0
  135. package/docs/articles/feature-flags.mdx +3 -0
  136. package/docs/articles/github-deployment-testing.mdx +3 -0
  137. package/docs/articles/gke-with-upstream-auth-policy.mdx +3 -0
  138. package/docs/articles/graphql-caching.mdx +3 -0
  139. package/docs/articles/graphql-security.mdx +3 -0
  140. package/docs/articles/graphql-support.mdx +3 -0
  141. package/docs/articles/graphql.mdx +3 -0
  142. package/docs/articles/handling-form-data.mdx +3 -0
  143. package/docs/articles/health-checks.mdx +3 -0
  144. package/docs/articles/hosting-options.mdx +3 -0
  145. package/docs/articles/lazy-load-configuration-into-cache.mdx +3 -0
  146. package/docs/articles/limits.mdx +7 -0
  147. package/docs/articles/local-development-debugging.mdx +3 -0
  148. package/docs/articles/local-development-env-variables.mdx +3 -0
  149. package/docs/articles/local-development-installing-packages.mdx +3 -0
  150. package/docs/articles/local-development-routes-designer.mdx +3 -0
  151. package/docs/articles/local-development-services.mdx +3 -0
  152. package/docs/articles/local-development-troubleshooting.mdx +7 -0
  153. package/docs/articles/local-development.mdx +3 -0
  154. package/docs/articles/log-plugin-aws-cloudwatch.mdx +14 -0
  155. package/docs/articles/log-plugin-datadog.mdx +3 -0
  156. package/docs/articles/log-plugin-dynatrace.mdx +14 -0
  157. package/docs/articles/log-plugin-gcp.mdx +14 -0
  158. package/docs/articles/log-plugin-loki.mdx +14 -0
  159. package/docs/articles/log-plugin-new-relic.mdx +3 -0
  160. package/docs/articles/log-plugin-splunk.mdx +3 -0
  161. package/docs/articles/log-plugin-sumo.mdx +14 -0
  162. package/docs/articles/log-plugin-vmware-log-insight.mdx +3 -0
  163. package/docs/articles/log-request-response-data.mdx +3 -0
  164. package/docs/articles/logging.mdx +14 -0
  165. package/docs/articles/manual-mcp-oauth-testing.mdx +3 -0
  166. package/docs/articles/metrics-plugins.mdx +10 -0
  167. package/docs/articles/migrate-from-apigee.md +10 -0
  168. package/docs/articles/migrate-from-aws-api-gateway.md +3 -0
  169. package/docs/articles/migrate-from-azure-apim.md +10 -0
  170. package/docs/articles/migrate-from-kong.md +10 -0
  171. package/docs/articles/migration-overview.md +10 -0
  172. package/docs/articles/monetization/api-access.mdx +3 -0
  173. package/docs/articles/monetization/billing-models.md +3 -0
  174. package/docs/articles/monetization/developer-portal.md +8 -0
  175. package/docs/articles/monetization/dynamic-metering.md +3 -0
  176. package/docs/articles/monetization/features.mdx +3 -0
  177. package/docs/articles/monetization/going-to-production.mdx +3 -0
  178. package/docs/articles/monetization/index.mdx +3 -0
  179. package/docs/articles/monetization/meters.mdx +3 -0
  180. package/docs/articles/monetization/monetization-policy.md +3 -0
  181. package/docs/articles/monetization/plan-examples.mdx +3 -0
  182. package/docs/articles/monetization/plans.mdx +3 -0
  183. package/docs/articles/monetization/pricing-models.mdx +3 -0
  184. package/docs/articles/monetization/private-plans.md +3 -0
  185. package/docs/articles/monetization/programmatic-monetization.md +3 -0
  186. package/docs/articles/monetization/quickstart.md +8 -0
  187. package/docs/articles/monetization/rate-cards.mdx +3 -0
  188. package/docs/articles/monetization/stripe-integration.md +3 -0
  189. package/docs/articles/monetization/subscription-data.md +3 -0
  190. package/docs/articles/monetization/subscription-lifecycle.md +3 -0
  191. package/docs/articles/monetization/tax-collection.md +3 -0
  192. package/docs/articles/monetization/troubleshooting.md +3 -0
  193. package/docs/articles/monetization-custom.mdx +3 -0
  194. package/docs/articles/monetization-integrations.mdx +3 -0
  195. package/docs/articles/monitoring-your-gateway.mdx +3 -0
  196. package/docs/articles/monorepo-deployment.mdx +3 -0
  197. package/docs/articles/multiple-auth-policies.mdx +3 -0
  198. package/docs/articles/non-standard-ports.mdx +3 -0
  199. package/docs/articles/oauth-authentication.mdx +3 -0
  200. package/docs/articles/openapi-server-urls.mdx +12 -0
  201. package/docs/articles/openapi-string-format-validation-warnings.mdx +3 -0
  202. package/docs/articles/openapi.mdx +3 -0
  203. package/docs/articles/opentelemetry.mdx +3 -0
  204. package/docs/articles/performance-testing.mdx +9 -0
  205. package/docs/articles/plugin-akamai-api-security.mdx +3 -0
  206. package/docs/articles/plugin-azure-blob.mdx +3 -0
  207. package/docs/articles/plugin-azure-event-hubs.mdx +3 -0
  208. package/docs/articles/plugin-hydrolix-traffic-peak.mdx +12 -0
  209. package/docs/articles/policies.mdx +3 -0
  210. package/docs/articles/rename-or-move-project.mdx +3 -0
  211. package/docs/articles/rick-and-morty-api-developer-portal-example.mdx +3 -0
  212. package/docs/articles/routing.mdx +3 -0
  213. package/docs/articles/s3-signed-url-uploads.mdx +8 -0
  214. package/docs/articles/secure-tunnel.mdx +16 -5
  215. package/docs/articles/securing-backend-mtls.mdx +9 -0
  216. package/docs/articles/securing-the-gateway-with-client-mtls.mdx +3 -0
  217. package/docs/articles/securing-your-backend.mdx +7 -0
  218. package/docs/articles/security.mdx +11 -0
  219. package/docs/articles/sharing-code-across-projects.mdx +3 -0
  220. package/docs/articles/source-control-setup-azure.mdx +3 -0
  221. package/docs/articles/source-control-setup-bitbucket.mdx +3 -0
  222. package/docs/articles/source-control-setup-github.mdx +3 -0
  223. package/docs/articles/source-control-setup-gitlab.mdx +3 -0
  224. package/docs/articles/source-control.mdx +12 -0
  225. package/docs/articles/streaming-responses-sse.mdx +3 -0
  226. package/docs/articles/support.mdx +3 -0
  227. package/docs/articles/terraform.mdx +3 -0
  228. package/docs/articles/testing-getting-started.mdx +3 -0
  229. package/docs/articles/testing-graphql.mdx +3 -0
  230. package/docs/articles/testing-preview-environments.mdx +3 -0
  231. package/docs/articles/testing-recipes.mdx +3 -0
  232. package/docs/articles/testing.mdx +3 -0
  233. package/docs/articles/troubleshooting-deployments-and-git-sync.mdx +3 -0
  234. package/docs/articles/troubleshooting-slow-responses.mdx +10 -0
  235. package/docs/articles/troubleshooting.md +14 -0
  236. package/docs/articles/tsconfig.mdx +3 -0
  237. package/docs/articles/tunnel-advanced.mdx +48 -104
  238. package/docs/articles/tunnel-services.mdx +14 -2
  239. package/docs/articles/tunnel-setup.mdx +12 -0
  240. package/docs/articles/tunnel-troubleshooting.mdx +12 -0
  241. package/docs/articles/update-zup-in-github-action.mdx +3 -0
  242. package/docs/articles/upstream-iam-auth.mdx +3 -0
  243. package/docs/articles/use-openapi-extension-data.mdx +3 -0
  244. package/docs/articles/users/multifactor-authentication.mdx +3 -0
  245. package/docs/articles/users/profile.mdx +3 -0
  246. package/docs/articles/version-support-policy.mdx +3 -0
  247. package/docs/articles/versioning-on-zuplo.mdx +3 -0
  248. package/docs/articles/waf-ddos-akamai.md +3 -0
  249. package/docs/articles/waf-ddos-aws-waf-shield.mdx +3 -0
  250. package/docs/articles/waf-ddos-fastly.mdx +3 -0
  251. package/docs/articles/waf-ddos.mdx +8 -0
  252. package/docs/articles/when-to-use-api-keys.md +3 -0
  253. package/docs/articles/workload-identity-inbound.mdx +3 -0
  254. package/docs/build-with-ai.mdx +3 -0
  255. package/docs/caching/cdn-caching.mdx +3 -0
  256. package/docs/caching/custom-caching-policy.mdx +3 -0
  257. package/docs/caching/dynamic-cache-rules.mdx +3 -0
  258. package/docs/caching/gateway-caching.mdx +3 -0
  259. package/docs/caching/overview.mdx +3 -0
  260. package/docs/caching/partial-response-caching.mdx +3 -0
  261. package/docs/cli/authentication.mdx +3 -0
  262. package/docs/cli/bucket-list.mdx +3 -0
  263. package/docs/cli/ca-certificate-create.mdx +3 -0
  264. package/docs/cli/ca-certificate-delete.mdx +3 -0
  265. package/docs/cli/ca-certificate-describe.mdx +3 -0
  266. package/docs/cli/ca-certificate-list.mdx +3 -0
  267. package/docs/cli/ca-certificate-update.mdx +3 -0
  268. package/docs/cli/connectivity.mdx +3 -0
  269. package/docs/cli/create-zuplo-api.mdx +3 -0
  270. package/docs/cli/custom-domain-create.mdx +6 -0
  271. package/docs/cli/custom-domain-delete.mdx +6 -0
  272. package/docs/cli/custom-domain-list.mdx +6 -0
  273. package/docs/cli/custom-domain-update.mdx +6 -0
  274. package/docs/cli/delete.mdx +5 -0
  275. package/docs/cli/deploy.mdx +5 -0
  276. package/docs/cli/dev.mdx +5 -0
  277. package/docs/cli/docs.mdx +3 -0
  278. package/docs/cli/editor.mdx +3 -0
  279. package/docs/cli/global-options.mdx +3 -0
  280. package/docs/cli/info.mdx +3 -0
  281. package/docs/cli/init.mdx +3 -0
  282. package/docs/cli/link.mdx +3 -0
  283. package/docs/cli/lint.mdx +3 -0
  284. package/docs/cli/list.mdx +5 -0
  285. package/docs/cli/logout.mdx +3 -0
  286. package/docs/cli/mtls-certificate-create.mdx +3 -0
  287. package/docs/cli/mtls-certificate-delete.mdx +3 -0
  288. package/docs/cli/mtls-certificate-describe.mdx +3 -0
  289. package/docs/cli/mtls-certificate-disable.mdx +3 -0
  290. package/docs/cli/mtls-certificate-list.mdx +3 -0
  291. package/docs/cli/mtls-certificate-update.mdx +3 -0
  292. package/docs/cli/openapi-convert.mdx +3 -0
  293. package/docs/cli/openapi-merge.mdx +3 -0
  294. package/docs/cli/openapi-overlay.mdx +3 -0
  295. package/docs/cli/overview.mdx +18 -15
  296. package/docs/cli/project-create.mdx +3 -0
  297. package/docs/cli/project-info.mdx +3 -0
  298. package/docs/cli/project-list.mdx +3 -0
  299. package/docs/cli/source-migrate.mdx +3 -0
  300. package/docs/cli/source-upgrade.mdx +3 -0
  301. package/docs/cli/test.mdx +3 -0
  302. package/docs/cli/tunnel-create.mdx +3 -0
  303. package/docs/cli/tunnel-delete.mdx +3 -0
  304. package/docs/cli/tunnel-describe.mdx +3 -0
  305. package/docs/cli/tunnel-list.mdx +3 -0
  306. package/docs/cli/tunnel-rotate-token.mdx +3 -0
  307. package/docs/cli/tunnel-services-describe.mdx +3 -0
  308. package/docs/cli/tunnel-services-update.mdx +3 -0
  309. package/docs/cli/variable-create.mdx +3 -0
  310. package/docs/cli/variable-update.mdx +3 -0
  311. package/docs/cli/whoami.mdx +3 -0
  312. package/docs/concepts/ai-gateway.mdx +3 -0
  313. package/docs/concepts/api-errors.md +3 -0
  314. package/docs/concepts/api-keys.md +12 -0
  315. package/docs/concepts/authentication.mdx +3 -0
  316. package/docs/concepts/how-zuplo-works.mdx +3 -0
  317. package/docs/concepts/mcp.mdx +3 -0
  318. package/docs/concepts/project-structure.mdx +3 -0
  319. package/docs/concepts/request-lifecycle.mdx +3 -0
  320. package/docs/concepts/source-control-and-deployment.mdx +14 -0
  321. package/docs/concepts/upstream-credentials.mdx +3 -0
  322. package/docs/concepts/where-zuplo-runs.mdx +124 -0
  323. package/docs/dedicated/akamai/ai-powered-applications.mdx +3 -0
  324. package/docs/dedicated/akamai/architecture.mdx +4 -1
  325. package/docs/dedicated/akamai/caching.mdx +3 -0
  326. package/docs/dedicated/akamai/cdn.mdx +3 -0
  327. package/docs/dedicated/architecture.mdx +3 -0
  328. package/docs/dedicated/aws/architecture.mdx +3 -0
  329. package/docs/dedicated/aws/private-networking.mdx +3 -0
  330. package/docs/dedicated/azure/architecture.mdx +3 -0
  331. package/docs/dedicated/azure/private-networking.mdx +3 -0
  332. package/docs/dedicated/configuration/host-header-override.mdx +3 -0
  333. package/docs/dedicated/configuration/overview.mdx +3 -0
  334. package/docs/dedicated/custom-domains.mdx +3 -0
  335. package/docs/dedicated/federated-gateways.mdx +4 -0
  336. package/docs/dedicated/gcp/architecture.mdx +3 -0
  337. package/docs/dedicated/gcp/private-networking.mdx +3 -0
  338. package/docs/dedicated/networking.mdx +3 -0
  339. package/docs/dedicated/overview.mdx +3 -0
  340. package/docs/dedicated/source-control.mdx +3 -0
  341. package/docs/dev-portal/auth-provider-api-identities.md +3 -0
  342. package/docs/dev-portal/branding.mdx +3 -0
  343. package/docs/dev-portal/dev-portal-create-consumer-on-auth.mdx +3 -0
  344. package/docs/dev-portal/documenting-mcp-servers.mdx +3 -0
  345. package/docs/dev-portal/migration.mdx +9 -0
  346. package/docs/dev-portal/node-modules.mdx +3 -0
  347. package/docs/dev-portal/overview.mdx +10 -0
  348. package/docs/dev-portal/server-side-rendering.mdx +4 -0
  349. package/docs/dev-portal/updating.mdx +3 -0
  350. package/docs/dev-portal/zudoku/components/alert.mdx +3 -0
  351. package/docs/dev-portal/zudoku/components/badge.mdx +3 -0
  352. package/docs/dev-portal/zudoku/components/browser-window.mdx +3 -0
  353. package/docs/dev-portal/zudoku/components/button.mdx +3 -0
  354. package/docs/dev-portal/zudoku/components/callout.mdx +3 -0
  355. package/docs/dev-portal/zudoku/components/card.mdx +3 -0
  356. package/docs/dev-portal/zudoku/components/checkbox.mdx +3 -0
  357. package/docs/dev-portal/zudoku/components/client-only.mdx +3 -0
  358. package/docs/dev-portal/zudoku/components/code-tabs.mdx +3 -0
  359. package/docs/dev-portal/zudoku/components/dialog.mdx +3 -0
  360. package/docs/dev-portal/zudoku/components/head.mdx +3 -0
  361. package/docs/dev-portal/zudoku/components/icons.mdx +3 -0
  362. package/docs/dev-portal/zudoku/components/input.mdx +3 -0
  363. package/docs/dev-portal/zudoku/components/label.mdx +3 -0
  364. package/docs/dev-portal/zudoku/components/landing-page.mdx +3 -0
  365. package/docs/dev-portal/zudoku/components/link.mdx +3 -0
  366. package/docs/dev-portal/zudoku/components/markdown.mdx +3 -0
  367. package/docs/dev-portal/zudoku/components/mermaid.mdx +3 -0
  368. package/docs/dev-portal/zudoku/components/playground.mdx +3 -0
  369. package/docs/dev-portal/zudoku/components/secret.mdx +3 -0
  370. package/docs/dev-portal/zudoku/components/select.mdx +3 -0
  371. package/docs/dev-portal/zudoku/components/shadcn.mdx +3 -0
  372. package/docs/dev-portal/zudoku/components/sidecar-box.mdx +3 -0
  373. package/docs/dev-portal/zudoku/components/slider.mdx +3 -0
  374. package/docs/dev-portal/zudoku/components/slot.mdx +3 -0
  375. package/docs/dev-portal/zudoku/components/stepper.mdx +3 -0
  376. package/docs/dev-portal/zudoku/components/switch.mdx +3 -0
  377. package/docs/dev-portal/zudoku/components/syntax-highlight.mdx +3 -0
  378. package/docs/dev-portal/zudoku/components/textarea.mdx +3 -0
  379. package/docs/dev-portal/zudoku/components/tooltip.mdx +3 -0
  380. package/docs/dev-portal/zudoku/components/typography.mdx +3 -0
  381. package/docs/dev-portal/zudoku/configuration/ai-assistants.md +3 -0
  382. package/docs/dev-portal/zudoku/configuration/api-catalog.md +3 -0
  383. package/docs/dev-portal/zudoku/configuration/api-reference.md +3 -0
  384. package/docs/dev-portal/zudoku/configuration/authentication-auth0.md +3 -0
  385. package/docs/dev-portal/zudoku/configuration/authentication-azure-ad.md +3 -0
  386. package/docs/dev-portal/zudoku/configuration/authentication-clerk.md +3 -0
  387. package/docs/dev-portal/zudoku/configuration/authentication-firebase.md +3 -0
  388. package/docs/dev-portal/zudoku/configuration/authentication-openid.md +3 -0
  389. package/docs/dev-portal/zudoku/configuration/authentication-pingfederate.md +3 -0
  390. package/docs/dev-portal/zudoku/configuration/authentication-supabase.md +3 -0
  391. package/docs/dev-portal/zudoku/configuration/authentication.md +3 -0
  392. package/docs/dev-portal/zudoku/configuration/build-configuration.mdx +3 -0
  393. package/docs/dev-portal/zudoku/configuration/docs.md +3 -0
  394. package/docs/dev-portal/zudoku/configuration/footer.mdx +3 -0
  395. package/docs/dev-portal/zudoku/configuration/llms.md +3 -0
  396. package/docs/dev-portal/zudoku/configuration/navigation.mdx +3 -0
  397. package/docs/dev-portal/zudoku/configuration/oauth-security-schemes.md +3 -0
  398. package/docs/dev-portal/zudoku/configuration/overview.md +3 -0
  399. package/docs/dev-portal/zudoku/configuration/protected-routes.md +3 -0
  400. package/docs/dev-portal/zudoku/configuration/search.md +3 -0
  401. package/docs/dev-portal/zudoku/configuration/sentry.mdx +3 -0
  402. package/docs/dev-portal/zudoku/configuration/site.md +3 -0
  403. package/docs/dev-portal/zudoku/configuration/slots.mdx +3 -0
  404. package/docs/dev-portal/zudoku/configuration/vite-config.md +3 -0
  405. package/docs/dev-portal/zudoku/custom-plugins.md +3 -0
  406. package/docs/dev-portal/zudoku/customization/colors-theme.mdx +3 -0
  407. package/docs/dev-portal/zudoku/customization/fonts.md +3 -0
  408. package/docs/dev-portal/zudoku/extending/events.md +3 -0
  409. package/docs/dev-portal/zudoku/extending/hooks.md +3 -0
  410. package/docs/dev-portal/zudoku/guides/custom-pages.md +3 -0
  411. package/docs/dev-portal/zudoku/guides/environment-variables.md +3 -0
  412. package/docs/dev-portal/zudoku/guides/mermaid.mdx +3 -0
  413. package/docs/dev-portal/zudoku/guides/navigation-migration.md +3 -0
  414. package/docs/dev-portal/zudoku/guides/navigation-rules.mdx +3 -0
  415. package/docs/dev-portal/zudoku/guides/processors.mdx +3 -0
  416. package/docs/dev-portal/zudoku/guides/redirects.md +3 -0
  417. package/docs/dev-portal/zudoku/guides/server-side-content-protection.md +3 -0
  418. package/docs/dev-portal/zudoku/guides/static-files.md +3 -0
  419. package/docs/dev-portal/zudoku/guides/transforming-examples.md +3 -0
  420. package/docs/dev-portal/zudoku/guides/using-multiple-apis.md +3 -0
  421. package/docs/dev-portal/zudoku/markdown/admonitions.md +3 -0
  422. package/docs/dev-portal/zudoku/markdown/code-blocks.md +3 -0
  423. package/docs/dev-portal/zudoku/markdown/frontmatter.md +3 -0
  424. package/docs/dev-portal/zudoku/markdown/mdx.md +3 -0
  425. package/docs/dev-portal/zudoku/markdown/overview.md +3 -0
  426. package/docs/dev-portal/zudoku/openapi-extensions/x-code-samples.md +3 -0
  427. package/docs/dev-portal/zudoku/openapi-extensions/x-display-name.md +3 -0
  428. package/docs/dev-portal/zudoku/openapi-extensions/x-internal.md +3 -0
  429. package/docs/dev-portal/zudoku/openapi-extensions/x-mcp-server.md +3 -0
  430. package/docs/dev-portal/zudoku/openapi-extensions/x-mcp.md +3 -0
  431. package/docs/dev-portal/zudoku/openapi-extensions/x-tag-groups.md +3 -0
  432. package/docs/dev-portal/zudoku/openapi-extensions/x-zudoku-collapsed.md +3 -0
  433. package/docs/dev-portal/zudoku/openapi-extensions/x-zudoku-collapsible.md +3 -0
  434. package/docs/dev-portal/zudoku/openapi-extensions/x-zudoku-playground-enabled.md +3 -0
  435. package/docs/dev-portal/zudoku/openapi-extensions/x-zudoku-request-box-enabled.md +3 -0
  436. package/docs/dev-portal/zudoku/openapi-extensions/x-zudoku-seo.md +3 -0
  437. package/docs/dev-portal/zudoku/openapi-extensions/x-zudoku-type.md +3 -0
  438. package/docs/dev-portal/zudoku/plugins.md +3 -0
  439. package/docs/dev-portal/zudoku/writing.mdx +3 -0
  440. package/docs/errors/bad-request.mdx +3 -0
  441. package/docs/errors/build-error.mdx +3 -0
  442. package/docs/errors/fatal-project-error.mdx +3 -0
  443. package/docs/errors/gateway-timeout.mdx +3 -0
  444. package/docs/errors/main-mod-error.mdx +3 -0
  445. package/docs/errors/no-project-set.mdx +3 -0
  446. package/docs/errors/not-found.mdx +3 -0
  447. package/docs/errors/rate-limit-exceeded.mdx +3 -0
  448. package/docs/errors/schema-validation-failed.mdx +3 -0
  449. package/docs/errors/system-configuration-error.mdx +3 -0
  450. package/docs/errors/unauthorized.mdx +3 -0
  451. package/docs/errors/unknown-error.mdx +3 -0
  452. package/docs/errors.mdx +6 -0
  453. package/docs/guides/canary-routing-for-employees.mdx +3 -0
  454. package/docs/guides/geolocation-backend-routing.mdx +12 -0
  455. package/docs/guides/modify-openapi-paths.mdx +3 -0
  456. package/docs/guides/openapi-overlays.mdx +3 -0
  457. package/docs/guides/overview.mdx +3 -0
  458. package/docs/guides/proxying-between-zuplo-gateways.mdx +10 -0
  459. package/docs/guides/transform-route-params-url-rewrite.mdx +3 -0
  460. package/docs/guides/user-based-backend-routing.mdx +3 -0
  461. package/docs/handlers/aws-lambda.mdx +3 -0
  462. package/docs/handlers/custom-handler.mdx +3 -0
  463. package/docs/handlers/legacy-dev-portal-handler.mdx +3 -0
  464. package/docs/handlers/mcp-server.mdx +5 -1
  465. package/docs/handlers/openapi.mdx +3 -0
  466. package/docs/handlers/redirect.mdx +3 -0
  467. package/docs/handlers/system-handlers.mdx +3 -0
  468. package/docs/handlers/url-forward.mdx +3 -0
  469. package/docs/handlers/url-rewrite.mdx +3 -0
  470. package/docs/handlers/websocket-handler.mdx +3 -0
  471. package/docs/handlers/websocket-pipeline-handler.mdx +3 -0
  472. package/docs/managed-edge/overview.md +3 -0
  473. package/docs/mcp-gateway/auth/configuring-auth0.mdx +3 -0
  474. package/docs/mcp-gateway/auth/configuring-clerk.mdx +3 -0
  475. package/docs/mcp-gateway/auth/configuring-cognito.mdx +3 -0
  476. package/docs/mcp-gateway/auth/configuring-entra.mdx +3 -0
  477. package/docs/mcp-gateway/auth/configuring-generic-oidc.mdx +3 -0
  478. package/docs/mcp-gateway/auth/configuring-google.mdx +3 -0
  479. package/docs/mcp-gateway/auth/configuring-keycloak.mdx +3 -0
  480. package/docs/mcp-gateway/auth/configuring-logto.mdx +3 -0
  481. package/docs/mcp-gateway/auth/configuring-okta.mdx +3 -0
  482. package/docs/mcp-gateway/auth/configuring-onelogin.mdx +3 -0
  483. package/docs/mcp-gateway/auth/configuring-ping.mdx +3 -0
  484. package/docs/mcp-gateway/auth/configuring-workos.mdx +3 -0
  485. package/docs/mcp-gateway/auth/manual-oauth-testing.mdx +3 -0
  486. package/docs/mcp-gateway/auth/overview.mdx +3 -0
  487. package/docs/mcp-gateway/auth/upstream-oauth.mdx +3 -0
  488. package/docs/mcp-gateway/capability-filtering.mdx +3 -0
  489. package/docs/mcp-gateway/code-config/compatibility-dates.mdx +3 -0
  490. package/docs/mcp-gateway/code-config/local-development.mdx +3 -0
  491. package/docs/mcp-gateway/code-config/mcp-proxy-handler.mdx +3 -0
  492. package/docs/mcp-gateway/code-config/multi-upstream.mdx +3 -0
  493. package/docs/mcp-gateway/code-config/overview.mdx +3 -0
  494. package/docs/mcp-gateway/connect-clients/chatgpt.mdx +3 -0
  495. package/docs/mcp-gateway/connect-clients/claude-code.mdx +3 -0
  496. package/docs/mcp-gateway/connect-clients/claude-desktop.mdx +3 -0
  497. package/docs/mcp-gateway/connect-clients/cursor.mdx +3 -0
  498. package/docs/mcp-gateway/connect-clients/other-clients.mdx +3 -0
  499. package/docs/mcp-gateway/connect-clients/overview.mdx +3 -0
  500. package/docs/mcp-gateway/connect-clients/vs-code.mdx +3 -0
  501. package/docs/mcp-gateway/cross-app-access/overview.mdx +3 -0
  502. package/docs/mcp-gateway/cross-app-access/policy-reference.mdx +3 -0
  503. package/docs/mcp-gateway/cross-app-access/quickstart.mdx +3 -0
  504. package/docs/mcp-gateway/how-it-works.mdx +3 -0
  505. package/docs/mcp-gateway/how-to/connect-upstream-api-key.mdx +3 -0
  506. package/docs/mcp-gateway/how-to/connect-upstream-oauth.mdx +3 -0
  507. package/docs/mcp-gateway/how-to/curate-tools-local.mdx +3 -0
  508. package/docs/mcp-gateway/how-to/curate-tools.mdx +3 -0
  509. package/docs/mcp-gateway/observability/analytics.mdx +3 -0
  510. package/docs/mcp-gateway/observability/logging.mdx +3 -0
  511. package/docs/mcp-gateway/overview.mdx +3 -0
  512. package/docs/mcp-gateway/policies/overview.mdx +3 -0
  513. package/docs/mcp-gateway/reference.mdx +3 -0
  514. package/docs/mcp-gateway/server-registry.mdx +3 -0
  515. package/docs/mcp-gateway/test-clients.mdx +3 -0
  516. package/docs/mcp-gateway/troubleshooting.mdx +3 -0
  517. package/docs/mcp-server/configuration-migration-guide.mdx +3 -0
  518. package/docs/mcp-server/custom-tools.mdx +3 -0
  519. package/docs/mcp-server/graphql.mdx +3 -0
  520. package/docs/mcp-server/openai-apps-sdk.mdx +3 -0
  521. package/docs/mcp-server/overview.mdx +3 -0
  522. package/docs/mcp-server/prompts.mdx +6 -1
  523. package/docs/mcp-server/resources.mdx +6 -1
  524. package/docs/mcp-server/testing.mdx +3 -0
  525. package/docs/mcp-server/tools.mdx +15 -1
  526. package/docs/mcp-server/troubleshooting.mdx +3 -0
  527. package/docs/policies/_index.md +1 -1
  528. package/docs/policies/ai-gateway-metering-inbound/doc.md +6 -7
  529. package/docs/policies/ai-gateway-metering-inbound/intro.md +2 -3
  530. package/docs/policies/ai-gateway-metering-inbound/schema.json +7 -6
  531. package/docs/programmable-api/background-dispatcher.mdx +3 -0
  532. package/docs/programmable-api/background-loader.mdx +3 -0
  533. package/docs/programmable-api/cache.mdx +3 -0
  534. package/docs/programmable-api/compatibility-dates.mdx +3 -0
  535. package/docs/programmable-api/console-logging.mdx +3 -0
  536. package/docs/programmable-api/context-data.mdx +3 -0
  537. package/docs/programmable-api/custom-cors-policy.mdx +3 -0
  538. package/docs/programmable-api/environment.mdx +10 -0
  539. package/docs/programmable-api/hooks.mdx +3 -0
  540. package/docs/programmable-api/http-problems.mdx +3 -0
  541. package/docs/programmable-api/jwt-service-plugin.mdx +3 -0
  542. package/docs/programmable-api/logger.mdx +3 -0
  543. package/docs/programmable-api/mcp-gateway-plugin.mdx +3 -0
  544. package/docs/programmable-api/mcp-sdk.mdx +3 -0
  545. package/docs/programmable-api/memory-zone-read-through-cache.mdx +3 -0
  546. package/docs/programmable-api/node-modules.mdx +3 -0
  547. package/docs/programmable-api/not-found-handler.mdx +3 -0
  548. package/docs/programmable-api/oauth-protected-resource-plugin.mdx +3 -0
  549. package/docs/programmable-api/overview.mdx +3 -0
  550. package/docs/programmable-api/problem-response-formatter.mdx +3 -0
  551. package/docs/programmable-api/request-user.mdx +3 -0
  552. package/docs/programmable-api/reusing-code.mdx +3 -0
  553. package/docs/programmable-api/route-raw.mdx +3 -0
  554. package/docs/programmable-api/runtime-behaviors.mdx +3 -0
  555. package/docs/programmable-api/runtime-errors.mdx +3 -0
  556. package/docs/programmable-api/runtime-extensions.mdx +10 -0
  557. package/docs/programmable-api/safely-clone-a-request-or-response.mdx +3 -0
  558. package/docs/programmable-api/streaming-zone-cache.mdx +3 -0
  559. package/docs/programmable-api/web-crypto-apis.mdx +3 -0
  560. package/docs/programmable-api/web-standard-apis.mdx +3 -0
  561. package/docs/programmable-api/zone-cache.mdx +3 -0
  562. package/docs/programmable-api/zp-body-removed.mdx +3 -0
  563. package/docs/programmable-api/zuplo-context.mdx +12 -0
  564. package/docs/programmable-api/zuplo-id-token.mdx +3 -0
  565. package/docs/programmable-api/zuplo-json.mdx +6 -0
  566. package/docs/programmable-api/zuplo-request.mdx +3 -0
  567. package/docs/rate-limiting/combining-policies.mdx +3 -0
  568. package/docs/rate-limiting/dynamic-rate-limiting.mdx +3 -0
  569. package/docs/rate-limiting/getting-started.mdx +3 -0
  570. package/docs/rate-limiting/how-it-works.md +3 -0
  571. package/docs/rate-limiting/monitoring-and-troubleshooting.mdx +3 -0
  572. package/docs/rate-limiting/per-user-rate-limits-using-db.mdx +3 -0
  573. package/docs/sample-apis.mdx +3 -0
  574. package/docs/self-hosted/install.md +3 -0
  575. package/docs/self-hosted/overview.md +3 -0
  576. package/docs/self-hosted/requirements.md +3 -0
  577. package/docs/self-hosted/troubleshooting.md +3 -0
  578. package/docs/self-hosted/upgrade.md +3 -0
  579. package/package.json +5 -5
@@ -1,6 +1,18 @@
1
1
  ---
2
2
  title: Advanced Tunnel Configuration
3
3
  sidebar_label: Advanced
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
7
+ differs:
8
+ managed-dedicated: >-
9
+ Tunnels work on Managed Dedicated, but most teams connect to private
10
+ backends with their cloud provider's native networking, such as a transit
11
+ gateway or VPC peering. See [Networking](../dedicated/networking.mdx).
12
+ self-hosted: >-
13
+ Tunnels work on Self-Hosted, but your gateway already runs on your
14
+ network, so most teams reach private backends directly or with native
15
+ networking, such as a transit gateway or VPC peering.
4
16
  ---
5
17
 
6
18
  <EnterpriseFeature name="Secure tunneling" />
@@ -8,40 +20,22 @@ sidebar_label: Advanced
8
20
  The [`zuplo/tunnel`](https://hub.docker.com/r/zuplo/tunnel) image covers most
9
21
  deployments without configuration beyond `TUNNEL_TOKEN`. This page is for teams
10
22
  that need more control: pinning versions, tuning the transport, rotating tokens,
11
- or building and running the connector image themselves.
23
+ or mirroring the image into their own registry.
12
24
 
13
- ## The cloudflared foundation
25
+ ## How the image runs
14
26
 
15
- Zuplo's tunnel is a thin packaging of
16
- [cloudflared](https://github.com/cloudflare/cloudflared), Cloudflare's open
17
- source tunnel connector. It isn't a Zuplo-specific protocol or a proprietary
18
- agent. The entire `zuplo/tunnel` image is the upstream
19
- [`cloudflare/cloudflared`](https://hub.docker.com/r/cloudflare/cloudflared)
20
- image with a fixed entrypoint:
27
+ The image starts the tunnel with fixed settings:
21
28
 
22
- ```dockerfile title="Dockerfile"
23
- FROM cloudflare/cloudflared:2026.7.3-amd64
24
- ENTRYPOINT ["cloudflared", "tunnel", "--no-autoupdate", "--protocol", "http2", "run"]
25
- ```
26
-
27
- Two consequences follow from this. First, everything the
28
- [cloudflared documentation](https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/)
29
- says about deploying, monitoring, and tuning a connector applies to your Zuplo
30
- tunnel. Second, you can run the upstream image yourself instead of Zuplo's — see
31
- [Run your own connector image](#run-your-own-connector-image).
32
-
33
- ### Entrypoint flags
34
-
35
- | Flag | Why the image sets it |
36
- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
37
- | `--no-autoupdate` | Stops cloudflared from replacing its own binary while running. The image tag is then the only thing that determines the version, which keeps containers immutable and deployments reproducible. |
38
- | `--protocol http2` | Forces the HTTP/2 transport. The cloudflared default, `auto`, prefers QUIC over UDP port 7844 and falls back to HTTP/2 when it can't open UDP connections. Many corporate networks block outbound UDP, so pinning HTTP/2 skips the fallback. |
39
- | `run` | Runs a remotely-managed tunnel. The tunnel's routing configuration lives in Zuplo, not in a local config file, and cloudflared reads its credentials from `TUNNEL_TOKEN`. |
29
+ | Setting | Why the image sets it |
30
+ | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
31
+ | No automatic updates | The tunnel never replaces its own binary while running. The image tag is the only thing that determines the version, which keeps containers immutable and deployments reproducible. |
32
+ | HTTP/2 transport | The tunnel connects over HTTP/2 on TCP port 443. Many corporate networks block outbound UDP, so the image doesn't try a UDP transport first. |
33
+ | Remotely managed routing | The tunnel's routing configuration lives in Zuplo, not in a local config file. The tunnel reads its credentials from `TUNNEL_TOKEN` and fetches the rest of its configuration from Zuplo when it starts. |
40
34
 
41
35
  ### Container characteristics
42
36
 
43
- Because the image inherits the upstream cloudflared base, it has properties
44
- worth knowing when you write a deployment manifest or a security policy:
37
+ The image has properties worth knowing when you write a deployment manifest or a
38
+ security policy:
45
39
 
46
40
  - **Distroless base, no shell.** You can't exec into a running tunnel container
47
41
  to debug it. Run a separate debug container in the same network namespace
@@ -55,33 +49,31 @@ worth knowing when you write a deployment manifest or a security policy:
55
49
 
56
50
  ## Environment variables
57
51
 
58
- The tunnel reads cloudflared's environment variables. The ones that matter for a
59
- Zuplo tunnel:
52
+ The tunnel reads these environment variables:
60
53
 
61
54
  | Variable | Default | Description |
62
55
  | --------------------------- | ------- | ------------------------------------------------------------------------------------------------------ |
63
56
  | `TUNNEL_TOKEN` | none | The tunnel's connection token, from `zuplo tunnel describe`. Required. |
64
57
  | `TUNNEL_LOGLEVEL` | `info` | Log verbosity. One of `debug`, `info`, `warn`, `error`, or `fatal`. Use `debug` when troubleshooting. |
65
58
  | `TUNNEL_METRICS` | none | Address to serve Prometheus metrics on, such as `0.0.0.0:2000`. Useful for scraping connection health. |
66
- | `TUNNEL_TRANSPORT_PROTOCOL` | `auto` | Transport to Cloudflare's edge. One of `auto`, `http2`, or `quic`. |
59
+ | `TUNNEL_TRANSPORT_PROTOCOL` | `auto` | Transport the tunnel uses to connect to Zuplo. One of `auto`, `http2`, or `quic`. |
67
60
  | `NO_AUTOUPDATE` | `false` | Disables in-place binary updates. |
68
- | `TUNNEL_EDGE_IP_VERSION` | `4` | IP version for reaching the edge. One of `4`, `6`, or `auto`. |
61
+ | `TUNNEL_EDGE_IP_VERSION` | `4` | IP version for connecting to Zuplo. One of `4`, `6`, or `auto`. |
69
62
 
70
- :::caution{title="Flags override environment variables"}
63
+ :::caution{title="Image settings override environment variables"}
71
64
 
72
- The `zuplo/tunnel` image sets `--no-autoupdate` and `--protocol http2` as
73
- command-line flags in its entrypoint, and cloudflared gives command-line flags
74
- precedence over environment variables. Setting `NO_AUTOUPDATE` or
75
- `TUNNEL_TRANSPORT_PROTOCOL` on a `zuplo/tunnel` container has no effect. To
76
- change either one, build your own image with a different entrypoint.
65
+ The `zuplo/tunnel` image turns off automatic updates and sets the HTTP/2
66
+ transport on its command line, which takes precedence over environment
67
+ variables. Setting `NO_AUTOUPDATE` or `TUNNEL_TRANSPORT_PROTOCOL` on a
68
+ `zuplo/tunnel` container has no effect.
77
69
 
78
70
  :::
79
71
 
80
72
  ## Pin and upgrade the image version
81
73
 
82
- The `zuplo/tunnel` tags mirror the cloudflared release they wrap, so
83
- `zuplo/tunnel:2025.10.1` contains cloudflared 2025.10.1. The `latest` tag always
84
- points at the most recent release.
74
+ The `zuplo/tunnel` tags are date-based versions, such as
75
+ `zuplo/tunnel:2025.10.1`. The `latest` tag always points at the most recent
76
+ release.
85
77
 
86
78
  For production, pin an explicit tag rather than using `latest`, so a redeploy
87
79
  can't silently change connector versions:
@@ -92,11 +84,11 @@ docker run -d --name zuplo-tunnel \
92
84
  zuplo/tunnel:2025.10.1
93
85
  ```
94
86
 
95
- Then upgrade deliberately. Cloudflare supports cloudflared versions released
96
- within one year of the most recent release, and may introduce breaking changes
97
- that affect older versions. Check for a newer tag on a regular cadence and treat
98
- the upgrade as routine maintenance. Test each new version in a staging
99
- environment before rolling it out to production.
87
+ Then upgrade deliberately. Versions more than a year older than the latest
88
+ release can stop working, and new releases can include breaking changes. Check
89
+ for a newer tag on a regular cadence and treat the upgrade as routine
90
+ maintenance. Test each new version in a staging environment before rolling it
91
+ out to production.
100
92
 
101
93
  Because tunnel instances that share a token act as replicas, you can upgrade
102
94
  without downtime: start instances on the new version, wait for them to connect,
@@ -130,69 +122,21 @@ With at least two instances running, you can rotate without dropping traffic.
130
122
  Rotating with a single instance running causes a brief interruption while the
131
123
  instance restarts. Schedule it during a maintenance window.
132
124
 
133
- ## Run your own connector image
134
-
135
- Because the tunnel is stock cloudflared, you can build and run the connector
136
- yourself. Consider this when you need to:
137
-
138
- - Change the entrypoint flags, such as running QUIC instead of HTTP/2, or
139
- exposing the metrics endpoint.
140
- - Mirror the image into your own registry to satisfy a policy that forbids
141
- pulling from public registries.
142
- - Meet a scanning, signing, or base-image requirement your platform enforces.
143
- - Run on `arm64`, using a matching upstream tag.
125
+ ## Mirror the image into your registry
144
126
 
145
- To match the behavior of `zuplo/tunnel`, build from the upstream image and
146
- replicate the entrypoint:
147
-
148
- ```dockerfile title="Dockerfile"
149
- FROM cloudflare/cloudflared:2026.7.3-amd64
150
- ENTRYPOINT ["cloudflared", "tunnel", "--no-autoupdate", "--protocol", "http2", "run"]
151
- ```
152
-
153
- Replace `2026.7.3` with a current tag from
154
- [Docker Hub](https://hub.docker.com/r/cloudflare/cloudflared/tags) — a version
155
- pinned here goes stale, and running a connector more than a year behind the
156
- latest release falls outside Cloudflare's support window. Use the `-amd64` or
157
- `-arm64` suffix that matches your host architecture.
158
-
159
- Build and run it with the same `TUNNEL_TOKEN` you'd give the Zuplo image:
127
+ If a policy forbids pulling from public registries, copy `zuplo/tunnel` into
128
+ your own registry and run it from there. Keep the image unchanged and pass the
129
+ same `TUNNEL_TOKEN`:
160
130
 
161
131
  ```bash
162
- docker build -t my-registry/tunnel:2026.7.3 .
163
- docker run -d --name tunnel \
164
- -e TUNNEL_TOKEN=<YOUR_TUNNEL_TOKEN> \
165
- my-registry/tunnel:2026.7.3
132
+ docker pull zuplo/tunnel:2025.10.1
133
+ docker tag zuplo/tunnel:2025.10.1 my-registry/zuplo-tunnel:2025.10.1
134
+ docker push my-registry/zuplo-tunnel:2025.10.1
166
135
  ```
167
136
 
168
- You can also run the upstream image directly, without a Dockerfile, by supplying
169
- the command yourself:
170
-
171
- ```bash
172
- docker run -d --name tunnel \
173
- -e TUNNEL_TOKEN=<YOUR_TUNNEL_TOKEN> \
174
- cloudflare/cloudflared:2026.7.3-amd64 \
175
- tunnel --no-autoupdate --protocol http2 run
176
- ```
177
-
178
- :::caution
179
-
180
- Keep the `run` subcommand and don't add a local configuration file, credentials
181
- file, or `--url` argument. Your tunnel is remotely managed: Zuplo owns the
182
- routing configuration, and cloudflared fetches it using the token. Local
183
- configuration conflicts with that and can stop traffic reaching your services.
184
-
185
- :::
186
-
187
- :::note
188
-
189
- Zuplo tests and supports the `zuplo/tunnel` image. A connector image you build
190
- and operate yourself is yours to maintain, and support can help with the tunnel
191
- and its configuration in Zuplo but not with your image or build pipeline. If
192
- you're unsure whether a change is safe, ask
193
- [Zuplo support](mailto:support@zuplo.com) before rolling it out.
194
-
195
- :::
137
+ Mirror each new version the same way when you upgrade. Zuplo tests and supports
138
+ the `zuplo/tunnel` image. If you change the image or build your own, support can
139
+ help with the tunnel and its configuration in Zuplo but not with your image.
196
140
 
197
141
  ## Next steps
198
142
 
@@ -1,6 +1,18 @@
1
1
  ---
2
2
  title: Connect to Tunnel Services
3
3
  sidebar_label: Connect to Services
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
7
+ differs:
8
+ managed-dedicated: >-
9
+ Tunnels work on Managed Dedicated, but most teams connect to private
10
+ backends with their cloud provider's native networking, such as a transit
11
+ gateway or VPC peering. See [Networking](../dedicated/networking.mdx).
12
+ self-hosted: >-
13
+ Tunnels work on Self-Hosted, but your gateway already runs on your
14
+ network, so most teams reach private backends directly or with native
15
+ networking, such as a transit gateway or VPC peering.
4
16
  ---
5
17
 
6
18
  <EnterpriseFeature name="Secure tunneling" />
@@ -159,7 +171,7 @@ handler combines the variable with a path parameter:
159
171
 
160
172
  ## Next steps
161
173
 
162
- - [Advanced tunnel configuration](./tunnel-advanced.mdx) — the cloudflared
163
- foundation, environment variables, and self-managed images.
174
+ - [Advanced tunnel configuration](./tunnel-advanced.mdx) — image settings,
175
+ environment variables, and version pinning.
164
176
  - [Troubleshoot a tunnel](./tunnel-troubleshooting.mdx) — diagnose requests that
165
177
  don't reach your backend.
@@ -1,6 +1,18 @@
1
1
  ---
2
2
  title: Set up a Tunnel
3
3
  sidebar_label: Setup
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
7
+ differs:
8
+ managed-dedicated: >-
9
+ Tunnels work on Managed Dedicated, but most teams connect to private
10
+ backends with their cloud provider's native networking, such as a transit
11
+ gateway or VPC peering. See [Networking](../dedicated/networking.mdx).
12
+ self-hosted: >-
13
+ Tunnels work on Self-Hosted, but your gateway already runs on your
14
+ network, so most teams reach private backends directly or with native
15
+ networking, such as a transit gateway or VPC peering.
4
16
  ---
5
17
 
6
18
  <EnterpriseFeature name="Secure tunneling" />
@@ -1,6 +1,18 @@
1
1
  ---
2
2
  title: Troubleshoot a Tunnel
3
3
  sidebar_label: Troubleshooting
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
7
+ differs:
8
+ managed-dedicated: >-
9
+ Tunnels work on Managed Dedicated, but most teams connect to private
10
+ backends with their cloud provider's native networking, such as a transit
11
+ gateway or VPC peering. See [Networking](../dedicated/networking.mdx).
12
+ self-hosted: >-
13
+ Tunnels work on Self-Hosted, but your gateway already runs on your
14
+ network, so most teams reach private backends directly or with native
15
+ networking, such as a transit gateway or VPC peering.
4
16
  ---
5
17
 
6
18
  A tunnel spans your network and Zuplo's, so traffic often fails to reach its
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: Automate Zuplo API Updates with GitHub Actions
3
3
  sidebar_label: GitHub Action Automation
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
4
7
  ---
5
8
 
6
9
  <!-- vale Vale.Spelling["Huma"] = NO -->
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: IAM Authentication for Your Backend
3
3
  sidebar_label: Overview
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
4
7
  ---
5
8
 
6
9
  IAM authentication lets your cloud provider decide whether a request from Zuplo
@@ -7,6 +7,9 @@ description:
7
7
  tags:
8
8
  - openapi
9
9
  - custom-code
10
+ applies_to:
11
+ product: gateway
12
+ hosting: all
10
13
  ---
11
14
 
12
15
  The OpenAPI specification allows for the use of vendor-specific extensions to
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: Multifactor Authentication
3
3
  sidebar_label: Multifactor Auth
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
4
7
  ---
5
8
 
6
9
  Zuplo supports multifactor authentication (MFA) to help keep your account
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: User Profile
3
3
  sidebar_label: Profile
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
4
7
  ---
5
8
 
6
9
  Your user profile is set automatically by your identity provider when you sign
@@ -5,6 +5,9 @@ description:
5
5
  How Zuplo approaches versioning, backward compatibility, deprecations, and
6
6
  breaking changes across the gateway runtime, specification-based features, and
7
7
  the Developer Portal.
8
+ applies_to:
9
+ product: gateway
10
+ hosting: all
8
11
  ---
9
12
 
10
13
  Zuplo runs production traffic for its customers, so backward compatibility is a
@@ -7,6 +7,9 @@ description: >-
7
7
  tags:
8
8
  - openapi
9
9
  - custom-code
10
+ applies_to:
11
+ product: gateway
12
+ hosting: all
10
13
  ---
11
14
 
12
15
  This guide explains how to approach versioning APIs on Zuplo.
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: Configuring Zuplo with Akamai App & API Protector
3
3
  sidebar_label: Akamai App & API Protector
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
4
7
  ---
5
8
 
6
9
  Akamai App & API Protector runs at Akamai edge locations. Zuplo can be
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: Configuring Zuplo with AWS WAF + Shield
3
3
  sidebar_label: AWS WAF + Shield
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
4
7
  ---
5
8
 
6
9
  AWS WAF + Shield run at AWS CloudFront edge locations. Zuplo can be configured
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: Configuring Zuplo with Fastly Next-Gen WAF
3
3
  sidebar_label: Fastly Next-Gen WAF
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
4
7
  ---
5
8
 
6
9
  Fastly Next-Gen WAF runs at Fastly edge locations. Zuplo can be configured to
@@ -1,5 +1,13 @@
1
1
  ---
2
2
  title: Zuplo + WAF/DDoS Services
3
+ applies_to:
4
+ product: gateway
5
+ hosting: all
6
+ differs:
7
+ managed-dedicated: >-
8
+ Use the WAF offered by your hosting platform in front of the gateway.
9
+ self-hosted: >-
10
+ Use the WAF offered by your hosting platform in front of the gateway.
3
11
  ---
4
12
 
5
13
  Many customers using Zuplo (or any other gateway) often choose to deploy WAF and
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: When to Use API Keys
3
3
  sidebar_label: When to Use Them
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
4
7
  ---
5
8
 
6
9
  Choosing the right authentication method is one of the first decisions you make
@@ -6,6 +6,9 @@ description:
6
6
  own ambient credentials, then pin the route to the workloads you allow.
7
7
  tags:
8
8
  - authentication
9
+ applies_to:
10
+ product: gateway
11
+ hosting: all
9
12
  ---
10
13
 
11
14
  A workload running in a cloud already has an identity: a Google service account,
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: Build with AI
3
3
  sidebar_label: Build with AI
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
4
7
  ---
5
8
 
6
9
  AI coding agents — Claude Code, Cursor, GitHub Copilot, Codex, Windsurf, and
@@ -4,6 +4,9 @@ description:
4
4
  Put a CDN in front of your Zuplo gateway and drive its cache from response
5
5
  headers, with separate edge and client TTLs, per-entity purge tags, and stale
6
6
  responses through a backend outage.
7
+ applies_to:
8
+ product: gateway
9
+ hosting: all
7
10
  ---
8
11
 
9
12
  A CDN in front of your gateway serves the cheapest request your API will ever
@@ -4,6 +4,9 @@ description:
4
4
  Write your own inbound and outbound policy pair with the Cache API when no
5
5
  built-in policy fits your caching rules, from tenant-scoped keys and size and
6
6
  status filters to upstream-driven TTLs and independent invalidation.
7
+ applies_to:
8
+ product: gateway
9
+ hosting: all
7
10
  ---
8
11
 
9
12
  Custom caching code is the most expensive caching you can ship. You own it, you
@@ -5,6 +5,9 @@ description:
5
5
  TTLs and purge tags that depend on the individual request or response,
6
6
  including per-entity tags, route TTL matrices, and refusing to cache a bad
7
7
  payload.
8
+ applies_to:
9
+ product: gateway
10
+ hosting: all
8
11
  ---
9
12
 
10
13
  Static policy options answer one question: how should this route cache? That's
@@ -4,6 +4,9 @@ description:
4
4
  Use the Caching policy to store responses inside the Zuplo gateway so repeat
5
5
  requests never reach your backend. Covers cache keys, TTLs, authorization, and
6
6
  invalidation.
7
+ applies_to:
8
+ product: gateway
9
+ hosting: all
7
10
  ---
8
11
 
9
12
  The Caching policy (`caching-inbound`) stores a response inside the gateway and
@@ -5,6 +5,9 @@ description:
5
5
  Compare the four places a response can be cached when Zuplo sits in front of
6
6
  your API, what each layer costs on a miss, and how to pick the right one for a
7
7
  given endpoint.
8
+ applies_to:
9
+ product: gateway
10
+ hosting: all
8
11
  ---
9
12
 
10
13
  A cached response is one your backend never serves. Every hit removes a database
@@ -4,6 +4,9 @@ description:
4
4
  Cache the shared portion of a response body in the programmable cache and
5
5
  fetch only the small caller-specific slice from your backend on every request.
6
6
  A worked example that turns a thousand backend calls a minute into six.
7
+ applies_to:
8
+ product: gateway
9
+ hosting: all
7
10
  ---
8
11
 
9
12
  A cinema-ticketing API serves `GET /v1/showtimes/board`. Every response contains
@@ -1,5 +1,8 @@
1
1
  ---
2
2
  title: Authentication
3
+ applies_to:
4
+ product: gateway
5
+ hosting: all
3
6
  ---
4
7
 
5
8
  There are two ways to authenticate with the Zuplo Command Line Interface (CLI):
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: "Zuplo CLI: Bucket List"
3
3
  sidebar_label: bucket list
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
4
7
  ---
5
8
 
6
9
  <CliCommand
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: "Zuplo CLI: Ca Certificate Create"
3
3
  sidebar_label: ca-certificate create
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
4
7
  ---
5
8
 
6
9
  <CliCommand
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: "Zuplo CLI: Ca Certificate Delete"
3
3
  sidebar_label: ca-certificate delete
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
4
7
  ---
5
8
 
6
9
  <CliCommand
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: "Zuplo CLI: Ca Certificate Describe"
3
3
  sidebar_label: ca-certificate describe
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
4
7
  ---
5
8
 
6
9
  <CliCommand
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: "Zuplo CLI: Ca Certificate List"
3
3
  sidebar_label: ca-certificate list
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
4
7
  ---
5
8
 
6
9
  <CliCommand
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: "Zuplo CLI: Ca Certificate Update"
3
3
  sidebar_label: ca-certificate update
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
4
7
  ---
5
8
 
6
9
  <CliCommand
@@ -1,6 +1,9 @@
1
1
  ---
2
2
  title: Zuplo CLI Network Connectivity
3
3
  sidebar_label: Network Connectivity
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
4
7
  ---
5
8
 
6
9
  The Zuplo CLI is used for local development as well as performing various
@@ -1,5 +1,8 @@
1
1
  ---
2
2
  title: Create Zuplo API
3
+ applies_to:
4
+ product: gateway
5
+ hosting: all
3
6
  ---
4
7
 
5
8
  The `create-zuplo-api` CLI makes it easy to create a new Zuplo API using the
@@ -1,6 +1,12 @@
1
1
  ---
2
2
  title: "Zuplo CLI: Custom Domain Create"
3
3
  sidebar_label: custom-domain create
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
7
+ differs:
8
+ managed-dedicated: "Custom domains depend on your instance's configuration, and Zuplo usually configures them for you. See [Managed Dedicated: Custom Domains](../dedicated/custom-domains.mdx)."
9
+ self-hosted: "Custom domains depend on your cluster's configuration, because you manage DNS and certificates. See [Self-Hosted requirements](../self-hosted/requirements.md)."
4
10
  ---
5
11
 
6
12
  <CliCommand
@@ -1,6 +1,12 @@
1
1
  ---
2
2
  title: "Zuplo CLI: Custom Domain Delete"
3
3
  sidebar_label: custom-domain delete
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
7
+ differs:
8
+ managed-dedicated: "Custom domains depend on your instance's configuration, and Zuplo usually configures them for you. See [Managed Dedicated: Custom Domains](../dedicated/custom-domains.mdx)."
9
+ self-hosted: "Custom domains depend on your cluster's configuration, because you manage DNS and certificates. See [Self-Hosted requirements](../self-hosted/requirements.md)."
4
10
  ---
5
11
 
6
12
  <CliCommand
@@ -1,6 +1,12 @@
1
1
  ---
2
2
  title: "Zuplo CLI: Custom Domain List"
3
3
  sidebar_label: custom-domain list
4
+ applies_to:
5
+ product: gateway
6
+ hosting: all
7
+ differs:
8
+ managed-dedicated: "Custom domains depend on your instance's configuration, and Zuplo usually configures them for you. See [Managed Dedicated: Custom Domains](../dedicated/custom-domains.mdx)."
9
+ self-hosted: "Custom domains depend on your cluster's configuration, because you manage DNS and certificates. See [Self-Hosted requirements](../self-hosted/requirements.md)."
4
10
  ---
5
11
 
6
12
  <CliCommand