chore: adding docs

This commit is contained in:
Daniel Noulet 2026-10-07 15:05:48 +02:00
parent 23816d00f7
commit 81c5112409
39 changed files with 7257 additions and 2 deletions

141
data/docs/go-mad.md Normal file
View file

@ -0,0 +1,141 @@
<!-- go-doc:generated:begin source=go-mad signature=9b2e6fd6778d65d26378ad5507111fec generated=2026-10-07 08:28 UTC -->
# go-mad
A web application for managing tenant database connections and running migration scripts.
| | |
| --- | --- |
| Module | github.com/dnoulet/go-mad · go 1.27.1 · 4 Go files |
| Endpoints | 0 endpoints |
| Components | 0 component directories |
| Tests | none detected |
| Go lines | 362 lines |
> Everything between the generated markers is rewritten by every sync. Notes written outside the markers are kept.
## For Users
### What this application does
A web application for managing tenant database connections and running migration scripts.
The project ships its own README at `docs/README.md`, which is the long form of this page. The three audience tabs split the same facts three ways so you only read the part that concerns you.
### Reading this in go-doc
Open the page and pick the tab that matches you:
- **User** — you use the finished application. This section is all you need.
- **Operator** — you run it. Configuration, ports and deployment notes are under that tab.
- **Developer** — you integrate with it or change it. The API and layout tables are under that tab.
The feedback panel stores a note per audience, tagged with your badge, so operators and developers can see which audience raised it.
### Where the original documentation lives
This project already carries 3 Markdown documents. They stay in the project repository: this page points at them instead of copying them, so there is always exactly one copy of the truth.
| Document | Size |
| --- | --- |
| `docs/README.md` | 3197 bytes |
| `docs/installation.md` | 1600 bytes |
| `docs/operations.md` | 2193 bytes |
---
## For Operators
### Running it locally
The root Makefile defines 6 targets:
- `make compose-logs`
- `make docker-build`
- `make docker-push`
- `make integration-test`
- `make run`
- `make web-build`
### Local containers
The compose file defines these services:
| Service | Image | Published ports |
| --- | --- | --- |
| postgres | `postgres:15-alpine` | internal only |
| go-mad | built locally | internal only |
### Image
`Dockerfile` builds from `golang:1.27.1-alpine`, `gcr.io/distroless/static-debian12:nonroot` in stages: builder and exposes 8080.
### Configuration
Every environment variable found in the source or in a `.env` file:
| Variable | Example | Found in |
| --- | --- | --- |
| `GO_MAD_DATABASE_URL` | — | source |
| `GO_MAD_JWT_SECRET` | — | source |
| `GO_MAD_SERVER_HOST` | — | source |
| `GO_MAD_SERVER_PORT` | — | source |
### Network surface
Ports referenced across the project: `8080`.
### Deployment artefacts
Helm 1 chart found:
- `helm/go-mad`
### Operations documentation that already exists
Read these in place rather than duplicating them here:
- `docs/installation.md` — Installation
- `docs/operations.md` — Operations
> No HTTP route registrations were detected. If this is a server, the API table is incomplete — check for routes built dynamically.
---
## For Developers
### Module layout
- go.mod — module github.com/dnoulet/go-mad, go 1.27.1, 2 direct and 9 indirect dependencies
### HTTP API
No route registrations were detected, which is expected for a CLI, a library or a worker.
### Direct dependencies
- `github.com/jackc/pgx/v5` v5.11.0
- `gopkg.in/yaml.v3` v3.0.1
### Directory map
| Directory | Files | Lines | Likely purpose |
| --- | --- | --- | --- |
| `helm/` | 12 | 329 | deployment manifests |
| `web/` | 8 | 355 | frontend assets |
| `internal/` | 6 | 332 | unimportable application internals |
| `docs/` | 3 | 0 | project documentation |
| `cmd/` | 1 | 63 | binary entry points |
### Languages
- **JSON** — 2 files, 976 lines
- **CSS** — 1 file, 585 lines
- **YAML** — 11 files, 478 lines
- **Go** — 4 files, 362 lines
- **Markdown** — 3 files, 349 lines
- **tgz** — 1 file, 319 lines
- **JSX** — 1 file, 241 lines
- **TypeScript** — 1 file, 109 lines
- **SQL** — 3 files, 33 lines
- **HTML** — 1 file, 13 lines
<!-- go-doc:generated:end -->