Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions edge-server/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,44 @@ just update-task <task-id> false
just delete-task <task-id>
```

## Additional HTTP API Endpoints

The Edge Server provides additional endpoints for advanced operations:

### Execute DQL Queries

```bash
# Execute custom DQL statements
curl -X POST http://localhost:8080/my_server/execute \
-H "Content-Type: application/json" \
-d '{"query": "SELECT * FROM tasks"}'
Copy link

Copilot AI Mar 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The /execute example posts {"query": ...}, but the rest of this quickstart (e.g., requests/*.json and the just recipes that call /execute) uses a statement field (and optionally args). As written, this example is likely to fail against the quickstart edge server configuration. Update the payload key(s) to match the existing /execute request schema used elsewhere in this repo.

Suggested change
-d '{"query": "SELECT * FROM tasks"}'
-d '{"statement": "SELECT * FROM tasks"}'

Copilot uses AI. Check for mistakes.
```

### Attachments

```bash
# Upload an attachment
curl -X POST http://localhost:8080/my_server/attachments/upload \
-F "file=@/path/to/file"

# Download an attachment
curl http://localhost:8080/my_server/attachments/{attachment-id} \
-o downloaded-file
```

### Monitoring & Diagnostics

```bash
# View presence graph
curl http://localhost:8080/my_server/presence

# Download logs (returns .tar.gz)
curl http://localhost:8080/my_server/logs -o edge-server-logs.tar.gz

# View API documentation
curl http://localhost:8080/my_server/docs
```

## Configuration

The Edge Server uses `quickstart_config.yaml` for configuration. Key settings include:
Expand All @@ -125,6 +163,19 @@ The Edge Server uses `quickstart_config.yaml` for configuration. Key settings in

⚠️ **Development Only**: This quickstart uses playground authentication which is **NOT** secure or suitable for production. For production deployments, configure proper authentication using "Online with Authentication" identity.

### Advanced Security Features

For production deployments, Edge Server supports:

- **HTTPS/TLS**: TLS 1.2 and TLS 1.3 support for encrypted communications
- **API Key Authentication**: Generate and manage API keys for client authentication
- **Permission-Based Access Control**: Configure operation-based permissions for fine-grained access control
- **Audit Logging**: Track and retrieve access logs for security compliance
- **HTTP Request Throttling**: Configure rate limiting on a per-endpoint basis
- **Configurable Limits**: Set TCP connection limits, backlog limits, request timeouts, and keepalive settings

See the [Edge Server documentation](https://docs.ditto.live/edge-server) for configuration details.

## Troubleshooting

### Server won't start
Expand Down