From bf8f6b01f8839536bf0db33266ee37e44371afd4 Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Tue, 9 Sep 2025 05:12:27 -0700 Subject: [PATCH] Update wrangler.toml --- wrangler.toml | 248 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 230 insertions(+), 18 deletions(-) diff --git a/wrangler.toml b/wrangler.toml index 35d7bb1..6bab44c 100644 --- a/wrangler.toml +++ b/wrangler.toml @@ -1,41 +1,253 @@ -# For more details on how to configure Wrangler, refer to: -# https://developers.cloudflare.com/workers/wrangler/configuration/ +# Wrangler configuration for Cloudflare Workers +# Docs: https://developers.cloudflare.com/workers/wrangler/configuration/ +# This template aims to enumerate the major, commonly used options in wrangler.toml. +# Not every experimental/beta option is listed; prefer official docs for edge cases. -name = "apip" +# Required: unique Worker name in your Cloudflare account. +name = "" + +# Entry point for a Modules Worker. Use .ts/.mjs if needed. +# If you ship a Service Worker script instead of Modules, see [build.upload] below. main = "index.js" + +# Required: locks your Worker to a specific runtime API version. +# Bump intentionally after testing: https://developers.cloudflare.com/workers/platform/compatibility-dates/ compatibility_date = "2025-09-09" -# Durable Objects -# [[migrations]] -# tag = "v1" -# new_sqlite_classes = ["MyDurableObject"] +# Optional: granular runtime feature flags; use sparingly. +# Example: ["nodejs_compat"] or other flags listed in docs. +# https://developers.cloudflare.com/workers/platform/compatibility-dates/#compatibility-flags +# compatibility_flags = [] -# [durable_objects] -# bindings = [ -# { name = "MY_DURABLE_OBJECT", class_name = "MyDurableObject" } -# ] +# Optional: enable Node.js API polyfills (fetch-based). Prefer compatibility_flags where appropriate. +# node_compat = true +# Account to deploy under (auto-detected by login, but set explicitly for CI). +# https://developers.cloudflare.com/workers/wrangler/commands/#login +# account_id = "" + +# Deploy to *.workers.dev when true (useful without routes/zone). +# workers_dev = true + +# Retain vars across publish if they already exist on the server (helps CI idempotency). +keep_vars = true + +# Choose pricing/limits model. "bundled" (default) or "unbound". +# https://developers.cloudflare.com/workers/platform/pricing/#usage-models +# usage_model = "bundled" + +# Routing +# Simple route list (no per-route options). Requires a zone. +# routes = ["example.com/*", "api.example.com/*"] + +# Advanced per-route objects. Use either routes above OR [[routes]] blocks below. +# [[routes]] +# pattern = "example.com/*" +# zone_name = "example.com" # or zone_id = "..." +# # Optional: custom placement per route (rare). See [placement] below. +# # script = "" # only when defining routes for other scripts + +# Triggers (CRON) +# CRON schedules in crontab format (UTC). Your Worker must export a scheduled handler. +# https://developers.cloudflare.com/workers/configuration/cron-triggers/ +# [triggers] +# crons = ["*/5 * * * *"] + +# Observability +# Collect platform metrics/traces; view in Dashboard > Observability. [observability] enabled = true +# head_sampling_rate = 1.0 # 0.0–1.0 fraction to sample traces, when supported. # Smart Placement -# Docs: https://developers.cloudflare.com/workers/configuration/smart-placement/#smart-placement +# Let Cloudflare place your Worker near the origin/data location automatically. +# https://developers.cloudflare.com/workers/configuration/smart-placement/ # [placement] -# mode = "smart" +# mode = "smart" # "smart" or "off" (default if omitted) -# Environment Variables +# Environment Variables (plaintext) +# Do NOT store secrets here. For secrets, use `wrangler secret put`. # https://developers.cloudflare.com/workers/wrangler/configuration/#environment-variables # [vars] -# MY_VARIABLE = "production_value" +# NODE_ENV = "production" +# API_BASE_URL = "https://api.example.com" -# Static Assets +# Secrets +# Define at deploy-time: +# $ wrangler secret put MY_SECRET +# They do not appear in wrangler.toml by design. + +# Static Assets (Workers Assets) +# Serve static files bundled into your Worker and expose as a binding. # https://developers.cloudflare.com/workers/static-assets/binding/ # [assets] -# directory = "./public/" +# directory = "./public" # binding = "ASSETS" +# html_handling = "auto" # "auto" | "none" +# not_found_handling = "none" # "none" | "single-page-application" -# Service Bindings (communicate between multiple Workers) +# Modules: additional resources +# Inline module maps. Keys become import names in your worker code. +# [wasm_modules] +# WASM_PARSER = "./wasm/parser.wasm" + +# [text_blobs] +# EMAIL_TEMPLATE = "./templates/welcome.txt" + +# [data_blobs] +# BINARY_CHUNK = "./assets/blob.bin" + +# Build Pipeline +# Run a custom build before publish/dev. +# https://developers.cloudflare.com/workers/wrangler/configuration/#build +# [build] +# command = "npm run build" +# cwd = "." # working directory for the build command +# watch_dir = "src" # re-run build during `wrangler dev` on changes + +# Switch between Modules and Service Worker upload formats. +# [build.upload] +# format = "modules" # "modules" (default) or "service-worker" +# main = "./worker.js" # if using service-worker format, point to the SW bundle +# dir = "dist" # directory to upload when using service-worker format +# rules = [ +# { type = "Text", globs = ["**/*.txt"] }, +# { type = "Data", globs = ["**/*.bin"] }, +# { type = "CompiledWasm", globs = ["**/*.wasm"] }, +# ] + +# Local Dev Server +# Customize `wrangler dev` behavior. +# https://developers.cloudflare.com/workers/wrangler/configuration/#dev +# [dev] +# ip = "127.0.0.1" +# port = 8787 +# local_protocol = "http" # "http" or "https" +# host = "localhost" +# live_reload = true +# inspector_port = 9229 + +# KV Namespaces +# https://developers.cloudflare.com/workers/wrangler/configuration/#kv-namespaces +# [[kv_namespaces]] +# binding = "MY_KV" +# id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +# preview_id = "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy" + +# R2 Object Storage +# https://developers.cloudflare.com/r2/ +# [[r2_buckets]] +# binding = "MY_BUCKET" +# bucket_name = "my-bucket" + +# D1 Databases +# https://developers.cloudflare.com/d1/ +# [[d1_databases]] +# binding = "DB" +# database_name = "my-db" +# database_id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" +# preview_database_id = "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy" + +# Durable Objects (fully commented) +# Bind Durable Object classes by name. Implement and export classes in your code. +# https://developers.cloudflare.com/workers/runtime-apis/durable-objects/ +# [durable_objects] +# bindings = [ +# { name = "MY_DO", class_name = "MyDurableObject" } +# ] + +# Durable Object migrations define class lifecycle changes over time. +# Apply sequentially; never edit old tags once deployed. +# https://developers.cloudflare.com/workers/wrangler/configuration/#migrations +# [[migrations]] +# tag = "v1" +# new_classes = ["MyDurableObject"] + +# [[migrations]] +# tag = "v2" +# renamed_classes = [{ from = "MyDurableObject", to = "MyDO" }] + +# [[migrations]] +# tag = "v3" +# deleted_classes = ["LegacyObject"] + +# Queues (Producers & Consumers) +# https://developers.cloudflare.com/queues/ +# [queues] +# [[queues.producers]] +# binding = "MY_QUEUE" +# queue = "my-queue" +# [[queues.consumers]] +# queue = "my-queue" +# max_batch_size = 10 +# max_batch_timeout = 2 # seconds +# max_retries = 3 +# dead_letter_queue = "my-queue-dlq" + +# Analytics Engine +# https://developers.cloudflare.com/analytics/analytics-engine/ +# [[analytics_engine_datasets]] +# binding = "ANALYTICS" +# dataset = "my_dataset" + +# Vectorize (Vector DB) +# https://developers.cloudflare.com/vectorize/ +# [[vectorize]] +# binding = "VECTORS" +# index_name = "my-index" + +# Hyperdrive (Managed Postgres Connectivity) +# https://developers.cloudflare.com/hyperdrive/ +# [[hyperdrive]] +# binding = "PG" +# id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # Hyperdrive config ID + +# Browser Rendering API +# https://developers.cloudflare.com/browser-rendering/ +# [browser] +# binding = "BROWSER" + +# Service Bindings (intra-account Workers RPC) # https://developers.cloudflare.com/workers/wrangler/configuration/#service-bindings # [[services]] # binding = "MY_SERVICE" # service = "my-service" +# environment = "production" # optional + +# Dispatch Namespaces (advanced routing to multiple services) +# https://developers.cloudflare.com/workers/learning/service-dispatch/ +# [[dispatch_namespaces]] +# binding = "DISPATCH" +# namespace = "my-namespace" + +# Tail Consumers (forward tail logs to another Worker) +# https://developers.cloudflare.com/workers/platform/tail-workers/ +# [[tail_consumers]] +# service = "log-sink" +# environment = "production" + +# mTLS Certificates for outbound requests (Client Certs) +# https://developers.cloudflare.com/workers/runtime-apis/mtls/ +# [[mtls_certificates]] +# binding = "CLIENT_CERT" +# certificate_id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + +# AI (Workers AI binding) +# https://developers.cloudflare.com/workers-ai/ +# [ai] +# binding = "AI" + +# Per-Environment Overrides +# Any top-level key can be nested under [env.] to override for that env. +# Example: production overrides. +# [env.production] +# route = "api.example.com/*" +# vars = { NODE_ENV = "production" } +# [env.production.kv_namespaces] +# # env-scoped tables must be re-declared within env blocks as needed. + +# Notes: +# • Secrets are managed via `wrangler secret` and never stored here. +# • Avoid enabling flags you don’t need. Test changes behind environments. +# • When using routes, ensure the zone is in the same account as `account_id`. +# • Prefer Modules syntax for new Workers.