Skip to content

Commit ab62114

Browse files
docs
1 parent 3989078 commit ab62114

File tree

5 files changed

+92
-9
lines changed

5 files changed

+92
-9
lines changed

docs/getting-started.md

Lines changed: 70 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,90 @@
11
# Getting Started (Developer Preview)
22

3-
> ⚠️ **Active Development:** OpenHVX is not production‑ready. This guide targets **contributors and early testers**.
3+
> ⚠️ **Active Development:** OpenHVX is not production-ready. This guide targets **contributors and early testers**.
4+
5+
---
46

57
## Prerequisites
68

7-
- Windows host with **HyperV** (for Agent tests)
9+
- Windows host with **Hyper-V** (for Agent tests)
810
- **Docker/Podman & Docker Compose**
911
- **Node.js 20+** and **npm**
1012
- **Go 1.21+** (to build Agent tools)
1113

14+
---
15+
1216
## Quick Start (Backend)
1317

1418
```bash
1519
# 1) Clone
1620
git clone https://github.com/openhvx/openhvx-backend.git
1721
cd openhvx-backend
18-
# 2) Env
19-
Create and fill env files (.env.auth, .env.controller, .env.gateway, .env.ws)
22+
23+
# 2) Environment
24+
# Create and fill env files:
25+
# .env.auth, .env.controller, .env.gateway, .env.ws
26+
2027
# 3) Run services
2128
docker compose up -d
22-
2329
```
2430

2531
> **All variables and examples are documented in** [Environment variables](https://openhvx.org/docs/environment-variables.html).
2632
33+
---
34+
35+
## Create a Global Admin (one-time bootstrap)
36+
37+
This initializes the **platform-wide administrator** via the Admin Auth API.
38+
39+
> **Notes**
40+
>
41+
> - Requires `REGISTER_ENABLED=true` and a valid `REGISTER_API_KEY` on the **Auth** side.
42+
> - The `mode` parameter defines the registration behavior:
43+
> - `once`: create only if missing (409 if already exists)
44+
> - `reset`: reset password only if user exists
45+
> - `upsert`: create if missing, or reset if exists (recommended for bootstrap)
46+
> - Replace `x-api-key` and credentials as needed.
47+
48+
### Linux / macOS
49+
50+
```bash
51+
curl -k -X POST "https://admin-api.openhvx.local/api/v1/admin/auth/register?mode=upsert" \
52+
-H "content-type: application/json" \
53+
-H "x-api-key: example" \
54+
--data-binary '{"email":"admin@openhvx.local","password":"3x4mpl3"}'
55+
```
56+
57+
### Windows PowerShell
58+
59+
```powershell
60+
curl -k -Method POST "https://admin-api.openhvx.local/api/v1/admin/auth/register?mode=upsert" `
61+
-Headers @{ "content-type" = "application/json"; "x-api-key" = "Fklzhrfolzhrihjzpo" } `
62+
-Body '{ "email":"admin@openhvx.local", "password":"3x4mpl3" }'
63+
```
64+
65+
**Expected response (example):**
66+
67+
```json
68+
{
69+
"ok": true,
70+
"user": {
71+
"id": "adm_01J....",
72+
"email": "admin@openhvx.local",
73+
"role": "global-admin"
74+
}
75+
}
76+
```
77+
78+
> **Security**
79+
>
80+
> - Avoid exposing the API key in your shell history: export it to a variable (`export ADMIN_REGISTER_KEY=...`) and use `-H "x-api-key: $ADMIN_REGISTER_KEY"`.
81+
> - Change the password and registration key in real environments.
82+
83+
---
84+
2785
## Build Agent Tools (Windows helpers)
2886

29-
These binaries are required by the PowerShell Agent to create cloudinit ISOs and to bridge serial consoles.
87+
These binaries are required by the PowerShell Agent to create **cloud-init ISOs** and to bridge **serial consoles**.
3088

3189
**Layout:**
3290

@@ -53,7 +111,9 @@ This will:
53111

54112
> If you build manually, ensure you build `src/` first, then the tools, then move outputs to `/src/powershell/bin`.
55113
56-
## Running the Agent (on a Hyper‑V host)
114+
---
115+
116+
## Running the Agent (on a Hyper-V host)
57117

58118
1. Copy the folder `src/powershell/` and its `bin/` subfolder (containing the built `.exe`) to the Windows host.
59119
2. Open an elevated PowerShell.
@@ -86,8 +146,10 @@ This will:
86146
# .\openhvx-agent.exe
87147
```
88148

149+
---
150+
89151
## Next Steps
90152

91153
- Read: **Overview → Architecture & Features**
92-
- Contribute: open issues/PRs on GitHub: [https://github.com/openhvx](https://github.com/openhvx)
154+
- Contribute: open issues/PRs on GitHub [https://github.com/openhvx](https://github.com/openhvx)
93155
- Roadmap & known limitations: _(coming soon)_

docs/index.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ OpenHVX is an open-source orchestration platform for **multi-tenant Hyper-V infr
66
> Expect rapid iteration and potential breaking changes between releases.
77
> Community testing and contributions are highly encouraged!
88
9+
---
10+
911
## Architecture
1012

1113
OpenHVX separates orchestration and execution into clear layers.
@@ -39,6 +41,25 @@ The design emphasizes **asynchronous communication**, **tenant isolation**, and
3941

4042
---
4143

44+
## User Interface
45+
46+
### Admin Dashboard
47+
48+
The admin dashboard provides a global overview of tenants, resources, and running tasks.
49+
50+
<img src="/assets/dashboard.png" alt="OpenHVX Admin Dashboard" width="900" data-zoomable />
51+
52+
### Serial Console
53+
54+
Each VM exposes a live serial console, **established as a tunnel** between the **client browser** and the **Agent**, with the **WebSocket Broker** acting as an intermediary relay.
55+
The broker maintains secure, tenant-scoped channels, ensuring that only authenticated users can attach to their own virtual machines.
56+
57+
This architecture provides near real-time console streaming, independent of the hypervisor’s native UI or RDP, and works even in fully headless environments.
58+
59+
<img src="/assets/serial-console.png" alt="OpenHVX Serial Console" width="900" data-zoomable />
60+
61+
---
62+
4263
### 🤝 Contributing
4364

4465
We welcome contributions from the community! Whether it’s documentation improvements, feature suggestions, or bug reports — every input helps make OpenHVX better. Visit the [GitHub organization](https://github.com/openhvx) to get started.

docs/public/assets/dashboard.png

195 KB
Loading
87.6 KB
Loading

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ <h3 class="tl-title">Core Backend · MVP</h3>
223223
<div class="tl-foot"></div>
224224
</li>
225225

226-
<li class="tl-item in-progress">
226+
<li class="tl-item done">
227227
<span class="tl-dot" aria-hidden="true"></span>
228228
<time class="tl-time">Q1 2026</time>
229229
<h3 class="tl-title">Quota System</h3>

0 commit comments

Comments
 (0)