Lewati ke konten

Konfigurasi wrangler.toml

wrangler.toml mengatur cara Worker di-deploy dan sumber daya Cloudflare yang dipakai.

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
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.

Biarkan routes kosong. Setelah deploy, Worker tersedia di https://bangk-shield.<subdomain>.workers.dev.

Jika Worker juga menyajikan aset statis:

[assets]
directory = "./public"
binding = "ASSETS"

passthrough() memprioritaskan env.ASSETS jika tersedia. Jika tidak, ia memakai ORIGIN_URL.

[[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:

Terminal window
npm run kv:create
[[analytics_engine_datasets]]
binding = "BANGK_ANALYTICS"
dataset = "bangk_shield_events"

Tanpa binding ini, logging tidak berfungsi sama sekali. Lihat Logging.

[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.

Untuk nilai sensitif, gunakan secret Wrangler, bukan [vars]:

Terminal window
npx wrangler secret put NAMA_SECRET

Saat ini engine tidak membutuhkan secret wajib di luar konfigurasi di atas.

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 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
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).