Jose Diaz-Gonzalez
1308e21947
feat: migrate environment variables to plugin properties
...
Standardize how environment variables are migrated to properties during
install triggers and migrate all remaining DOKKU_* config vars to their
appropriate plugin properties.
Adds a reusable MigrateConfigToProperties() function in the common
package with Transform callback and ListProperty support, plus a
migrate-config-to-property subcommand for the prop binary so shell
plugins can use the same code path.
Migrated variables and their new property owners:
- DOKKU_APP_PROXY_TYPE/DOKKU_PROXY_TYPE → proxy type
- DOKKU_DISABLE_PROXY → proxy disabled
- DOKKU_PROXY_PORT → ports proxy-port
- DOKKU_PROXY_SSL_PORT → ports proxy-ssl-port
- DOKKU_APP_RESTORE → ps restore
- DOKKU_SKIP_DEPLOY → ps skip-deploy
- DOKKU_START_CMD → ps start-cmd
- DOKKU_DOCKERFILE_START_CMD → ps dockerfile-start-cmd
- DOKKU_DISABLE_APP_AUTOCREATION → apps disable-autocreation
- DOKKU_APP_SHELL → scheduler shell
- DOKKU_SKIP_CLEANUP → builder skip-cleanup
- DOKKU_CHECKS_DISABLED → checks disabled
- DOKKU_CHECKS_SKIPPED → checks skipped
- DOKKU_CHECKS_WAIT → checks wait
- DOKKU_CHECKS_TIMEOUT → checks timeout
- DOKKU_CHECKS_ATTEMPTS → checks attempts
- DOKKU_DEFAULT_CHECKS_WAIT → checks default-wait
- DOKKU_SKIP_ALL_CHECKS → checks disabled (legacy)
- DOKKU_SKIP_DEFAULT_CHECKS → checks skipped (legacy)
Also refactors existing bespoke migration loops in scheduler, ports, ps,
builder, and nginx-vhosts plugins to use the standardized utility.
Removes DOKKU_PARALLEL_ARGUMENTS from documentation (unused in core).
Deprecates fn-migrate-config-to-property bash function.
closes #1558
2026-04-25 05:11:07 -04:00
Jose Diaz-Gonzalez
df8b725081
feat: add support for dns-01 challenge mode when using traefik
...
Closes #6423
2026-01-07 01:16:05 -05:00
Jose Diaz-Gonzalez
e397604841
refactor: move the labels to the properties folder
...
To be quite honest, these should just be in the docker-options plugin, but I think its fine to have them tracked separately for now.
2025-11-16 17:59:46 -05:00
Jose Diaz-Gonzalez
577f46153f
refactor: use helper go functions to handle extracting files from a repository
...
This standardizes the extraction code and makes it easier to reuse in future implementations of file extraction.
Additionally, this adds a way to extract folders from codebases.
2025-07-23 18:16:16 -04:00
Jose Diaz-Gonzalez
6ce10b5be6
fix: ensure compose projects are spawned from the /tmp directory
...
A recent update to compose executes a stat call in the current working directory, which may have incorrect permissions for execution once the user is changed to the dokku user. This change forces all compose commands to execute in the /tmp directory by using a helper function to execute compose up/down.
Closes #7705
2025-05-24 23:31:41 -04:00
Jose Diaz-Gonzalez
becba49c87
refactor: always use golang version of CopyFromImage
2024-12-16 01:47:00 -05:00
Jose Diaz-Gonzalez
ffc64e7d8b
feat: add a shell function to check if a plugin trigger exists
2023-10-15 20:25:08 -04:00
Jose Diaz-Gonzalez
c2ebf48524
refactor: use a single implementation for checking cnb/herokuish images
...
Also use a plugin trigger for testing whether an image is herokuish or not rather than trying to mess around with sourced files.
2022-12-02 15:54:48 -05:00
Jose Diaz-Gonzalez
db4d8dba88
refactor: consolidate app name verification into golang binary
...
This change ensures we only have to change this logic once in order to get them to apply to both languages in the codebase.
2022-05-29 11:32:24 -04:00
Jose Diaz-Gonzalez
f87cd22340
feat: allow returning an unfiltered list of users
...
This is useful for upgrades or commands that _must_ perform against all apps.
2022-05-15 15:33:19 -04:00
Jose Diaz-Gonzalez
1c79b60952
fix: ensure we properly clone and rename common properties
2022-04-03 14:34:14 -04:00
Jose Diaz-Gonzalez
ac58b502c5
refactor: move app listing back to common
...
Without this, we'd need to duplicate some logic or make it more complex via a plugin trigger.
2022-02-26 02:55:34 -05:00
Jose Diaz-Gonzalez
3c6396fbca
feat: implement the scheduler plugin
...
This also performs a one-time migration of the DOKKU_SCHEDULER values the scheduler plugin properties.
Closes #4739
2021-10-09 18:31:59 -04:00
Jose Diaz-Gonzalez
c58cb02689
fix: add flag to list
2021-08-08 03:31:53 -04:00
Jose Diaz-Gonzalez
e1f1531d42
refactor: call golang version of docker cleanup from shell
...
This ensures there is only a single implementation.
2021-08-08 01:56:43 -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
6ea57dafe7
chore: add LogFailWithError to common triggers
2021-02-28 17:25:24 -05:00
Jose Diaz-Gonzalez
1e915968b5
fix: correctly handle is-deployed check
...
Previously, checking if an app was deployed actually checked if there were any running processes. This is not only incorrect, but also fails to take into account applications that do not have running processes and are only used for one-off commands.
This fix migrates apps to the new "deployed" property which is set in core-post-deploy. The result is a slightly faster "deployed" check that is correct and allows non-scaled apps to actually work.
Closes #4398
2021-02-13 00:46:35 -05:00
Jose Diaz-Gonzalez
cff51b8ec9
fix: add missing parenthesis
2020-02-22 04:59:53 -05:00
Jose Diaz-Gonzalez
e5a9d29215
refactor: use Println in favor of Fprintln for os.Stdout
2020-02-22 04:32:51 -05:00
Jose Diaz-Gonzalez
d336d7c5c2
feat: add prop clone command
2020-02-17 18:48:06 -05:00
Jose Diaz-Gonzalez
b1ae58f968
chore: re-arrange commands to be in alphabetical order
2020-02-17 18:40:55 -05:00
Jose Diaz-Gonzalez
fe9472ff09
fix: correct issue where output was not sent to stdout
2019-11-27 18:58:22 -05:00
Jose Diaz-Gonzalez
79b344bbe4
feat: add list-length method to shell functions
2019-11-27 17:08:18 -05:00
Jose Diaz-Gonzalez
4d9e8f5f7d
refactor: unify property function implementations
...
Rather than reimplementing the property functions in two different languages - and potentially having compatibility issues - standardize on golang for the implementation through the use of a generated binary.
This also implements all the list functions for use with shell-based plugins.
Note that the interface to the prop binary is experimental, and it should not be used directly.
2019-11-27 16:37:10 -05:00