# 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/)