This website requires JavaScript.
7cf7059d3a
Leave out of the build context what the app's .dockerignore names (closes #274 )
next
clawbot
2026-10-03 03:34:39 +02:00
2a2c52074d
Hash passwords with 1 MiB in tests so make test fits in 4 GiB (closes #261 )
clawbot
2026-10-03 03:01:59 +02:00
d3b9c6fca9
Wrap the top bar's buttons onto a second row when narrow (closes #272 )
clawbot
2026-10-02 07:04:17 +02:00
23f378cfde
Allow dots in app names (closes #260 )
clawbot
2026-10-02 06:41:30 +02:00
db3b47e423
Keep the Applications list's table inside its card (closes #262 )
clawbot
2026-10-02 06:12:23 +02:00
b101bc1a80
Keep git-ignored files and data/ out of the Docker build context (closes #266 )
clawbot
2026-10-02 05:43:40 +02:00
5c836c085d
Keep .git/config out of the Docker build context (closes #269 )
clawbot
2026-10-02 04:43:03 +02:00
5168db69d9
Read the architecture at run time instead of a Buildarch ldflag (closes #259 )
clawbot
2026-10-02 03:21:51 +02:00
76858126e2
Revert "Say that a deploy keeps only an app's volumes when the app has none"
clawbot
2026-10-02 01:43:28 +02:00
5ca1bce6fa
Merge branch 'main' into next
sneak
2026-10-02 00:58:03 +02:00
9488e2faef
Tag built images with the commit's short hash (closes #239 )
clawbot
2026-10-01 22:33:20 +02:00
047945cabf
Make concurrent database writes wait instead of failing (closes #253 )
clawbot
2026-10-01 22:16:14 +02:00
b16a5c9724
Say env var changes take effect at the next deploy or rollback (closes #255 )
clawbot
2026-10-01 21:51:14 +02:00
cc786a1e84
Say that a deploy keeps only an app's volumes when the app has none (closes #248 )
clawbot
2026-10-01 21:34:29 +02:00
5f9948d7e2
Attach a BuildKit session to builds and demultiplex container logs (closes #251 )
clawbot
2026-10-01 21:15:06 +02:00
d69f11f74c
Have Docker create a missing volume host path (closes #235 )
clawbot
2026-10-01 20:48:13 +02:00
9754b73f27
Widen the app page, double its log heights and move the logs (closes #246 )
clawbot
2026-09-29 12:46:47 +02:00
679c80700f
Report the build's own error and refuse daemons too old for BuildKit (closes #234 )
clawbot
2026-09-29 12:42:55 +02:00
a48d90f5ea
Stamp the git commit into images built from the Dockerfile (closes #236 )
clawbot
2026-09-29 12:35:45 +02:00
211e2a4a5a
Show the deploy branch in the app page title (closes #240 )
clawbot
2026-09-29 12:21:35 +02:00
a836bc5f80
Show the 10 most recent deployments on the deployments page (closes #238 )
clawbot
2026-09-29 12:02:23 +02:00
2102a248b2
Merge next into main: every setting upaas reads in the README, UPAAS_PORT in the Compose file (#232 )
main
sneak
2026-09-29 07:51:56 +02:00
0a94484795
Set UPAAS_PORT as well as PORT in docker-compose.yml (closes #230 )
clawbot
2026-09-29 05:26:51 +02:00
884abf8512
List every setting upaas reads in the README Configuration table (closes #229 )
clawbot
2026-09-29 04:50:31 +02:00
194390b61f
Merge next into main: UPAAS_ setting names in the README (#228 )
clawbot
2026-09-29 02:58:45 +02:00
09d839a4c5
Merge next into main: docker-compose.yml for deploying upaas (#226 )
sneak
2026-09-29 01:41:34 +02:00
7319cf4158
Add docker-compose.yml for deploying upaas (closes #223 )
clawbot
2026-09-28 12:11:36 +02:00
9cd50acd85
Add docker-compose.yml for deploying upaas (closes #223 )
docker-compose
sneak
2026-09-28 09:28:36 +00:00
97a17e56a7
Merge next into main: deploy-rehearsal fixes, pinned prettier toolchain and canonical lint config (#207 )
sneak
2026-09-28 11:20:39 +02:00
a57efeed12
Build apps with BuildKit so build stages stop piling up (closes #220 )
clawbot
2026-09-23 12:45:42 +02:00
a60ea144fb
Remove images from earlier deploys after a successful deploy (closes #216 )
clawbot
2026-09-23 12:24:36 +02:00
56345bc6f6
Remove the git clone container's anonymous volume with it (closes #215 )
clawbot
2026-09-23 12:04:32 +02:00
ddcd179841
Keep deployment logs findable after the container is recreated (closes #214 )
clawbot
2026-09-23 11:44:30 +02:00
19619b1cd2
Wait for webhook deployments in handlers tests instead of sleeping (closes #211 )
clawbot
2026-09-23 03:04:31 +02:00
567f982c3b
Re-vendor canonical .golangci.yml from prompts (closes #208 )
clawbot
2026-09-23 02:34:27 +02:00
1d769834de
Vendor pinned prettier/format toolchain from prompts scaffold (closes #203 )
clawbot
2026-09-22 14:43:07 +02:00
6026e3923d
1.1.0 milestone: security, lint, and bootstrap fixes (#199 )
sneak
2026-09-22 20:39:11 +02:00
214df3976f
Add root .prettierrc pinning prettier settings (closes #197 )
feature/prettierrc
sneak
2026-09-22 10:34:13 +00:00
f2e4be5eed
Fix flaky t.TempDir cleanup race in webhook tests (closes #198 )
clawbot
2026-09-22 12:28:23 +02:00
d946fa68f9
Run all linting in Docker via Dockerfile.lint (closes #188 )
clawbot
2026-09-22 12:11:19 +02:00
727bd50935
Install pinned goimports in script/bootstrap (closes #184 )
clawbot
2026-09-22 11:11:15 +02:00
f1dfd382a4
Reject path traversal in deploy log download handler (closes #177 )
clawbot
2026-09-22 11:01:07 +02:00
1d38585431
Add .prettierignore for vendored minified JS (closes #185 )
clawbot
2026-09-22 10:00:50 +02:00
8597b70954
Fix four deployability blockers found by QA (#193 )
sneak
2026-09-10 11:17:40 +02:00
cdcf527b25
Fix four deployability blockers found by QA (closes #189 , closes #190 , closes #191 , closes #192 )
sneak
2026-09-09 14:12:09 +00:00
7a34fc999c
Update golangci-lint to v2.12.2 with canonical config (#187 )
clawbot and sneak
2026-08-07 22:21:42 +02:00
b580dbbd2c
fix: resolve all 22 gosec G710 open-redirect findings
fix-gosec-g710
sneak
2026-08-07 16:58:10 +00:00
21642900e6
fix: resolve all 47 noctx lint findings in tests
fix-noctx-lint
sneak
2026-08-07 16:47:16 +00:00
291f85f3ed
scripts-to-rule-them-all (#174 )
sneak
2026-07-07 02:15:20 +02:00
bee933ce8e
TODO (#173 )
sneak
2026-07-06 21:36:27 +02:00
d5c3d4d55f
Move schema_migrations table creation into 000.sql with INTEGER version column (#172 )
2026-03-30 21:40:16 +02:00
57ec4331ef
feat: add GitHub and GitLab webhook support (#170 )
clawbot and user
2026-03-22 00:46:10 +01:00
067cb86124
feat: add custom health check commands per app
feature/custom-healthcheck-command
user
2026-03-17 02:11:08 -07:00
b593f544d2
fix: address review findings for observability PR
feature/observability-improvements
clawbot
2026-03-17 02:52:34 -07:00
96f391282e
feat: add observability improvements (metrics, audit log, structured logging)
clawbot
2026-03-17 02:23:44 -07:00
67361419f5
feat: CPU/memory resource limits per app (#165 )
clawbot and user
2026-03-20 06:44:48 +01:00
9627942573
fix: move writeLogsToFile doc comment to correct position
feature/private-registry-auth
clawbot
2026-03-17 02:39:38 -07:00
bb91f314c5
feat: add backup/restore of app configurations
feature/backup-restore-config
user
2026-03-17 02:17:34 -07:00
0f4acb554e
feat: add private Docker registry authentication for base images
user
2026-03-17 02:14:39 -07:00
fd110e69db
feat: monolithic env var editing with bulk save (#158 )
2026-03-11 12:06:56 +01:00
d22daf1f0a
Merge branch 'main' into fix/js-formatting
fix/js-formatting
sneak
2026-03-10 18:54:08 +01:00
e1dc865226
feat: add webhook event history UI page (#164 )
clawbot and clawbot
2026-03-10 18:53:58 +01:00
49ff625ac4
fix: add missing Makefile targets (docker, hooks) and test timeout (#159 )
2026-03-10 01:09:15 +01:00
602046b329
Merge branch 'main' into fix/js-formatting
sneak
2026-03-10 01:07:26 +01:00
ab63670043
fix: pass notification settings from create form to service (#160 )
clawbot and clawbot
2026-03-10 01:01:32 +01:00
7920e723a6
style: run make fmt on JS static files
clawbot
2026-03-09 17:01:10 -07:00
1cd433b069
chore: add REPO_POLICIES compliance files (#155 )
clawbot and clawbot
2026-03-03 18:07:44 +01:00
94639a47e9
fix: add COPY --from=lint to builder stage to force lint execution (#154 )
clawbot and clawbot
2026-03-01 23:46:52 +01:00
12446f9f79
fix: change module path to sneak.berlin/go/upaas (closes #143 ) (#149 )
2026-03-01 23:22:18 +01:00
877fb2c0c5
Split Dockerfile into lint + build stages for faster CI feedback (#152 )
2026-03-01 21:19:21 +01:00
14525523cb
chore: update module path to sneak.berlin/go/upaas (fixes #143 )
fix/module-path
clawbot
2026-02-26 06:00:17 -08:00
578c6ec842
Merge pull request 'tidy' (#148 ) from fix/tidy into main
1.0.0
sneak
2026-02-26 13:55:28 +01:00
1c2bf80d7d
tidy
sneak
2026-02-26 19:52:09 +07:00
019ba7fe1f
Merge pull request 'Fix dashboard CSRFField crash (closes #146 )' (#147 ) from fix/dashboard-csrf-field into main
sneak
2026-02-26 12:07:42 +01:00
c22a2877d5
fix: pass CSRFField to dashboard template (closes #146 )
user
2026-02-26 02:56:12 -08:00
43cde0eefd
test: add failing test for dashboard CSRFField (refs #146 )
user
2026-02-26 02:56:00 -08:00
b1c6b93d8e
Merge pull request 'fix: simplify CI to docker build only (closes #130 )' (#131 ) from fix/ci-docker-build-only into main
sneak
2026-02-26 11:53:14 +01:00
1875792ebe
Merge branch 'main' into fix/ci-docker-build-only
sneak
2026-02-26 11:53:03 +01:00
7bbaa1d08a
Merge pull request 'Fix 1.0 audit bugs (closes #120 , closes #121 , closes #122 , closes #123 , closes #124 , closes #125 )' (#126 ) from fix/audit-bugs-120-125 into main
sneak
2026-02-26 11:52:54 +01:00
43a0cbac70
fix: use pre-built golangci-lint binary instead of go install
user
2026-02-26 02:17:54 -08:00
fb866af4e5
simplify CI to docker build only (refs #130 )
clawbot
2026-02-26 02:11:15 -08:00
91d6da0796
fix: move inline comments above FROM lines (fixes docker build)
user
2026-02-26 02:06:11 -08:00
57e0735afa
docs: expand Important note — HOST_DATA_DIR must be absolute path
clawbot
2026-02-23 13:17:21 -08:00
2eeead7e64
docs: clarify UPAAS_DATA_DIR default is for local dev only
clawbot
2026-02-23 13:16:06 -08:00
76fe014e9a
docs: remove relative path default for HOST_DATA_DIR in docker-compose example
user
2026-02-23 13:15:10 -08:00
f36732eaf5
refactor: remove internal/domain package, move types to correct packages
user
2026-02-23 13:14:15 -08:00
3a1b1e3cd4
refactor: add String() methods to domain types, replace string() casts
user
2026-02-23 11:58:00 -08:00
594537e6f5
rework: address review feedback on PR #126
clawbot
2026-02-22 03:40:57 -08:00
a6c76232bf
fix: assign commit error to err so deferred rollback triggers (closes #125 )
clawbot
2026-02-21 00:55:53 -08:00
46574f8cf1
fix: rename GetBuildDir param from appID to appName (closes #123 )
clawbot
2026-02-21 00:55:24 -08:00
074903619d
fix: add 1MB size limit on deployment logs with truncation (closes #122 )
clawbot
2026-02-21 00:55:12 -08:00
6cf6e89db4
fix: use renderTemplate in all error paths of HandleAppCreate/HandleAppUpdate (closes #121 )
clawbot
2026-02-21 00:54:49 -08:00
5c20b0b23d
fix: use bind mount with HOST_DATA_DIR in docker-compose.yml (closes #120 )
clawbot
2026-02-21 00:54:32 -08:00
e051245b5f
Merge pull request 'Refactor: break up app.js into smaller modules' (#129 ) from refactor/split-app-js into main
sneak
2026-02-26 10:59:02 +01:00
5fe11f24d4
refactor: break up app.js into smaller modules
user
2026-02-23 11:52:41 -08:00
28f014ce95
Merge pull request 'fix: use imageID in createAndStartContainer (closes #124 )' (#127 ) from fix/use-image-id-in-container into main
sneak
2026-02-23 20:48:23 +01:00
dc638a07f1
Merge pull request 'fix: pin all external refs to cryptographic identity (closes #118 )' (#119 ) from fix/pin-external-refs-crypto-identity into main
sneak
2026-02-23 20:48:09 +01:00
0e8efe1043
fix: use imageID in createAndStartContainer (closes #124 )
user
2026-02-21 02:24:51 -08:00
0ed2d02dfe
fix: pin all external refs to cryptographic identity (closes #118 )
user
2026-02-20 10:45:02 -08:00
ab526fc93d
Merge pull request 'fix: disable API v1 write methods (closes #112 )' (#115 ) from fix/disable-api-write-methods into main
sneak
2026-02-20 14:35:12 +01:00