Skip to content

Commit 95631ba

Browse files
CopilotagentofrealityAllen Jones
authored
Update stale Drasi GitHub links (drasi-project#60)
* Initial plan * Update outdated URLs Co-authored-by: agentofreality <4021243+agentofreality@users.noreply.github.com> * Fix Drasi project URLs Co-authored-by: agentofreality <4021243+agentofreality@users.noreply.github.com> * Fix discussions link Co-authored-by: agentofreality <4021243+agentofreality@users.noreply.github.com> * Update Drasi docs link Co-authored-by: agentofreality <4021243+agentofreality@users.noreply.github.com> * Remove discussions link Co-authored-by: agentofreality <4021243+agentofreality@users.noreply.github.com> * Fix invalid config files and add missing configs to validation tests - Fix config/server-with-env-vars.yaml: - Remove invalid fields from postgres bootstrapProvider (uses parent source connection) - Remove invalid logLevel field from log reaction - Fix HTTP reaction to use proper routes configuration instead of top-level method - Add missing config files to example_configs_validation_test.rs: - config/server-minimal.yaml - config/server-docker.yaml - config/server-with-env-vars.yaml - tests/integration/getting-started/config.yaml * docs: fix bootstrapProvider field name from 'type' to 'kind' in README * docs: fix snake_case to camelCase in getting-started README - default_template → defaultTemplate - sse_path → ssePath * docs: fix snake_case to camelCase in CLAUDE.md and trading README - persist_config → persistConfig (CLAUDE.md) - auto_start → autoStart (trading README) * fix: use camelCase property names in config example comments Updated documentation comments in example YAML config files to use camelCase property names matching the actual config schema: - timeout_ms → timeoutMs - base_url → baseUrl - sse_path → ssePath - heartbeat_interval_ms → heartbeatIntervalMs - default_template → defaultTemplate - batch_size → batchSize - batch_flush_timeout_ms → batchFlushTimeoutMs - max_retries → maxRetries - connection_retry_attempts → connectionRetryAttempts - initial_connection_timeout_ms → initialConnectionTimeoutMs - window_size → windowSize - report_interval_secs → reportIntervalSecs - adaptive_min_batch_size → adaptiveMinBatchSize - adaptive_max_batch_size → adaptiveMaxBatchSize - adaptive_window_size → adaptiveWindowSize - adaptive_batch_timeout_ms → adaptiveBatchTimeoutMs * docs: fix documentation inaccuracies in README.md - Fix query autoStart default: true → false (matches code) - Fix PostgreSQL publicationName example: drasi_pub → drasi_publication - Add missing metadata field to gRPC reaction table - Add complete field table for gRPC Adaptive reaction section - Improve Mock source dataType description with node label info --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: agentofreality <4021243+agentofreality@users.noreply.github.com> Co-authored-by: Agent of Reality <agentx@agentofreality.com> Co-authored-by: Allen Jones <allenjones@Allens-M1-MacBook-Pro.local>
1 parent 53b9824 commit 95631ba

14 files changed

Lines changed: 90 additions & 44 deletions

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ DrasiServer separates two independent concepts:
184184
- Config file is not writable (file permissions prevent writing)
185185

186186
**Important distinction:**
187-
- `persist_config: false` → API mutations are allowed but NOT saved to config file
187+
- `persistConfig: false` → API mutations are allowed but NOT saved to config file
188188
- Read-only config file → API mutations are blocked entirely
189189
- This allows dynamic query creation without persistence (useful for programmatic usage)
190190

README.md

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Drasi Server
22

3-
Drasi Server is a standalone server for the [Drasi](https://drasi.io) data change processing platform. It wraps the [DrasiLib](https://github.com/drasi-project/drasi-lib) library with enterprise-ready features including a REST API, YAML-based configuration, and production lifecycle management.
3+
Drasi Server is a standalone server for the [Drasi](https://drasi.io) data change processing platform. It wraps the [DrasiLib](https://github.com/drasi-project/drasi-core/tree/main/lib) library with enterprise-ready features including a REST API, YAML-based configuration, and production lifecycle management.
44

55
## What is Drasi?
66

@@ -284,7 +284,7 @@ sources:
284284
password: ${DB_PASSWORD}
285285
tables: [orders, customers]
286286
slotName: drasi_slot
287-
publicationName: drasi_pub
287+
publicationName: drasi_publication
288288
sslMode: prefer
289289
tableKeys:
290290
- table: orders
@@ -362,7 +362,7 @@ sources:
362362

363363
| Field | Type | Default | Description |
364364
|-------|------|---------|-------------|
365-
| `dataType` | string | `generic` | Type of mock data to generate |
365+
| `dataType` | string | `generic` | Type of mock data: `sensor` (SensorReading nodes), `counter` (Counter nodes), `generic` (Generic nodes) |
366366
| `intervalMs` | integer | `5000` | Data generation interval in milliseconds |
367367

368368
#### Platform Source (`platform`)
@@ -465,7 +465,7 @@ queries:
465465
| `query` | string | (required) | Query string (Cypher or GQL) |
466466
| `queryLanguage` | string | `GQL` | Query language: `Cypher` or `GQL` |
467467
| `sources` | array | (required) | Source subscriptions |
468-
| `autoStart` | boolean | `true` | Start query automatically |
468+
| `autoStart` | boolean | `false` | Start query automatically |
469469
| `enableBootstrap` | boolean | `true` | Process initial data from sources |
470470
| `bootstrapBufferSize` | integer | `10000` | Event buffer size during bootstrap |
471471
| `priorityQueueCapacity` | integer | (global) | Override queue capacity for this query |
@@ -621,6 +621,7 @@ reactions:
621621
| `maxRetries` | integer | `3` | Maximum retry attempts |
622622
| `connectionRetryAttempts` | integer | `5` | Connection retry attempts |
623623
| `initialConnectionTimeoutMs` | integer | `10000` | Initial connection timeout |
624+
| `metadata` | object | `{}` | Custom gRPC metadata key-value pairs |
624625

625626
#### gRPC Adaptive Reaction (`grpc-adaptive`)
626627

@@ -636,6 +637,19 @@ reactions:
636637
adaptiveMaxBatchSize: 1000
637638
```
638639

640+
| Field | Type | Default | Description |
641+
|-------|------|---------|-------------|
642+
| `endpoint` | string | `grpc://localhost:50052` | gRPC endpoint URL |
643+
| `timeoutMs` | integer | `5000` | Connection timeout in milliseconds |
644+
| `maxRetries` | integer | `3` | Maximum retry attempts |
645+
| `connectionRetryAttempts` | integer | `5` | Connection retry attempts |
646+
| `initialConnectionTimeoutMs` | integer | `10000` | Initial connection timeout |
647+
| `metadata` | object | `{}` | Custom gRPC metadata key-value pairs |
648+
| `adaptiveMinBatchSize` | integer | `1` | Minimum batch size |
649+
| `adaptiveMaxBatchSize` | integer | `1000` | Maximum batch size |
650+
| `adaptiveWindowSize` | integer | `100` | Window size for adaptive calculations |
651+
| `adaptiveBatchTimeoutMs` | integer | `1000` | Batch timeout in milliseconds |
652+
639653
#### SSE Reaction (`sse`)
640654

641655
Streams query results via Server-Sent Events.
@@ -941,11 +955,10 @@ Apache License 2.0. See [LICENSE](LICENSE) for details.
941955

942956
## Related Projects
943957

944-
- [DrasiLib](https://github.com/drasi-project/drasi-lib) - Core event processing engine
945-
- [Drasi](https://github.com/drasi-project/drasi) - Main Drasi project
946-
- [Drasi Documentation](https://drasi.io/docs) - Complete documentation
958+
- [DrasiLib](https://github.com/drasi-project/drasi-core/tree/main/lib) - Core event processing engine
959+
- [Drasi](https://github.com/drasi-project) - Main Drasi project
960+
- [Drasi Documentation](https://drasi.io/) - Complete documentation
947961

948962
## Support
949963

950964
- **Issues**: [GitHub Issues](https://github.com/drasi-project/drasi-server/issues)
951-
- **Discussions**: [GitHub Discussions](https://github.com/drasi-project/drasi/discussions)

config/server-with-env-vars.yaml

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,9 @@ sources:
4646
# Optional: SSL configuration
4747
# ssl_mode: "${DB_SSL_MODE:-prefer}"
4848

49+
# Bootstrap provider uses the parent source's connection details
4950
bootstrapProvider:
5051
kind: postgres
51-
host: "${DB_HOST}"
52-
port: "${DB_PORT:-5432}"
53-
database: "${DB_NAME}"
54-
user: "${DB_USER}"
55-
password: "${DB_PASSWORD}"
5652

5753
# HTTP source for receiving events
5854
- kind: http
@@ -83,7 +79,6 @@ reactions:
8379
queries:
8480
- high-value-orders
8581
autoStart: true
86-
logLevel: "${REACTION_LOG_LEVEL:-info}"
8782

8883
# HTTP webhook reaction
8984
- kind: http
@@ -94,12 +89,16 @@ reactions:
9489

9590
# Webhook URL - uses environment variable
9691
baseUrl: "${WEBHOOK_URL}"
92+
# Optional: Authentication token
93+
# token: "${API_TOKEN}"
9794

98-
# Optional: Authentication
99-
# headers:
100-
# Authorization: "Bearer ${API_TOKEN}"
101-
102-
method: POST
95+
# Routes define per-query endpoints
96+
routes:
97+
high-value-orders:
98+
added:
99+
url: "/notifications/high-value"
100+
method: "POST"
101+
body: '{"orderId": "{{after.order_id}}", "total": {{after.total}}}'
103102

104103
# Server-Sent Events (SSE) for real-time updates
105104
- kind: sse

examples/configs/02-sources/grpc-streaming-source.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
# - host: Address to bind (default: 0.0.0.0)
2828
# - port: Port to listen on (default: 50051)
2929
# - endpoint: Custom endpoint (optional)
30-
# - timeout_ms: Request timeout in milliseconds (default: 5000)
30+
# - timeoutMs: Request timeout in milliseconds (default: 5000)
3131
#
3232
# Run with: cargo run -- --config examples/configs/02-sources/grpc-streaming-source.yaml
3333
#

examples/configs/02-sources/http-webhook-receiver.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
# - host: Address to bind (default: 0.0.0.0)
2727
# - port: Port to listen on (required)
2828
# - endpoint: Custom endpoint path (optional)
29-
# - timeout_ms: Request timeout in milliseconds (default: 10000)
29+
# - timeoutMs: Request timeout in milliseconds (default: 10000)
3030
#
3131
# Run with: cargo run -- --config examples/configs/02-sources/http-webhook-receiver.yaml
3232
#

examples/configs/03-reactions/grpc-streaming-reaction.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@
2525
#
2626
# Configuration options:
2727
# - endpoint: gRPC endpoint URL (default: grpc://localhost:50052)
28-
# - timeout_ms: Request timeout (default: 5000)
29-
# - batch_size: Number of events per batch (default: 100)
30-
# - batch_flush_timeout_ms: Max wait before flushing batch (default: 1000)
31-
# - max_retries: Retry attempts for failed sends (default: 3)
32-
# - connection_retry_attempts: Connection retry attempts (default: 5)
33-
# - initial_connection_timeout_ms: Initial connection timeout (default: 10000)
28+
# - timeoutMs: Request timeout (default: 5000)
29+
# - batchSize: Number of events per batch (default: 100)
30+
# - batchFlushTimeoutMs: Max wait before flushing batch (default: 1000)
31+
# - maxRetries: Retry attempts for failed sends (default: 3)
32+
# - connectionRetryAttempts: Connection retry attempts (default: 5)
33+
# - initialConnectionTimeoutMs: Initial connection timeout (default: 10000)
3434
# - metadata: Custom gRPC metadata headers
3535
#
3636
# Run with: cargo run -- --config examples/configs/03-reactions/grpc-streaming-reaction.yaml

examples/configs/03-reactions/http-webhook-sender.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,13 @@
2424
# - Building event-driven architectures
2525
#
2626
# Configuration options:
27-
# - base_url: Base URL for all requests
27+
# - baseUrl: Base URL for all requests
2828
# - token: Authentication token (added to Authorization header)
29-
# - timeout_ms: Request timeout in milliseconds
29+
# - timeoutMs: Request timeout in milliseconds
3030
# - routes: Per-query endpoint configuration
3131
#
3232
# Each route can specify:
33-
# - url: Endpoint path (appended to base_url)
33+
# - url: Endpoint path (appended to baseUrl)
3434
# - method: HTTP method (GET, POST, PUT, PATCH, DELETE)
3535
# - body: Request body template (Handlebars)
3636
# - headers: Custom HTTP headers

examples/configs/03-reactions/profiler-performance.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
# - Performance regression testing
2525
#
2626
# Configuration options:
27-
# - window_size: Number of samples in the observation window (default: 100)
28-
# - report_interval_secs: Seconds between performance reports (default: 60)
27+
# - windowSize: Number of samples in the observation window (default: 100)
28+
# - reportIntervalSecs: Seconds between performance reports (default: 60)
2929
#
3030
# The profiler tracks:
3131
# - Event throughput (events/second)

examples/configs/03-reactions/sse-browser-streaming.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@
2626
# Configuration options:
2727
# - host: Address to bind (default: 0.0.0.0)
2828
# - port: Port to listen on (default: 8080)
29-
# - sse_path: Event stream endpoint path (default: /events)
30-
# - heartbeat_interval_ms: Keep-alive interval (default: 30000)
29+
# - ssePath: Event stream endpoint path (default: /events)
30+
# - heartbeatIntervalMs: Keep-alive interval (default: 30000)
3131
# - routes: Per-query template configuration
32-
# - default_template: Default template for all queries
32+
# - defaultTemplate: Default template for all queries
3333
#
3434
# Templates can include a 'path' field for multi-endpoint routing.
3535
#

examples/configs/05-advanced-features/adaptive-batching.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@
2828
# - grpc-adaptive: gRPC reaction with adaptive batching
2929
#
3030
# Adaptive batching parameters:
31-
# - adaptive_min_batch_size: Minimum batch size (default: 1)
32-
# - adaptive_max_batch_size: Maximum batch size (default: 1000)
33-
# - adaptive_window_size: Observation window for rate calculation (default: 100)
34-
# - adaptive_batch_timeout_ms: Max wait before flushing (default: 1000)
31+
# - adaptiveMinBatchSize: Minimum batch size (default: 1)
32+
# - adaptiveMaxBatchSize: Maximum batch size (default: 1000)
33+
# - adaptiveWindowSize: Observation window for rate calculation (default: 100)
34+
# - adaptiveBatchTimeoutMs: Max wait before flushing (default: 1000)
3535
#
3636
# Run with: cargo run -- --config examples/configs/05-advanced-features/adaptive-batching.yaml
3737

0 commit comments

Comments
 (0)