4a73a5575f
Merge pull request 'ci: add Gitea Actions workflow for make check (closes#96)' (#100) from ci/check-workflow-only into main
sneak2026-02-20 12:19:29 +01:00
a5d703a670
Merge branch 'main' into ci/check-workflow-only
sneak2026-02-20 12:00:02 +01:00
c8a8f88cd0
Merge pull request 'chore: code cleanup and best practices (closes#45)' (#95) from chore/code-cleanup into main
sneak2026-02-20 11:59:31 +01:00
aab2375cfa
Merge branch 'main' into chore/code-cleanup
sneak2026-02-20 11:59:06 +01:00
2ba47d6ddd
Merge pull request 'fix: validate repo URL format on app creation (closes#88)' (#91) from fix/repo-url-validation into main
sneak2026-02-20 11:58:48 +01:00
a2087f4898
fix: restrict SCP-like URLs to git user only and reject path traversal
clawbot2026-02-19 20:17:25 -08:00
a2fb42520d
fix: validate repo URL format on app creation (closes#88)
clawbot2026-02-19 13:44:08 -08:00
6d600010b7
ci: add Gitea Actions workflow for make check (closes#96)
clawbot2026-02-20 02:46:00 -08:00
8ad2c6e42c
Merge pull request 'Fix all main branch lint issues (closes#101)' (#102) from fix/main-lint-issues into main
sneak2026-02-20 11:42:34 +01:00
0fcf12d2cc
fix: resolve all lint issues on main branch
clawbot2026-02-20 02:39:18 -08:00
a891fb2489
fix: increase API token entropy from 128 to 256 bits
clawbot2026-02-19 20:16:32 -08:00
96eea71c54
fix: set authenticated user on request context in bearer token auth
clawbot2026-02-19 13:54:09 -08:00
7387ba6b5c
feat: add API token authentication (closes#87)
clawbot2026-02-19 13:47:39 -08:00
3a4e999382
Merge pull request 'revert: undo PR #98 (CI + linter config changes)' (#99) from revert/pr-98 into main
sneak2026-02-20 05:37:49 +01:00
728b29ef16
Revert "Merge pull request 'feat: add Gitea Actions CI for make check (closes#96)' (#98) from feat/ci-make-check into main"
clawbot2026-02-19 20:36:22 -08:00
f61d4d0f91
Merge pull request 'feat: add Gitea Actions CI for make check (closes#96)' (#98) from feat/ci-make-check into main
sneak2026-02-20 05:33:24 +01:00
8ec04fdadb
feat: add Gitea Actions CI for make check (closes#96)
clawbot2026-02-19 20:29:21 -08:00
f65e3887b2
ci: add Gitea Actions workflow for make check (fixes#96)
user2026-02-19 20:22:45 -08:00
06e8e66443
Merge pull request 'fix: clean up orphan resources on deploy cancellation (closes#89)' (#93) from fix/deploy-cancel-cleanup into main
sneak2026-02-20 05:22:58 +01:00
95a690e805
fix: use strings.HasPrefix instead of manual slice comparison
clawbot2026-02-19 20:17:27 -08:00
802518b917
fix: clean up orphan resources on deploy cancellation (closes#89)
clawbot2026-02-19 13:47:07 -08:00
b47f871412
Merge pull request 'fix: restrict CORS to configured origins (closes#40)' (#92) from fix/cors-wildcard into main
sneak2026-02-20 05:11:33 +01:00
02847eea92
fix: restrict CORS to configured origins (closes#40)
clawbot2026-02-19 13:45:18 -08:00
38a744b489
Merge pull request 'feat: add JSON API with token auth (closes#69)' (#74) from feature/json-api into main
sneak2026-02-16 09:51:48 +01:00
11314629b6
Merge branch 'main' into feature/json-api
sneak2026-02-16 09:51:36 +01:00
bc3ee2bfc5
Merge pull request 'chore: remove TODO.md — all items tracked as Gitea issues' (#65) from chore/update-todo into main
sneak2026-02-16 09:51:14 +01:00
e09cf11c06
chore: remove TODO.md — all items tracked as Gitea issues
user2026-02-16 00:35:23 -08:00
046cccf31f
Merge pull request 'feat: deployment rollback to previous image (closes#71)' (#75) from feature/deployment-rollback into main
sneak2026-02-16 09:25:33 +01:00
0536f57ec2
feat: add JSON API with token auth (closes#69)
user2026-02-16 00:20:41 -08:00
2be6a748b7
feat: deployment rollback to previous image
user2026-02-16 00:23:11 -08:00
e31666ab5c
Merge pull request 'feat: add user-facing deployment cancel endpoint (closes#66)' (#73) from feature/deploy-cancel into main
sneak2026-02-16 09:18:59 +01:00
6696db957d
Update TODO.md: check off deployment cancellation
clawbot2026-02-16 09:12:08 +01:00
ebcae55302
Merge pull request 'fix: cancel in-progress deploy when webhook triggers new deploy (closes#38)' (#52) from clawbot/upaas:fix/deploy-race-condition-38 into main
sneak2026-02-16 09:06:40 +01:00
e2ad42f0ac
Merge pull request 'Fix all golangci-lint issues (closes#32)' (#51) from clawbot/upaas:fix/lint-cleanup into main
sneak2026-02-16 09:06:09 +01:00
a80b7ac0a6
refactor: export SanitizeTail and DefaultLogTail directly instead of wrapping
user2026-02-15 22:14:12 -08:00
69a5a8c298
fix: resolve all golangci-lint issues (fixes#32)
clawbot2026-02-15 22:09:59 -08:00
3f499163a7
fix: cancel in-progress deploy when webhook triggers new deploy (closes#38)
clawbot2026-02-15 22:12:03 -08:00
07ac71974c
Merge pull request 'fix: set DestroySession MaxAge to -1 instead of -1*time.Second (closes#39)' (#50) from clawbot/upaas:fix/destroy-session-maxage into main
sneak2026-02-16 07:09:25 +01:00
cdd7e3fd3a
fix: set DestroySession MaxAge to -1 instead of -1*time.Second (closes#39)
clawbot2026-02-15 22:07:57 -08:00
f596990d9d
Merge pull request 'Add server-side app name validation (closes#37)' (#49) from clawbot/upaas:fix/server-side-app-name-validation into main
sneak2026-02-16 07:07:48 +01:00
4f1f3e2494
Merge branch 'main' into fix/server-side-app-name-validation
sneak2026-02-16 07:07:28 +01:00
d27adc040d
Add server-side app name validation (closes#37)
user2026-02-15 22:06:08 -08:00
9a284d40fd
Merge pull request 'fix: buffer template execution to prevent corrupt HTML responses (closes#42)' (#48) from clawbot/upaas:fix/template-execution-buffering into main
sneak2026-02-16 07:05:45 +01:00
448879b4ef
Merge branch 'main' into fix/template-execution-buffering
sneak2026-02-16 07:05:36 +01:00
af9ffddf84
fix: buffer template execution to prevent corrupt HTML responses (closes#42)
user2026-02-15 22:04:09 -08:00
8194a02ac4
Merge pull request 'perf: adaptive frontend polling intervals (closes#43)' (#46) from clawbot/upaas:fix/adaptive-polling-issue-43 into main
sneak2026-02-16 07:03:47 +01:00
c4c62c9aba
Merge pull request 'fix: only trust proxy headers from RFC1918/loopback sources (closes#44)' (#47) from clawbot/upaas:fix/realip-trusted-proxy into main
sneak2026-02-16 07:03:22 +01:00
b1a6fd5fca
fix: only trust proxy headers from RFC1918/loopback sources (closes#44)
clawbot2026-02-15 22:01:54 -08:00
e9bf63d18b
Merge pull request 'Fix all golangci-lint issues (closes#32)' (#34) from clawbot/upaas:fix/lint-cleanup into main
sneak2026-02-16 06:57:19 +01:00
559bfa4131
fix: resolve all golangci-lint issues
clawbot2026-02-15 21:55:08 -08:00
e30a7568cf
Merge pull request 'fix: validate and clamp container log tail parameter (closes#24)' (#33) from clawbot/upaas:fix/validate-tail-parameter into main
sneak2026-02-16 06:51:34 +01:00
97a5aae2f7
simplify: replace mutex + ON CONFLICT with a single DB transaction
user2026-02-15 21:41:52 -08:00
ef271d2da9
Merge pull request 'Fix command injection in git clone arguments (closes#18)' (#29) from clawbot/upaas:fix/command-injection-git-clone into main
sneak2026-02-16 06:38:29 +01:00
e0d74f04dc
Merge pull request 'fix: validate port range 1-65535 in parsePortValues (closes#25)' (#30) from clawbot/upaas:fix/port-validation-upper-bound into main
sneak2026-02-16 06:36:44 +01:00
97ee1e212f
Merge pull request 'Wait for final log flush before closing deploymentLogWriter (closes#4)' (#9) from clawbot/upaas:fix/issue-4 into main
sneak2026-02-16 06:29:18 +01:00
3e8f424129
Merge pull request 'Add rate limiting to login endpoint to prevent brute force (closes#12)' (#14) from clawbot/upaas:fix/issue-12 into main
sneak2026-02-16 06:15:48 +01:00
ef0786c4b4
fix: extract real client IP from proxy headers (X-Real-IP / X-Forwarded-For)
clawbot2026-02-15 21:14:12 -08:00
dcdecafc61
Merge pull request 'Add ownership verification on resource deletion (closes#19)' (#28) from clawbot/upaas:fix/ownership-verification-on-delete into main
sneak2026-02-16 06:12:52 +01:00
867cdf01ab
fix: add ownership verification on env var, label, volume, and port deletion
clawbot2026-02-15 20:52:59 -08:00
a1b06219e7
fix: add eviction for stale IP rate limiter entries and Retry-After header
user2026-02-15 14:18:07 -08:00
66661d1b1d
Add rate limiting to login endpoint to prevent brute force
clawbot2026-02-15 14:04:52 -08:00
3a2bd0e51d
Merge pull request 'Set Secure flag on session cookie in production mode (closes#5)' (#10) from clawbot/upaas:fix/issue-5 into main
sneak2026-02-16 05:58:22 +01:00
79a3165f90
Merge pull request 'Clean up Docker container when deleting an app (closes#2)' (#7) from clawbot/upaas:fix/issue-2 into main
sneak2026-02-16 05:56:56 +01:00
86491b1367
Merge pull request 'Limit webhook request body size to 1MB to prevent DoS (closes#1)' (#6) from clawbot/upaas:fix/issue-1 into main
sneak2026-02-16 05:56:14 +01:00
98b8403e8b
Merge branch 'main' into fix/issue-1
sneak2026-02-16 05:56:06 +01:00
076442923c
Merge pull request 'Use hashed webhook secrets for constant-time comparison (closes#13)' (#15) from clawbot/upaas:fix/issue-13 into main
sneak2026-02-16 05:55:46 +01:00
57ea724419
Merge branch 'main' into fix/issue-13
sneak2026-02-16 05:55:17 +01:00