Fix 1.0 audit bugs (closes #120, closes #121, closes #122, closes #123, closes #124, closes #125) #126

Open
clawbot wants to merge 11 commits from fix/audit-bugs-120-125 into main

11 Commits

Author SHA1 Message Date
clawbot
5791d33720 docs: expand Important note — HOST_DATA_DIR must be absolute path
All checks were successful
Check / check (pull_request) Successful in 11m32s
Explain why relative paths break container builds and add usage example.
Addresses sneak's review feedback on PR #126.
2026-02-23 13:17:21 -08:00
e115aa765a docs: clarify UPAAS_DATA_DIR default is for local dev only
All checks were successful
Check / check (pull_request) Successful in 11m19s
The ./data default comes from Go code and works for local development.
For Docker deployments, an absolute path should be used.
Updated config table to make this distinction clear.
2026-02-23 13:16:06 -08:00
user
4d53ee5b06 docs: remove relative path default for HOST_DATA_DIR in docker-compose example
All checks were successful
Check / check (pull_request) Successful in 11m19s
Users must set HOST_DATA_DIR to an explicit absolute path. Removed
the :-./data fallback from both the volume mount and environment
variable in the docker-compose example.
2026-02-23 13:15:10 -08:00
user
86528ad63e refactor: remove internal/domain package, move types to correct packages
All checks were successful
Check / check (pull_request) Successful in 11m40s
- ImageID + ContainerID → internal/docker/types.go
- UnparsedURL → internal/service/webhook/types.go
- Delete internal/domain/ entirely
- Update all imports throughout the codebase
2026-02-23 13:14:15 -08:00
user
75cad7d2ad refactor: add String() methods to domain types, replace string() casts
All checks were successful
Check / check (pull_request) Successful in 11m36s
2026-02-23 11:58:00 -08:00
002fdd87a7 rework: address review feedback on PR #126
All checks were successful
Check / check (pull_request) Successful in 11m24s
Changes per sneak's review:
- Delete docker-compose.yml, add example stanza to README
- Define custom domain types: ImageID, ContainerID, UnparsedURL
- Use custom types in all function signatures throughout codebase
- Restore imageID parameter (as domain.ImageID) in deploy pipeline
- buildContainerOptions now takes ImageID directly instead of
  constructing image tag from deploymentID
- Fix pre-existing JS formatting (prettier)

make check passes with zero failures.
2026-02-23 11:54:05 -08:00
7c879fc6f4 fix: assign commit error to err so deferred rollback triggers (closes #125)
When Commit() failed, the error was stored in commitErr instead of err,
so the deferred rollback (which checks err) was skipped.
2026-02-23 11:51:11 -08:00
7045ffb469 fix: rename GetBuildDir param from appID to appName (closes #123)
The parameter is always called with app.Name, not an ID. Rename to match
actual usage and prevent confusion.
2026-02-23 11:51:11 -08:00
91645bee3b fix: add 1MB size limit on deployment logs with truncation (closes #122)
Cap AppendLog at 1MB, truncating oldest lines when exceeded. Prevents
unbounded SQLite database growth from long-running builds.
2026-02-23 11:51:11 -08:00
ae2611f027 fix: use renderTemplate in all error paths of HandleAppCreate/HandleAppUpdate (closes #121)
Replace direct tmpl.ExecuteTemplate calls with h.renderTemplate to ensure
buffered rendering and prevent partial HTML responses on template errors.
2026-02-23 11:51:11 -08:00
c6268132fa fix: use bind mount with HOST_DATA_DIR in docker-compose.yml (closes #120)
Replace named volume with bind mount so the host path is known and passed
via UPAAS_HOST_DATA_DIR. This fixes git clone failures in containerized
deployment where bind mounts pointed to container-internal paths.
2026-02-23 11:51:11 -08:00