Skip to content

secretflow/kuscia2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kuscia2

Kuscia2 is a lightweight privacy computing task orchestration framework designed to abstract heterogeneous infrastructure and protocols, providing a unified privacy computing foundation.

Kuscia2

Project Structure

API Layer

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

Core Layer

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

Development Guide

Requirements

  • Protocol Buffers compiler (protoc)
  • buf (Proto linting and generation tools)
  • Docker (for image building)

Development Commands

# 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

Development Standards

  • 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

License

This project is licensed under the Apache 2.0 License. See the LICENSE file for details.

Disclaimer

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages