17 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
70dc921967 fix: migrate env files before reading deprecated vars
Install steps run in alphabetical order of the enabled plugin directory, so `apps`, `builder`, and `checks` read an app's environment before the `config` plugin had moved the `ENV` file to its new location. The read came back empty, so their deprecated `DOKKU_*` variables were never migrated to the matching plugin property and were never unset, with nothing reported either way: `dokku config:show` kept listing the variable while the plugin behaved as though it were unset. The relocation now runs before any deprecated variable is read, whatever the install order, and each old file is removed as soon as it has been drained rather than on a later install, which also covers the global file that was never removed at all. A file that reappears at the old path can only have been written by hand, so it is merged in with a warning naming its keys instead of being discarded.
2026-08-07 16:43:56 -04:00
Jose Diaz-Gonzalez
aa45f748b1 fix: create DOKKU_ROOT app dir in Go tests and set global ENV permissions
- config_test.go: create app dir at DOKKU_ROOT for VerifyAppName and
  ensure global config parent directory exists
- migrateGlobalEnv: set dokku:dokku ownership on global ENV file after
  writing so deploy processes running as dokku can read it
2026-04-27 01:06:32 -04:00
Jose Diaz-Gonzalez
c3db713c27 fix: ensure app ENV directory exists at DOKKU_LIB_ROOT/config/{app}
The post-create trigger only created the property directory at
DOKKU_LIB_ROOT/config/config/{app}/, but getAppFile() writes the
ENV file to DOKKU_LIB_ROOT/config/{app}/ENV. Add setupAppConfigDir
to create and permission the ENV directory in both post-create and
install triggers, and clean it up on post-delete.
2026-04-27 01:06:32 -04:00
Jose Diaz-Gonzalez
17c549ee63 fix: run global env migration before listing apps and set DOKKU_LIB_ROOT in tests
- Move migrateGlobalEnv() before UnfilteredDokkuApps() so the global
  config directory is created even on fresh installs with no apps
- Add DOKKU_LIB_ROOT to Go test env vars in tests.mk
2026-04-27 01:06:32 -04:00
Jose Diaz-Gonzalez
d846324fd5 fix: correct global env path, migration join, and test app dirs
- Use DOKKU_LIB_ROOT instead of DOKKU_ROOT in getGlobalFile() to match
  the intended new config path layout
- Add missing comma in filepath.Join for old app ENV migration path
- Revert common_test.go app dirs to DOKKU_ROOT since app detection
  still uses AppRoot()
2026-04-27 01:06:32 -04:00
Jose Diaz-Gonzalez
30e4123949 fix: migrate global env vars 2026-04-27 01:06:31 -04:00
Jose Diaz-Gonzalez
81e6cdf5a5 fix: ensure config properties for an app are setup prior to usage 2026-04-27 01:06:31 -04:00
Jose Diaz-Gonzalez
f2f6e0b473 refactor: move the env files to the new path on upgrade
Refs #1558
2026-04-27 01:06:29 -04:00
Jose Diaz-Gonzalez
34c336c668 feat: add post-create support for env key in app.json
Closes #4498
2026-04-26 22:43:32 -04:00
Jose Diaz-Gonzalez
758d9f8a83 feat: add config-unset trigger 2025-06-09 11:39:00 -04:00
Jose Diaz-Gonzalez
e0409caf75 fix: ensure env vars are copied over when cloning or renaming an app 2024-03-14 00:26:18 -04:00
Jose Diaz-Gonzalez
5981ff8e9b refactor: split out config logic to remove need to check app name for function-based usage
This MR splits out the logic such that there is now a binary that handles function based calls without validating the app name. We should only every check the app name for the subcommands and not internally. Internal calls should have their arguments taken at face value.
2022-05-27 23:28:59 -04:00
Jose Diaz-Gonzalez
0405b36ab4 fix: implement config-export hook
This will allow dropping many of the "source config/functions" calls littered over the codebase. Plugin triggers are the way to perform cross-plugin communication :)
2021-02-11 06:41:11 -05:00
Jose Diaz-Gonzalez
0be0ad7ef7 fix: correct issue with app autocreation 2020-03-11 01:00:10 -04:00
Jose Diaz-Gonzalez
b9c331cf99 fix: correct stickler error 2020-03-11 00:22:33 -04:00
Jose Diaz-Gonzalez
e789504db1 fix: correct stickler issues 2020-03-10 23:56:16 -04:00
Jose Diaz-Gonzalez
aa156b2834 feat: add missing config-get triggers 2020-03-10 18:19:04 -04:00