mirror of
https://github.com/Mallne/DC-Synapse.git
synced 2026-07-31 01:53:46 +02:00
No description
- Kotlin 100%
Updated several dependencies including Kotlin, Ktor, and Maven Publish to newer versions. Improved Gradle scripts by replacing `properties` with `project.findProperty` for enhanced property resolution. Adjusted Gradle wrapper configurations and fixed syntax for better consistency in source set declarations. |
||
|---|---|---|
| .github | ||
| core | ||
| gradle | ||
| host | ||
| .gitignore | ||
| AGENTS.md | ||
| build.gradle.kts | ||
| docker-compose.yml | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| http-client.env.json | ||
| LICENSE | ||
| README.md | ||
| settings.gradle.kts | ||
| test.http | ||
Synapse
.oooooo..o
d8P' `Y8
Y88bo. oooo ooo ooo. .oo. .oooo. oo.ooooo. .oooo.o .ooooo.
`"Y8888o. `88. .8' `888P"Y88b `P )88b 888' `88b d88( "8 d88' `88b
`"Y88b `88..8' 888 888 .oP"888 888 888 `"Y88b. 888ooo888
oo .d8P `888' 888 888 d8( 888 888 888 o. )88b 888 .o
8""88888P' .8' o888o o888o `Y888""8o 888bod8P' 8""888P' `Y8bod8P'
.o..P' 888
`Y8P' o888o
A part of DiCentra by Mallne
Synapse is the core service discovery and "Catalyst" (service mesh/gateway) layer of the DiCentra Application Framework. It provides a centralized registry for services and a dynamic gateway for routing, aggregation, and AI-driven interactions.
🚀 Key Features
- 🔍 Service Discovery: A robust registry for public and multi-tenant (scoped) services.
- ⚡ Catalyst Gateway: High-performance service mesh that handles dynamic routing and request tailoring.
- 🤖 MCP Server: Built-in support for the Model Context Protocol, enabling LLM agents to interact directly with your service ecosystem.
- 🔐 Secure by Design: Integrated OIDC/JWT authentication with fine-grained scope-based access control.
- 🔗 Monorepo Ready: Seamlessly integrates with Aviator and Polyfill.
🏗 Architecture
Synapse is built with a modular approach:
:core: The heart of the system, containing domain logic, service definitions, and API routes.:host: The execution environment, handling server configuration and application startup.
🛠 Tech Stack
- Language: Kotlin
- Server: Ktor
- DI: Koin
- Persistence: Exposed ORM with PostgreSQL
- Migrations: Flyway
- Serialization: Kotlinx Serialization
🚦 Quick Start
Prerequisites
- JDK 17+
- Docker (for database)
Setup
-
Start the database:
docker-compose up -d -
Configure environment: Create a
.envor set environment variables forDATA_USERandDATA_PASSWORD. -
Run the application:
./gradlew :host:run
📖 API Overview
Catalyst Endpoints
GET /catalyst: List all registered Service Locators.POST /catalyst/aggregate/{locator}: Aggregate requests across multiple services.POST /catalyst/request/{id}: Send a tailored request to a specific service.GET /catalyst/mcp: The Model Context Protocol (MCP) server endpoint for AI agents.
Discovery Endpoints
GET /services: Discover available services based on your permissions.POST /services: Register or update a service definition.GET /services/{id}: Get details for a specific service.DELETE /services/{id}: Remove a service from the registry.
🤝 Contributing
Synapse is part of the DiCentra ecosystem. Contributions are welcome! Please check the main DiCentra documentation for contribution guidelines.
Built with ❤️ by Mallne under the DiCentra umbrella