Files
sankofa-hw-infra/README.md
defiQUG 93df3c8c20
Some checks failed
CI / lint-and-test (push) Has been cancelled
Initial commit: add .gitignore and README
2026-02-09 21:51:50 -08:00

43 lines
2.4 KiB
Markdown

# Sankofa HW Infra
Hardware procurement, inventory, and operations platform for **sovereign cloud operations**: offer intake, inspection workflows, purchasing controls, asset lifecycle, multi-site management, and integrations. UniFi is used as a **hardware-aware, compliance-relevant infrastructure layer** (product intelligence, support horizon, per-sovereign controller topology). See [docs/architecture.md](docs/architecture.md), [docs/integration-spec-unifi.md](docs/integration-spec-unifi.md), and [docs/sovereign-controller-topology.md](docs/sovereign-controller-topology.md).
## Stack
- **Monorepo**: pnpm workspaces
- **API**: Fastify (Node), REST `/api/v1`, JWT + RBAC/ABAC
- **Web**: React + Vite
- **DB**: PostgreSQL (Drizzle), S3-compatible object storage
- **Workflow**: Embedded state machines (PO approval, inspection)
## Quick start
1. Copy `env.example` to `.env` and set `DATABASE_URL`, optional `S3_*`, `JWT_SECRET`.
2. Start Postgres: `cd infra && docker compose up -d`
3. Migrate: `pnpm db:migrate`
4. Install: `pnpm install`
5. API: `pnpm --filter @sankofa/api run dev` (port 4000)
6. Web: `pnpm --filter @sankofa/web run dev` (port 3000)
## Scripts
- `pnpm run build` — build all packages
- `pnpm run test` — run tests
- `pnpm run lint` — lint
- `pnpm db:migrate` — run DB migrations
## Docs
- [Architecture](docs/architecture.md)
- [ERD](docs/erd.md)
- [OpenAPI](docs/openapi.yaml)
- [RBAC sovereign operations](docs/rbac-sovereign-operations.md), [Compliance profiles](docs/compliance-profiles.md)
- [CI/CD](docs/cicd.md)
- [Integration specs](docs/integration-spec-unifi.md), [Proxmox](docs/integration-spec-proxmox.md), [Redfish](docs/integration-spec-redfish.md)
- [Purchasing feedback loop](docs/purchasing-feedback-loop.md), [Sovereign controller topology](docs/sovereign-controller-topology.md)
- [Capacity dashboard spec](docs/capacity-dashboard-spec.md) (RU utilization, power headroom, GPU inventory; UI at `/capacity`)
- [Operational baseline](docs/operational-baseline.md) (current hardware in-hand; see [data/operational-baseline-hardware.json](data/operational-baseline-hardware.json) for structured import)
- [Vendor portal](docs/vendor-portal.md) (vendor user login, scoped offers/POs), [Offer ingestion](docs/offer-ingestion.md) (scrape + email intake)
- [Next steps before Swagger and UI](docs/next-steps-before-swagger-and-ui.md)
- [Runbooks](docs/runbooks/)