Skip to content

Latest commit

 

History

History
123 lines (91 loc) · 9.19 KB

File metadata and controls

123 lines (91 loc) · 9.19 KB

🔌 s3db.js Plugin System

Understand the plugin runtime, then jump into the plugin you actually need.

Navigation: Getting Started | Architecture | Build Plugins | PluginStorage


⚡ TLDR

s3db.js plugins extend the database without changing the core runtime. They can add APIs, queues, replication, analytics, scraping, workflows, search, and internal platform capabilities.

This page is now the entry point for the plugin system docs. The large monolithic guide was split into focused documents so the system is easier to read and maintain.

If you are new here:

  1. Read Getting Started
  2. Read Architecture
  3. If you are building plugins, read Building Plugins
  4. If you need plugin-owned state, use PluginStorage Reference

📋 Documentation Index

Doc Focus When to read
Getting Started install plugins, timing, deferred setup first read
Architecture lifecycle, cleanup, attributes, drivers when building or reviewing plugins
Dependencies peer dependencies and bundle plugins when wiring runtime deps
Building Plugins minimal plugin shape and patterns when authoring plugins
PluginStorage Reference plugin-owned persistence when storing plugin state
Namespace API multi-instance isolation helpers when adding namespace support
Plugin Combinations suggested stacks by workload when designing a platform stack
Best Practices guardrails for maintainable plugins after first implementation
Troubleshooting common failures and diagnosis when debugging

🎯 All Available Plugins

Plugin Purpose Use Cases Docs
🌐 API Auto-generated REST API with OpenAPI, path-based auth, template engine RESTful endpoints, Swagger UI, multi-auth, SSR
📝 Audit Comprehensive operation logging Compliance, security
💾 Backup Multi-destination backup system Data protection, disaster recovery
💾 Cache Multi-driver caching Performance, cost reduction
☁️ Cloud Inventory Multi-cloud inventory with drift detection and export CMDB, compliance, IaC adoption
🍪 Cookie Farm Persona farming bundle for anti-bot workflows Session rotation, warmup workflows
💰 Costs S3 cost tracking Budget monitoring, optimization
⚡ Eventual Consistency Counter and transactional numeric flows Balances, analytics, aggregations
🔍 FullText Full-text indexing and search Search, content discovery
🌍 Geo Location-aware querying Store locators, routing
🕸️ Graph Graph data structures and traversal Recommendations, knowledge graphs
🔐 Identity OAuth2/OIDC auth server SSO, user management, whitelabel auth
📥 Importer Bulk data import JSON, CSV, migrations
☸️ Kubernetes Inventory Kubernetes discovery and drift tracking CMDB, compliance, cluster monitoring
📊 Metrics Performance and usage metrics Monitoring, insights
🤖 ML Plugin Machine learning model workflows Inference, predictions
🎭 Puppeteer Headless browser automation Scraping, testing, cookie farming
📬 Queue Consumer Queue consumption Event-driven architecture
🛰️ Recon DNS, ports, TLS, subdomains, sweeps Asset discovery, continuous monitoring
🔗 Relation ORM-like relations Nested loading, relational modeling
🔄 Replicator Data replication PostgreSQL, BigQuery, SQS, S3DB
🔒 S3 Queue Distributed queueing Task queues, worker pools
⏰ Scheduler Cron-like scheduled jobs Maintenance, batch processing
📧 SMTP Email delivery and webhook flows Transactional email, notifications
🕷️ Spider Crawling bundle Web scraping pipelines, audits
🤖 State Machine Workflow orchestration Business processes, automation
🏗️ TFState Terraform state tracking Infrastructure monitoring
🏆 Tournament Tournament engine Brackets, match reporting, leagues
🌳 Tree Hierarchical data Categories, org charts, file systems
⏳ TTL Automatic expiration Sessions, cache invalidation
🎯 Vector Vector search and embeddings workflows RAG, semantic search, ML
🔌 WebSocket Stateful websocket transport Realtime apps, channel-based messaging

🏗️ Plugin Architecture

The plugin runtime is documented in smaller guides now:

📘 Plugin Namespace API Reference

Namespace helpers, validation rules, and implementation patterns now live in Plugin Namespace API Reference.

📦 Getting Started

For installing plugins, usePlugin(), constructor-based registration, and deferred setup, see Plugin System Getting Started.

⏰ Plugin Timing: Before vs After Resource Creation

The timing model and deferred-setup pattern are covered in Plugin System Getting Started.

🔧 Build Your Own Plugin

For custom plugin patterns, hooks, events, and authoring guidance, see Building Plugins.

💾 PluginStorage

PluginStorage now has its own reference page: PluginStorage Reference.

💡 Plugin Combinations

Suggested production, analytics, workflow, and development stacks live in Plugin Combinations.

🎯 Best Practices

Operational guidance for safe plugins lives in Plugin Best Practices.

🔍 Troubleshooting

Common failure modes now live in Plugin Troubleshooting.

📚 Additional Resources