Deploy
Ada dua hal yang di-deploy secara terpisah:
- Worker Bangk-Shield — engine honeypot itu sendiri.
- Situs dokumentasi ini — Astro Starlight statis di subdomain
bangk-shield.bangkah.tech.
Keduanya bisa berada di satu repository, tetapi merupakan dua project Cloudflare yang berbeda.
Deploy Worker
Section titled “Deploy Worker”1. Siapkan konfigurasi
Section titled “1. Siapkan konfigurasi”Pastikan wrangler.toml sudah berisi:
idnamespace KV darinpm run kv:create.- Binding
BANGK_ANALYTICS. ORIGIN_URLyang menunjuk origin asli, atau binding[assets]jika Worker juga menyajikan aset statis.
2. Pilih cara routing
Section titled “2. Pilih cara routing”Opsi A — di depan zona Cloudflare Anda:
routes = [ { pattern = "yourdomain.com/*", zone_name = "yourdomain.com" }]Opsi B — subdomain workers.dev untuk pengujian:
Biarkan routes kosong. Cloudflare akan memberikan URL bangk-shield.<subdomain>.workers.dev.
Contoh lengkap Worker di depan situs Cloudflare Pages, termasuk migrasi nameserver dan pengaturan DNS, ada di Integrasi dengan Cloudflare Pages.
3. Deploy
Section titled “3. Deploy”npm run deploypredeploy otomatis menjalankan npm run build:rules, jadi artefak rule selalu diperbarui.
Jika build rules gagal, deploy dibatalkan.
4. Pantau log
Section titled “4. Pantau log”npm run tailGunakan ini untuk melihat error runtime dan kegagalan penulisan Analytics Engine.
Deploy situs dokumentasi
Section titled “Deploy situs dokumentasi”Dokumentasi berada di folder docs/ dan di-deploy sebagai Cloudflare Pages project
terpisah dengan nama bangk-shield-docs.
Struktur yang dipakai
Section titled “Struktur yang dipakai”Bangk-Shield/├── docs/│ ├── astro.config.mjs│ ├── package.json│ ├── public/│ └── src/│ ├── assets/│ ├── content/docs/│ └── styles/└── .github/workflows/deploy-docs.yml1. Buat project Pages
Section titled “1. Buat project Pages”Sekali saja, dari root repository:
npx wrangler pages project create bangk-shield-docs --production-branch main2. Deploy manual (opsional)
Section titled “2. Deploy manual (opsional)”npm run docs:buildnpx wrangler pages deploy docs/dist --project-name bangk-shield-docs --branch mainAtau langsung:
npm run docs:deploy3. Deploy otomatis lewat GitHub Actions
Section titled “3. Deploy otomatis lewat GitHub Actions”Workflow .github/workflows/deploy-docs.yml berjalan setiap ada perubahan di docs/
atau pada file workflow itu sendiri.
Tambahkan dua repository secret berikut di repository Bangk-Shield:
| Secret | Isi |
|---|---|
CLOUDFLARE_API_TOKEN |
Token dengan permission Account > Cloudflare Pages > Edit |
CLOUDFLARE_ACCOUNT_ID |
Account ID dari dashboard Cloudflare |
Setelah itu, push ke main akan otomatis membangun dan men-deploy dokumentasi.
4. Pasang subdomain lewat Worker
Section titled “4. Pasang subdomain lewat Worker”Dokumentasi dipublikasikan di bangk-shield.bangkah.tech, tetapi hostname itu dipegang
Worker, bukan custom domain Pages. Project Pages tetap di bangk-shield-docs.pages.dev
sebagai origin.
-
Pastikan origin sudah live:
Terminal window curl -I https://bangk-shield-docs.pages.dev/ -
Di DNS → Records, tambahkan:
Tipe Nama Target Proxy CNAME bangk-shieldbangk-shield-docs.pages.devProxied -
Jangan menambahkan
bangk-shield.bangkah.techsebagai custom domain di projectbangk-shield-docs. Satu hostname hanya boleh dimiliki satu layanan. -
Isi
wrangler.toml:routes = [{ pattern = "bangk-shield.bangkah.tech/*", zone_name = "bangkah.tech" }][vars]ORIGIN_URL = "https://bangk-shield-docs.pages.dev" -
Deploy Worker:
Terminal window npm run deploy
Jangan memakai route bangkah.tech/* atau *.bangkah.tech/*. Apex disiapkan untuk index
project lain, dan wildcard akan menangkap semua subdomain project. Panduan lengkap ada di
Deploy di Subdomain bangkah.tech.
5. Verifikasi
Section titled “5. Verifikasi”curl -I https://bangk-shield.bangkah.tech/curl -i https://bangk-shield.bangkah.tech/etc/passwdPastikan halaman dokumentasi merespons 200 tanpa header honeypot, sedangkan path serangan
mendapat X-Bangk-Shield: honeypot-active. Jika masih 522 atau 404, tunggu beberapa
menit sampai propagasi DNS dan deployment selesai.
Variabel build dokumentasi
Section titled “Variabel build dokumentasi”| Item | Nilai |
|---|---|
| Root directory | docs |
| Build command | npm ci && npm run build |
| Output directory | dist |
| Node.js | 22 atau lebih baru |
Nilai site di docs/astro.config.mjs sudah diarahkan ke
https://bangk-shield.bangkah.tech, sehingga canonical URL dan sitemap konsisten.
Checklist setelah deploy
Section titled “Checklist setelah deploy”- Worker merespons request serangan dengan header
X-Bangk-Shield: honeypot-active. - Trafik normal sampai ke origin (bukan halaman placeholder).
- KV
strike:<ip>terisi setelah beberapa trigger. - Event muncul di dataset
bangk_shield_events. -
bangk-shield.bangkah.techdapat diakses dengan HTTPS. - Workflow GitHub Actions hijau dan deployment baru muncul di tab Deployments.