2026-02-17 - 2026-08-17

Overview

31 Active Pull Requests
80 Active Issues
Excluding merges, 3 authors have pushed 14 commits to main and 81 commits to all branches. On main, 95 files have changed and there have been 5529 additions and 1980 deletions.

1 Release published by 1 user

Published 1.0.0 MVP 2026-02-26 14:02:56 +01:00

31 Pull requests merged by 2 users

Merged #187 Update golangci-lint to v2.12.2 with canonical config 2026-08-07 22:21:42 +02:00

Merged #174 scripts-to-rule-them-all 2026-07-07 02:15:20 +02:00

Merged #173 TODO 2026-07-06 21:36:27 +02:00

Merged #172 Move schema_migrations table creation into 000.sql with INTEGER version column 2026-03-30 21:40:16 +02:00

Merged #170 feat: add GitHub and GitLab webhook support 2026-03-22 00:46:11 +01:00

Merged #165 feat: CPU/memory resource limits per app 2026-03-20 06:44:48 +01:00

Merged #158 feat: monolithic env var editing with bulk save 2026-03-11 12:06:56 +01:00

Merged #164 feat: add webhook event history UI page 2026-03-10 18:53:58 +01:00

Merged #159 fix: add missing Makefile targets (docker, hooks) and test timeout 2026-03-10 01:09:15 +01:00

Merged #160 fix: pass notification settings from create form to service 2026-03-10 01:01:33 +01:00

Merged #155 chore: add REPO_POLICIES compliance files 2026-03-03 18:07:44 +01:00

Merged #154 fix: add COPY --from=lint to builder stage to force lint execution 2026-03-01 23:46:52 +01:00

Merged #149 fix: change module path to sneak.berlin/go/upaas (closes #143) 2026-03-01 23:22:19 +01:00

Merged #152 Split Dockerfile into lint + build stages for faster CI feedback 2026-03-01 21:19:22 +01:00

Merged #148 tidy 2026-02-26 13:55:29 +01:00

Merged #147 Fix dashboard CSRFField crash (closes #146) 2026-02-26 12:07:43 +01:00

Merged #131 fix: simplify CI to docker build only (closes #130) 2026-02-26 11:53:14 +01:00

Merged #126 Fix 1.0 audit bugs (closes #120, closes #121, closes #122, closes #123, closes #124, closes #125) 2026-02-26 11:52:55 +01:00

Merged #129 Refactor: break up app.js into smaller modules 2026-02-26 10:59:03 +01:00

Merged #127 fix: use imageID in createAndStartContainer (closes #124) 2026-02-23 20:48:23 +01:00

Merged #119 fix: pin all external refs to cryptographic identity (closes #118) 2026-02-23 20:48:09 +01:00

Merged #115 fix: disable API v1 write methods (closes #112) 2026-02-20 14:35:13 +01:00

Merged #109 fix: resolve 1.0 audit bugs (closes #104, #105, #106, #107, #108) 2026-02-20 13:47:12 +01:00

Merged #100 ci: add Gitea Actions workflow for make check (closes #96) 2026-02-20 12:19:29 +01:00

Merged #95 chore: code cleanup and best practices (closes #45) 2026-02-20 11:59:32 +01:00

Merged #91 fix: validate repo URL format on app creation (closes #88) 2026-02-20 11:58:49 +01:00

Merged #102 Fix all main branch lint issues (closes #101) 2026-02-20 11:42:35 +01:00

Merged #99 revert: undo PR #98 (CI + linter config changes) 2026-02-20 05:37:50 +01:00

Merged #98 feat: add Gitea Actions CI for make check (closes #96) 2026-02-20 05:33:24 +01:00

Merged #93 fix: clean up orphan resources on deploy cancellation (closes #89) 2026-02-20 05:22:59 +01:00

Merged #92 fix: restrict CORS to configured origins (closes #40) 2026-02-20 05:11:33 +01:00

71 Issues closed from 2 users

Closed #176 lint: fix 22 gosec G710 open-redirect findings in internal/handlers/app.go 2026-08-07 22:27:23 +02:00

Closed #175 lint: fix all 47 noctx findings (httptest.NewRequest without context) 2026-08-07 22:27:22 +02:00

Closed #171 Move schema_migrations table creation into 000.sql with INTEGER version column 2026-03-30 21:40:16 +02:00

Closed #79 FEATURE: Backup/restore of app configurations 2026-03-22 00:49:31 +01:00

Closed #80 FEATURE: Private Docker registry authentication 2026-03-22 00:49:08 +01:00

Closed #84 FEATURE: Observability improvements (structured logging, metrics, audit log) 2026-03-22 00:48:58 +01:00

Closed #81 FEATURE: Custom health check commands per app 2026-03-22 00:47:47 +01:00

Closed #68 FEATURE: GitHub and GitLab webhook support 2026-03-22 00:46:11 +01:00

Closed #72 FEATURE: CPU/memory resource limits per app 2026-03-20 06:44:50 +01:00

Closed #161 Run make fmt on JS static files 2026-03-11 12:09:08 +01:00

Closed #156 getting a 404 trying to change env vars from app page 2026-03-11 12:06:57 +01:00

Closed #163 Redesign env var editing to use monolithic list approach 2026-03-11 12:06:57 +01:00

Closed #85 FEATURE: Webhook event history UI 2026-03-10 18:54:28 +01:00

Closed #136 Makefile missing required targets: fmt-check, docker, hooks 2026-03-10 01:09:16 +01:00

Closed #137 make test missing 30-second timeout 2026-03-10 01:09:16 +01:00

Closed #157 bug: app slack/ntfy settings are not saved or properly displayed on edit 2026-03-10 01:01:33 +01:00

Closed #132 Missing .gitignore file 2026-03-03 18:07:45 +01:00

Closed #133 Missing .editorconfig file 2026-03-03 18:07:45 +01:00

Closed #134 Missing REPO_POLICIES.md 2026-03-03 18:07:45 +01:00

Closed #135 Missing .dockerignore file 2026-03-03 18:07:45 +01:00

Closed #153 Dockerfile lint stage is skipped by BuildKit (unreferenced stage) 2026-03-01 23:46:53 +01:00

Closed #151 Split Dockerfile into lint + build stages for faster CI feedback 2026-03-01 21:19:22 +01:00

Closed #145 POLICY: make fmt uses npx instead of yarn for prettier 2026-02-26 14:58:00 +01:00

Closed #144 POLICY: make test missing 30-second timeout 2026-02-26 14:57:58 +01:00

Closed #143 POLICY: Go module path should be sneak.berlin/go/upaas 2026-02-26 14:57:57 +01:00

Closed #142 POLICY: Makefile missing required targets (fmt-check, docker, hooks) 2026-02-26 14:57:56 +01:00

Closed #141 POLICY: Missing REPO_POLICIES.md in repo root 2026-02-26 14:57:54 +01:00

Closed #140 POLICY: Missing .dockerignore 2026-02-26 14:57:53 +01:00

Closed #139 POLICY: Missing .editorconfig 2026-02-26 14:57:52 +01:00

Closed #138 POLICY: Missing .gitignore 2026-02-26 14:57:50 +01:00

Closed #86 FEATURE: Settings page (webhook secret, SSH public key) 2026-02-26 14:56:53 +01:00

Closed #146 CRITICAL: error in template prevents login 2026-02-26 12:07:43 +01:00

Closed #130 the gitea action doesn't comply with repo policies. 2026-02-26 11:53:14 +01:00

Closed #125 LOW: applyMigration deferred rollback skipped when Commit() fails 2026-02-26 11:52:55 +01:00

Closed #123 LOW: GetBuildDir parameter named appID but always called with app.Name 2026-02-26 11:52:55 +01:00

Closed #120 CRITICAL: docker-compose.yml missing HOST_DATA_DIR — git clone fails in containerized deployment 2026-02-26 11:52:55 +01:00

Closed #121 HIGH: Template rendering bypass in HandleAppCreate/HandleAppUpdate can produce partial HTML 2026-02-26 11:52:55 +01:00

Closed #122 HIGH: No size limit on deployment logs stored in SQLite 2026-02-26 11:52:55 +01:00

Closed #128 Refactor: break up app.js into smaller modules 2026-02-26 10:59:03 +01:00

Closed #124 LOW: createAndStartContainer has unused imageID parameter 2026-02-23 20:48:23 +01:00

Closed #118 CRITICAL: rce in docker build 2026-02-23 20:48:09 +01:00

Closed #112 CRITICAL: API v1 routes use cookie auth without CSRF protection — cross-site request forgery 2026-02-20 14:35:13 +01:00

Closed #110 CRITICAL: Deployed containers have no security constraints (capabilities, seccomp, resource limits) 2026-02-20 14:29:15 +01:00

Closed #111 CRITICAL: Volume mounts allow access to any host path (Docker socket, /etc/shadow, etc.) 2026-02-20 14:28:44 +01:00

Closed #114 CRITICAL: API exposes webhook secret and SSH private key in app detail response 2026-02-20 14:27:50 +01:00

Closed #113 CRITICAL: Port mappings bind to 0.0.0.0 with no restriction on privileged ports or conflicts 2026-02-20 14:27:43 +01:00

Closed #108 BUG: SetupRequired middleware blocks /health, /s/*, and /api/* before initial setup 2026-02-20 13:47:14 +01:00

Closed #107 BUG: HandleVolumeAdd missing path validation — path traversal possible on volume creation 2026-02-20 13:47:14 +01:00

Closed #106 BUG: API delete endpoint does not stop/remove Docker container — orphaned containers 2026-02-20 13:47:14 +01:00

Closed #105 BUG: API deploy handler uses request context — deployment cancelled on client disconnect 2026-02-20 13:47:14 +01:00

Closed #104 BUG: HandleEnvVarDelete uses wrong route parameter name — env var deletion always 404s 2026-02-20 13:47:12 +01:00

Closed #103 Add branch protection to main branch 2026-02-20 12:22:09 +01:00

Closed #96 needs actions for code standard checks 2026-02-20 12:19:30 +01:00

Closed #45 Code cleanup: minor best practice improvements for 1.0 2026-02-20 11:59:32 +01:00

Closed #88 1.0: Validate repo URL format on app creation 2026-02-20 11:58:49 +01:00

Closed #87 1.0: API token authentication (bearer token support) 2026-02-20 11:43:11 +01:00

Closed #101 CRITICAL: main branch build failure 2026-02-20 11:42:35 +01:00

Closed #89 1.0: Cancelled deployments may leave orphan Docker resources 2026-02-20 05:22:59 +01:00

Closed #40 SECURITY: CORS allows all origins (*) — review for CSRF implications 2026-02-19 22:46:14 +01:00

Closed #82 FEATURE: Multi-user support with roles 2026-02-19 22:44:49 +01:00

Closed #83 FEATURE: Scheduled deployments 2026-02-19 22:44:32 +01:00

Closed #90 1.0: Improve test coverage for HTTP handlers 2026-02-19 22:42:14 +01:00

Closed #64 Observability improvements (structured logging, metrics, audit log) 2026-02-19 22:40:00 +01:00

Closed #63 Multi-user support with roles 2026-02-19 22:39:59 +01:00

Closed #61 GitHub/GitLab webhook support 2026-02-19 22:39:58 +01:00

Closed #60 Webhook event history UI 2026-02-19 22:39:58 +01:00

Closed #59 Resource limits - CPU/memory (Phase 4.2) 2026-02-19 22:39:57 +01:00

Closed #62 Real-time deployment log streaming (WebSocket/SSE) 2026-02-19 22:39:48 +01:00

Closed #58 Deployment rollback (Phase 3.2) 2026-02-19 22:39:48 +01:00

Closed #57 Edit existing env vars, labels, and volumes (Phase 3.1) 2026-02-19 22:39:47 +01:00

Closed #56 JSON API (Phase 4.1) 2026-02-19 22:39:46 +01:00

59 Issues created by 1 user

Opened #87 1.0: API token authentication (bearer token support) 2026-02-19 22:39:46 +01:00

Opened #88 1.0: Validate repo URL format on app creation 2026-02-19 22:39:49 +01:00

Opened #90 1.0: Improve test coverage for HTTP handlers 2026-02-19 22:39:50 +01:00

Opened #89 1.0: Cancelled deployments may leave orphan Docker resources 2026-02-19 22:39:50 +01:00

Opened #96 needs actions for code standard checks 2026-02-20 05:21:49 +01:00

Opened #101 CRITICAL: main branch build failure 2026-02-20 11:39:42 +01:00

Opened #103 Add branch protection to main branch 2026-02-20 11:59:56 +01:00

Opened #104 BUG: HandleEnvVarDelete uses wrong route parameter name — env var deletion always 404s 2026-02-20 12:27:58 +01:00

Opened #105 BUG: API deploy handler uses request context — deployment cancelled on client disconnect 2026-02-20 12:28:13 +01:00

Opened #106 BUG: API delete endpoint does not stop/remove Docker container — orphaned containers 2026-02-20 12:28:26 +01:00

Opened #107 BUG: HandleVolumeAdd missing path validation — path traversal possible on volume creation 2026-02-20 12:28:40 +01:00

Opened #108 BUG: SetupRequired middleware blocks /health, /s/*, and /api/* before initial setup 2026-02-20 12:28:56 +01:00

Opened #110 CRITICAL: Deployed containers have no security constraints (capabilities, seccomp, resource limits) 2026-02-20 13:50:16 +01:00

Opened #111 CRITICAL: Volume mounts allow access to any host path (Docker socket, /etc/shadow, etc.) 2026-02-20 13:50:31 +01:00

Opened #112 CRITICAL: API v1 routes use cookie auth without CSRF protection — cross-site request forgery 2026-02-20 13:50:46 +01:00

Opened #113 CRITICAL: Port mappings bind to 0.0.0.0 with no restriction on privileged ports or conflicts 2026-02-20 13:50:59 +01:00

Opened #114 CRITICAL: API exposes webhook secret and SSH private key in app detail response 2026-02-20 13:51:12 +01:00

Opened #118 CRITICAL: rce in docker build 2026-02-20 19:43:09 +01:00

Opened #120 CRITICAL: docker-compose.yml missing HOST_DATA_DIR — git clone fails in containerized deployment 2026-02-21 09:51:40 +01:00

Opened #121 HIGH: Template rendering bypass in HandleAppCreate/HandleAppUpdate can produce partial HTML 2026-02-21 09:51:51 +01:00

Opened #122 HIGH: No size limit on deployment logs stored in SQLite 2026-02-21 09:52:03 +01:00

Opened #123 LOW: GetBuildDir parameter named appID but always called with app.Name 2026-02-21 09:52:19 +01:00

Opened #124 LOW: createAndStartContainer has unused imageID parameter 2026-02-21 09:52:27 +01:00

Opened #125 LOW: applyMigration deferred rollback skipped when Commit() fails 2026-02-21 09:52:36 +01:00

Opened #128 Refactor: break up app.js into smaller modules 2026-02-23 20:51:05 +01:00

Opened #130 the gitea action doesn't comply with repo policies. 2026-02-26 11:08:25 +01:00

Opened #132 Missing .gitignore file 2026-02-26 11:10:07 +01:00

Opened #133 Missing .editorconfig file 2026-02-26 11:10:08 +01:00

Opened #134 Missing REPO_POLICIES.md 2026-02-26 11:10:09 +01:00

Opened #135 Missing .dockerignore file 2026-02-26 11:10:10 +01:00

Opened #136 Makefile missing required targets: fmt-check, docker, hooks 2026-02-26 11:10:10 +01:00

Opened #137 make test missing 30-second timeout 2026-02-26 11:10:11 +01:00

Opened #138 POLICY: Missing .gitignore 2026-02-26 11:10:38 +01:00

Opened #139 POLICY: Missing .editorconfig 2026-02-26 11:10:39 +01:00

Opened #140 POLICY: Missing .dockerignore 2026-02-26 11:10:39 +01:00

Opened #141 POLICY: Missing REPO_POLICIES.md in repo root 2026-02-26 11:10:40 +01:00

Opened #142 POLICY: Makefile missing required targets (fmt-check, docker, hooks) 2026-02-26 11:10:41 +01:00

Opened #143 POLICY: Go module path should be sneak.berlin/go/upaas 2026-02-26 11:10:41 +01:00

Opened #144 POLICY: make test missing 30-second timeout 2026-02-26 11:10:42 +01:00

Opened #145 POLICY: make fmt uses npx instead of yarn for prettier 2026-02-26 11:10:43 +01:00

Opened #146 CRITICAL: error in template prevents login 2026-02-26 11:54:05 +01:00

Opened #151 Split Dockerfile into lint + build stages for faster CI feedback 2026-03-01 19:27:09 +01:00

Opened #153 Dockerfile lint stage is skipped by BuildKit (unreferenced stage) 2026-03-01 23:21:08 +01:00

Opened #156 getting a 404 trying to change env vars from app page 2026-03-06 12:29:18 +01:00

Opened #157 bug: app slack/ntfy settings are not saved or properly displayed on edit 2026-03-06 12:36:23 +01:00

Opened #161 Run make fmt on JS static files 2026-03-10 00:59:58 +01:00

Opened #163 Redesign env var editing to use monolithic list approach 2026-03-10 01:09:00 +01:00

Opened #171 Move schema_migrations table creation into 000.sql with INTEGER version column 2026-03-25 02:22:03 +01:00

Opened #175 lint: fix all 47 noctx findings (httptest.NewRequest without context) 2026-08-07 18:40:22 +02:00

Opened #176 lint: fix 22 gosec G710 open-redirect findings in internal/handlers/app.go 2026-08-07 18:40:31 +02:00

Opened #177 lint: fix gosec G703 path traversal finding in deploy log download handler 2026-08-07 18:40:39 +02:00

Opened #178 lint: fix all 24 goconst findings (repeated string literals) 2026-08-07 18:40:49 +02:00

Opened #179 Bump Dockerfile lint stage golangci-lint pin from v2.10.1 to current v2.12.x 2026-08-07 18:40:59 +02:00

Opened #180 Verify branch protection on main requires the Check workflow before merge 2026-08-07 18:41:07 +02:00

Opened #181 Deploy µPaaS to fsn1app1 and verify end-to-end 2026-08-07 18:41:17 +02:00

Opened #182 Tag and publish release 1.1.0 2026-08-07 18:41:25 +02:00

Opened #184 script/bootstrap does not install goimports, which script/fmt requires 2026-08-07 18:47:47 +02:00

Opened #185 make fmt rewrites vendored static/js/alpine.min.js (missing .prettierignore) 2026-08-07 18:47:54 +02:00

Opened #188 Run all linting in Docker via Dockerfile.lint + script/lint 2026-08-10 13:16:35 +02:00