Konfigurasi wrangler.toml
wrangler.toml mengatur cara Worker di-deploy dan sumber daya Cloudflare yang dipakai.
Konfigurasi dasar
Section titled “Konfigurasi dasar”name = "bangk-shield"main = "src/index.js"compatibility_date = "2026-01-01"| Field | Fungsi |
|---|---|
name |
Nama Worker di dashboard Cloudflare |
main |
Entry point Worker; mengarah ke src/index.js |
compatibility_date |
Tanggal kompatibilitas runtime Workers |
Routing
Section titled “Routing”Opsi A — di depan zona Cloudflare
Section titled “Opsi A — di depan zona Cloudflare”routes = [ { pattern = "yourdomain.com/*", zone_name = "yourdomain.com" }]Semua request ke domain tersebut melewati Worker sebelum mencapai origin. Contoh konkret untuk situs di Cloudflare Pages ada di Integrasi dengan Cloudflare Pages.
Opsi B — subdomain workers.dev
Section titled “Opsi B — subdomain workers.dev”Biarkan routes kosong. Setelah deploy, Worker tersedia di
https://bangk-shield.<subdomain>.workers.dev.
Aset statis
Section titled “Aset statis”Jika Worker juga menyajikan aset statis:
[assets]directory = "./public"binding = "ASSETS"passthrough() memprioritaskan env.ASSETS jika tersedia. Jika tidak, ia memakai ORIGIN_URL.
Workers KV
Section titled “Workers KV”[[kv_namespaces]]binding = "BANGK_KV"id = "09533093da544735b0efb0a9f8e47f81"Dipakai untuk:
strike:<ip>— counter circuit breaker.wm:salt:current— salt watermark aktif.wm:salt:history— riwayat salt.
Buat namespace baru dengan:
npm run kv:createAnalytics Engine
Section titled “Analytics Engine”[[analytics_engine_datasets]]binding = "BANGK_ANALYTICS"dataset = "bangk_shield_events"Tanpa binding ini, logging tidak berfungsi sama sekali. Lihat Logging.
Environment variable
Section titled “Environment variable”[vars]ORIGIN_URL = "https://origin-anda.example.com"WATERMARK_SALT = "dev-only-change-me"CIRCUIT_BREAKER_ENABLED = "true"| Variabel | Default di repo | Fungsi |
|---|---|---|
ORIGIN_URL |
"" |
URL origin untuk passthrough(). Wajib untuk produksi jika tidak memakai ASSETS. |
WATERMARK_SALT |
"dev-only-change-me" |
Fallback salt jika KV tidak tersedia. |
CIRCUIT_BREAKER_ENABLED |
"true" |
"false" menonaktifkan circuit breaker. |
ADMIN_PATH |
dikomentari | Placeholder dashboard; belum diimplementasikan. |
Variabel rahasia
Section titled “Variabel rahasia”Untuk nilai sensitif, gunakan secret Wrangler, bukan [vars]:
npx wrangler secret put NAMA_SECRETSaat ini engine tidak membutuhkan secret wajib di luar konfigurasi di atas.
Contoh lengkap
Section titled “Contoh lengkap”name = "bangk-shield"main = "src/index.js"compatibility_date = "2026-01-01"
routes = [ { pattern = "example.com/*", zone_name = "example.com" }]
[[kv_namespaces]]binding = "BANGK_KV"id = "id-namespace-anda"
[[analytics_engine_datasets]]binding = "BANGK_ANALYTICS"dataset = "bangk_shield_events"
[vars]ORIGIN_URL = "https://origin.example.com"WATERMARK_SALT = "dev-only-change-me"CIRCUIT_BREAKER_ENABLED = "true"Perintah operasional
Section titled “Perintah operasional”| Perintah | Fungsi |
|---|---|
npm run dev |
Jalankan Worker lokal dengan rules terbaru |
npm run deploy |
Build rules lalu deploy |
npm run tail |
Stream log Worker |
npm run kv:create |
Buat namespace KV |
npm run salt:rotate |
Gagal — skrip belum ada |
Kompatibilitas versi
Section titled “Kompatibilitas versi”| Komponen | Versi di repo |
|---|---|
| Wrangler | ^3.90.0 (terpasang 3.114.17 saat dokumentasi ini dibuat) |
@cloudflare/workers-types |
^4.20260702.1 |
| Node.js | >=18 |
Wrangler 4 juga dapat dipakai, tetapi sintaks perintah KV sedikit berbeda
(wrangler kv key get vs wrangler kv:key get).