{"id":29182537,"url":"https://github.com/jurshsmith/vaultstream","last_synced_at":"2026-04-25T08:35:32.055Z","repository":{"id":302281028,"uuid":"1011851015","full_name":"Jurshsmith/vaultstream","owner":"Jurshsmith","description":"High-Performance Distributed Digital Signature System","archived":false,"fork":false,"pushed_at":"2025-07-01T13:23:47.000Z","size":1145,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-01T14:30:10.163Z","etag":null,"topics":["cryptography","ecdsa-key-pair","golang","jetstream","nats-streaming","postgresql"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jurshsmith.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-01T12:34:43.000Z","updated_at":"2025-07-01T13:26:50.000Z","dependencies_parsed_at":"2025-07-01T14:31:55.225Z","dependency_job_id":"cfe581e8-c7aa-4cfe-bd91-2d5c7bb530be","html_url":"https://github.com/Jurshsmith/vaultstream","commit_stats":null,"previous_names":["jurshsmith/vaultstream"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Jurshsmith/vaultstream","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jurshsmith%2Fvaultstream","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jurshsmith%2Fvaultstream/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jurshsmith%2Fvaultstream/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jurshsmith%2Fvaultstream/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jurshsmith","download_url":"https://codeload.github.com/Jurshsmith/vaultstream/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jurshsmith%2Fvaultstream/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263029214,"owners_count":23402354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cryptography","ecdsa-key-pair","golang","jetstream","nats-streaming","postgresql"],"created_at":"2025-07-01T20:06:37.834Z","updated_at":"2026-04-25T08:35:32.027Z","avatar_url":"https://github.com/Jurshsmith.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔐 VaultStream\n\n\u003e **High-Performance Distributed Digital Signature System**  \n\u003e A microservices-based cryptographic infrastructure for secure record signing at scale, built with Go and event-driven architecture.\n\n![Go](https://img.shields.io/badge/Go-1.18+-00ADD8?style=flat-square\u0026logo=go)\n![PostgreSQL](https://img.shields.io/badge/PostgreSQL-316192?style=flat-square\u0026logo=postgresql\u0026logoColor=white)\n![NATS](https://img.shields.io/badge/NATS-27AAE1?style=flat-square\u0026logo=nats.io\u0026logoColor=white)\n![Docker](https://img.shields.io/badge/Docker-2496ED?style=flat-square\u0026logo=docker\u0026logoColor=white)\n\n---\n\n## ✨ Overview\n\nVaultStream is a production-ready distributed system designed for high-throughput digital signature operations. It demonstrates enterprise-grade patterns including event-driven microservices, concurrent processing, and cryptographic best practices.\n\n### 🎯 Key Features\n\n- **🔑 ECDSA Cryptography** - P-256 curve key generation and digital signatures\n- **⚡ High Concurrency** - Configurable goroutine pools with semaphore-based flow control\n- **📊 Batch Processing** - Optimized bulk operations with chunking and parallel execution\n- **🔄 Event-Driven Architecture** - NATS JetStream for reliable message delivery\n- **🗄️ Resilient Data Layer** - PostgreSQL with Ent ORM and migration support\n- **📈 Performance Tuning** - Configurable batch sizes and concurrency levels\n- **🧪 Production Testing** - Integration tests with real database connections\n\n## 🏗️ Architecture\n\n### System Components\n\n```\n┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐\n│   Keys Service  │    │  Records Service │    │ Signing Service │\n│                 │    │                  │    │                 │\n│ • ECDSA Key Gen │    │ • Batch Queries  │    │ • Concurrent    │\n│ • Key Streaming │    │ • Record Publish │    │   Signing       │\n│ • Concurrency   │────┤ • DB Integration │────┤ • Bulk Inserts  │\n└─────────────────┘    └──────────────────┘    └─────────────────┘\n         │                        │                        │\n         └────────────────────────┼────────────────────────┘\n                                  │\n                    ┌─────────────▼──────────────┐\n                    │      NATS JetStream       │\n                    │   • Event Streaming       │\n                    │   • Durable Consumers     │\n                    │   • Message Persistence   │\n                    └───────────────────────────┘\n                                  │\n                      ┌───────────▼────────────┐\n                      │      PostgreSQL       │\n                      │   • Records Table     │\n                      │   • Signatures Table  │\n                      │   • ACID Compliance   │\n                      └───────────────────────┘\n```\n\n![VaultStream Architecture Diagram](./docs/vaultstream-architecture.png \"VaultStream Architecture Diagram\")\n\n## 🚀 Quick Start\n\n**One-command setup:**\n\n```bash\nmake quick-start\n```\n\nThis command will:\n\n- ✅ Set up environment configuration\n- ✅ Verify prerequisites (Go, Docker, Make)\n- ✅ Launch PostgreSQL and NATS infrastructure\n- ✅ Seed database with configurable record count\n- ✅ Start all microservices concurrently\n\n### 🎛️ Performance Tuning\n\nAdjust these variables in the generated `.env` file to observe system behavior at different scales:\n\n```bash\nBATCH_SIZE=50              # Records per batch (impacts memory vs. throughput)\nTOTAL_RECORDS=1000         # Scale of the signing workload\nRECORDS_MAX_CONCURRENCY=10 # Parallel batch processing\nSIGNER_MAX_CONCURRENCY=8   # Concurrent signature operations\n```\n\n## 🛠️ Tech Stack\n\n| Category             | Technology     | Purpose                                 |\n| -------------------- | -------------- | --------------------------------------- |\n| **Language**         | Go 1.18+       | High-performance concurrent programming |\n| **Message Broker**   | NATS JetStream | Event streaming with persistence        |\n| **Database**         | PostgreSQL     | ACID-compliant data storage             |\n| **ORM**              | Ent            | Type-safe database operations           |\n| **Cryptography**     | ECDSA P-256    | Industry-standard digital signatures    |\n| **Containerization** | Docker Compose | Local development infrastructure        |\n\n## 📊 Data Model\n\n### Database Tables\n\n- **`records`** - Source data requiring digital signatures\n- **`signatures`** - Cryptographic signatures with key associations\n\n### Message Streams\n\n- **`records.\u003e`** - Batch record publishing for signature processing\n- **`keys.\u003e`** - Cryptographic key distribution and lifecycle management\n\n## 🔧 Prerequisites\n\nEnsure the following tools are installed:\n\n| Tool       | Version | Installation                                                      |\n| ---------- | ------- | ----------------------------------------------------------------- |\n| **Go**     | 1.18+   | [golang.org/dl](https://golang.org/dl/)                           |\n| **Docker** | 20.10+  | [docs.docker.com/get-docker](https://docs.docker.com/get-docker/) |\n| **Make**   | Any     | Xcode CLI Tools (macOS) or package manager (Linux)                |\n\n## 📋 Available Commands\n\n```bash\nmake help          # Show all available commands\nmake quick-start   # Complete setup and launch\nmake start         # Launch services (after setup)\nmake test          # Run integration test suite\nmake stop          # Stop all services and cleanup\nmake clean         # Reset volumes and cached data\n```\n\n## 🔮 Roadmap\n\n### Performance \u0026 Reliability\n\n- [ ] **Retry Strategies** - Exponential backoff with jitter for transient failures\n- [ ] **Circuit Breakers** - Fault tolerance for downstream dependencies\n- [ ] **Metrics \u0026 Observability** - Prometheus metrics and distributed tracing\n\n### Infrastructure \u0026 Deployment\n\n- [ ] **Kubernetes Deployment** - Helm charts for container orchestration\n- [ ] **Auto-scaling** - Horizontal pod autoscaling based on queue depth\n- [ ] **Health Checks** - Comprehensive readiness and liveness probes\n\n### Testing \u0026 Quality\n\n- [ ] **Expanded Test Coverage** - Unit tests for critical cryptographic functions\n- [ ] **Load Testing** - Performance benchmarks under high concurrency\n- [ ] **Security Audit** - Formal review of cryptographic implementations\n\n---\n\n**🏢 Enterprise-Ready Features:** Structured logging • Graceful shutdowns • Database migrations • Configuration management • Error handling • Concurrent processing\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjurshsmith%2Fvaultstream","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjurshsmith%2Fvaultstream","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjurshsmith%2Fvaultstream/lists"}