Commit Graph

14200 Commits

Author SHA1 Message Date
Dokku Bot
e3c76869fa chore: bump herokuish to 0.11.16 2026-08-19 10:03:50 +00:00
Jose Diaz-Gonzalez
d03c9df862 Merge pull request #8943 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.26.6
chore(deps): bump golang from 1.26.5 to 1.26.6 in /tests/apps/zombies-dockerfile-no-tini
2026-08-18 23:22:23 -04:00
Jose Diaz-Gonzalez
9afb439d52 Merge pull request #8944 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.26.6
chore(deps): bump golang from 1.26.5 to 1.26.6 in /tests/apps/go-fail-postdeploy
2026-08-18 23:22:16 -04:00
Jose Diaz-Gonzalez
d11543bbf9 Merge pull request #8942 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.26.6
chore(deps): bump golang from 1.26.5 to 1.26.6 in /tests/apps/go-fail-predeploy
2026-08-18 23:22:09 -04:00
Jose Diaz-Gonzalez
3cb090294a Merge pull request #8941 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.26.6
chore(deps): bump golang from 1.26.5 to 1.26.6 in /tests/apps/gogrpc
2026-08-18 23:22:01 -04:00
Jose Diaz-Gonzalez
b18273378e Merge pull request #8940 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.26.6
chore(deps): bump golang from 1.26.5 to 1.26.6 in /tests/apps/zombies-dockerfile-tini
2026-08-18 23:21:54 -04:00
Jose Diaz-Gonzalez
013113936e Merge pull request #8947 from dokku/dependabot/pip/tests/apps/dockerfile-release/sqlparse-0.6.0
chore(deps): bump sqlparse from 0.5.5 to 0.6.0 in /tests/apps/dockerfile-release
2026-08-18 23:21:43 -04:00
Jose Diaz-Gonzalez
2122befc56 Merge pull request #8946 from dokku/dependabot/go_modules/plugins/scheduler-k3s/helm.sh/helm/v3-3.21.4
chore(deps): bump helm.sh/helm/v3 from 3.21.3 to 3.21.4 in /plugins/scheduler-k3s
2026-08-18 23:21:35 -04:00
dependabot[bot]
f494537817 chore(deps): bump sqlparse in /tests/apps/dockerfile-release
Bumps [sqlparse](https://github.com/andialbrecht/sqlparse) from 0.5.5 to 0.6.0.
- [Changelog](https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG)
- [Commits](https://github.com/andialbrecht/sqlparse/compare/0.5.5...0.6.0)

---
updated-dependencies:
- dependency-name: sqlparse
  dependency-version: 0.6.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-17 21:29:38 +00:00
dependabot[bot]
6464096917 chore(deps): bump helm.sh/helm/v3 in /plugins/scheduler-k3s
Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.21.3 to 3.21.4.
- [Commits](https://github.com/helm/helm/compare/v3.21.3...v3.21.4)

---
updated-dependencies:
- dependency-name: helm.sh/helm/v3
  dependency-version: 3.21.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-17 13:55:34 +00:00
dependabot[bot]
b1273cc4fe chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.26.5 to 1.26.6.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.26.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-17 13:53:00 +00:00
dependabot[bot]
4a6471ba16 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.26.5 to 1.26.6.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.26.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-17 13:53:00 +00:00
dependabot[bot]
16936697a5 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.26.5 to 1.26.6.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.26.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-17 13:52:55 +00:00
dependabot[bot]
50ad9cfb09 chore(deps): bump golang from 1.26.5 to 1.26.6 in /tests/apps/gogrpc
Bumps golang from 1.26.5 to 1.26.6.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.26.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-17 13:52:55 +00:00
dependabot[bot]
140895f4cc chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.26.5 to 1.26.6.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.26.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-17 13:52:48 +00:00
Jose Diaz-Gonzalez
a0bf26543e Merge pull request #8939 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/protobuf-1.36.12
chore(deps): bump google.golang.org/protobuf from 1.36.11 to 1.36.12 in /tests/apps/gogrpc
2026-08-13 15:09:33 -04:00
dependabot[bot]
fd95223052 chore(deps): bump google.golang.org/protobuf in /tests/apps/gogrpc
Bumps google.golang.org/protobuf from 1.36.11 to 1.36.12.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-version: 1.36.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-13 13:52:25 +00:00
Jose Diaz-Gonzalez
4c3d43a3ac Merge pull request #8937 from dokku/8912-cron-containers-are-never-retired-past-their-active-deadline
Retire cron containers past their active deadline
2026-08-12 16:26:44 -04:00
Jose Diaz-Gonzalez
96d726c43c fix: retire cron containers past their active deadline
Cron containers were never reaped once they exceeded their active deadline, so a hung cron task ran indefinitely instead of being retired after 24 hours as documented. `cron:run` now also accepts a `--ttl-seconds` argument, matching the one `dokku run` already takes.
2026-08-12 13:11:34 -04:00
Dokku Bot
80bfde6dc9 Release 0.38.27
# History

## 0.38.27

Install/update via the bootstrap script:

```shell
wget -NP . https://dokku.com/install/v0.38.27/bootstrap.sh
sudo DOKKU_TAG=v0.38.27 bash bootstrap.sh
```

### Bug Fixes

- #8933: @josegonzalez Do not require a local image for k3s deploys
- #8930: @josegonzalez Do not import an already-migrated ENV file
- #8919: @josegonzalez Regenerate vector config on app lifecycle changes
- #8917: @josegonzalez Apply app-label-alias to shipped events

### New Features

- #8934: @josegonzalez Report traefik dns-provider env vars as global keys
- #8920: @josegonzalez Add storage directory mode and removal flags
- #8914: @josegonzalez Add vector-cron-sink for scheduled cron task output

### Tests

- #8931: @dependabot[bot] chore(deps): bump djangorestframework from 3.17.2 to 3.18.0 in /tests/apps/dockerfile-release
- #8927: @dependabot[bot] chore(deps): bump djangorestframework from 3.17.1 to 3.17.2 in /tests/apps/dockerfile-release
- #8923: @dependabot[bot] chore(deps): bump python from 3.15.0b4-bookworm to 3.15.0rc1-bookworm in /tests/apps/dockerfile-release

### Dependencies

- #8926: @dependabot[bot] chore(deps): bump github.com/gliderlabs/sigil from 0.12.0 to 0.12.1 in /plugins/nginx-vhosts
- #8925: @dependabot[bot] chore(deps): bump packaging from 26.2 to 26.3 in /docs/_build
- #8921: @dokku-bot chore: bump pack to 0.40.9
- #8924: @dependabot[bot] chore(deps): bump soupsieve from 2.9.1 to 2.9.2 in /docs/_build
- #8922: @dependabot[bot] chore(deps): bump python from 3.15.0b4-alpine to 3.15.0rc1-alpine in /docs/_build
- #8915: @dokku-bot chore: bump herokuish to 0.11.15
v0.38.27
2026-08-12 08:54:47 +00:00
Jose Diaz-Gonzalez
0bfd35dada Merge pull request #8934 from dokku/8928-traefik-report-does-not-surface-the-dns-provider-properties
Report traefik dns-provider env vars as global keys
2026-08-12 04:52:58 -04:00
Jose Diaz-Gonzalez
69b74cbe7d Merge pull request #8933 from dokku/k3s-do-not-require-image-for-ps-restart
Do not require a local image for k3s deploys
2026-08-12 04:52:52 -04:00
Jose Diaz-Gonzalez
81a929d768 fix: report traefik dns-provider env vars as global keys
The dynamic `dns-provider-*` properties were reported as `--traefik-dns-provider-<env_var>`, outside the `global`/`computed` namespace every other traefik property uses, so a consumer reading the json report could not tell which of the two a key represented. They are now reported as `--traefik-global-dns-provider-<env_var>`. The `basic-auth-password` property is a credential as well and is now masked in the default report output on the same terms as the dns provider values, meaning the raw value is returned only for `--format json` or when the flag is queried by name.
2026-08-12 03:22:04 -04:00
Jose Diaz-Gonzalez
1d2c7424aa fix: do not require a local image for k3s deploys
Kubernetes pulls the app image itself, so a k3s host is free to reap its local copy while the workload keeps running, which the `registry` plugin already does on its own. Deploys, restarts, `dokku run`, and in-cluster cron no longer assert that the image is present locally, falling back to the metadata recorded in the app's current Helm release. A `ps:restart` naming a single process type now rolls only that process type's pods rather than silently redeploying every one. Apps with an `app.json` postdeploy task still require the image locally, as that task runs on the Dokku host.
2026-08-12 02:14:56 -04:00
Jose Diaz-Gonzalez
adf2bd14fb Merge pull request #8930 from dokku/8929-0-38-26-regression-drainlegacyenvfile-silently-overwrites-current-config-with-the-stale-legacy-env-file
fix: do not import an already-migrated ENV file
2026-08-12 02:13:59 -04:00
Jose Diaz-Gonzalez
54fe86ecd8 Merge pull request #8931 from dokku/dependabot/pip/tests/apps/dockerfile-release/djangorestframework-3.18.0
chore(deps): bump djangorestframework from 3.17.2 to 3.18.0 in /tests/apps/dockerfile-release
2026-08-11 19:38:51 -04:00
Jose Diaz-Gonzalez
25a5bacde9 docs: note the preserved ENV file can be deleted
The preserved copy holds everything the legacy file was not allowed to import, which includes keys that had been `config:unset` on purpose, so a revoked secret can outlive its revocation in a file `dokku config:*` no longer reads. Nothing said the copy was the operator's to remove once reviewed.
2026-08-11 19:11:06 -04:00
dependabot[bot]
71df7da367 chore(deps): bump djangorestframework in /tests/apps/dockerfile-release
Bumps [djangorestframework](https://github.com/encode/django-rest-framework) from 3.17.2 to 3.18.0.
- [Release notes](https://github.com/encode/django-rest-framework/releases)
- [Commits](https://github.com/encode/django-rest-framework/compare/3.17.2...3.18.0)

---
updated-dependencies:
- dependency-name: djangorestframework
  dependency-version: 3.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-11 13:55:03 +00:00
Jose Diaz-Gonzalez
685f16e6b1 fix: do not import an already-migrated ENV file
Releases 0.38.0 through 0.38.25 recorded the ENV file migration and deliberately left the file at the old path, so 0.38.26 treating a leftover file as a hand-edit replayed the environment as it stood at that upgrade over every `config:set` and `config:unset` made since, reinstating variables and secrets that had been deliberately unset. A file found at the old path once its migration is on record is no longer imported: it is removed when it agrees with the current config, and is otherwise moved aside to `ENV.migrated` with the keys it disagrees on named in a warning. That warning now reaches the operator during an upgrade rather than being swallowed, which is why the overwrite went unreported.
2026-08-10 17:58:10 -04:00
Jose Diaz-Gonzalez
2d34caec00 Merge pull request #8920 from dokku/8913-storage-host-directories-have-no-mode-flag-and-no-removal-path
Add storage directory mode and removal flags
2026-08-10 17:22:31 -04:00
Jose Diaz-Gonzalez
4e169e8842 Merge pull request #8927 from dokku/dependabot/pip/tests/apps/dockerfile-release/djangorestframework-3.17.2
chore(deps): bump djangorestframework from 3.17.1 to 3.17.2 in /tests/apps/dockerfile-release
2026-08-10 15:03:49 -04:00
Jose Diaz-Gonzalez
9c31ff8792 Merge pull request #8919 from dokku/8918-renaming-or-cloning-an-app-silently-stops-vector-log-shipping
Regenerate vector config on app lifecycle changes
2026-08-10 15:03:22 -04:00
Jose Diaz-Gonzalez
43163f2719 Merge pull request #8926 from dokku/dependabot/go_modules/plugins/nginx-vhosts/github.com/gliderlabs/sigil-0.12.1
chore(deps): bump github.com/gliderlabs/sigil from 0.12.0 to 0.12.1 in /plugins/nginx-vhosts
2026-08-10 15:03:10 -04:00
Jose Diaz-Gonzalez
6c4809e850 Merge pull request #8923 from dokku/dependabot/docker/tests/apps/dockerfile-release/python-3.15.0rc1-bookworm
chore(deps): bump python from 3.15.0b4-bookworm to 3.15.0rc1-bookworm in /tests/apps/dockerfile-release
2026-08-10 15:03:02 -04:00
Jose Diaz-Gonzalez
6eba85e0b2 Merge pull request #8925 from dokku/dependabot/pip/docs/_build/packaging-26.3
chore(deps): bump packaging from 26.2 to 26.3 in /docs/_build
2026-08-10 15:02:52 -04:00
Jose Diaz-Gonzalez
44b0414a4d Merge pull request #8921 from dokku/chore/bump-pack-0.40.9
chore: bump pack to 0.40.9
2026-08-10 15:02:41 -04:00
Jose Diaz-Gonzalez
836843d5cd Merge pull request #8924 from dokku/dependabot/pip/docs/_build/soupsieve-2.9.2
chore(deps): bump soupsieve from 2.9.1 to 2.9.2 in /docs/_build
2026-08-10 15:02:34 -04:00
Jose Diaz-Gonzalez
c110a3eb23 Merge pull request #8922 from dokku/dependabot/docker/docs/_build/python-3.15.0rc1-alpine
chore(deps): bump python from 3.15.0b4-alpine to 3.15.0rc1-alpine in /docs/_build
2026-08-10 15:02:25 -04:00
Jose Diaz-Gonzalez
74f9acf7ba refactor: align storage:set with dokku conventions
`storage:set` now takes `<name> <property> [<value>]` like every other `:set` command, where omitting the value unsets the property. Previously it took flags and could not distinguish an empty value from an omitted one, so nothing it set could ever be cleared. The flag form keeps working and emits a deprecation warning.

Annotations and labels move to `storage:annotations:set`, `storage:annotations:report`, `storage:labels:set`, and `storage:labels:report`, matching the `scheduler-k3s` equivalents. These operate on a single key, so clearing one leaves the rest in place rather than replacing the whole map as the `--annotation` and `--label` flags do.
2026-08-10 15:00:45 -04:00
dependabot[bot]
3e412ccae0 chore(deps): bump djangorestframework in /tests/apps/dockerfile-release
Bumps [djangorestframework](https://github.com/encode/django-rest-framework) from 3.17.1 to 3.17.2.
- [Release notes](https://github.com/encode/django-rest-framework/releases)
- [Commits](https://github.com/encode/django-rest-framework/compare/3.17.1...3.17.2)

---
updated-dependencies:
- dependency-name: djangorestframework
  dependency-version: 3.17.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-10 13:55:27 +00:00
dependabot[bot]
6150c69f9f chore(deps): bump github.com/gliderlabs/sigil in /plugins/nginx-vhosts
Bumps [github.com/gliderlabs/sigil](https://github.com/gliderlabs/sigil) from 0.12.0 to 0.12.1.
- [Release notes](https://github.com/gliderlabs/sigil/releases)
- [Commits](https://github.com/gliderlabs/sigil/compare/v0.12.0...v0.12.1)

---
updated-dependencies:
- dependency-name: github.com/gliderlabs/sigil
  dependency-version: 0.12.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-10 13:54:22 +00:00
dependabot[bot]
210c428c3d chore(deps): bump packaging from 26.2 to 26.3 in /docs/_build
Bumps [packaging](https://github.com/pypa/packaging) from 26.2 to 26.3.
- [Release notes](https://github.com/pypa/packaging/releases)
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pypa/packaging/compare/26.2...26.3)

---
updated-dependencies:
- dependency-name: packaging
  dependency-version: '26.3'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-10 13:53:36 +00:00
dependabot[bot]
464eb88152 chore(deps): bump soupsieve from 2.9.1 to 2.9.2 in /docs/_build
Bumps [soupsieve](https://github.com/facelessuser/soupsieve) from 2.9.1 to 2.9.2.
- [Release notes](https://github.com/facelessuser/soupsieve/releases)
- [Commits](https://github.com/facelessuser/soupsieve/compare/2.9.1...2.9.2)

---
updated-dependencies:
- dependency-name: soupsieve
  dependency-version: 2.9.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-10 13:53:29 +00:00
dependabot[bot]
35f54a5e45 chore(deps): bump python in /tests/apps/dockerfile-release
Bumps python from 3.15.0b4-bookworm to 3.15.0rc1-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.15.0rc1-bookworm
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-10 13:53:09 +00:00
dependabot[bot]
e7ab73d173 chore(deps): bump python in /docs/_build
Bumps python from 3.15.0b4-alpine to 3.15.0rc1-alpine.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.15.0rc1-alpine
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-10 13:52:51 +00:00
Dokku Bot
df053f6039 chore: bump pack to 0.40.9 2026-08-10 06:29:01 +00:00
Jose Diaz-Gonzalez
87b240054f feat: add storage directory mode and removal flags
`storage:create` and `storage:set` accept a `--mode` flag that sets the octal permissions of a docker-local host directory, and `storage:destroy` accepts a `--destroy-host-dir` flag that removes the directory along with its contents. A docker-local entry also honors `--reclaim-policy Delete` at destroy time now, matching how that policy governs a k3s PersistentVolume. Both are limited to the default `/var/lib/dokku/data/storage/<name>` location, the same restriction `--chown` already carries. `storage:set` applies `--chown` and `--mode` to the directory rather than only recording them.
2026-08-10 01:23:10 -04:00
Jose Diaz-Gonzalez
b43929df27 fix: regenerate vector config on app lifecycle changes
The generated vector config is a snapshot of the app list and their sink properties, but it was only ever written by `logs:set` and `logs:vector-start`. Renaming an app left a source filtering on a label no container carries and gave the new name no source at all, so the app kept a sink with nothing feeding it. Cloning produced the same result for the clone, and destroying an app left its source and sink behind, the latter still pointing at an endpoint decommissioned along with the app. The global relabel transform embeds app names directly in generated VRL, so a rename also left behind a branch naming an app that no longer existed. Every case was silent, and the only repair was an operator running `logs:vector-start`. The `post-app-clone-setup`, `post-app-rename-setup` and `post-delete` triggers now rewrite the config, warning rather than failing so that a config write cannot abort the app operation whose state it is derived from.

Closes #8918.
2026-08-09 23:53:12 -04:00
Jose Diaz-Gonzalez
39df6e3855 Merge pull request #8917 from dokku/8916-setting-app-label-alias-silently-disables-vector-log-collection
Apply app-label-alias to shipped events
2026-08-09 21:13:03 -04:00
Jose Diaz-Gonzalez
5b5d3d761b fix: apply app-label-alias to shipped events
The alias was only ever used to build the `include_labels` filter on the generated vector source, while dokku labels containers with `com.dokku.app-name` unconditionally. Setting the property therefore pointed the source at a label no container carries, and log collection stopped without any error. The source now always filters the label dokku applies, and a generated remap renames the field on its way to the sink, which is what the property was documented to do. An app whose own alias differs from the global one gets a branch in the global pipeline, so a per-app value is honored even when the app ships through the global sink.

Closes #8916.
2026-08-09 14:01:43 -04:00