Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

194 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Cloudflare KV Manager

GitHub Docker Pulls License: MIT Version Status Security CodeQL Type Safety

A full-featured management platform for Cloudflare Workers KV, designed for engineering teams and large-scale workloads.

Value Proposition

Browse namespaces with ease. Run bulk operations efficiently. Search across your entire KV footprint. Manage metadata and tags seamlessly. Automate backups to R2. Monitor metric thresholds automatically. Secure everything with Cloudflare Access Zero Trust.

Live Demo β€’ Wiki β€’ Changelog β€’ Release Article

Built on a Modern Stack

Frontend: React | TypeScript | Vite | Tailwind CSS | shadcn/ui

Backend: Cloudflare Workers + KV + D1 + R2 + Durable Objects + Zero Trust

Accelerate Workflows with Powerful Features

  • πŸ—‚οΈ Namespace & Key Management - Full CRUD operations with cursor-based pagination and Grid/List view toggle
  • 🎨 Color Tags - 27-color palette for visual namespace organization
  • πŸ“Š Dual Metadata System - KV Native (1024 bytes) + D1 Custom (unlimited) metadata
  • 🏷️ Tag Organization - Unlimited tags stored in D1 for easy filtering and search
  • πŸ” Advanced Search - Cross-namespace search by key name, tags, and custom metadata
  • ⚑ Bulk Operations - Process thousands of keys efficiently (delete, copy, TTL, tags)
  • πŸ”„ Cross-Namespace Migration - Migrate keys between namespaces with TTL preservation, metadata migration, and rollback support
  • πŸ“₯ Import/Export - JSON/NDJSON support with collision handling
  • ☁️ R2 Backup & Restore - Cloud-native backup with batch operations
  • ⏱️ Scheduled Threshold Monitoring - Track metrics automatically via hourly cron triggers and Cloudflare Analytics API polling to receive alerts when limits are exceeded.
  • πŸ“ˆ Job History - Complete audit trail with event timelines and advanced filtering
  • πŸ“Š Metrics Dashboard - View KV analytics, operation counts, and latency percentiles
  • πŸ₯ Health Dashboard - At-a-glance operational status with health score (including an automatic 15-point penalty for critical threshold breaches), job history, and backup coverage
  • πŸ”” Webhooks - Event-driven HTTP notifications for key operations, bulk jobs, and failures
  • πŸ” Enterprise Auth - Cloudflare Access (Zero Trust) integration
  • 🎨 Modern UI - Dark/light themes, responsive design, built with React + Tailwind CSS

Deploy Instantly with Docker

docker pull writenotenow/kv-manager:latest

docker run -d \
  -p 8787:8787 \
  -e ACCOUNT_ID=your_cloudflare_account_id \
  -e API_KEY=your_cloudflare_api_token \
  -e TEAM_DOMAIN=https://yourteam.cloudflareaccess.com \
  -e POLICY_AUD=your_cloudflare_access_aud_tag \
  --name kv-manager \
  writenotenow/kv-manager:latest

Full Docker Guide β†’ - Docker Compose, Kubernetes, reverse proxy, security

Streamline Local Development

Prerequisites: Node.js 24+ (LTS), Wrangler CLI

Install dependencies:

npm install

Initialize D1 database:

npx wrangler d1 execute kv-manager-metadata-dev --local --file=worker/schema.sql

Start dev servers (2 terminals):

Terminal 1 β€” Frontend:

npm run dev

Terminal 2 β€” Worker:

npx wrangler dev --config wrangler.dev.toml --local

πŸš€ Production Deployment

Create D1 database:

wrangler d1 create kv-manager-metadata

Initialize schema (new installation):

wrangler d1 execute kv-manager-metadata --remote --file=worker/schema.sql

Or migrate (existing installation):

wrangler d1 execute kv-manager-metadata --remote --file=worker/migrations/apply_all_migrations.sql

Set secrets:

wrangler secret put ACCOUNT_ID
wrangler secret put API_KEY
wrangler secret put TEAM_DOMAIN
wrangler secret put POLICY_AUD

Build and deploy:

npm run build
wrangler deploy

Production Deployment Guide β†’ - Complete setup with Cloudflare Access configuration

πŸ“š Documentation

User Guides

Technical Documentation

Deployment & Operations

πŸ—„οΈ Database

KV Manager uses Cloudflare D1 (SQLite) for metadata, tags, audit logs, and job tracking.

Database Schema Documentation β†’

🎨 User Interface

Modern, responsive design with dark/light theme support. Navigate between:

  • Namespaces - Browse and manage KV namespaces
  • Search - Cross-namespace key search
  • Job History - View bulk operations
  • Audit Log - Operation tracking

πŸ” Security

  • Cloudflare Access JWT validation on all production API requests
  • Auth bypassed for localhost development
  • Comprehensive audit logging
  • Protected namespaces hidden from UI

Security Best Practices β†’

πŸ†˜ Troubleshooting

Common issues:

  • Worker not starting - Ensure Wrangler is installed, Node 24+
  • Frontend connection issues - Verify VITE_WORKER_API in .env
  • D1 errors - Reinitialize with worker/schema.sql
  • Search not working - Keys need D1 metadata (auto-indexed when created via UI)

Complete Troubleshooting Guide β†’

🀝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Contributing Guide β†’

πŸ“„ License

MIT License - see LICENSE for details

πŸ’¬ Support

⭐ Show Your Support

If you find KV Manager useful, please consider giving it a star on GitHub!


Made with ❀️ for the Cloudflare community

About

Self-hosted web app for Cloudflare KV. Browse namespaces, run bulk operations, search across your entire KV footprint, manage metadata and tags, automate backups to R2, and secure everything with Cloudflare Access Zero Trust and GitHub SSO.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Used by

Contributors

Languages