72 lines
2.5 KiB
Markdown
72 lines
2.5 KiB
Markdown
# Nexus Control Panel
|
|
|
|
**Your central command. One login, every tool.**
|
|
|
|
Nexus is the identity hub for the Arcline platform. It acts as the single source of truth for users, roles, sessions, and SSO integrations — connecting Portal, Billing, Git, Monitoring, and future tools through one unified login.
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
make run
|
|
```
|
|
|
|
The server starts on `http://0.0.0.0:8080` by default.
|
|
|
|
## Endpoints
|
|
|
|
| Method | Path | Auth | Description |
|
|
|--------|-----------------|----------|--------------------------|
|
|
| GET | `/health` | Public | Health check |
|
|
| GET | `/ready` | Public | Readiness probe |
|
|
| POST | `/auth/login` | Public | Authenticate, get tokens |
|
|
| POST | `/auth/refresh` | Public | Refresh access token |
|
|
| GET | `/auth/me` | Bearer | Current user info |
|
|
|
|
## Configuration
|
|
|
|
All config is via environment variables:
|
|
|
|
| Variable | Default | Description |
|
|
|-------------------------|-------------------------|---------------------------|
|
|
| `NEXUS_HOST` | `0.0.0.0` | Server host |
|
|
| `NEXUS_PORT` | `8080` | Server port |
|
|
| `NEXUS_DB_HOST` | `localhost` | PostgreSQL host |
|
|
| `NEXUS_DB_PORT` | `5432` | PostgreSQL port |
|
|
| `NEXUS_DB_USER` | `nexus` | PostgreSQL user |
|
|
| `NEXUS_DB_PASSWORD` | *(required)* | PostgreSQL password |
|
|
| `NEXUS_DB_NAME` | `nexus` | PostgreSQL database |
|
|
| `NEXUS_DB_SSLMODE` | `disable` | PostgreSQL SSL mode |
|
|
| `NEXUS_JWT_SECRET` | `change-me-in-production` | HMAC secret for JWT |
|
|
| `NEXUS_LOG_LEVEL` | `info` | debug, info, warn, error |
|
|
| `NEXUS_LOG_FORMAT` | `json` | json or text |
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
cmd/server/ — Server bootstrap, graceful shutdown
|
|
internal/
|
|
auth/ — JWT generation, validation, token hashing
|
|
config/ — Environment-based configuration
|
|
db/ — Database layer (planned)
|
|
handler/ — HTTP request handlers
|
|
middleware/ — Logging, CORS, auth, recovery
|
|
models/ — Domain types (User, Session, ConnectedApp, etc.)
|
|
```
|
|
|
|
## Development
|
|
|
|
```bash
|
|
# Run with Go
|
|
go run .
|
|
|
|
# Run with live reload
|
|
make dev
|
|
|
|
# Tests
|
|
make test
|
|
|
|
# Lint
|
|
make lint
|
|
```
|
|
|