command
module
Version:
v1.1.0-rc1
Opens a new window with list of versions in this module.
Published: Jun 26, 2025
License: Apache-2.0
Opens a new window with license information.
Imports: 1
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
¶
distninja

Introduction
distninja is a distributed build system
Features
- Graph Database Power - Uses cayley's quad-based storage for complex relationships
- Schema Support - Structured data with Go struct mapping
- Rich Queries - Path-based queries for complex dependency analysis
- Relationship Modeling - Explicit modeling of all Ninja relationships
- Cycle Detection - Built-in circular dependency detection
- Performance - Efficient graph traversal and querying
Usage
1. HTTP Server
# Deploy server
distninja serve --http <string> --store <string>
# Test server
go run main.go serve --http :9090 --store /tmp/ninja.db
./script/http.sh
2. gRPC Server
# Deploy server
distninja serve --grpc <string> --store <string>
# Test server
go run main.go serve --grpc :9090 --store /tmp/ninja.db
./script/grpc.sh
APIs
1. HTTP APIs
-
Admin APIs
GET /api/v1/health - Get health check
GET /api/v1/status - Get server status
-
Build APIs
POST /api/v1/builds - Create new build
GET /api/v1/builds/stats - Get build statistics
GET /api/v1/builds/order - Get topological build order
GET /api/v1/builds/{id} - Get specific build
-
Rule APIs
POST /api/v1/rules - Create new rule
GET /api/v1/rules/{name}/targets - Get targets using a rule
GET /api/v1/rules/{name} - Get specific rule
-
Target APIs
GET /api/v1/targets - Get all targets
GET /api/v1/targets/{path}/dependencies - Get target dependencies
GET /api/v1/targets/{path}/reverse_dependencies - Get target reverse dependencies
PUT /api/v1/targets/{path}/status - Update target status
GET /api/v1/targets/{path} - Get specific target
-
Analysis APIs
GET /api/v1/analysis/cycles - Find circular dependencies
-
Debug APIs
GET /api/v1/debug/quads - Debug quad information
2. gRPC APIs
TBD
License
Project License can be found here.
Reference
Documentation
¶
There is no documentation for this package.
Source Files
¶
Directories
¶
Click to show internal directories.
Click to hide internal directories.