Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
2ae30e6
Enhance documentation for KoopDB architecture, challenges, installati…
MichaelKupferstein May 19, 2026
c317fe6
Merge remote-tracking branch 'origin/main' into final-docs
MichaelKupferstein May 19, 2026
0a28318
Update architecture and technologies docs
MichaelKupferstein May 19, 2026
37bf2e7
Refine erasure coding terminology for clarity
MichaelKupferstein May 19, 2026
724ad16
Merge remote-tracking branch 'origin/main' into final-docs
MichaelKupferstein May 20, 2026
0bb0336
updated docs so it can be used on pages
MichaelKupferstein May 20, 2026
c2d132f
Add 'final-docs' branch to docs deployment workflow
MichaelKupferstein May 20, 2026
b1703d4
added docs to dsl
MichaelKupferstein May 20, 2026
ca9d8e5
Merge branch 'final-docs' of https://github.com/S26-Distributed-Capst…
MichaelKupferstein May 20, 2026
79e2fcd
Improve clarity and detail in challenges documentation
ygins May 20, 2026
279bbc3
Refine sequence diagrams and update participant labels
EitanLeit23 May 20, 2026
412597b
Fix duplicate solution entry in challenges documentation
ygins May 20, 2026
500eb3d
Refine Discovery Cache explanation in architecture docs
ygins May 20, 2026
d9c4071
Revise storage node repair process details
ygins May 20, 2026
b4cd7b6
Update workflow diagram for multipart upload part
EitanLeit23 May 20, 2026
78e8c02
Refine node health tracking and exclusion logic in documentation
MichaelKupferstein May 20, 2026
ace0254
Merge branch 'final-docs' of https://github.com/S26-Distributed-Capst…
MichaelKupferstein May 20, 2026
7681a7f
Enhance documentation with new challenges and solutions
ygins May 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ name: Build and Deploy Architecture Docs

on:
push:
branches: ["main"]
# 1. ADD YOUR NEW BRANCH HERE
branches: ["main", "final-docs"]

permissions:
contents: read
Expand All @@ -13,7 +14,6 @@ concurrency:
group: "pages"
cancel-in-progress: true

# Fixes the Node.js warning by opting into the new Node 24 runtime
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

Expand All @@ -27,18 +27,19 @@ jobs:
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
# 2. ADD THIS: Fetches all branches so the site generator can see them both
fetch-depth: 0

- name: Generate Site via Docker
run: |
# 1. Create the output directory beforehand to prevent the FileNotFoundException
mkdir -p build/site

# 2. Run the site generator as the current GitHub runner user
docker run --rm -u $(id -u):$(id -g) -v ${{ github.workspace }}:/app -w /app \
ghcr.io/avisi-cloud/structurizr-site-generatr \
generate-site -w docs/diagrams/workspace.dsl \
--default-branch main \
--branches main
--branches main,final-docs # 3. ADD YOUR NEW BRANCH HERE

- name: Setup GitHub Pages
uses: actions/configure-pages@v4
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,6 @@ CLAUDE.md
settings.local.json
create.py
k8s-9/k8-logs/
k8s/k8-logs/
k8s/k8-logs/
venv/
docs/superpowers
90 changes: 0 additions & 90 deletions docs/challenges.md

This file was deleted.

18 changes: 9 additions & 9 deletions docs/Object Store.md → docs/diagrams/docs/01-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@

KoopDB is a distributed, S3-compatible object store. Objects are split into Reed-Solomon erasure-coded shards and spread across a cluster of storage nodes; mutations are ordered through Kafka and persisted in RocksDB on each node. A stateless Query Processor fronts the cluster with the S3 HTTP API.

For a top-level summary of features and the system topology, see the project [README](../README.md).
For a top-level summary of features and the system topology, see the project [README](../../../README.md).

## Project Plan

- [Scope (scenarios covered)](scope.md)
- [Distributed System Challenges](challenges.md)
- [Workflow Diagrams](workflow.md)
- [Software Architecture](architecture.md)
- [Tools & Technologies](technologies.md)
- [Scope (scenarios covered)](02-scope.md)
- [Distributed System Challenges](03-challenges.md)
- [Workflow Diagrams](05-workflow.md)
- [Software Architecture](04-architecture.md)
- [Tools & Technologies](06-technologies.md)

## Installation and Usage Guide

- [Installation Instructions](installation.md)
- [API and Usage Documentation](api.md)
- [Query Processor (API Gateway) module README](../query-processor/README.md)
- [Installation Instructions](07-installation.md)
- [API and Usage Documentation](08-api.md)
- [Query Processor (API Gateway) module README](../../../query-processor/README.md)
12 changes: 6 additions & 6 deletions docs/scope.md → docs/diagrams/docs/02-scope.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ The KoopDB project focuses on building a **distributed, fault-tolerant object st

### Core Features
- **S3 Compatibility:** Support for standard S3 tools (like AWS CLI and SDKs) for fundamental operations.
- **Distributed Architecture:** A headless cluster of Query Processors (gateways) and Storage Nodes.
- **Fault Tolerance:** Data is sharded using **Erasure Coding** (Reed-Solomon equivalent), allowing the system to survive node failures without data loss.
- **Metadata Management:** Centralized, consistent metadata storage using **Etcd** to manage partition maps
- **Distributed Architecture:** A horizontally scaled cluster of Query Processors (stateless gateways) and Storage Nodes, with no single coordinator on the data path.
- **Fault Tolerance:** Data is sharded using **Reed-Solomon erasure coding**, allowing the system to survive node failures without data loss.
- **Metadata Management:** Centralized, consistent metadata storage using **Etcd** to manage partition maps.
- **Multipart Uploads:** Support for uploading large objects in parts, reassembled upon completion.

### supported Operations
- **Buckets:** Create, Delete, List, Head.
- **Objects:** Put, Get, Delete.
### Supported Operations
- **Buckets:** Create, Delete, List, Head, List Buckets.
- **Objects:** Put, Get, Head, Delete.
- **Multipart:** Initiate, Upload Part, Complete, Abort.

## Out of Scope
Expand Down
Loading
Loading