15 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
1a376c3622 fix: prevent command injection via docker options eval
Values supplied through docker options, `--ttl-seconds`, and `-e` flowed into a Bash `eval` during build, deploy, and run, letting a low-privileged user execute arbitrary commands on the host as the dokku user. These arguments are now tokenized and passed through to the container verbatim, without shell expansion. A one-time migration repairs stored labels whose backticks were saved with a stray backslash so Traefik-style rules stay valid on the next deploy.
2026-07-19 01:42:12 -04:00
Jose Diaz-Gonzalez
5d802e3cf4 fix: separate docker-args outputs to avoid arg collisions
Emitting the restart policy as a `--restart` argument from a `docker-args-process-deploy` trigger exposed a latent gluing bug: proxy and builder triggers concatenated `$STDIN$output` with no separator, and the scheduler and builders appended `docker-args-process-*` output directly onto the older `docker-args-*` output, so adjacent arguments could merge into values like `--restart=on-failure:10--label`. A space is now inserted at both the trigger echo and the concatenation so arguments always stay separated.
2026-05-28 04:16:55 -04:00
Jose Diaz-Gonzalez
3b040767e0 fix: add missing whitespace 2026-01-10 00:33:22 -05:00
Jose Diaz-Gonzalez
41a15a7319 fix: set DOCKER_CONFIG to the directory holding the config.json 2026-01-09 23:47:00 -05:00
Jose Diaz-Gonzalez
6a83fd053c feat: add the ability to log into a registry on a per-app basis
Closes #5324
2026-01-09 00:12:16 -05:00
Jose Diaz-Gonzalez
e7be49f0ce fix: ensure all build flags are consumed as an array 2025-12-24 16:30:01 -05:00
Jose Diaz-Gonzalez
a9127e3abd fix: correctly handle exiting the argument parsing loop 2025-11-16 01:24:28 -05:00
Jose Diaz-Gonzalez
3b35656ae9 fix: shift the unknown arguments out
They should just be ignored.
2025-11-16 00:26:53 -05:00
Jose Diaz-Gonzalez
364eac374d refactor: remove support for the railpack no-cache property
This replicates the docker-options functionality.
2025-11-15 23:30:24 -05:00
Jose Diaz-Gonzalez
210128f5f2 chore: simplify logic for flags without multiple methods of being set 2025-11-15 23:13:57 -05:00
Jose Diaz-Gonzalez
11c2497b31 feat: filter out unsupported build arguments with railpacks
While this will require future updates if railpacks supports new build arguments, it also ensures builds safely consume arguments from other plugins.
2025-11-15 22:59:12 -05:00
Jose Diaz-Gonzalez
795e4f0f34 fix: cleanup build image in railpack builder
Without this, it is possible to keep an old build image around in the case of failed builds, and due to missing label support, the image will never be cleaned up.
2025-11-09 20:21:10 -05:00
Jose Diaz-Gonzalez
6b27f424db fix: remove extra space 2025-11-09 20:21:09 -05:00
Jose Diaz-Gonzalez
ee467e6793 fix: inject labels after the image is built by railpack
Railpack doesn't support the --label flag.
2025-11-09 20:21:09 -05:00
Jose Diaz-Gonzalez
cba345025c feat: add a Railpack builder to Dokku
Closes #7615
2025-11-09 20:21:09 -05:00