From 53a44bb43842bc95c33d2c34dbba478297e13d65 Mon Sep 17 00:00:00 2001 From: Amin Ziagham Date: Thu, 17 Sep 2026 10:15:45 +0200 Subject: [PATCH] Revamp and expand README documentation The README.md was extensively rewritten to provide a detailed overview of the Synentra Console. Added sections on features, tech stack, prerequisites, setup instructions, configuration options, Docker usage, project structure, and license. The new documentation offers clearer guidance for setup and usage, improving project accessibility and understanding. #23 --- README.md | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 83 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0d0cd6a..a0850e8 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,83 @@ -# console -Web-based management console for managing Synentra gateway. +# Synentra Console + +Synentra Console is a .NET 10 Blazor Server application for operating and monitoring a Synentra gateway. + +## What it provides + +- Dashboard with key gateway metrics +- Agent management (register, view details, assign policy, delete) +- Policy browsing and details +- Token exchange flow for issuing access tokens +- HITL (Human-in-the-Loop) queue review and decisions +- Audit browsing +- Health status checks +- Proxy request lab for sending upstream requests through Synentra + +## Tech stack + +- .NET 10 (`net10.0`) +- Blazor Server (interactive server components) +- MudBlazor UI components +- Blazored LocalStorage for client preferences (theme/drawer state) + +## Prerequisites + +- .NET SDK 10.0+ + +## Run locally + +From the repository root: + +1. Restore dependencies + - `dotnet restore ./src/Console.csproj` +2. Run the app + - `dotnet run --project ./src/Console.csproj` + +By default, launch profiles expose: + +- HTTP: `http://localhost:8180` +- HTTPS: `https://localhost:7181` + +## Runtime configuration + +The app can load configuration from standard ASP.NET Core sources (JSON files, environment variables, user secrets, command-line). + +You can also provide a dedicated config file using the `config` command-line key. When this is set, only that file is loaded. + +Example: + +- `dotnet run --project ./src/Console.csproj -- --config C:\configs\console.json` + +### Endpoint configuration shape + +Use an `Endpoints` section like: + +`Endpoints.Http.Port` (default `8180`) +`Endpoints.Https.Enabled` (default `false`) +`Endpoints.Https.Port` (default `8443`) +`Endpoints.Https.Certificate.Path` +`Endpoints.Https.Certificate.Password` (optional) + +If HTTPS is enabled, HTTP and HTTPS ports must be different. + +## Container build + +A Dockerfile is available at `.docker/Dockerfile`. + +Typical build and run: + +- `docker build -f .docker/Dockerfile -t synentra-console .` +- `docker run --rm -p 6264:6264 synentra-console` + +## Project structure + +- `src/Program.cs` - app startup and configuration loading +- `src/Extensions` - HTTP server and service registration extensions +- `src/Services` - API client and shared session state +- `src/Pages` - Blazor pages for dashboard, security, operations, and health +- `src/Layout` - shell layout and navigation +- `src/Models` - API contracts and view models + +## License + +See `LICENSE`.