Repository Layout
You will learn: What the Server, Agent, frontend, scripts, and documentation directories in the OpenFlare repository are responsible for, and which layer to place your logic when contributing code.
| Path |
Responsibility |
openflare_server |
Gin + GORM + SQLite/PostgreSQL monolithic control plane |
openflare_server/web |
Next.js 15 App Router management console frontend, statically exported and hosted by the Go Server |
openflare_agent |
Go monolithic Agent, running on the node side |
scripts |
Helper scripts such as Agent installation, uninstallation, etc. |
docs |
VitePress documentation site, design baseline, development constraints, deployment, and configuration documents |
Server Layering
| Directory |
Responsibility |
controller/ |
Parameter parsing, calling services, returning responses |
service/ |
Business logic, verification, transaction orchestration, configuration rendering |
model/ |
Model definition, database version, and migration |
router/ |
Route registration |
middleware/ |
Auth, authorization, rate limiting, and other cross-cutting logic |
common/ |
Configuration, global state, and initialization entry points |
utils/ |
Pure utility functions and general helpers |
Agent Modules
| Module |
Responsibility |
config |
Configuration reading and default values |
heartbeat |
Heartbeat and version summary judgment |
sync |
Configuration pulling and application orchestration |
nginx / openresty |
OpenResty file writing, verification, reload, startup, and rollback |
state |
Local state and observability supplementary reporting buffer |
httpclient |
Server communication |
protocol |
Agent API protocol types |
internal/updater |
Agent self-updating |
Frontend Layering
| Directory |
Responsibility |
app/ |
Routes, layouts, page assembly |
features/ |
Organize modules by business domains |
components/ |
Reuse components across features |
lib/ |
Request client, environment variables, utility functions, constants |
store/ |
A small amount of cross-page UI state |
types/ |
Shared type definitions |