43 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
9d711cbb44 fix: expand variables for release tasks
Procfile commands need to be expanded with actual environment variables as procfile-util will otherwise empty them out. This doesn't happen for app.json scripts as they are never expanded until the docker container gets created.

Closes #8050
2025-10-19 23:33:12 -04:00
Jose Diaz-Gonzalez
1eb41f32dc feat: only redeploy formations that have had their values changed
Rather than redeploy every formation, only deploy formations that have had their values changed from the defaults.

This still doesn't handle the case where we touch existing processes when scaling _up_, but should decrease the number of services touched otherwise during scaling.

Also note that there are no tests for this new behavior yet (tests incoming).

Refs #7396
2025-06-23 04:42:09 -04:00
Jose Diaz-Gonzalez
bb5ab0a777 refactor: use CallPlugnTrigger instead of PlugnTrigger
Refs #6422
2024-03-14 03:11:37 -04:00
Jose Diaz-Gonzalez
cdff4ae867 refactor: use CallPlugnTrigger instead of PlugnTriggerOutput
Refs #6422
2024-03-14 01:18:28 -04:00
Jose Diaz-Gonzalez
44dd933638 refactor: remove all calls to common.NewShellCmd
At this point, the only usage of go-sh should be by plugin trigger calls.
2024-02-13 01:09:24 -05:00
Jose Diaz-Gonzalez
31abd7e31e chore: always sort returned formations 2024-02-11 21:12:25 -05:00
Jose Diaz-Gonzalez
0102d219f3 refactor: do not ever return duplicate entries when getting formations 2024-02-11 21:12:15 -05:00
Jose Diaz-Gonzalez
701f18a69c fix: ensure splitting only ever returns at most two parts 2024-02-11 21:11:40 -05:00
Jose Diaz-Gonzalez
66f46de2fd fix: ensure each entry in a process type has whitespace removed 2024-02-11 21:06:28 -05:00
Jose Diaz-Gonzalez
ab1f8bfd30 chore: remove unused code in ps plugin 2024-02-11 21:03:50 -05:00
Jose Diaz-Gonzalez
173434ef34 chore: reorder functions 2023-02-14 03:08:02 -05:00
Jose Diaz-Gonzalez
a53ead6c64 chore: rename function 2023-02-14 03:08:02 -05:00
Jose Diaz-Gonzalez
6cbe93c245 refactor: move all golang code for managing data directories to common plugin
Additionally, ensure the golang plugins handle setup/teardown of plugin and app-specific data directories during install, rename, and clone phases.
2023-01-08 23:36:12 -05:00
josegonzalez
30887d74fc chore: drop debugging code from ps plugin
This was accidentally added in a refactor of how processes are managed.
2022-12-28 23:50:39 -05:00
Jose Diaz-Gonzalez
e458c8e4a6 fix: keep track of old scale values for a single deploy
This will ensure we scale things down after usage.
2022-11-27 15:02:45 -05:00
Jose Diaz-Gonzalez
55ca8e3d52 chore: drop debug calls 2022-11-25 14:50:35 -05:00
Jose Diaz-Gonzalez
fe4d80a82b refactor: cleanup zero'd out processes when a Procfile omitting those process types is set
This change also moves the referenced Procfile out to a host path once on deploy vs potentially several times, which should speed up deploys a small amount and simplify reasoning about the file.

Closes #5112
2022-11-25 14:50:35 -05:00
Jose Diaz-Gonzalez
3b0bf4d8f2 feat: use --all flag for clearing proxy config during ps:restore
Without this, we might end up with one or more apps that still have a proxy config.
2022-01-28 20:58:31 -05:00
Jose Diaz-Gonzalez
b48b79f5ca feat: allow specifying a single process type to restart
This changes restarts to drop the 'release' part that currently gets triggered, which also helps reduce the possibility that a new image layer will be added due to predeploy deploy triggers.

Note that the old method essentially halfway-rebuilt the app (which was what added the extra layer). This refactor removes that, which is a bc-break.

Additionally, scaling processes will result in deploying _only_ restarting the processes being scaled.

Closes #2184
2021-10-09 18:46:17 -04:00
Jose Diaz-Gonzalez
06cb7a0d55 fix: properly update formations 2021-08-01 19:06:33 -04:00
Jose Diaz-Gonzalez
401683a305 refactor: write DOKKU_SCALE contents to scale property
- remove extraction of DOKKU_SCALE
- migrate to property system
- rewrite internals to use a FormationSlice instead of a map
2021-08-01 17:47:04 -04:00
Jose Diaz-Gonzalez
bd4621070c feat: implement ps-can-scale 2021-08-01 16:27:13 -04:00
Jose Diaz-Gonzalez
ef262c26e8 feat: override all existing scale parameters when calling ps-set-scale 2021-08-01 16:20:19 -04:00
Jose Diaz-Gonzalez
247698fea6 refactor: move can-scale check out to command
If the internals call ps-set-scale, we should always respect it.
2021-08-01 16:07:55 -04:00
Jose Diaz-Gonzalez
302537efd2 refactor: skip image fetching when deploys are skipped 2021-08-01 16:07:26 -04:00
Jose Diaz-Gonzalez
c62bff3002 refactor: hide dokku scale file parsing inside ps plugin 2021-08-01 01:21:46 -04:00
Jose Diaz-Gonzalez
9d0bc930a6 fix: handle empty lines and comments in DOKKU_SCALE file 2021-07-31 20:54:14 -04:00
Jose Diaz-Gonzalez
fceb412fb1 fix: reference extracted Procfile
Rather than attempting to always extract the Procfile, reference the one that was extracted by the last deploy. This fixes issues where 'docker container cp' may fail intermittently for lord knows what reason.

Closes #4083
2020-11-22 17:14:18 -05:00
Jose Diaz-Gonzalez
ae1b1c7274 chore: move function to internal 2020-11-21 21:07:20 -05:00
Jose Diaz-Gonzalez
1b50b4ab0a fix: ensure the scale file has correct processes when it exists 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
bc9a60f696 feat: switch to updateScalefile from generateScalefile
The process is the same.
2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
44ce5c76ae fix: move log message to correct location 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
702e9cf66c fix: zero out entries that don't exist in the scale file 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
f13ee16ab8 feat: add support for process state in ps:report output 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
82f13af166 chore: return early 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
23ad4bb230 refactor: add ability to skip deploys and fix process scaling 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
0a533c754f refactor: split ps:scale func into different functions 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
e8d0965a33 feat: implement all of ps:report 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
db435c40e5 fix: do not delete the destination scale file if it was not extracted previously 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
bf84405b43 fix: handle scaling properly when there is no procfile 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
833a64cc0e fix: check if it can scale by checking for an extracted file 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
a93f504d45 chore: short-circuit procfile command fetching if there is no procfile 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
e7ee7a1781 refactor: implement most of ps plugin in golang 2020-11-21 20:57:33 -05:00