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.
- package/README.md +9 -0
- package/docs/_index.md +44 -0
- package/docs/ai-gateway/apps.mdx +28 -0
- package/docs/ai-gateway/custom-providers.mdx +54 -0
- package/docs/ai-gateway/getting-started.mdx +224 -0
- package/docs/ai-gateway/guardrails.mdx +65 -0
- package/docs/ai-gateway/integrations/ai-sdk.mdx +109 -0
- package/docs/ai-gateway/integrations/claude-code.mdx +49 -0
- package/docs/ai-gateway/integrations/codex.mdx +78 -0
- package/docs/ai-gateway/integrations/goose.mdx +104 -0
- package/docs/ai-gateway/integrations/langchain.mdx +66 -0
- package/docs/ai-gateway/integrations/openai.mdx +99 -0
- package/docs/ai-gateway/introduction.mdx +85 -0
- package/docs/ai-gateway/managing-apps.mdx +46 -0
- package/docs/ai-gateway/managing-providers.mdx +66 -0
- package/docs/ai-gateway/managing-teams.mdx +63 -0
- package/docs/ai-gateway/policies/akamai-ai-firewall.mdx +125 -0
- package/docs/ai-gateway/policies/comet-opik-tracing.mdx +139 -0
- package/docs/ai-gateway/policies/galileo-tracing.mdx +147 -0
- package/docs/ai-gateway/providers.mdx +32 -0
- package/docs/ai-gateway/teams.mdx +38 -0
- package/docs/ai-gateway/universal-api.mdx +43 -0
- package/docs/ai-gateway/usage-limits.mdx +89 -0
- package/docs/api-management/introduction.md +127 -0
- package/docs/articles/accounts/audit-logs.mdx +227 -0
- package/docs/articles/accounts/billing.mdx +25 -0
- package/docs/articles/accounts/default-api-key.mdx +30 -0
- package/docs/articles/accounts/delete-account.mdx +36 -0
- package/docs/articles/accounts/enterprise-sso.mdx +116 -0
- package/docs/articles/accounts/managing-account-members.mdx +45 -0
- package/docs/articles/accounts/managing-project-members.mdx +37 -0
- package/docs/articles/accounts/members-and-roles.mdx +21 -0
- package/docs/articles/accounts/roles-and-permissions.mdx +115 -0
- package/docs/articles/accounts/zuplo-api-keys.mdx +94 -0
- package/docs/articles/add-api-to-backstage.mdx +216 -0
- package/docs/articles/advanced-path-matching.mdx +139 -0
- package/docs/articles/api-key-administration.mdx +47 -0
- package/docs/articles/api-key-api.mdx +220 -0
- package/docs/articles/api-key-authentication.mdx +195 -0
- package/docs/articles/api-key-buckets.mdx +61 -0
- package/docs/articles/api-key-end-users.mdx +52 -0
- package/docs/articles/api-key-leak-detection.mdx +75 -0
- package/docs/articles/api-key-management.mdx +100 -0
- package/docs/articles/api-key-react-component.mdx +90 -0
- package/docs/articles/api-key-service-limits.mdx +14 -0
- package/docs/articles/archiving-requests-to-storage.mdx +119 -0
- package/docs/articles/branch-based-deployments.mdx +184 -0
- package/docs/articles/bypass-policy-for-testing.mdx +117 -0
- package/docs/articles/check-ip-address.mdx +17 -0
- package/docs/articles/ci-cd-azure/basic-deployment.mdx +49 -0
- package/docs/articles/ci-cd-azure/deploy-and-test.mdx +47 -0
- package/docs/articles/ci-cd-azure/local-testing.mdx +59 -0
- package/docs/articles/ci-cd-azure/multi-stage-deployment.mdx +88 -0
- package/docs/articles/ci-cd-azure/pr-preview-environments.mdx +50 -0
- package/docs/articles/ci-cd-azure/tag-based-releases.mdx +37 -0
- package/docs/articles/ci-cd-bitbucket/basic-deployment.mdx +27 -0
- package/docs/articles/ci-cd-bitbucket/deploy-and-test.mdx +41 -0
- package/docs/articles/ci-cd-bitbucket/local-testing.mdx +34 -0
- package/docs/articles/ci-cd-bitbucket/multi-stage-deployment.mdx +52 -0
- package/docs/articles/ci-cd-bitbucket/pr-preview-environments.mdx +46 -0
- package/docs/articles/ci-cd-bitbucket/tag-based-releases.mdx +27 -0
- package/docs/articles/ci-cd-circleci/basic-deployment.mdx +34 -0
- package/docs/articles/ci-cd-circleci/deploy-and-test.mdx +44 -0
- package/docs/articles/ci-cd-circleci/local-testing.mdx +50 -0
- package/docs/articles/ci-cd-circleci/multi-stage-deployment.mdx +82 -0
- package/docs/articles/ci-cd-circleci/pr-preview-environments.mdx +47 -0
- package/docs/articles/ci-cd-circleci/tag-based-releases.mdx +38 -0
- package/docs/articles/ci-cd-github/basic-deployment.mdx +48 -0
- package/docs/articles/ci-cd-github/cleanup-on-branch-delete.mdx +123 -0
- package/docs/articles/ci-cd-github/deploy-and-test.mdx +82 -0
- package/docs/articles/ci-cd-github/local-testing.mdx +102 -0
- package/docs/articles/ci-cd-github/multi-stage-deployment.mdx +136 -0
- package/docs/articles/ci-cd-github/pr-preview-environments.mdx +106 -0
- package/docs/articles/ci-cd-github/tag-based-releases.mdx +99 -0
- package/docs/articles/ci-cd-gitlab/basic-deployment.mdx +28 -0
- package/docs/articles/ci-cd-gitlab/deploy-and-test.mdx +44 -0
- package/docs/articles/ci-cd-gitlab/local-testing.mdx +39 -0
- package/docs/articles/ci-cd-gitlab/mr-preview-environments.mdx +52 -0
- package/docs/articles/ci-cd-gitlab/multi-stage-deployment.mdx +64 -0
- package/docs/articles/ci-cd-gitlab/tag-based-releases.mdx +28 -0
- package/docs/articles/composite-policy-reference.mdx +284 -0
- package/docs/articles/configuring-auth0-for-mcp-auth.mdx +186 -0
- package/docs/articles/configuring-okta-for-mcp-auth.mdx +208 -0
- package/docs/articles/convert-urls-to-openapi.mdx +62 -0
- package/docs/articles/cors.mdx +447 -0
- package/docs/articles/custom-audit-log-policy.mdx +95 -0
- package/docs/articles/custom-ci-cd-azure.mdx +81 -0
- package/docs/articles/custom-ci-cd-bitbucket.mdx +80 -0
- package/docs/articles/custom-ci-cd-circleci.mdx +78 -0
- package/docs/articles/custom-ci-cd-github.mdx +99 -0
- package/docs/articles/custom-ci-cd-gitlab.mdx +79 -0
- package/docs/articles/custom-ci-cd.mdx +82 -0
- package/docs/articles/custom-code-patterns.md +418 -0
- package/docs/articles/custom-domains.mdx +258 -0
- package/docs/articles/custom-logging-example.mdx +139 -0
- package/docs/articles/ddos-protection.mdx +138 -0
- package/docs/articles/development-options.mdx +49 -0
- package/docs/articles/environment-variables.mdx +134 -0
- package/docs/articles/environments.mdx +143 -0
- package/docs/articles/fastly-zuplo-host-setup.mdx +41 -0
- package/docs/articles/github-deployment-testing.mdx +101 -0
- package/docs/articles/gke-with-upstream-auth-policy.mdx +192 -0
- package/docs/articles/graphql-security.mdx +180 -0
- package/docs/articles/handling-form-data.mdx +61 -0
- package/docs/articles/health-checks.mdx +109 -0
- package/docs/articles/hosting-options.mdx +70 -0
- package/docs/articles/lazy-load-configuration-into-cache.mdx +92 -0
- package/docs/articles/limits.mdx +98 -0
- package/docs/articles/local-development-debugging.mdx +44 -0
- package/docs/articles/local-development-env-variables.mdx +23 -0
- package/docs/articles/local-development-installing-packages.mdx +23 -0
- package/docs/articles/local-development-routes-designer.mdx +27 -0
- package/docs/articles/local-development-services.mdx +40 -0
- package/docs/articles/local-development-troubleshooting.mdx +56 -0
- package/docs/articles/local-development.mdx +81 -0
- package/docs/articles/log-plugin-aws-cloudwatch.mdx +83 -0
- package/docs/articles/log-plugin-datadog.mdx +84 -0
- package/docs/articles/log-plugin-dynatrace.mdx +75 -0
- package/docs/articles/log-plugin-gcp.mdx +75 -0
- package/docs/articles/log-plugin-loki.mdx +136 -0
- package/docs/articles/log-plugin-new-relic.mdx +84 -0
- package/docs/articles/log-plugin-splunk.mdx +104 -0
- package/docs/articles/log-plugin-sumo.mdx +73 -0
- package/docs/articles/log-plugin-vmware-log-insight.mdx +154 -0
- package/docs/articles/log-request-response-data.mdx +398 -0
- package/docs/articles/logging.mdx +115 -0
- package/docs/articles/manual-mcp-oauth-testing.mdx +193 -0
- package/docs/articles/mcp-quickstart.mdx +135 -0
- package/docs/articles/metrics-plugins.mdx +371 -0
- package/docs/articles/migrate-from-apigee.md +408 -0
- package/docs/articles/migrate-from-aws-api-gateway.md +248 -0
- package/docs/articles/migrate-from-azure-apim.md +292 -0
- package/docs/articles/migrate-from-kong.md +300 -0
- package/docs/articles/migration-overview.md +81 -0
- package/docs/articles/monetization/api-access.mdx +69 -0
- package/docs/articles/monetization/billing-models.md +520 -0
- package/docs/articles/monetization/developer-portal.md +167 -0
- package/docs/articles/monetization/features.mdx +98 -0
- package/docs/articles/monetization/index.mdx +113 -0
- package/docs/articles/monetization/meters.mdx +135 -0
- package/docs/articles/monetization/monetization-policy.md +314 -0
- package/docs/articles/monetization/plan-examples.mdx +366 -0
- package/docs/articles/monetization/plans.mdx +266 -0
- package/docs/articles/monetization/pricing-models.mdx +225 -0
- package/docs/articles/monetization/private-plans.md +154 -0
- package/docs/articles/monetization/quickstart.md +355 -0
- package/docs/articles/monetization/rate-cards.mdx +171 -0
- package/docs/articles/monetization/stripe-integration.md +195 -0
- package/docs/articles/monetization/subscription-lifecycle.md +298 -0
- package/docs/articles/monetization/tax-collection.md +166 -0
- package/docs/articles/monetization/troubleshooting.md +272 -0
- package/docs/articles/monetization-custom.mdx +71 -0
- package/docs/articles/monetization-integrations.mdx +104 -0
- package/docs/articles/monitoring-your-gateway.mdx +53 -0
- package/docs/articles/monorepo-deployment.mdx +350 -0
- package/docs/articles/multiple-auth-policies.mdx +81 -0
- package/docs/articles/non-standard-ports.mdx +30 -0
- package/docs/articles/oauth-authentication.mdx +54 -0
- package/docs/articles/openapi-server-urls.mdx +60 -0
- package/docs/articles/openapi.mdx +130 -0
- package/docs/articles/opentelemetry.mdx +250 -0
- package/docs/articles/per-user-rate-limits-using-db.mdx +112 -0
- package/docs/articles/performance-testing.mdx +304 -0
- package/docs/articles/plugin-akamai-api-security.mdx +76 -0
- package/docs/articles/plugin-azure-blob.mdx +73 -0
- package/docs/articles/plugin-azure-event-hubs.mdx +64 -0
- package/docs/articles/plugin-hydrolix-traffic-peak.mdx +147 -0
- package/docs/articles/policies.mdx +33 -0
- package/docs/articles/rename-or-move-project.mdx +39 -0
- package/docs/articles/rick-and-morty-api-developer-portal-example.mdx +23 -0
- package/docs/articles/routing.mdx +193 -0
- package/docs/articles/s3-signed-url-uploads.mdx +521 -0
- package/docs/articles/secure-tunnel.mdx +84 -0
- package/docs/articles/securing-backend-mtls.mdx +268 -0
- package/docs/articles/securing-your-backend.mdx +148 -0
- package/docs/articles/security.mdx +105 -0
- package/docs/articles/sharing-code-across-projects.mdx +412 -0
- package/docs/articles/source-control-setup-azure.mdx +13 -0
- package/docs/articles/source-control-setup-bitbucket.mdx +43 -0
- package/docs/articles/source-control-setup-github.mdx +172 -0
- package/docs/articles/source-control-setup-gitlab.mdx +12 -0
- package/docs/articles/source-control.mdx +80 -0
- package/docs/articles/step-1-setup-basic-gateway-local.mdx +136 -0
- package/docs/articles/step-1-setup-basic-gateway.mdx +118 -0
- package/docs/articles/step-2-add-rate-limiting-local.mdx +126 -0
- package/docs/articles/step-2-add-rate-limiting.mdx +82 -0
- package/docs/articles/step-3-add-api-key-auth-local.mdx +199 -0
- package/docs/articles/step-3-add-api-key-auth.mdx +166 -0
- package/docs/articles/step-4-deploying-to-the-edge.mdx +220 -0
- package/docs/articles/step-5-dynamic-rate-limiting.mdx +167 -0
- package/docs/articles/support.mdx +144 -0
- package/docs/articles/terraform.mdx +114 -0
- package/docs/articles/testing-graphql.mdx +34 -0
- package/docs/articles/testing.mdx +522 -0
- package/docs/articles/troubleshooting-slow-responses.mdx +301 -0
- package/docs/articles/troubleshooting.md +302 -0
- package/docs/articles/tsconfig.mdx +105 -0
- package/docs/articles/tunnel-setup.mdx +195 -0
- package/docs/articles/tunnel-troubleshooting.mdx +50 -0
- package/docs/articles/update-zup-in-github-action.mdx +110 -0
- package/docs/articles/use-openapi-extension-data.mdx +79 -0
- package/docs/articles/users/multifactor-authentication.mdx +64 -0
- package/docs/articles/users/profile.mdx +13 -0
- package/docs/articles/versioning-on-zuplo.mdx +89 -0
- package/docs/articles/waf-ddos-akamai.md +133 -0
- package/docs/articles/waf-ddos-aws-waf-shield.mdx +85 -0
- package/docs/articles/waf-ddos-fastly.mdx +251 -0
- package/docs/articles/waf-ddos.mdx +140 -0
- package/docs/articles/zuplo-waf.mdx +156 -0
- package/docs/ask.mdx +3 -0
- package/docs/cli/authentication.mdx +56 -0
- package/docs/cli/connectivity.mdx +38 -0
- package/docs/cli/create-zuplo-api.mdx +80 -0
- package/docs/cli/delete.mdx +79 -0
- package/docs/cli/deploy.mdx +156 -0
- package/docs/cli/deploy.partial.mdx +46 -0
- package/docs/cli/dev.mdx +115 -0
- package/docs/cli/docs.mdx +66 -0
- package/docs/cli/editor.mdx +50 -0
- package/docs/cli/global-options.mdx +19 -0
- package/docs/cli/init.mdx +74 -0
- package/docs/cli/link.mdx +74 -0
- package/docs/cli/list.mdx +55 -0
- package/docs/cli/mtls-certificate-create.mdx +94 -0
- package/docs/cli/mtls-certificate-delete.mdx +55 -0
- package/docs/cli/mtls-certificate-describe.mdx +55 -0
- package/docs/cli/mtls-certificate-disable.mdx +55 -0
- package/docs/cli/mtls-certificate-list.mdx +47 -0
- package/docs/cli/mtls-certificate-update.mdx +72 -0
- package/docs/cli/openapi-convert.mdx +111 -0
- package/docs/cli/openapi-merge.mdx +138 -0
- package/docs/cli/openapi-merge.partial.mdx +29 -0
- package/docs/cli/openapi-overlay.mdx +123 -0
- package/docs/cli/overview.mdx +78 -0
- package/docs/cli/project-create.mdx +43 -0
- package/docs/cli/source-migrate.mdx +18 -0
- package/docs/cli/source-upgrade.mdx +41 -0
- package/docs/cli/test.mdx +70 -0
- package/docs/cli/test.partial.mdx +7 -0
- package/docs/cli/tunnel-create.mdx +53 -0
- package/docs/cli/tunnel-create.partial.mdx +9 -0
- package/docs/cli/tunnel-delete.mdx +35 -0
- package/docs/cli/tunnel-delete.partial.mdx +9 -0
- package/docs/cli/tunnel-describe.mdx +45 -0
- package/docs/cli/tunnel-describe.partial.mdx +5 -0
- package/docs/cli/tunnel-list.mdx +35 -0
- package/docs/cli/tunnel-list.partial.mdx +9 -0
- package/docs/cli/tunnel-rate-token.partial.mdx +9 -0
- package/docs/cli/tunnel-rotate-token.mdx +39 -0
- package/docs/cli/tunnel-services-describe.mdx +45 -0
- package/docs/cli/tunnel-services-describe.partial.mdx +9 -0
- package/docs/cli/tunnel-services-update.mdx +48 -0
- package/docs/cli/variable-create.mdx +91 -0
- package/docs/cli/variable-create.partial.mdx +5 -0
- package/docs/cli/variable-update.mdx +75 -0
- package/docs/cli/variable-update.partial.mdx +5 -0
- package/docs/concepts/api-keys.md +146 -0
- package/docs/concepts/authentication.mdx +109 -0
- package/docs/concepts/how-zuplo-works.mdx +120 -0
- package/docs/concepts/project-structure.mdx +174 -0
- package/docs/concepts/rate-limiting.md +246 -0
- package/docs/concepts/request-lifecycle.mdx +56 -0
- package/docs/concepts/source-control-and-deployment.mdx +229 -0
- package/docs/conferences/conference-prize-terms.mdx +80 -0
- package/docs/dedicated/akamai/ai-powered-applications.mdx +223 -0
- package/docs/dedicated/akamai/architecture.mdx +280 -0
- package/docs/dedicated/akamai/caching.mdx +212 -0
- package/docs/dedicated/akamai/cdn.mdx +156 -0
- package/docs/dedicated/architecture.mdx +208 -0
- package/docs/dedicated/custom-domains.mdx +31 -0
- package/docs/dedicated/federated-gateways.mdx +80 -0
- package/docs/dedicated/networking.mdx +69 -0
- package/docs/dedicated/overview.mdx +80 -0
- package/docs/dedicated/source-control.mdx +63 -0
- package/docs/dev-portal/dev-portal-create-consumer-on-auth.mdx +134 -0
- package/docs/dev-portal/introduction.mdx +65 -0
- package/docs/dev-portal/local-development.mdx +72 -0
- package/docs/dev-portal/migration.mdx +526 -0
- package/docs/dev-portal/node-modules.mdx +45 -0
- package/docs/dev-portal/updating.mdx +28 -0
- package/docs/dev-portal/zudoku/components/alert.mdx +130 -0
- package/docs/dev-portal/zudoku/components/badge.mdx +70 -0
- package/docs/dev-portal/zudoku/components/button.mdx +132 -0
- package/docs/dev-portal/zudoku/components/callout.mdx +112 -0
- package/docs/dev-portal/zudoku/components/card.mdx +104 -0
- package/docs/dev-portal/zudoku/components/checkbox.mdx +72 -0
- package/docs/dev-portal/zudoku/components/client-only.mdx +79 -0
- package/docs/dev-portal/zudoku/components/code-tabs.mdx +179 -0
- package/docs/dev-portal/zudoku/components/dialog.mdx +167 -0
- package/docs/dev-portal/zudoku/components/head.mdx +199 -0
- package/docs/dev-portal/zudoku/components/icons.mdx +27 -0
- package/docs/dev-portal/zudoku/components/input.mdx +96 -0
- package/docs/dev-portal/zudoku/components/label.mdx +86 -0
- package/docs/dev-portal/zudoku/components/link.mdx +242 -0
- package/docs/dev-portal/zudoku/components/markdown.mdx +151 -0
- package/docs/dev-portal/zudoku/components/mermaid.mdx +81 -0
- package/docs/dev-portal/zudoku/components/playground.mdx +87 -0
- package/docs/dev-portal/zudoku/components/secret.mdx +78 -0
- package/docs/dev-portal/zudoku/components/select.mdx +176 -0
- package/docs/dev-portal/zudoku/components/shadcn.mdx +73 -0
- package/docs/dev-portal/zudoku/components/slider.mdx +108 -0
- package/docs/dev-portal/zudoku/components/slot.mdx +119 -0
- package/docs/dev-portal/zudoku/components/stepper.mdx +138 -0
- package/docs/dev-portal/zudoku/components/switch.mdx +96 -0
- package/docs/dev-portal/zudoku/components/syntax-highlight.mdx +602 -0
- package/docs/dev-portal/zudoku/components/textarea.mdx +78 -0
- package/docs/dev-portal/zudoku/components/tooltip.mdx +195 -0
- package/docs/dev-portal/zudoku/components/typography.mdx +61 -0
- package/docs/dev-portal/zudoku/configuration/ai-assistants.md +64 -0
- package/docs/dev-portal/zudoku/configuration/api-catalog.md +108 -0
- package/docs/dev-portal/zudoku/configuration/api-reference.md +397 -0
- package/docs/dev-portal/zudoku/configuration/authentication-auth0.md +173 -0
- package/docs/dev-portal/zudoku/configuration/authentication-azure-ad.md +238 -0
- package/docs/dev-portal/zudoku/configuration/authentication-clerk.md +110 -0
- package/docs/dev-portal/zudoku/configuration/authentication-firebase.md +61 -0
- package/docs/dev-portal/zudoku/configuration/authentication-pingfederate.md +136 -0
- package/docs/dev-portal/zudoku/configuration/authentication-supabase.md +225 -0
- package/docs/dev-portal/zudoku/configuration/authentication.md +199 -0
- package/docs/dev-portal/zudoku/configuration/build-configuration.mdx +147 -0
- package/docs/dev-portal/zudoku/configuration/docs.md +282 -0
- package/docs/dev-portal/zudoku/configuration/footer.mdx +214 -0
- package/docs/dev-portal/zudoku/configuration/llms.md +89 -0
- package/docs/dev-portal/zudoku/configuration/navigation.mdx +408 -0
- package/docs/dev-portal/zudoku/configuration/overview.md +380 -0
- package/docs/dev-portal/zudoku/configuration/protected-routes.md +149 -0
- package/docs/dev-portal/zudoku/configuration/search.md +169 -0
- package/docs/dev-portal/zudoku/configuration/sentry.mdx +44 -0
- package/docs/dev-portal/zudoku/configuration/site.md +124 -0
- package/docs/dev-portal/zudoku/configuration/slots.mdx +124 -0
- package/docs/dev-portal/zudoku/configuration/vite-config.md +18 -0
- package/docs/dev-portal/zudoku/custom-plugins.md +287 -0
- package/docs/dev-portal/zudoku/customization/colors-theme.mdx +275 -0
- package/docs/dev-portal/zudoku/customization/fonts.md +110 -0
- package/docs/dev-portal/zudoku/extending/events.md +124 -0
- package/docs/dev-portal/zudoku/guides/custom-pages.md +106 -0
- package/docs/dev-portal/zudoku/guides/environment-variables.md +99 -0
- package/docs/dev-portal/zudoku/guides/mermaid.mdx +70 -0
- package/docs/dev-portal/zudoku/guides/navigation-migration.md +87 -0
- package/docs/dev-portal/zudoku/guides/navigation-rules.mdx +197 -0
- package/docs/dev-portal/zudoku/guides/processors.mdx +234 -0
- package/docs/dev-portal/zudoku/guides/static-files.md +55 -0
- package/docs/dev-portal/zudoku/guides/transforming-examples.md +156 -0
- package/docs/dev-portal/zudoku/guides/using-multiple-apis.md +87 -0
- package/docs/dev-portal/zudoku/markdown/admonitions.md +128 -0
- package/docs/dev-portal/zudoku/markdown/code-blocks.md +196 -0
- package/docs/dev-portal/zudoku/markdown/frontmatter.md +172 -0
- package/docs/dev-portal/zudoku/markdown/mdx.md +68 -0
- package/docs/dev-portal/zudoku/markdown/overview.md +275 -0
- package/docs/dev-portal/zudoku/plugins.md +5 -0
- package/docs/dev-portal/zudoku/writing.mdx +72 -0
- package/docs/errors/bad-request.mdx +39 -0
- package/docs/errors/build-error.mdx +45 -0
- package/docs/errors/fatal-project-error.mdx +39 -0
- package/docs/errors/gateway-timeout.mdx +33 -0
- package/docs/errors/get-head-body-error.mdx +41 -0
- package/docs/errors/main-mod-error.mdx +40 -0
- package/docs/errors/no-project-set.mdx +41 -0
- package/docs/errors/not-found.mdx +43 -0
- package/docs/errors/rate-limit-exceeded.mdx +31 -0
- package/docs/errors/schema-validation-failed.mdx +51 -0
- package/docs/errors/system-configuration-error.mdx +44 -0
- package/docs/errors/unauthorized.mdx +50 -0
- package/docs/errors/unknown-error.mdx +42 -0
- package/docs/errors.mdx +14 -0
- package/docs/guides/canary-routing-for-employees.mdx +385 -0
- package/docs/guides/geolocation-backend-routing.mdx +404 -0
- package/docs/guides/modify-openapi-paths.mdx +371 -0
- package/docs/guides/openapi-overlays.mdx +492 -0
- package/docs/guides/overview.mdx +12 -0
- package/docs/guides/user-based-backend-routing.mdx +437 -0
- package/docs/handlers/aws-lambda.mdx +201 -0
- package/docs/handlers/custom-handler.mdx +112 -0
- package/docs/handlers/legacy-dev-portal-handler.mdx +135 -0
- package/docs/handlers/mcp-server.mdx +730 -0
- package/docs/handlers/openapi.mdx +78 -0
- package/docs/handlers/redirect.mdx +115 -0
- package/docs/handlers/system-handlers.mdx +41 -0
- package/docs/handlers/url-forward.mdx +204 -0
- package/docs/handlers/url-rewrite.mdx +224 -0
- package/docs/handlers/websocket-handler.mdx +154 -0
- package/docs/home.mdx +6 -0
- package/docs/managed-edge/overview.md +78 -0
- package/docs/mcp-server/configuration-migration-guide.mdx +344 -0
- package/docs/mcp-server/custom-tools.mdx +487 -0
- package/docs/mcp-server/graphql.mdx +241 -0
- package/docs/mcp-server/introduction.mdx +122 -0
- package/docs/mcp-server/openai-apps-sdk.mdx +160 -0
- package/docs/mcp-server/prompts.mdx +283 -0
- package/docs/mcp-server/resources.mdx +288 -0
- package/docs/mcp-server/testing.mdx +53 -0
- package/docs/mcp-server/tools.mdx +306 -0
- package/docs/policies/_index.md +92 -0
- package/docs/policies/ab-test-inbound/intro.md +8 -0
- package/docs/policies/ab-test-inbound/policy.ts +14 -0
- package/docs/policies/ab-test-inbound/schema.json +27 -0
- package/docs/policies/ab-test-outbound/intro.md +8 -0
- package/docs/policies/ab-test-outbound/policy.ts +26 -0
- package/docs/policies/ab-test-outbound/schema.json +27 -0
- package/docs/policies/acl-policy-inbound/intro.md +5 -0
- package/docs/policies/acl-policy-inbound/policy.ts +32 -0
- package/docs/policies/acl-policy-inbound/schema.json +52 -0
- package/docs/policies/akamai-ai-firewall/schema.json +98 -0
- package/docs/policies/amberflo-metering-inbound/doc.md +183 -0
- package/docs/policies/amberflo-metering-inbound/intro.md +20 -0
- package/docs/policies/amberflo-metering-inbound/schema.json +108 -0
- package/docs/policies/api-key-inbound/doc.md +77 -0
- package/docs/policies/api-key-inbound/intro.md +30 -0
- package/docs/policies/api-key-inbound/schema.json +84 -0
- package/docs/policies/archive-request-aws-s3-inbound/intro.md +4 -0
- package/docs/policies/archive-request-aws-s3-inbound/policy.ts +58 -0
- package/docs/policies/archive-request-aws-s3-inbound/schema.json +68 -0
- package/docs/policies/archive-request-azure-storage-inbound/doc.md +31 -0
- package/docs/policies/archive-request-azure-storage-inbound/intro.md +4 -0
- package/docs/policies/archive-request-azure-storage-inbound/policy.ts +54 -0
- package/docs/policies/archive-request-azure-storage-inbound/schema.json +53 -0
- package/docs/policies/archive-request-gcp-storage-inbound/doc.md +63 -0
- package/docs/policies/archive-request-gcp-storage-inbound/intro.md +4 -0
- package/docs/policies/archive-request-gcp-storage-inbound/policy.ts +68 -0
- package/docs/policies/archive-request-gcp-storage-inbound/schema.json +47 -0
- package/docs/policies/archive-response-aws-s3-outbound/intro.md +2 -0
- package/docs/policies/archive-response-aws-s3-outbound/policy.ts +59 -0
- package/docs/policies/archive-response-aws-s3-outbound/schema.json +68 -0
- package/docs/policies/archive-response-azure-storage-outbound/doc.md +31 -0
- package/docs/policies/archive-response-azure-storage-outbound/intro.md +3 -0
- package/docs/policies/archive-response-azure-storage-outbound/policy.ts +54 -0
- package/docs/policies/archive-response-azure-storage-outbound/schema.json +53 -0
- package/docs/policies/audit-log-inbound/doc.md +78 -0
- package/docs/policies/audit-log-inbound/intro.md +10 -0
- package/docs/policies/audit-log-inbound/schema.json +81 -0
- package/docs/policies/auth0-jwt-auth-inbound/doc.md +125 -0
- package/docs/policies/auth0-jwt-auth-inbound/intro.md +17 -0
- package/docs/policies/auth0-jwt-auth-inbound/schema.json +74 -0
- package/docs/policies/authzen-inbound/doc.md +24 -0
- package/docs/policies/authzen-inbound/intro.md +31 -0
- package/docs/policies/authzen-inbound/schema.json +126 -0
- package/docs/policies/axiomatics-authz-inbound/doc.md +144 -0
- package/docs/policies/axiomatics-authz-inbound/intro.md +11 -0
- package/docs/policies/axiomatics-authz-inbound/schema.json +161 -0
- package/docs/policies/basic-auth-inbound/intro.md +9 -0
- package/docs/policies/basic-auth-inbound/schema.json +99 -0
- package/docs/policies/bot-detection-inbound/intro.md +4 -0
- package/docs/policies/bot-detection-inbound/schema.json +56 -0
- package/docs/policies/brownout-inbound/doc.md +55 -0
- package/docs/policies/brownout-inbound/intro.md +12 -0
- package/docs/policies/brownout-inbound/schema.json +115 -0
- package/docs/policies/caching-inbound/doc.md +209 -0
- package/docs/policies/caching-inbound/intro.md +23 -0
- package/docs/policies/caching-inbound/schema.json +98 -0
- package/docs/policies/change-method-inbound/schema.json +56 -0
- package/docs/policies/clear-headers-inbound/schema.json +59 -0
- package/docs/policies/clear-headers-outbound/schema.json +59 -0
- package/docs/policies/clerk-jwt-auth-inbound/doc.md +85 -0
- package/docs/policies/clerk-jwt-auth-inbound/intro.md +4 -0
- package/docs/policies/clerk-jwt-auth-inbound/schema.json +68 -0
- package/docs/policies/cognito-jwt-auth-inbound/intro.md +7 -0
- package/docs/policies/cognito-jwt-auth-inbound/schema.json +74 -0
- package/docs/policies/comet-opik-tracing-inbound/schema.json +65 -0
- package/docs/policies/complex-rate-limit-inbound/doc.md +20 -0
- package/docs/policies/complex-rate-limit-inbound/intro.md +23 -0
- package/docs/policies/complex-rate-limit-inbound/schema.json +142 -0
- package/docs/policies/composite-inbound/doc.md +69 -0
- package/docs/policies/composite-inbound/intro.md +15 -0
- package/docs/policies/composite-inbound/schema.json +59 -0
- package/docs/policies/composite-outbound/intro.md +6 -0
- package/docs/policies/composite-outbound/schema.json +59 -0
- package/docs/policies/curity-phantom-token-inbound/doc.md +109 -0
- package/docs/policies/curity-phantom-token-inbound/intro.md +3 -0
- package/docs/policies/curity-phantom-token-inbound/schema.json +68 -0
- package/docs/policies/custom-code-inbound/doc.md +267 -0
- package/docs/policies/custom-code-inbound/intro.md +2 -0
- package/docs/policies/custom-code-inbound/schema.json +48 -0
- package/docs/policies/custom-code-outbound/doc.md +235 -0
- package/docs/policies/custom-code-outbound/intro.md +2 -0
- package/docs/policies/custom-code-outbound/schema.json +43 -0
- package/docs/policies/firebase-jwt-inbound/intro.md +6 -0
- package/docs/policies/firebase-jwt-inbound/schema.json +68 -0
- package/docs/policies/formdata-to-json-inbound/schema.json +60 -0
- package/docs/policies/galileo-tracing-inbound/schema.json +65 -0
- package/docs/policies/geo-filter-inbound/doc.md +33 -0
- package/docs/policies/geo-filter-inbound/schema.json +108 -0
- package/docs/policies/graphql-complexity-limit-inbound/doc.md +48 -0
- package/docs/policies/graphql-complexity-limit-inbound/intro.md +2 -0
- package/docs/policies/graphql-complexity-limit-inbound/schema.json +90 -0
- package/docs/policies/graphql-disable-introspection-inbound/doc.md +66 -0
- package/docs/policies/graphql-disable-introspection-inbound/intro.md +15 -0
- package/docs/policies/graphql-disable-introspection-inbound/schema.json +48 -0
- package/docs/policies/graphql-introspection-filter-outbound/doc.md +148 -0
- package/docs/policies/graphql-introspection-filter-outbound/schema.json +79 -0
- package/docs/policies/hmac-auth-inbound/doc.md +30 -0
- package/docs/policies/hmac-auth-inbound/intro.md +10 -0
- package/docs/policies/hmac-auth-inbound/policy.ts +70 -0
- package/docs/policies/hmac-auth-inbound/schema.json +53 -0
- package/docs/policies/http-deprecation-outbound/doc.md +73 -0
- package/docs/policies/http-deprecation-outbound/schema.json +83 -0
- package/docs/policies/ip-restriction-inbound/intro.md +8 -0
- package/docs/policies/ip-restriction-inbound/policy.ts +40 -0
- package/docs/policies/ip-restriction-inbound/schema.json +58 -0
- package/docs/policies/jwt-scopes-inbound/schema.json +59 -0
- package/docs/policies/ldap-auth-inbound/schema.json +56 -0
- package/docs/policies/mock-api-inbound/schema.json +72 -0
- package/docs/policies/moesif-inbound/doc.md +44 -0
- package/docs/policies/moesif-inbound/intro.md +6 -0
- package/docs/policies/moesif-inbound/schema.json +68 -0
- package/docs/policies/monetization-inbound/doc.md +87 -0
- package/docs/policies/monetization-inbound/intro.md +6 -0
- package/docs/policies/monetization-inbound/schema.json +102 -0
- package/docs/policies/mtls-auth-inbound/intro.md +6 -0
- package/docs/policies/mtls-auth-inbound/schema.json +68 -0
- package/docs/policies/okta-fga-authz-inbound/doc.md +181 -0
- package/docs/policies/okta-fga-authz-inbound/intro.md +20 -0
- package/docs/policies/okta-fga-authz-inbound/schema.json +104 -0
- package/docs/policies/okta-jwt-auth-inbound/intro.md +7 -0
- package/docs/policies/okta-jwt-auth-inbound/schema.json +74 -0
- package/docs/policies/open-id-jwt-auth-inbound/doc.md +58 -0
- package/docs/policies/open-id-jwt-auth-inbound/intro.md +30 -0
- package/docs/policies/open-id-jwt-auth-inbound/schema.json +128 -0
- package/docs/policies/openfga-authz-inbound/doc.md +207 -0
- package/docs/policies/openfga-authz-inbound/intro.md +17 -0
- package/docs/policies/openfga-authz-inbound/schema.json +191 -0
- package/docs/policies/openmeter-inbound/doc.md +163 -0
- package/docs/policies/openmeter-inbound/intro.md +18 -0
- package/docs/policies/openmeter-inbound/schema.json +183 -0
- package/docs/policies/prompt-injection-outbound/doc.md +106 -0
- package/docs/policies/prompt-injection-outbound/intro.md +4 -0
- package/docs/policies/prompt-injection-outbound/schema.json +74 -0
- package/docs/policies/propel-auth-jwt-inbound/doc.md +88 -0
- package/docs/policies/propel-auth-jwt-inbound/intro.md +4 -0
- package/docs/policies/propel-auth-jwt-inbound/schema.json +74 -0
- package/docs/policies/query-param-to-header-inbound/doc.md +70 -0
- package/docs/policies/query-param-to-header-inbound/intro.md +5 -0
- package/docs/policies/query-param-to-header-inbound/schema.json +74 -0
- package/docs/policies/quota-inbound/doc.md +235 -0
- package/docs/policies/quota-inbound/intro.md +7 -0
- package/docs/policies/quota-inbound/schema.json +133 -0
- package/docs/policies/rate-limit-inbound/doc.md +78 -0
- package/docs/policies/rate-limit-inbound/intro.md +30 -0
- package/docs/policies/rate-limit-inbound/schema.json +134 -0
- package/docs/policies/rbac-policy-inbound/intro.md +3 -0
- package/docs/policies/rbac-policy-inbound/policy.ts +42 -0
- package/docs/policies/rbac-policy-inbound/schema.json +52 -0
- package/docs/policies/readme-metrics-inbound/doc.md +1 -0
- package/docs/policies/readme-metrics-inbound/intro.md +3 -0
- package/docs/policies/readme-metrics-inbound/schema.json +84 -0
- package/docs/policies/remove-headers-inbound/schema.json +59 -0
- package/docs/policies/remove-headers-outbound/schema.json +59 -0
- package/docs/policies/remove-query-params-inbound/schema.json +59 -0
- package/docs/policies/replace-string-outbound/schema.json +69 -0
- package/docs/policies/request-size-limit-inbound/schema.json +60 -0
- package/docs/policies/request-validation-inbound/doc.md +72 -0
- package/docs/policies/request-validation-inbound/intro.md +24 -0
- package/docs/policies/request-validation-inbound/schema.json +98 -0
- package/docs/policies/require-origin-inbound/intro.md +12 -0
- package/docs/policies/require-origin-inbound/schema.json +65 -0
- package/docs/policies/secret-masking-outbound/doc.md +41 -0
- package/docs/policies/secret-masking-outbound/intro.md +13 -0
- package/docs/policies/secret-masking-outbound/schema.json +65 -0
- package/docs/policies/semantic-cache-inbound/doc.md +63 -0
- package/docs/policies/semantic-cache-inbound/intro.md +4 -0
- package/docs/policies/semantic-cache-inbound/schema.json +179 -0
- package/docs/policies/set-body-inbound/intro.md +7 -0
- package/docs/policies/set-body-inbound/schema.json +56 -0
- package/docs/policies/set-headers-inbound/doc.md +41 -0
- package/docs/policies/set-headers-inbound/intro.md +2 -0
- package/docs/policies/set-headers-inbound/schema.json +83 -0
- package/docs/policies/set-headers-outbound/schema.json +83 -0
- package/docs/policies/set-query-params-inbound/schema.json +83 -0
- package/docs/policies/set-status-outbound/schema.json +62 -0
- package/docs/policies/sleep-inbound/schema.json +56 -0
- package/docs/policies/stripe-webhook-verification-inbound/intro.md +2 -0
- package/docs/policies/stripe-webhook-verification-inbound/schema.json +60 -0
- package/docs/policies/supabase-jwt-auth-inbound/doc.md +29 -0
- package/docs/policies/supabase-jwt-auth-inbound/intro.md +12 -0
- package/docs/policies/supabase-jwt-auth-inbound/schema.json +86 -0
- package/docs/policies/transform-body-inbound/intro.md +8 -0
- package/docs/policies/transform-body-inbound/policy.ts +16 -0
- package/docs/policies/transform-body-inbound/schema.json +27 -0
- package/docs/policies/transform-body-outbound/intro.md +8 -0
- package/docs/policies/transform-body-outbound/policy.ts +19 -0
- package/docs/policies/transform-body-outbound/schema.json +27 -0
- package/docs/policies/upstream-azure-ad-service-auth-inbound/doc.md +82 -0
- package/docs/policies/upstream-azure-ad-service-auth-inbound/intro.md +20 -0
- package/docs/policies/upstream-azure-ad-service-auth-inbound/schema.json +84 -0
- package/docs/policies/upstream-firebase-admin-auth-inbound/intro.md +10 -0
- package/docs/policies/upstream-firebase-admin-auth-inbound/schema.json +68 -0
- package/docs/policies/upstream-firebase-user-auth-inbound/intro.md +2 -0
- package/docs/policies/upstream-firebase-user-auth-inbound/schema.json +113 -0
- package/docs/policies/upstream-gcp-federated-auth-inbound/doc.md +139 -0
- package/docs/policies/upstream-gcp-federated-auth-inbound/intro.md +21 -0
- package/docs/policies/upstream-gcp-federated-auth-inbound/schema.json +96 -0
- package/docs/policies/upstream-gcp-jwt-inbound/intro.md +10 -0
- package/docs/policies/upstream-gcp-jwt-inbound/schema.json +62 -0
- package/docs/policies/upstream-gcp-service-auth-inbound/doc.md +132 -0
- package/docs/policies/upstream-gcp-service-auth-inbound/intro.md +25 -0
- package/docs/policies/upstream-gcp-service-auth-inbound/schema.json +95 -0
- package/docs/policies/upstream-zuplo-jwt-auth-inbound/doc.md +213 -0
- package/docs/policies/upstream-zuplo-jwt-auth-inbound/intro.md +16 -0
- package/docs/policies/upstream-zuplo-jwt-auth-inbound/schema.json +101 -0
- package/docs/policies/validate-json-schema-inbound/doc.md +129 -0
- package/docs/policies/validate-json-schema-inbound/intro.md +7 -0
- package/docs/policies/validate-json-schema-inbound/schema.json +56 -0
- package/docs/policies/web-bot-auth-inbound/doc.md +104 -0
- package/docs/policies/web-bot-auth-inbound/intro.md +16 -0
- package/docs/policies/web-bot-auth-inbound/schema.json +76 -0
- package/docs/policies/xml-to-json-outbound/doc.md +71 -0
- package/docs/policies/xml-to-json-outbound/intro.md +4 -0
- package/docs/policies/xml-to-json-outbound/schema.json +117 -0
- package/docs/programmable-api/audit-log.mdx +74 -0
- package/docs/programmable-api/background-dispatcher.mdx +124 -0
- package/docs/programmable-api/background-loader.mdx +104 -0
- package/docs/programmable-api/cache.mdx +186 -0
- package/docs/programmable-api/compatibility-dates.mdx +201 -0
- package/docs/programmable-api/console-logging.mdx +48 -0
- package/docs/programmable-api/context-data.mdx +127 -0
- package/docs/programmable-api/custom-cors-policy.mdx +64 -0
- package/docs/programmable-api/environment.mdx +328 -0
- package/docs/programmable-api/hooks.mdx +569 -0
- package/docs/programmable-api/http-problems.mdx +385 -0
- package/docs/programmable-api/jwt-service-plugin.mdx +420 -0
- package/docs/programmable-api/logger.mdx +223 -0
- package/docs/programmable-api/memory-zone-read-through-cache.mdx +96 -0
- package/docs/programmable-api/node-modules.mdx +67 -0
- package/docs/programmable-api/not-found-handler.mdx +47 -0
- package/docs/programmable-api/oauth-protected-resource-plugin.mdx +46 -0
- package/docs/programmable-api/overview.mdx +213 -0
- package/docs/programmable-api/problem-response-formatter.mdx +183 -0
- package/docs/programmable-api/request-user.mdx +289 -0
- package/docs/programmable-api/reusing-code.mdx +26 -0
- package/docs/programmable-api/route-raw.mdx +55 -0
- package/docs/programmable-api/runtime-behaviors.mdx +25 -0
- package/docs/programmable-api/runtime-errors.mdx +246 -0
- package/docs/programmable-api/runtime-extensions.mdx +340 -0
- package/docs/programmable-api/safely-clone-a-request-or-response.mdx +57 -0
- package/docs/programmable-api/streaming-zone-cache.mdx +155 -0
- package/docs/programmable-api/web-crypto-apis.mdx +219 -0
- package/docs/programmable-api/web-standard-apis.mdx +109 -0
- package/docs/programmable-api/zone-cache.mdx +131 -0
- package/docs/programmable-api/zp-body-removed.mdx +32 -0
- package/docs/programmable-api/zuplo-context.mdx +414 -0
- package/docs/programmable-api/zuplo-id-token.mdx +90 -0
- package/docs/programmable-api/zuplo-json.mdx +91 -0
- package/docs/programmable-api/zuplo-request.mdx +200 -0
- package/docs/sample-apis.mdx +78 -0
- package/docs/self-hosted/overview.md +60 -0
- package/package.json +6 -5
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Datadog Plugin
|
|
3
|
+
sidebar_label: Datadog Logging
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The Datadog Log plugin enables pushing logs to Datadog.
|
|
7
|
+
|
|
8
|
+
<EnterpriseFeature name="Custom logging" />
|
|
9
|
+
|
|
10
|
+
## Setup
|
|
11
|
+
|
|
12
|
+
To add the Datadog logging plugin to your Zuplo project, add the following code
|
|
13
|
+
to your `zuplo.runtime.ts` file.
|
|
14
|
+
|
|
15
|
+
```ts title="modules/zuplo.runtime.ts"
|
|
16
|
+
import {
|
|
17
|
+
RuntimeExtensions,
|
|
18
|
+
DataDogLoggingPlugin,
|
|
19
|
+
environment,
|
|
20
|
+
} from "@zuplo/runtime";
|
|
21
|
+
|
|
22
|
+
export function runtimeInit(runtime: RuntimeExtensions) {
|
|
23
|
+
runtime.addPlugin(
|
|
24
|
+
new DataDogLoggingPlugin({
|
|
25
|
+
// Optional, defaults to the Datadog logs API endpoint
|
|
26
|
+
url: "https://http-intake.logs.datadoghq.com/api/v2/logs",
|
|
27
|
+
apiKey: environment.DATADOG_API_KEY,
|
|
28
|
+
source: "MyAPI", // Optional, defaults to "Zuplo"
|
|
29
|
+
tags: {
|
|
30
|
+
tag: "hello",
|
|
31
|
+
},
|
|
32
|
+
fields: {
|
|
33
|
+
field1: "value1",
|
|
34
|
+
field2: "value2",
|
|
35
|
+
},
|
|
36
|
+
}),
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Configuration Options
|
|
42
|
+
|
|
43
|
+
The `DataDogLoggingPlugin` constructor accepts an options object with the
|
|
44
|
+
following properties:
|
|
45
|
+
|
|
46
|
+
- `apiKey` - (required) Your Datadog API key for authentication
|
|
47
|
+
- `url` - (optional) The Datadog logs intake URL. Defaults to the Datadog logs
|
|
48
|
+
API endpoint
|
|
49
|
+
- `source` - (optional) The source of the logs, typically the name of the
|
|
50
|
+
application or service. Defaults to "Zuplo"
|
|
51
|
+
- `fields` - (optional) Custom fields to include in each log entry. Can contain
|
|
52
|
+
string, number, or boolean values
|
|
53
|
+
- `tags` - (optional) Custom
|
|
54
|
+
[tags](https://docs.datadoghq.com/getting_started/tagging/) to include in each
|
|
55
|
+
log entry as key-value pairs
|
|
56
|
+
|
|
57
|
+
### Custom Fields
|
|
58
|
+
|
|
59
|
+
Any custom fields you want to include in the log entry can be added to the
|
|
60
|
+
`fields` property. These values will be appended to every log entry.
|
|
61
|
+
|
|
62
|
+
### Tags
|
|
63
|
+
|
|
64
|
+
Any custom tags you want to include in the log entry can be added to the `tags`
|
|
65
|
+
property. These values will be appended to every log entry.
|
|
66
|
+
|
|
67
|
+
## Default Fields
|
|
68
|
+
|
|
69
|
+
Every log entry will include the following fields (in snake_case format for
|
|
70
|
+
Datadog):
|
|
71
|
+
|
|
72
|
+
- `timestamp` - The time the log was created (ISO 8601 format)
|
|
73
|
+
- `severity` - The log level (for example, `ERROR`, `INFO`, `DEBUG`, `WARN`)
|
|
74
|
+
- `message` - The complete log message and data
|
|
75
|
+
- `msg` - The first string message extracted from the log entry
|
|
76
|
+
- `environment_type` - Where the Zuplo API is running. Values are `edge`,
|
|
77
|
+
`working-copy`, or `local`
|
|
78
|
+
- `environment_stage` - The deployment stage: `working-copy`, `preview`, or
|
|
79
|
+
`production`
|
|
80
|
+
- `request_id` - The UUID of the request (the value of the `zp-rid` header)
|
|
81
|
+
- `atomic_counter` - An atomic counter used to order logs with identical
|
|
82
|
+
timestamps
|
|
83
|
+
- `ray_id` - The network provider identifier (for example, Cloudflare Ray ID) of
|
|
84
|
+
the request
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Dynatrace Plugin
|
|
3
|
+
sidebar_label: Dynatrace Logging
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The Dynatrace Log plugin enables pushing logs to Dynatrace.
|
|
7
|
+
|
|
8
|
+
<EnterpriseFeature name="Custom logging" />
|
|
9
|
+
|
|
10
|
+
## Setup
|
|
11
|
+
|
|
12
|
+
To add the Dynatrace logging plugin to your Zuplo project, add the following
|
|
13
|
+
code to your `zuplo.runtime.ts` file.
|
|
14
|
+
|
|
15
|
+
```ts title="modules/zuplo.runtime.ts"
|
|
16
|
+
import {
|
|
17
|
+
RuntimeExtensions,
|
|
18
|
+
DynaTraceLoggingPlugin,
|
|
19
|
+
environment,
|
|
20
|
+
} from "@zuplo/runtime";
|
|
21
|
+
|
|
22
|
+
export function runtimeInit(runtime: RuntimeExtensions) {
|
|
23
|
+
runtime.addPlugin(
|
|
24
|
+
new DynaTraceLoggingPlugin({
|
|
25
|
+
// This is the URL of your Dynatrace logs ingest API
|
|
26
|
+
url: "https://xxxxxxx.live.dynatrace.com/api/v2/logs/ingest",
|
|
27
|
+
apiToken: environment.DYNATRACE_API_TOKEN,
|
|
28
|
+
fields: {
|
|
29
|
+
field1: "value1",
|
|
30
|
+
field2: "value2",
|
|
31
|
+
},
|
|
32
|
+
}),
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Configuration Options
|
|
38
|
+
|
|
39
|
+
The `DynaTraceLoggingPlugin` constructor accepts an options object with the
|
|
40
|
+
following properties:
|
|
41
|
+
|
|
42
|
+
- `url` - (required) The Dynatrace logs ingest API URL (for example,
|
|
43
|
+
`https://xxxxxxx.live.dynatrace.com/api/v2/logs/ingest`)
|
|
44
|
+
- `apiToken` - (required) Your Dynatrace API token. The API token requires the
|
|
45
|
+
`events.ingest` scope
|
|
46
|
+
- `fields` - (optional) Custom fields to include in each log entry. Can contain
|
|
47
|
+
string, number, or boolean values
|
|
48
|
+
|
|
49
|
+
### Custom Fields
|
|
50
|
+
|
|
51
|
+
Any custom fields you want to include in the log entry can be added to the
|
|
52
|
+
`fields` property. These values will be appended to every log entry.
|
|
53
|
+
|
|
54
|
+
## Default Fields
|
|
55
|
+
|
|
56
|
+
Every log entry will include the following fields:
|
|
57
|
+
|
|
58
|
+
- `timestamp` - The time the log was created (ISO 8601 format)
|
|
59
|
+
- `severity` - The log level (for example, `ERROR`, `INFO`, `DEBUG`, `WARN`)
|
|
60
|
+
- `content` - The log message and data
|
|
61
|
+
- `custom.environmentType` - Where the Zuplo API is running. Values are `edge`,
|
|
62
|
+
`working-copy`, or `local`
|
|
63
|
+
- `custom.environmentStage` - The deployment stage: `working-copy`, `preview`,
|
|
64
|
+
or `production`
|
|
65
|
+
- `requestId` - The UUID of the request (the value of the `zp-rid` header)
|
|
66
|
+
- `custom.atomicCounter` - An atomic counter used to order logs with identical
|
|
67
|
+
timestamps
|
|
68
|
+
- `custom.rayId` - The network provider identifier (for example, Cloudflare Ray
|
|
69
|
+
ID) of the request
|
|
70
|
+
|
|
71
|
+
:::note
|
|
72
|
+
|
|
73
|
+
Dynatrace places custom fields under the `custom` namespace in the log entries.
|
|
74
|
+
|
|
75
|
+
:::
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Google Cloud Logging Plugin
|
|
3
|
+
sidebar_label: Google Cloud Logging
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The Google Cloud Log plugin enables pushing logs to your Google Cloud project.
|
|
7
|
+
|
|
8
|
+
<EnterpriseFeature name="Custom logging" />
|
|
9
|
+
|
|
10
|
+
## Setup
|
|
11
|
+
|
|
12
|
+
Before you can use this plugin, you will need to create a GCP Service account
|
|
13
|
+
that grants your Zuplo API to write logs. Create a new GCP Service account and
|
|
14
|
+
give it the **Logs Writer (roles/logging.logWriter)** permission. Create a key
|
|
15
|
+
for the service account in JSON format.
|
|
16
|
+
|
|
17
|
+
After you have downloaded the JSON formatted service account, save it as a
|
|
18
|
+
secret environment variable in your Zuplo project.
|
|
19
|
+
|
|
20
|
+
```ts title="modules/zuplo.runtime.ts"
|
|
21
|
+
import {
|
|
22
|
+
RuntimeExtensions,
|
|
23
|
+
GoogleCloudLoggingPlugin,
|
|
24
|
+
environment,
|
|
25
|
+
} from "@zuplo/runtime";
|
|
26
|
+
|
|
27
|
+
export function runtimeInit(runtime: RuntimeExtensions) {
|
|
28
|
+
runtime.addPlugin(
|
|
29
|
+
new GoogleCloudLoggingPlugin({
|
|
30
|
+
logName: "projects/my-project/logs/my-api",
|
|
31
|
+
serviceAccountJson: environment.GCP_SERVICE_ACCOUNT,
|
|
32
|
+
fields: {
|
|
33
|
+
field1: "value1",
|
|
34
|
+
field2: "value2",
|
|
35
|
+
},
|
|
36
|
+
}),
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Configuration Options
|
|
42
|
+
|
|
43
|
+
The `GoogleCloudLoggingPlugin` constructor accepts an options object with the
|
|
44
|
+
following properties:
|
|
45
|
+
|
|
46
|
+
- `serviceAccountJson` - (required) The JSON content of your Google Cloud
|
|
47
|
+
service account key
|
|
48
|
+
- `logName` - (required) The name of the log in Google Cloud Logging (for
|
|
49
|
+
example, `projects/my-project/logs/my-api`)
|
|
50
|
+
- `fields` - (optional) Custom fields to include in each log entry. Can contain
|
|
51
|
+
string, number, or boolean values
|
|
52
|
+
|
|
53
|
+
### Custom Fields
|
|
54
|
+
|
|
55
|
+
Any custom fields you want to include in the log entry can be added to the
|
|
56
|
+
`fields` property. These values will be appended to every log entry.
|
|
57
|
+
|
|
58
|
+
## Default Fields
|
|
59
|
+
|
|
60
|
+
Every log entry will have a `timestamp` and a `jsonPayload` object. The value of
|
|
61
|
+
the `jsonPayload` contains the text or objects passed into the log.
|
|
62
|
+
|
|
63
|
+
Default fields in the `jsonPayload` are:
|
|
64
|
+
|
|
65
|
+
- `severity` - The log level (for example, `ERROR`, `INFO`, `DEBUG`, `WARN`)
|
|
66
|
+
- `requestId` - The UUID of the request (the value of the `zp-rid` header)
|
|
67
|
+
- `environmentType` - Where the Zuplo API is running. Values are `edge`,
|
|
68
|
+
`working-copy`, or `local`
|
|
69
|
+
- `environmentStage` - The environment stage: `working-copy`, `preview`, or
|
|
70
|
+
`production`
|
|
71
|
+
- `atomicCounter` - An atomic counter used to order logs with identical
|
|
72
|
+
timestamps
|
|
73
|
+
- `environment` - The environment name of the Zuplo API
|
|
74
|
+
- `rayId` - The network provider identifier (for example, Cloudflare Ray ID) of
|
|
75
|
+
the request
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Loki Logging Plugin
|
|
3
|
+
sidebar_label: Loki Logging
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The Loki Log plugin enables pushing logs to your Loki server.
|
|
7
|
+
|
|
8
|
+
<EnterpriseFeature name="Custom logging" />
|
|
9
|
+
|
|
10
|
+
## Setup
|
|
11
|
+
|
|
12
|
+
To add the Loki logging plugin to your Zuplo project, add the following code to
|
|
13
|
+
your `zuplo.runtime.ts` file.
|
|
14
|
+
|
|
15
|
+
```ts title="modules/zuplo.runtime.ts"
|
|
16
|
+
import {
|
|
17
|
+
RuntimeExtensions,
|
|
18
|
+
LokiLoggingPlugin,
|
|
19
|
+
environment,
|
|
20
|
+
} from "@zuplo/runtime";
|
|
21
|
+
|
|
22
|
+
export function runtimeInit(runtime: RuntimeExtensions) {
|
|
23
|
+
runtime.addPlugin(
|
|
24
|
+
new LokiLoggingPlugin({
|
|
25
|
+
// This is the URL of your Loki server
|
|
26
|
+
url: "https://logs-prod-us-central1.grafana.net/loki/api/v1/push",
|
|
27
|
+
username: "my-username",
|
|
28
|
+
job: "my-api",
|
|
29
|
+
password: environment.LOKI_PASSWORD,
|
|
30
|
+
version: 2,
|
|
31
|
+
fields: {
|
|
32
|
+
field1: "value1",
|
|
33
|
+
field2: "value2",
|
|
34
|
+
},
|
|
35
|
+
}),
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Configuration Options
|
|
41
|
+
|
|
42
|
+
The `LokiLoggingPlugin` constructor accepts an options object with the following
|
|
43
|
+
properties:
|
|
44
|
+
|
|
45
|
+
- `url` - (required) The URL of the Loki server (for example,
|
|
46
|
+
`https://logs-prod-us-central1.grafana.net/loki/api/v1/push`)
|
|
47
|
+
- `username` - (required) Username for authentication
|
|
48
|
+
- `password` - (required) Password for authentication
|
|
49
|
+
- `version` - (optional) The version of the Loki transport to use. Version 2
|
|
50
|
+
includes tracing information in log values
|
|
51
|
+
- `job` - (optional) Job name to include in the log stream. Defaults to "zuplo"
|
|
52
|
+
- `fields` - (optional) Custom fields to include in each log entry. Can contain
|
|
53
|
+
string, number, or boolean values
|
|
54
|
+
|
|
55
|
+
### Custom Fields
|
|
56
|
+
|
|
57
|
+
Any custom fields you want to include in the log entry can be added to the
|
|
58
|
+
`fields` property. These values will be appended to every log entry.
|
|
59
|
+
|
|
60
|
+
### Version Configuration
|
|
61
|
+
|
|
62
|
+
Setting the `version` option to `2` changes the log stream to not include the
|
|
63
|
+
`requestId` value in the stream, but rather include it as a log value with other
|
|
64
|
+
tracing information.
|
|
65
|
+
|
|
66
|
+
## Default Fields
|
|
67
|
+
|
|
68
|
+
Every log entry will have a timestamp and structured data. The structure varies
|
|
69
|
+
based on the version configuration.
|
|
70
|
+
|
|
71
|
+
### Stream Labels (all versions)
|
|
72
|
+
|
|
73
|
+
- `job` - The name of the log stream job. Defaults to "zuplo"
|
|
74
|
+
- `level` - The log level (for example, `ERROR`, `INFO`, `DEBUG`, `WARN`)
|
|
75
|
+
- `environmentType` - Where the Zuplo API is running. Values are `edge`,
|
|
76
|
+
`working-copy`, or `local`
|
|
77
|
+
- `environmentStage` - The deployment stage: `working-copy`, `preview`, or
|
|
78
|
+
`production`
|
|
79
|
+
|
|
80
|
+
### Log Fields (version 2+)
|
|
81
|
+
|
|
82
|
+
When using version 2 or later, the following fields are included in the log
|
|
83
|
+
values:
|
|
84
|
+
|
|
85
|
+
- `requestId` - The UUID of the request (the value of the `zp-rid` header)
|
|
86
|
+
- `atomicCounter` - An atomic counter used to order logs with identical
|
|
87
|
+
timestamps
|
|
88
|
+
- `rayId` - The network provider identifier (for example, Cloudflare Ray ID) of
|
|
89
|
+
the request
|
|
90
|
+
|
|
91
|
+
:::note
|
|
92
|
+
|
|
93
|
+
Log trace fields are only included in the log values when the `version` option
|
|
94
|
+
is set to `2` or later. In version 1, `requestId` is included as a stream label.
|
|
95
|
+
|
|
96
|
+
:::
|
|
97
|
+
|
|
98
|
+
## Log Format
|
|
99
|
+
|
|
100
|
+
The shape of the logs sent from Zuplo will be in the following format. If using
|
|
101
|
+
version 2, tracing info (`requestId`, etc.) will be included in the log values.
|
|
102
|
+
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"streams": [
|
|
106
|
+
{
|
|
107
|
+
"stream": {
|
|
108
|
+
"job": "zuplo",
|
|
109
|
+
"level": "debug",
|
|
110
|
+
"environmentType": "local",
|
|
111
|
+
"environmentStage": "local"
|
|
112
|
+
},
|
|
113
|
+
"values": [
|
|
114
|
+
[
|
|
115
|
+
"1712254635666000000",
|
|
116
|
+
"Request received '/hello-world'",
|
|
117
|
+
{
|
|
118
|
+
"requestId": "9b9cd3fd-b0fa-455f-b894-4a5c2c9d131b",
|
|
119
|
+
"rayId": "1235567",
|
|
120
|
+
"atomicCounter": 123435346
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
[
|
|
124
|
+
"1712254635666000000",
|
|
125
|
+
"{\"method\":\"GET\",\"url\":\"/hello-world\",\"hostname\":\"localhost\",\"route\":\"/hello-world\"}",
|
|
126
|
+
{
|
|
127
|
+
"requestId": "9b9cd3fd-b0fa-455f-b894-4a5c2c9d131b",
|
|
128
|
+
"rayId": "1235567",
|
|
129
|
+
"atomicCounter": 123435347
|
|
130
|
+
}
|
|
131
|
+
]
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
```
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: New Relic Plugin
|
|
3
|
+
sidebar_label: New Relic Logging
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The New Relic Log plugin enables pushing logs to New Relic.
|
|
7
|
+
|
|
8
|
+
<EnterpriseFeature name="Custom logging" />
|
|
9
|
+
|
|
10
|
+
## Setup
|
|
11
|
+
|
|
12
|
+
To add the New Relic logging plugin to your Zuplo project, add the following
|
|
13
|
+
code to your `zuplo.runtime.ts` file.
|
|
14
|
+
|
|
15
|
+
```ts title="modules/zuplo.runtime.ts"
|
|
16
|
+
import {
|
|
17
|
+
RuntimeExtensions,
|
|
18
|
+
NewRelicLoggingPlugin,
|
|
19
|
+
environment,
|
|
20
|
+
} from "@zuplo/runtime";
|
|
21
|
+
|
|
22
|
+
export function runtimeInit(runtime: RuntimeExtensions) {
|
|
23
|
+
runtime.addPlugin(
|
|
24
|
+
new NewRelicLoggingPlugin({
|
|
25
|
+
// Optional, defaults to "https://log-api.newrelic.com/log/v1"
|
|
26
|
+
url: "https://log-api.newrelic.com/log/v1",
|
|
27
|
+
apiKey: environment.NEW_RELIC_API_KEY,
|
|
28
|
+
service: "MyAPI", // Optional, defaults to "Zuplo"
|
|
29
|
+
fields: {
|
|
30
|
+
field1: "value1",
|
|
31
|
+
field2: "value2",
|
|
32
|
+
},
|
|
33
|
+
}),
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Configuration Options
|
|
39
|
+
|
|
40
|
+
The `NewRelicLoggingPlugin` constructor accepts an options object with the
|
|
41
|
+
following properties:
|
|
42
|
+
|
|
43
|
+
- `apiKey` - (required) Your New Relic API key for authentication
|
|
44
|
+
- `url` - (optional) The New Relic logs API endpoint. Defaults to
|
|
45
|
+
"https://log-api.newrelic.com/log/v1"
|
|
46
|
+
- `service` - (optional) Service name to identify the source of the logs.
|
|
47
|
+
Defaults to "Zuplo"
|
|
48
|
+
- `fields` - (optional) Custom fields to include in each log entry. Can contain
|
|
49
|
+
string, number, or boolean values
|
|
50
|
+
|
|
51
|
+
### Custom Fields
|
|
52
|
+
|
|
53
|
+
Any custom fields you want to include in the log entry can be added to the
|
|
54
|
+
`fields` property. These values will be appended to every log entry.
|
|
55
|
+
|
|
56
|
+
## Default Fields
|
|
57
|
+
|
|
58
|
+
Every log entry will include the following fields (in snake_case format for New
|
|
59
|
+
Relic):
|
|
60
|
+
|
|
61
|
+
- `message` - The complete log message and data
|
|
62
|
+
- `level` - The log level in lowercase (for example, `error`, `info`, `debug`,
|
|
63
|
+
`warn`)
|
|
64
|
+
- `timestamp` - The time the log was created (in milliseconds since epoch)
|
|
65
|
+
- `service` - The name of the service (defaults to "Zuplo" or custom value
|
|
66
|
+
provided)
|
|
67
|
+
- `environment` - The deployment name of the Zuplo API
|
|
68
|
+
- `environment_type` - Where the Zuplo API is running. Values are `edge`,
|
|
69
|
+
`working-copy`, or `local`
|
|
70
|
+
- `environment_stage` - The deployment stage: `working-copy`, `preview`, or
|
|
71
|
+
`production`
|
|
72
|
+
- `request_id` - The UUID of the request (the value of the `zp-rid` header)
|
|
73
|
+
- `atomic_counter` - An atomic counter used to order logs with identical
|
|
74
|
+
timestamps
|
|
75
|
+
- `ray_id` - The network provider identifier (for example, Cloudflare Ray ID) of
|
|
76
|
+
the request
|
|
77
|
+
- `log_source` - The source of the log entry
|
|
78
|
+
|
|
79
|
+
:::note
|
|
80
|
+
|
|
81
|
+
New Relic uses snake_case naming convention for field names and lowercase log
|
|
82
|
+
levels.
|
|
83
|
+
|
|
84
|
+
:::
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Splunk Plugin (Beta)
|
|
3
|
+
sidebar_label: Splunk Logging
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The Splunk Log plugin enables pushing logs to Splunk using the HTTP Event
|
|
7
|
+
Collector (HEC).
|
|
8
|
+
|
|
9
|
+
<EnterpriseFeature name="Custom logging" />
|
|
10
|
+
|
|
11
|
+
## Setup
|
|
12
|
+
|
|
13
|
+
To add the Splunk logging plugin to your Zuplo project, add the following code
|
|
14
|
+
to your `zuplo.runtime.ts` file.
|
|
15
|
+
|
|
16
|
+
```ts title="modules/zuplo.runtime.ts"
|
|
17
|
+
import {
|
|
18
|
+
RuntimeExtensions,
|
|
19
|
+
SplunkLoggingPlugin,
|
|
20
|
+
environment,
|
|
21
|
+
} from "@zuplo/runtime";
|
|
22
|
+
|
|
23
|
+
export function runtimeInit(runtime: RuntimeExtensions) {
|
|
24
|
+
runtime.addPlugin(
|
|
25
|
+
new SplunkLoggingPlugin({
|
|
26
|
+
// This is the URL of your Splunk HTTP Event Collector (HEC) endpoint
|
|
27
|
+
url: "https://<your-instance>.splunkcloud.com:8088/services/collector",
|
|
28
|
+
token: environment.SPLUNK_TOKEN,
|
|
29
|
+
// Channel ID for Splunk HEC with indexer acknowledgment
|
|
30
|
+
channel: "FE0ECFAD-13D5-401B-847D-77833BD77131",
|
|
31
|
+
// Optional parameters with defaults
|
|
32
|
+
index: "main",
|
|
33
|
+
sourcetype: "json",
|
|
34
|
+
host: "zuplo-api",
|
|
35
|
+
fields: {
|
|
36
|
+
environment: "production",
|
|
37
|
+
application: "my-api",
|
|
38
|
+
},
|
|
39
|
+
}),
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Configuration Options
|
|
45
|
+
|
|
46
|
+
The `SplunkLoggingPlugin` constructor accepts an options object with the
|
|
47
|
+
following properties:
|
|
48
|
+
|
|
49
|
+
- `url` - (required) The URL for the Splunk HTTP Event Collector (HEC) endpoint
|
|
50
|
+
- For self-hosted: `https://<splunk-host>:8088/services/collector`
|
|
51
|
+
- For cloud: `https://<your-instance>.splunkcloud.com:8088/services/collector`
|
|
52
|
+
- For Splunk Cloud with HTTP inputs:
|
|
53
|
+
`https://http-inputs-<your-instance>.splunkcloud.com:8088/services/collector`
|
|
54
|
+
- `token` - (required) The Splunk HEC token for authentication
|
|
55
|
+
- `index` - (optional) The Splunk index to send logs to. Defaults to "main"
|
|
56
|
+
- `sourcetype` - (optional) The source type of the logs. Defaults to "json"
|
|
57
|
+
- `host` - (optional) The host identifier for the logs. Defaults to "zuplo-api"
|
|
58
|
+
- `channel` - (optional) Channel identifier for Splunk HEC with indexer
|
|
59
|
+
acknowledgment. If not provided, the X-Splunk-Request-Channel header won't be
|
|
60
|
+
sent
|
|
61
|
+
- `fields` - (optional) Custom fields to include in each log entry. Can contain
|
|
62
|
+
string, number, or boolean values
|
|
63
|
+
|
|
64
|
+
### Custom Fields
|
|
65
|
+
|
|
66
|
+
Any custom fields you want to include in the log entry can be added to the
|
|
67
|
+
`fields` property. These values will be appended to every log entry.
|
|
68
|
+
|
|
69
|
+
## Default Fields
|
|
70
|
+
|
|
71
|
+
Every log entry will be sent to Splunk with the following structure:
|
|
72
|
+
|
|
73
|
+
### Event Metadata
|
|
74
|
+
|
|
75
|
+
- `time` - The timestamp in seconds since epoch
|
|
76
|
+
- `host` - The host identifier (configurable, defaults to "zuplo-api")
|
|
77
|
+
- `source` - The source identifier
|
|
78
|
+
- `sourcetype` - The source type (configurable, defaults to "json")
|
|
79
|
+
- `index` - The Splunk index (configurable, defaults to "main")
|
|
80
|
+
|
|
81
|
+
### Event Fields (in the `event` object)
|
|
82
|
+
|
|
83
|
+
- `message` - The complete log message and data
|
|
84
|
+
- `level` - The log level in lowercase (for example, `error`, `info`, `debug`,
|
|
85
|
+
`warn`)
|
|
86
|
+
- `timestamp` - The time the log was created (in milliseconds since epoch)
|
|
87
|
+
- `service` - The name of the service (defaults to "Zuplo")
|
|
88
|
+
- `environment` - The deployment name of the Zuplo API
|
|
89
|
+
- `environment_type` - Where the Zuplo API is running. Values are `edge`,
|
|
90
|
+
`working-copy`, or `local`
|
|
91
|
+
- `environment_stage` - The deployment stage: `working-copy`, `preview`, or
|
|
92
|
+
`production`
|
|
93
|
+
- `request_id` - The UUID of the request (the value of the `zp-rid` header)
|
|
94
|
+
- `atomic_counter` - An atomic counter used to order logs with identical
|
|
95
|
+
timestamps
|
|
96
|
+
- `ray_id` - The network provider identifier (for example, Cloudflare Ray ID) of
|
|
97
|
+
the request
|
|
98
|
+
- `log_source` - The source of the log entry
|
|
99
|
+
|
|
100
|
+
:::note
|
|
101
|
+
|
|
102
|
+
Splunk uses snake_case naming convention for field names within the event data.
|
|
103
|
+
|
|
104
|
+
:::
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: SumoLogic Plugin
|
|
3
|
+
sidebar_label: SumoLogic Logging
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The SumoLogic Log plugin enables pushing logs to SumoLogic.
|
|
7
|
+
|
|
8
|
+
<EnterpriseFeature name="Custom logging" />
|
|
9
|
+
|
|
10
|
+
## Setup
|
|
11
|
+
|
|
12
|
+
To add the SumoLogic logging plugin to your Zuplo project, add the following
|
|
13
|
+
code to your `zuplo.runtime.ts` file.
|
|
14
|
+
|
|
15
|
+
```ts title="modules/zuplo.runtime.ts"
|
|
16
|
+
import {
|
|
17
|
+
RuntimeExtensions,
|
|
18
|
+
SumoLogicLoggingPlugin,
|
|
19
|
+
environment,
|
|
20
|
+
} from "@zuplo/runtime";
|
|
21
|
+
|
|
22
|
+
export function runtimeInit(runtime: RuntimeExtensions) {
|
|
23
|
+
runtime.addPlugin(
|
|
24
|
+
new SumoLogicLoggingPlugin({
|
|
25
|
+
// This is the Sumo Logic HTTP collector endpoint URL
|
|
26
|
+
url: "https://endpoint4.collection.sumologic.com/receiver/v1/http/XXXXXX",
|
|
27
|
+
fields: {
|
|
28
|
+
field1: "value1",
|
|
29
|
+
field2: "value2",
|
|
30
|
+
},
|
|
31
|
+
}),
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Configuration Options
|
|
37
|
+
|
|
38
|
+
The `SumoLogicLoggingPlugin` constructor accepts an options object with the
|
|
39
|
+
following properties:
|
|
40
|
+
|
|
41
|
+
- `url` - (required) The Sumo Logic HTTP collector endpoint URL
|
|
42
|
+
- `name` - (optional) The name metadata field for Sumo Logic
|
|
43
|
+
- `category` - (optional) The category metadata field for Sumo Logic
|
|
44
|
+
- `fields` - (optional) Custom fields to include in each log entry. Can contain
|
|
45
|
+
string, number, or boolean values
|
|
46
|
+
|
|
47
|
+
### Custom Fields
|
|
48
|
+
|
|
49
|
+
Any custom fields you want to include in the log entry can be added to the
|
|
50
|
+
`fields` property. These values will be appended to every log entry.
|
|
51
|
+
|
|
52
|
+
## Default Fields
|
|
53
|
+
|
|
54
|
+
Every log entry will include the following fields (in camelCase format):
|
|
55
|
+
|
|
56
|
+
- `timestamp` - The time the log was created (ISO 8601 format)
|
|
57
|
+
- `severity` - The log level (for example, `ERROR`, `INFO`, `DEBUG`, `WARN`)
|
|
58
|
+
- `data` - The log message and any additional data
|
|
59
|
+
- `environmentType` - Where the Zuplo API is running. Values are `edge`,
|
|
60
|
+
`working-copy`, or `local`
|
|
61
|
+
- `environmentStage` - The deployment stage: `working-copy`, `preview`, or
|
|
62
|
+
`production`
|
|
63
|
+
- `requestId` - The UUID of the request (the value of the `zp-rid` header)
|
|
64
|
+
- `atomicCounter` - An atomic counter used to order logs with identical
|
|
65
|
+
timestamps
|
|
66
|
+
- `rayId` - The network provider identifier (for example, Cloudflare Ray ID) of
|
|
67
|
+
the request
|
|
68
|
+
|
|
69
|
+
:::note
|
|
70
|
+
|
|
71
|
+
Sumo Logic uses camelCase naming convention for field names.
|
|
72
|
+
|
|
73
|
+
:::
|