Kuscia2 is a lightweight privacy computing task orchestration framework designed to abstract heterogeneous infrastructure and protocols, providing a unified privacy computing foundation.
The API layer defines service contracts using Protocol Buffers, providing both gRPC and HTTP/JSON endpoints:
- Dataset Service: CRUD operations for datasets and datasources, supporting table, model, report, and rule dataset types
- Scheduler Service: Application lifecycle management, task coordination, and scheduling workflows
- Gateway Service: Edge gateway for service management, discovery, and routing
- Executor Agent Service: Computational resource management, container orchestration, and resource monitoring
- Common Components: Shared types (Status, RequestHeader, ResourceRequirements) and standardized error definitions
The Core layer provides microservices implementation following Clean Architecture principles:
- Dataset Service: Implements dataset and datasource management
- Scheduler Service: Handles application lifecycle, task coordination, and intelligent scheduling workflows
- Gateway Service: Provides edge gateway functionality, service discovery, and network traffic management
- Executor Agent Service: Manages computational resources, container orchestration, and task execution
- Protocol Buffers compiler (protoc)
- buf (Proto linting and generation tools)
- Docker (for image building)
# Generate Go code from api proto files
make generate
# Build the entire project
make build
# Generate Docker images
make image
# Run a complete privacy computing workflow
make run- Proto-First: All APIs must be defined in proto files first
- Version Control: APIs use semantic versioning (v1, v2, ...)
- Code Style: Follow Go official code standards and buf lint rules
This project is licensed under the Apache 2.0 License. See the LICENSE file for details.
Non-release version of Kuscia is only for demonstration and should not be used in production environments. Although this version of Kuscia covers the basic abilities, there may be some security issues and functional defects due to insufficient functionality and unfinished items in the project. We welcome your active suggestions and look forward to the official release.
