Getting Started

Project Structure

Understanding the FerrisKey project architecture and organization

Project Structure

FerrisKey follows a modern hexagonal architecture (port & adapters) with clear separation of concerns across multiple Rust workspaces and a TypeScript frontend. This guide explains how the project is organized and the purpose of each component.

Overview

ferriskey/
├── 📦 core/              # Core business logic library
├── 🌐 api/               # REST API server
├── 🖥️ front/             # Web console (TypeScript/React)
├── ⚙️ operator/          # Kubernetes operator
├── 📊 charts/            # Helm charts
├── 🐳 docker/            # Docker configurations
├── 🧰 cli/               # Command-line interface (planned)
└── 📜 sh/                # Shell scripts and utilities

Global structure

core/
├── src/                # Core domain logic and services
├──── lib.rs            # Library entry point
├──── application/      # Application services
├──── domain/           # Domain models and business rules
├──── infrastructure/   # Infrastructure implementations
├── Cargo.toml          # Core workspace manifest