Commit Graph

13391 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
5dcefe7ffa fix: use extraVolumeMount just for the vector state 2026-04-27 16:06:07 -04:00
Jose Diaz-Gonzalez
099c358a1e fix: set the defaultVolumeMounts instead of using extraVolumeMounts
Without this, the daemonset will inject customConfig.data_dir as a default mount, which will collide with extraVolumeMounts.
2026-04-27 14:27:05 -04:00
Jose Diaz-Gonzalez
e4a8cfc74f Merge pull request #8402 from dokku/upgrade-keda
Upgrade keda to 2.19.0 and keda-add-ons-http to 0.12.2
2026-04-27 14:12:37 -04:00
Jose Diaz-Gonzalez
da13367ca8 feat: add version-aware helm chart upgrade callbacks
Some helm chart upgrades require side-effects that a plain `helm upgrade` cannot perform, such as deleting deployments whose immutable selectors changed. Charts may now register pre and post upgrade hooks against a target version; applicable hooks fire in ascending semver order, each bracketed around an upgrade to its version, with a final upgrade to the chart's configured version when needed. The new `keda-add-ons-http` 0.12.2 hook deletes the chart-managed deployments before the upgrade so the new selectors take effect cleanly.
2026-04-27 07:57:38 -04:00
Jose Diaz-Gonzalez
db1308a2ab feat: upgrade keda to 2.19.0 and keda-add-ons-http to 0.12.2
While there are breaking changes in the addon, none of these impact how Dokku exposes the addon.
2026-04-27 07:32:38 -04:00
Jose Diaz-Gonzalez
b92310c4c8 Merge pull request #8508 from dokku/8230-renaming-app-clears-the-set-domain
Preserve all domains when renaming an app
2026-04-27 07:19:48 -04:00
Jose Diaz-Gonzalez
b17eaedbec Merge pull request #8507 from dokku/fix-8497-orphaned-containers-on-scale-down
Retire orphaned containers when scaling down
2026-04-27 07:19:36 -04:00
Jose Diaz-Gonzalez
bc603d7b9c test: drain dead-containers before scale-up assertion
The intermediate container count check raced with the existing
zero-downtime retire of the previous container, so docker ps still
saw the renamed-but-pending container until wait-to-retire elapsed.
2026-04-27 03:29:06 -04:00
Jose Diaz-Gonzalez
4927ca092d fix: retire orphaned containers when scaling down
When scaling a process type to a smaller count, the indices above the
new count had their `CONTAINER.<proctype>.<idx>` state files deleted but
the underlying Docker containers were never registered for retirement,
so they remained running indefinitely. The cleanup block now reads each
orphaned state file and registers its container id with the existing
`scheduler-register-retired` trigger before the file is removed.
2026-04-27 03:23:15 -04:00
Jose Diaz-Gonzalez
e54fcc4035 Merge pull request #6716 from dokku/1558-move-env
Move app and global ENV files to consolidated config path
2026-04-27 02:50:24 -04:00
Jose Diaz-Gonzalez
c2a07c3f1c fix: preserve all domains when renaming an app
The `post-app-rename-setup` trigger redirected `sed` output to the new
app's VHOST file inside a loop over global vhosts, so each iteration
clobbered the previous one and only the last global subdomain was
rewritten. When no global vhost was set, the loop never ran and the
new app's VHOST file was never written, leaving the renamed app with
no domains.

Copy the old app's VHOST file once as a baseline, then apply `sed -i`
in place for each global vhost so substitutions accumulate. Guard
against a missing global VHOST file and skip blank lines.
2026-04-27 01:47:50 -04:00
Jose Diaz-Gonzalez
8847fcb6b0 Merge pull request #8505 from dokku/8504-git-auth-status
Add git:auth-status to check netrc match
2026-04-27 01:25:46 -04:00
Jose Diaz-Gonzalez
d1554461ab docs: move migration note to 0.38.x doc 2026-04-27 01:07:39 -04:00
Jose Diaz-Gonzalez
d24ab6ffdf fix: set DOKKU_LIB_ROOT in Go coverage test environment 2026-04-27 01:06:32 -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
bc4d3a76b9 Update docs/appendices/0.37-migration-guide.md
Co-authored-by: othercorey <corey.taylor.fl@gmail.com>
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
38c6b180af fix: reference env from config dir 2026-04-27 01:05:41 -04:00
Jose Diaz-Gonzalez
b8accfd463 docs: remove references to ENV file 2026-04-27 01:05:41 -04:00
Jose Diaz-Gonzalez
365e300eb6 Merge pull request #8506 from dokku/8499-add-format-json-support-to-nginx-report-and-git-report
Add --format json to git:report and nginx:report
2026-04-27 01:04:52 -04:00
Jose Diaz-Gonzalez
8ea9dd28ff Merge pull request #8259 from dokku/4498-post-create-env-support
Add post-create support for env key in app.json
2026-04-27 00:12:16 -04:00
Jose Diaz-Gonzalez
769d029b0d fix: verify piped git:auth password via netrc get 2026-04-27 00:08:05 -04:00
Jose Diaz-Gonzalez
66c4b3b30e feat: add --format json to git:report and nginx:report
Mirrors the JSON output convention already used by scheduler:report, builder:report, network:report, and traefik:report. Both plugins now accept `--format json` to emit a single-line JSON object whose keys are the property names with the plugin prefix stripped. Combining `--format` with an info flag is rejected with an error message that matches the Go-based report helper.

Closes #8499
2026-04-26 23:30:22 -04:00
Jose Diaz-Gonzalez
65bdbefbea feat: add git:auth-status to check netrc match
Adds `git:auth-status HOST [USERNAME] [PASSWORD]` which exits 0 when the
configured `.netrc` entry matches the requested state and 1 otherwise,
allowing external tooling to detect whether `git:auth` would change
anything without reading `$DOKKU_ROOT/.netrc` directly. Both `git:auth`
and `git:auth-status` now also accept the password via `STDIN`.
2026-04-26 23:10:30 -04:00
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
ad00918891 Merge pull request #8490 from dokku/dependabot/go_modules/plugins/scheduler-k3s/k8s.io/kubernetes-1.36.0
chore(deps): bump k8s.io/kubernetes from 1.35.4 to 1.36.0 in /plugins/scheduler-k3s
2026-04-26 22:41:08 -04:00
dependabot[bot]
ef51f1f942 chore(deps): bump k8s.io/kubernetes in /plugins/scheduler-k3s
Bumps [k8s.io/kubernetes](https://github.com/kubernetes/kubernetes) from 1.35.4 to 1.36.0.
- [Release notes](https://github.com/kubernetes/kubernetes/releases)
- [Commits](https://github.com/kubernetes/kubernetes/compare/v1.35.4...v1.36.0)

---
updated-dependencies:
- dependency-name: k8s.io/kubernetes
  dependency-version: 1.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-26 12:15:40 -04:00
Jose Diaz-Gonzalez
68dd1b83a2 Merge pull request #8495 from dokku/dependabot/go_modules/plugins/scheduler-k3s/k8s.io/apimachinery-0.36.0
chore(deps): bump k8s.io/apimachinery from 0.35.4 to 0.36.0 in /plugins/scheduler-k3s
2026-04-26 12:14:25 -04:00
dependabot[bot]
76f3c3ec12 chore(deps): bump k8s.io/apimachinery in /plugins/scheduler-k3s
Bumps [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) from 0.35.4 to 0.36.0.
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.35.4...v0.36.0)

---
updated-dependencies:
- dependency-name: k8s.io/apimachinery
  dependency-version: 0.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-26 11:18:46 -04:00
Jose Diaz-Gonzalez
b8e5c3251c Merge pull request #8494 from dokku/dependabot/docker/plugins/openresty-vhosts/dokku/openresty-docker-proxy-0.10.0
chore(deps): bump dokku/openresty-docker-proxy from 0.9.3 to 0.10.0 in /plugins/openresty-vhosts
2026-04-26 11:15:52 -04:00
Jose Diaz-Gonzalez
de0e743880 Merge pull request #8502 from dokku/upgrade-to-go126
Bump go version to 1.26.2
2026-04-26 11:15:32 -04:00
Jose Diaz-Gonzalez
cef1e7aff5 chore: bump go version to 1.26.2 and run go mod tidy 2026-04-26 09:57:35 -04:00
Jose Diaz-Gonzalez
052b342c65 Merge pull request #8503 from dokku/chore/bump-dependencies
Bump dependency versions and add daily updater workflow
2026-04-26 09:57:22 -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
ef430e815b chore: use Dokku Bot identity for dependency update PRs
Switches the dependency-updates workflow to use HOMEBREW_GITHUB_API_TOKEN
(the same PAT used to bump the homebrew formula on release) and sets
the committer/author to Dokku Bot <no-reply@dokku.com>.
2026-04-26 08:06:47 -04:00
Jose Diaz-Gonzalez
ed2fbf3d44 chore: bump dependency versions and add daily updater workflow
Bumps every entry in contrib/dependencies.json to its latest upstream
release. Adds a scheduled GitHub Actions workflow that checks each
dependency once a day and opens one PR per outdated entry.
2026-04-26 08:00:12 -04:00
Jose Diaz-Gonzalez
207a32e6ae Merge pull request #8403 from dokku/upgrade-ingress-nginx
Upgrade ingress-nginx chart from 4.10.0 to 4.14.4
2026-04-26 04:52:28 -04:00
Jose Diaz-Gonzalez
973f6ffb2c chore: upgrade to 4.15.1 2026-04-26 04:52:05 -04:00
Jose Diaz-Gonzalez
bc3b166ce7 Merge pull request #8404 from dokku/upgrade-vector
feat: upgrade vector chart from 0.42.0 to 0.52.0
2026-04-26 04:50:24 -04:00
Jose Diaz-Gonzalez
4af68e75c5 chore: upgrade the vector helm chart to 0.52.0 2026-04-26 04:46:05 -04:00
Jose Diaz-Gonzalez
807ddf29a7 fix: update helm chart values for k3s scheduler
- Mount `/vector-data-dir` from host (`/var/lib/vector` via `hostPath`, `DirectoryOrCreate`) so `kubernetes_logs` checkpoints survive pod restarts; resolves conflict with the chart's read-only `/var/lib` default volume
- Enable Vector API on `:8686` and wire HTTP `/health` liveness and readiness probes; add `internal_metrics` source and `prometheus_exporter` sink on `:9090` so the `prom-exporter` service port is actually backed by an exporter
- Set explicit `targetPort` on the `prom-exporter` port to avoid inference mismatches
- Remove the `.message = .message` no-op
- Add `node-role.kubernetes.io/control-plane` toleration alongside the legacy `master` key so the DaemonSet schedules on control-plane nodes regardless of cluster age
2026-04-26 04:45:15 -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
f30da59b84 Merge pull request #8498 from dokku/migrate-env-vars-to-properties
Migrate environment variables to plugin properties
2026-04-26 04:05:59 -04:00