Knowledge Hub
Comprehensive guides and references for the OpenFrame platform
OpenFrame Gen1 is Here · Our AI platform for autonomous IT is out of beta.
Comprehensive guides and references for the OpenFrame platform
This guide covers how to clone, set up, and run OpenFrame OSS Tenant services locally for development.
git clone https://github.com/flamingo-stack/openframe-oss-tenant.git
cd openframe-oss-tenant
openframe-oss-tenant/
├── openframe/
│ └── services/
│ ├── openframe-api/ # GraphQL + REST API (port 8080)
│ ├── openframe-gateway/ # Spring Cloud Gateway (port 8081)
│ ├── openframe-authorization-server/ # OAuth2 (port 8082)
│ ├── openframe-external-api/ # Public API (port 8083)
│ ├── openframe-client/ # Agent service (port 8084)
│ ├── openframe-stream/ # Kafka Streams (port 8085)
│ ├── openframe-management/ # Management tasks
│ ├── openframe-config/ # Config Server
│ └── openframe-test/ # E2E test runner
├── clients/
│ ├── openframe-client/ # Rust endpoint agent
│ └── openframe-chat/ # Tauri + React desktop app
├── manifests/ # Kubernetes + datasource configs
└── pom.xml # Root Maven POM
# Build all modules, skip tests
mvn clean install -DskipTests
# Build with tests
mvn clean install
# Build only the API service and its dependencies
mvn clean install -pl openframe/services/openframe-api -am -DskipTests
Each Spring Boot service can be run from its module directory:
# Start the API service
cd openframe/services/openframe-api
mvn spring-boot:run
Or from the root using the module flag:
mvn spring-boot:run -pl openframe/services/openframe-api
To run the full stack locally, start services in this order (infrastructure first):
openframe-config (Spring Cloud Config Server)openframe-authorization-serveropenframe-apiopenframe-client (Spring Boot agent service)openframe-streamopenframe-managementopenframe-gatewayopenframe-external-apicd clients/openframe-client
# Development build
cargo build
# Enable dev mode for local directories and relaxed TLS
export OPENFRAME_DEV_MODE=1
# Run the agent directly (no system service)
./target/debug/openframe-client run
# Run health checks
./target/debug/openframe-client doctor
Rust does not have built-in hot reload, but cargo-watch provides file-watching:
# Install cargo-watch
cargo install cargo-watch
# Watch and rebuild on changes
cargo watch -x build
cd clients/openframe-chat
# Install dependencies
npm install
# Start in development mode with hot reload
npm run tauri dev
To iterate on the React UI without launching the native window:
npm run dev
The Vite dev server starts at http://localhost:3003.
npx tsc --noEmit
# Check
npx biome check .
# Fix
npx biome check --write .
The repository includes a script to set up the development initialization configuration for the Rust agent:
cd clients/openframe-client
bash scripts/setup_dev_init_config.sh
This script creates the necessary configuration files in the development directory layout used when OPENFRAME_DEV_MODE=1 is set.
ApiApplication.java)main() or use Run → DebugRemote Debug (attach to running process):
# Start the service with JVM debug options
mvn spring-boot:run \
-pl openframe/services/openframe-api \
-Dspring-boot.run.jvmArguments="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005"
Then attach IntelliJ to port 5005 via Run → Attach to Process.
For openframe-client, use the CodeLLDB extension in VS Code:
.vscode/launch.json:
{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug openframe-client",
"cargo": {
"args": ["build", "--manifest-path", "clients/openframe-client/Cargo.toml"]
},
"args": ["run"],
"env": {
"OPENFRAME_DEV_MODE": "1"
}
}
]
}
When running npm run tauri dev, the Tauri WebView exposes browser-style DevTools:
For the Rust Tauri backend, use standard Rust debugging via RustRover or LLDB.
# Build and tail output
mvn clean install -DskipTests 2>&1 | tee build.log
cd clients/openframe-client
cargo clean
cd clients/openframe-chat
rm -rf node_modules
npm install
Each Spring Boot service exposes a Spring Actuator health endpoint:
# API service health check
curl http://localhost:8080/actuator/health
# Gateway health check
curl http://localhost:8081/actuator/health
| Task | Command |
|---|---|
| Build all backend services | mvn clean install -DskipTests |
| Run API service | mvn spring-boot:run -pl openframe/services/openframe-api |
| Build Rust agent | cd clients/openframe-client && cargo build |
| Run Rust agent (dev) | OPENFRAME_DEV_MODE=1 ./target/debug/openframe-client run |
| Run desktop app | cd clients/openframe-chat && npm run tauri dev |
| Frontend-only dev | cd clients/openframe-chat && npm run dev |
| Lint TypeScript | cd clients/openframe-chat && npx biome check . |