Webapp + API para asignar nombres mitológicos (griegos/romanos) a servidores y usuarios locales, con gestión básica de credenciales.
- Go API (
chi+pgx) - PostgreSQL 16
- Docker Compose
# Solo DB (desarrollo local)
docker compose up -d db
# API en el host
export DATABASE_URL='postgres://demiservers:demiservers@localhost:5432/demiservers?sslmode=disable'
go run ./cmd/api
# O todo en Docker
docker compose up --buildAPI en http://localhost:8080.
| Método | Ruta | Descripción |
|---|---|---|
| GET | /healthz |
Healthcheck |
| GET | /api/v1/names?category=god&available=true |
Pool de nombres |
| GET | /api/v1/names/{id} |
Detalle de un nombre |
| GET/POST | /api/v1/servers |
Listar / asignar servidor (nombre aleatorio o myth_name_id) |
| GET/DELETE | /api/v1/servers/{id} |
Detalle / liberar nombre |
| GET/POST | /api/v1/servers/{id}/credentials |
Credenciales (password | ssh_key) |
| DELETE | /api/v1/credentials/{id} |
Borrar credencial |
| GET/POST | /api/v1/users |
Usuarios locales (linux/windows) |
| DELETE | /api/v1/users/{id} |
Liberar nombre de usuario |
# Asignar un nombre aleatorio (categoría opcional)
curl -s -X POST localhost:8080/api/v1/servers \
-H 'Content-Type: application/json' \
-d '{"category":"god","description":"homelab box"}'
# Credencial placeholder (cifrado / FS host: pendiente)
curl -s -X POST localhost:8080/api/v1/servers/1/credentials \
-H 'Content-Type: application/json' \
-d '{"kind":"password","label":"root","secret_value":"change-me"}'El seed data/myth_names.json se extrajo de SWEGods (dioses, héroes, ubicaciones). Se aplica al arrancar si faltan filas.
- Frontend estático embebido
- Cifrado de secretos + integración FS para SSH keys
- Export/import JSON
- CLI