Files
felhom.eu/documentation/audits/mailer-source-2026-10-08/SEARCH.md
T

45 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# The contact mailer's source — the search (2026-10-08)
**Result: NOT FOUND.** Read only on DooPlex: no restart, no deploy, no image tag, no change to the pod.
## Part A — the program's own clues
| Clue | Value | Source |
|---|---|---|
| Module | `github.com/felhom/contact-mailer` `(devel)` | `go version -m` → `go-version-m.txt` |
| Go | go1.23.12, `CGO_ENABLED=0`, `-ldflags="-w -s"` | same |
| `vcs.revision` / `vcs.time` / `vcs.modified` | **absent** — not built inside a git folder (or with VCS stamping off) | same |
| Source file | **one file: `/build/main.go`** (the only non-stdlib `.go` path in the binary) | `strings` |
| Image | `docker.io/library/contact-mailer:latest`, index `sha256:fac420fd…`, built **2026-02-05 10:40 +01:00** by BuildKit; multi-stage: a builder stage with `/build`, then alpine 3.20.9 + `ca-certificates tzdata`, user `appuser` 1000, `WORKDIR /app`, `COPY /build/contact-mailer .` | `k3s ctr content get` → `image-config.json` |
| Provenance | the index names an SLSA provenance blob (`sha256:f4ad3f62…`) — **not present** in containerd (`ctr content get`: not found) | — |
The binary itself is kept here (`contact-mailer.bin`, sha256 in `contact-mailer.bin.sha256`; no API key inside — a
search for `re_…`, `Bearer re_`, `sk-`, `ghp_` found 0): if DooPlex is rebuilt, this is the only copy of the program.
## Part B — where it was searched (each with its positive control)
| # | Place | Result | Positive control |
|---|---|---|---|
| 1 | Paths from Part A (`/build`) | none on DooPlex (`/build` does not exist; it was the build container's folder) | — |
| 2 | Web editor (`code-system/code-server`, Longhorn PVCs `code-server-workspace`/`-config`/`-local`, read through the running pod): `grep -r` for `sendViaResend`, `buildEmailHTML`, `felhom/contact-mailer` in `*.go`, `go.mod`, `Dockerfile*` under `/home/coder`; name search `*contact*mailer*`; the editor's file history `~/.local/share/code-server/User/History` (34 MB) without a type filter | only `felhom.eu/manifests/contact-mailer.yaml` | `func main` found in `felhom-agent/cmd/felhom-opsign/main.go` and in two History `.go` copies |
| 3 | Gitea: all 10 repositories the two tokens see (`admin/*`; no other owner visible), full history, `git log --all -G 'sendViaResend\|buildEmailHTML\|felhom/contact-mailer'` | hits only in manifests: `homelab-manifests` c9648cd (2026-02-05 „added mailer pod", deleted ee93b50) and `felhom.eu` 0b144a4d | the same search finds the manifests (which name `…/felhom/contact-mailer`) |
| 4 | DooPlex disks, whole (`/`, `/mnt/1_hdd`, `2_hdd`, `3_hdd`, `5_hdd`, `ssd_2`), `nice -n 19 ionice -c3`: name search `*contact-mailer*`/`*contact_mailer*`, no depth limit; content search of 55,548 `*.go`/`go.mod`/`Dockerfile*` files for `sendViaResend\|buildEmailHTML\|felhom/contact-mailer\|RESEND_API_KEY\|contact-mailer\|contact_mailer` (`search.sh`, `disk-search.txt`) | names: the manifest and the pod's own logs only; content: only `hub/cmd/hub/main.go` (×2) | `RESEND_API_KEY` found in the hub's `main.go` (both copies) |
| 5 | Docker build cache (`docker buildx du --verbose`, 337 records) and build history (`docker buildx history ls`) | oldest cache record 2026-09-28, history 7 days — the February build is gone; no dangling image | the lists hold today's builds |
**Excluded by name** (fences or no source possible): `/proc /sys /dev /run`, `/var/lib/{docker,containerd,
containerd.pre-move-2026-08-05,rancher,kubelet,longhorn,proxmox-backup}`, `/mnt/ssd_2/{replicas,containerd}`,
`/mnt/backup-longhorn`, any `.chunks` (PBS), media folders (`Download Series Movies Cartoons Kids Audiobook Photos
Videos "Phone Backup"`, `/mnt/plex_media`), `lost+found`, the session scratchpad. Gitea's and the registry's own
storage live in k3s/Longhorn volumes and were not read directly (Gitea was read through its API).
**Not reachable from here:** the operator's Windows workstation (`e:\DooPlex Server\` holds DooPlex deploy notes per
project memory). The manifest's own comment says `docker build -t contact-mailer:latest .`, then
`docker save … | sudo k3s ctr images import -` — a build on a machine with k3s, so DooPlex, from a folder that no
longer exists here.
## A side finding
`homelab-manifests` history (c9648cd, 2026-02-05) holds a Resend API key literal in the old manifest's comment. Compared
by hash only (never printed): it is **not** today's key (`Secret/resend-api`), which was rotated 2026-06-29 (felhom.eu
feea0606). No row: the key was already replaced.