Drop DynamoDB from scope
Was originally a proof of concept in the PHP version. Dropped in production as too expensive. Removed all references from docs. Supported backends are MySQL/MariaDB and MongoDB only. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
13
claude.md
13
claude.md
@@ -18,7 +18,7 @@ This is not a greenfield project. The architecture is proven. The Rust rewrite e
|
||||
**Never violate these — they are the product:**
|
||||
|
||||
1. **AMQP-first** — all data access flows through RabbitMQ message brokers. No direct database connections from the application layer. Ever.
|
||||
2. **Database agnostic** — the framework supports MySQL/MariaDB, MongoDB, and DynamoDB through a unified trait/factory pattern. No database-specific logic leaks into the broker or factory layers.
|
||||
2. **Database agnostic** — the framework supports MySQL/MariaDB and MongoDB through a unified trait/factory pattern. No database-specific logic leaks into the broker or factory layers.
|
||||
3. **DBA-owned schema** — developers never write queries. All data access goes through named database objects (views, stored procedures, functions). The application layer calls template names, not SQL.
|
||||
4. **Template-driven CRUD** — each data domain is a Rust struct implementing the `NamasteCore` trait. Adding a domain means adding a struct. Nothing else changes.
|
||||
5. **Single codebase, config-driven nodes** — all service nodes run the same binary. Node role (appServer, admin, segundo, tercero) is determined entirely by startup configuration.
|
||||
@@ -34,8 +34,7 @@ beds/
|
||||
│ │ └── meta.rs # Request metadata parsing
|
||||
│ ├── adapters/
|
||||
│ │ ├── mysql.rs # gacPDO equivalent
|
||||
│ │ ├── mongodb.rs # gacMongoDB equivalent
|
||||
│ │ └── dynamodb.rs # gacDdb equivalent
|
||||
│ │ └── mongodb.rs # gacMongoDB equivalent
|
||||
│ ├── brokers/
|
||||
│ │ ├── pool.rs # Broker pool management
|
||||
│ │ └── broker.rs # Individual broker task
|
||||
@@ -55,7 +54,7 @@ beds/
|
||||
| PHP | Rust |
|
||||
|-----|------|
|
||||
| `gaaNamasteCore` abstract class | `NamasteCore` trait |
|
||||
| `gacMongoDB`, `gacPDO`, `gacDdb` | Structs implementing `NamasteCore` |
|
||||
| `gacMongoDB`, `gacPDO` | Structs implementing `NamasteCore` |
|
||||
| `gacFactory::grabWidget()` | Match/dispatch returning `Box<dyn NamasteCore>` |
|
||||
| Broker process pool | `tokio::spawn` task pool |
|
||||
| SIGCHLD/planned obsolescence | Eliminated — Tokio tasks don't leak |
|
||||
@@ -84,13 +83,13 @@ tokio = { version = "1", features = ["full"] }
|
||||
lapin = "2" # AMQP/RabbitMQ
|
||||
sqlx = { version = "0.7", features = ["mysql", "runtime-tokio-native-tls"] }
|
||||
mongodb = "2" # MongoDB async driver
|
||||
aws-sdk-dynamodb = "1" # DynamoDB
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1"
|
||||
config = "0.14" # TOML config management
|
||||
thiserror = "1"
|
||||
tracing = "1"
|
||||
tracing-subscriber = "1"
|
||||
tracing = "0.1"
|
||||
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||||
tracing-journald = "0.3"
|
||||
```
|
||||
|
||||
## Service Nodes
|
||||
|
||||
Reference in New Issue
Block a user