Kv
Key Value storage solution for Cloudflare Workers
Install / Use
/learn @adaptive/KvREADME
KV Utility
A KV storage solution for Cloudflare Workers and Stackpath Serverless Scripting, that uses S3 providers as vendors, like AWS, Wasabi. Optionally you can encrypt your values at rest.
🔨 Install with yarn or npm
yarn add @adaptivelink/kv
npm i @adaptivelink/kv
⚙️ Environment Variables
You need to configured the variables (Environment or Global) with your vendor data.
- KV_ACCESS_KEY_ID
- KV_SECRET_ACCESS_KEY 🔒
- KV_DEFAULT_REGION
- KV_S3_BUCKET
- KV_NAMESPACE_PASSPHRASE 🔒 (optional)
🔒 Should be stored as environment encrypted variable, avoid global variable.
🔓 Basic Usage in Cloudflare & Stackpath
import KV from "@adaptivelink/kv";
const NAMESPACE = new KV("namespace");
const handleRequest = async (event) => {
const keyValue = await NAMESPACE.get("key");
event.waitUntil(await NAMESPACE.put("hello", "world"));
};
🔐 Usage with Encrypted Values
...
const NAMESPACE = new KV("namespace", {
passphrase: KV_NAMESPACE_PASSPHRASE,
});
...
🔩 Methods
Writing Key-value pair
await NAMESPACE.put(key, value)
Reading Key-value pair
await NAMESPACE.get(key)
Deleting Key-value pair
await NAMESPACE.get(key)
🌐 Tested Vendors
|Vendor|Data Consistency| |---|---| |AWS S3|strong read-after-write| |Wasabi|subsecond read-after-write consistency|
⚠️ Security Disclaimer
This software offers no guarantees, we strongly advise that you audit the code.
When using encrypted KV option, only the values are encrypted with AES-GCM algorithm. That data is stored at the vendor encrypted, but encrypted/decrypted by the ⚙️ Worker script, meaning that the Isolate will have full access to the values. It would help if you referred to your serverless provider's terms to analyse their scope of access.
🥰 Contribution
Feel free to contribute with more features, documentation, and test with more vendors. Send your feedback.
Related Skills
tmux
334.9kRemote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
blogwatcher
334.9kMonitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.
product
Cloud-agnostic Kubernetes infrastructure with Terraform & Helm for homelabs, edge, and production clusters.
Unla
2.1k🧩 MCP Gateway - A lightweight gateway service that instantly transforms existing MCP Servers and APIs into MCP servers with zero code changes. Features Docker deployment and management UI, requiring no infrastructure modifications.
