Files
storage-appliance/README.md

43 lines
1015 B
Markdown

# Storage Appliance (skeleton)
This repository is a starting skeleton for a storage appliance management system using Go + HTMX.
Features in this skeleton:
- HTTP server with chi router and graceful shutdown
- Basic DB migration and seed for a sqlite database
- Minimal middleware placeholders (auth, RBAC, CSRF)
- Templates using html/template and HTMX sample
- Job runner skeleton and infra adapter stubs for ZFS/NFS/SMB/MinIO/iSCSI
Quick start:
```bash
make run
```
Build:
```bash
make build
```
Run tests:
```bash
make test
```
The skeleton is intentionally minimal. Next steps include adding real service implementations, authentication, and more tests.
API examples:
Get pools (viewer):
```bash
curl -H "X-Auth-User: viewer" -H "X-Auth-Role: viewer" http://127.0.0.1:8080/api/pools
```
Create a pool (admin):
```bash
curl -s -X POST -H "X-Auth-User: admin" -H "X-Auth-Role: admin" -H "Content-Type: application/json" \
-d '{"name":"tank","vdevs":["/dev/sda"]}' http://127.0.0.1:8080/api/pools
```