Edge KV-store — globális key-value DB a saját static site-jaidhoz
Config-store, feature-flag, A/B-test, user-preference REST API-n. PAT-tokennel, namespaced.
Az Edge KV-store plugin egy D1-háttér REST KV-API, amit a saját static site-jaidból (Astro / Next.js / plain HTML) hívhatsz. Tipikus use-case-ek: config-store, feature-flag, A/B-test, user-preference.
1. Aktiválás
/app/plugins → Edge KV-store → ”+ Aktiválom”. Free: 100 kulcs / 25 KB érték / 1 000 write/hó. Start (990 Ft): 10k / 100KB / 100k. Pro (4990 Ft): 1M / 256KB / 10M.
2. PAT-token
/app/profil → Tokenek → új token:
- Scope:
kv:readés/vagykv:write - Token-string egyszer látszik, másold biztos helyre
3. REST API
GET — érték olvasása
curl -H "Authorization: Bearer promnet_pat_..." \
https://promnet.hu/api/edge-kv/<namespace>/<key>
A válasz a tárolt érték közvetlenül, az eredeti Content-Type header-rel
(text/plain, application/json, text/html, stb.).
PUT — mentés
curl -X PUT -H "Authorization: Bearer promnet_pat_..." \
-H "Content-Type: application/json" \
-d '{"enabled":true,"variant":"B"}' \
https://promnet.hu/api/edge-kv/feature-flags/welcome-banner
Válasz: {"ok":true,"entry":{...}}
DELETE
curl -X DELETE -H "Authorization: Bearer promnet_pat_..." \
https://promnet.hu/api/edge-kv/feature-flags/welcome-banner
LIST kulcsok
curl -H "Authorization: Bearer promnet_pat_..." \
"https://promnet.hu/api/edge-kv/feature-flags?prefix=welcome&limit=50"
Válasz: {"ok":true,"namespace":"feature-flags","keys":[{"key":"...", "size_bytes":N, "updated_at":...}]}
4. Webes UI
/app/edge-kv: list namespaces, ”➕ Új kulcs / érték mentése”, namespace-enkénti kulcs-listázás, törlés.
5. Use-case példák
Feature-flag — kapcsold be új feature-t kód-deploy nélkül
// kliens-oldali static-site-ban
const r = await fetch('https://promnet.hu/api/edge-kv/flags/show-cookie-banner', {
headers: { 'Authorization': 'Bearer promnet_pat_...' },
});
const enabled = (await r.text()) === 'true';
if (enabled) showCookieBanner();
A/B-test — variant-elosztás
const r = await fetch('.../ab-tests/landing-hero', {...});
const variant = await r.text(); // 'A' vagy 'B'
Config-store — runtime-konfiguráció külön deploy nélkül
curl -X PUT -d '{"sale_active":true,"discount_pct":15}' \
.../api/edge-kv/site-config/promo
6. Limit-ek
- Namespace: 3-64 char, alnum +
_- - Key: 1-256 char, alnum +
./:-_ - Value-méret: 25 KB (free) / 100 KB (start) / 256 KB (pro)
- Throughput: havi write-cap kvóta szerint
7. Mit NEM jó tenni KV-ba?
- Felhasználói adatok (PII) — D1-be tedd, mert a KV-ben nincs index/query
- Nagy fájlok (>256 KB) — R2-be tedd
- Tranzakcionális logika — KV nem ACID, atomic-bumpok nem támogatottak