Jose Diaz-Gonzalez
3ba51725be
fix(tests): adapt app.json fixtures and tini test for env processing
...
Pre-set LOCAL_DOMAIN in the tini test so mastodon's required env var
resolves, and replace unsupported `generator: "echo 5"` with `value: "5"`
in the nodejs-express and dockerfile fixtures so WEB_CONCURRENCY no
longer aborts deploys via the new app.json env processor.
2026-04-26 22:43:32 -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
f5cbc51fec
fix(tests): drop DOKKU_PROXY_PORT from config:show and config:export expectations now that it lives as a property rather than a config var
2026-04-26 08:53:27 -04:00
Jose Diaz-Gonzalez
1158db380a
Merge pull request #8493 from dokku/6760-build-empty-nginx-config-when-there-are-no-web-processes
...
Generate 502 config for apps without web listeners
2026-04-26 04:08:17 -04:00
Jose Diaz-Gonzalez
0a6eb14dd1
Merge pull request #8157 from dokku/7102-buildpacks-app-json
...
Add support for specifying buildpacks via app.json
2026-04-26 04:07:14 -04:00
Jose Diaz-Gonzalez
915172c0c5
fix: move proxy-port properties to proxy plugin and fix CI failures
...
- Move proxy-port and proxy-ssl-port properties from ports plugin to
proxy plugin where they conceptually belong
- Generalize proxy:set to handle any property (matching ps:set pattern)
instead of only handling the type property
- Fix apps:set --global flag parsing (pflag treats --global as a flag,
not an argument — must be defined explicitly like ps:set does)
- Add missing property-functions source to scheduler-docker-local
shell scripts (scheduler-enter, scheduler-run, scheduler-deploy,
check-deploy, bin/scheduler-deploy-process-container)
- Update nginx-vhosts property references from ports to proxy plugin
- Update tests to use proxy:set for proxy-port properties
2026-04-25 17:19:42 -04:00
Jose Diaz-Gonzalez
24f460f5d3
fix: address CI failures from env var migration
...
- Add apps:set subcommand for managing apps properties (mirrors
ps:set, scheduler:set, builder:set pattern)
- Update nginx-vhosts functions/pre-disable-vhost/pre-enable-vhost
to read proxy port from properties instead of config vars
- Fix test commands to use correct property-setting approaches:
prop binary for ports properties, apps:set for apps properties
2026-04-25 16:33:34 -04:00
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
2745e46054
fix(tests): expect 502 for cloned app without deploy
...
The apps:clone --skip-deploy test expected 404 for the cloned app's
domain. With the new empty nginx config, undeployed apps now correctly
return 502 Bad Gateway instead of falling through to nginx's default.
2026-04-25 00:55:55 -04:00
Jose Diaz-Gonzalez
ddf470282e
fix(tests): update config and nginx tests for post-create side effects
...
The config:show and config:export tests now include DOKKU_PROXY_PORT
in expected output since ports-configure runs at app creation time.
Add sleep before HTTP assertion in nginx-vhosts_13 test to allow
nginx async reload to complete.
2026-04-24 05:02:49 -04:00
Jose Diaz-Gonzalez
2993fa800c
feat(nginx): generate 502 config for apps without web listeners
...
When an app has no web listeners (not yet deployed, no web process type,
or web processes not running), generate a minimal nginx config that
returns 502 Bad Gateway instead of having no config at all. This ensures
domains resolve, monitoring tools detect non-200 status codes, and SSL
certificate provisioning tools like letsencrypt can function.
2026-04-24 02:10:30 -04:00
Jose Diaz-Gonzalez
b0b11bcf26
fix: remove buildpacks from dockerfile test app and add tests for app.json buildpacks
...
The buildpacks entry in tests/apps/dockerfile/app.json caused
the post-extract trigger to write a .buildpacks file during
Dockerfile-based deploys, breaking builder detection. Remove
the entry and add Go unit tests for getBuildpacks/validBuildpackURL,
a bats integration test for deploying with app.json buildpacks,
and documentation for the new feature.
2026-04-18 05:43:44 -04:00
Jose Diaz-Gonzalez
9c2eb09c66
fix: remove extra newline
2026-03-10 20:35:41 -04:00
Jose Diaz-Gonzalez
8cad6c3179
feat: configure Traefik readiness healthchecks based on app.json config
...
Closes #6834
2026-03-10 19:17:20 -04:00
Matt Farmer
3cf02f9904
feat(traefik-vhosts): support custom entrypoint for API/dashboard
...
Add two new global-only properties to configure a dedicated Traefik entrypoint
for the API and dashboard, enabling network isolation on private interfaces.
Includes comprehensive test coverage for property management and compose config.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-02-28 18:07:07 -05:00
Jose Diaz-Gonzalez
bdbd295a02
fix: ensure we can call storage:report properly
...
Closes #8275
2026-01-25 22:58:10 -05:00
Jose Diaz-Gonzalez
ed8fe40a1c
Merge pull request #8268 from dokku/5324-login-to-registry-per-app
...
Add the ability to log into a registry on a per-app basis
2026-01-10 08:48:16 -05:00
Jose Diaz-Gonzalez
5c2045b6ea
fix: delete the tls app chart when the app is deleted
2026-01-10 02:52:01 -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
3cfdee77e3
Merge pull request #8258 from dokku/6423-traefik-challenge-support
...
Add support for dns-01 challenge mode when using traefik
2026-01-08 12:47:16 -05:00
Jose Diaz-Gonzalez
fd08478f90
Merge pull request #8262 from dokku/7257-import-certificate-into-k8s-app
...
Use certificates imported by certs plugin when deploying via scheduler-k3s
2026-01-08 12:46:30 -05:00
Jose Diaz-Gonzalez
91e800a97b
Merge pull request #8266 from dokku/6847-allow-force-pull-image-on-git-from-image
...
Add a method to force build when re-using an image with git:from-image
2026-01-08 12:11:54 -05:00
Jose Diaz-Gonzalez
6c3936802e
feat: add a method to force build when re-using an image with git:from-image
...
Closes #6847
2026-01-08 02:46:53 -05:00
Jose Diaz-Gonzalez
dd70fb823d
feat: add the ability to skip setting the deploy-branch when running git:sync
...
Closes #8212
2026-01-08 02:19:22 -05:00
Jose Diaz-Gonzalez
b8e8ea74ff
feat: use certificates imported by certs plugin when deploying via scheduler-k3s
...
Closes #7257
2026-01-08 01:05:40 -05: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
f64b87cc27
fix: use correct path for app-cnb-cron.json
2026-01-04 22:03:59 -05:00
Jose Diaz-Gonzalez
9d603e1a45
fix: use real path when extracting files
2026-01-04 20:46:00 -05:00
Jose Diaz-Gonzalez
8f9ca78642
chore: debug
2026-01-04 03:38:44 -05:00
Jose Diaz-Gonzalez
7cfabe1322
fix: move the correct file over
2026-01-04 02:42:21 -05:00
Jose Diaz-Gonzalez
c19cb81c4b
tests: add a test to prove cron:run commands work as expected
...
Closes #8242
2026-01-04 00:57:43 -05:00
Jose Diaz-Gonzalez
b1ebd694e6
refactor: standardize on add_requirements_txt wrapper
2026-01-04 00:35:30 -05:00
Jose Diaz-Gonzalez
3ae8fae9fd
fix: ensure the buildkit container is always running
2025-12-25 19:49:57 -05:00
Jose Diaz-Gonzalez
5e2e53d864
tests: run python3 instead of python
2025-12-25 19:07:56 -05:00
Jose Diaz-Gonzalez
4e50dbfb02
tests: run tasks with quiet output so we can check the entire output
2025-12-25 19:05:30 -05:00
Jose Diaz-Gonzalez
4a7328b022
tests: update expected output
2025-12-25 18:34:39 -05:00
Jose Diaz-Gonzalez
153ff6ecb4
tests: fix expected output when task is specified from Procfile
...
When run from a Procfile, we output an additional message like "-----> Found 'task' in Procfile, running that command".
2025-12-25 18:32:26 -05:00
Jose Diaz-Gonzalez
52418dd799
tests: allow 1 or more occurrends of 'load build definition from Dockerfile'
...
For unknown reasons, sometimes this gets output twice by the nixpacks builder.
2025-12-25 18:29:42 -05:00
Jose Diaz-Gonzalez
3a476716eb
tests: allow specifying 'at least 1 occurrence' for assert_output_contains
2025-12-25 18:29:02 -05:00
Jose Diaz-Gonzalez
3d49dbe63f
tests: add tests to prove that Procfile tasks all work for every builder
...
Closes #8242
2025-12-25 18:06:22 -05:00
Jose Diaz-Gonzalez
9d18896c4c
tests: drop lambda run tests as they shouldn't be relevant
...
These are functions and therefore are invoked differently.
2025-12-24 17:05:50 -05:00
Jose Diaz-Gonzalez
89c260ac84
fix: deploy correct app for lambda tests
2025-12-24 16:49:29 -05:00
Jose Diaz-Gonzalez
d5c44e80e7
fix: remove duplicate test
2025-12-24 16:30:01 -05:00
Jose Diaz-Gonzalez
bba2cd9710
fix: correct lint issues
2025-12-24 16:30:01 -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
0c96c4b6de
feat: allow exposing non-web processes as kubernetes services
...
Closes #7204
2025-11-22 19:39:56 -05:00
Jose Diaz-Gonzalez
0c8cfe9a48
Merge pull request #8135 from dokku/8093-client-remote-parsing
2025-11-20 03:35:23 -05:00
Jose Diaz-Gonzalez
638d50127e
Merge pull request #8136 from dokku/8067-ports-reset
...
Do not reset manually set port mappings when upgrading dokku
2025-11-20 02:37:46 -05:00
Jose Diaz-Gonzalez
63fc11a4b9
fix: properly use $1 as default value
2025-11-20 02:21:20 -05:00
Jose Diaz-Gonzalez
106b2c20f1
feat: add support for git remotes with port specified inline
...
Closes #8093
2025-11-20 02:20:35 -05:00