go-doc/data/docs/go-mad.md
2026-10-07 15:05:48 +02:00

4 KiB

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