Compare commits

...

1007 Commits

Author SHA1 Message Date
Dokku Bot
1ab923c252 Release 0.37.2
# History

## 0.37.2

Install/update via the bootstrap script:

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

### Bug Fixes

- #8198: @josegonzalez Ensure we continue on with logic if the error returned from fetching all apps is NoAppsExist

### Dependencies

- #8196: @dependabot[bot] chore(deps): bump byjg/easy-haproxy from 4.6.0 to 5.0.0 in /plugins/haproxy-vhosts
- #8197: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.31 to 2.11.32 in /plugins/scheduler-k3s
2025-12-06 03:20:03 +00:00
Jose Diaz-Gonzalez
adcd5aa812 Merge pull request #8198 from dokku/ignore-no-apps-exist 2025-12-05 22:18:36 -05:00
Jose Diaz-Gonzalez
129691eb6e fix: ensure we continue on with logic if the error returned from fetching all apps is NoAppsExist
This makes it so we don't accidentally skip logic that happens after iterate over the apps.
2025-12-05 20:16:15 -05:00
Jose Diaz-Gonzalez
4942a15a2b Merge pull request #8196 from dokku/dependabot/docker/plugins/haproxy-vhosts/byjg/easy-haproxy-5.0.0
chore(deps): bump byjg/easy-haproxy from 4.6.0 to 5.0.0 in /plugins/haproxy-vhosts
2025-12-05 12:06:33 -05:00
Jose Diaz-Gonzalez
3b117270b6 Merge pull request #8197 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/traefik/traefik/v2-2.11.32
chore(deps): bump github.com/traefik/traefik/v2 from 2.11.31 to 2.11.32 in /plugins/scheduler-k3s
2025-12-05 12:05:35 -05:00
dependabot[bot]
39f47b70d3 chore(deps): bump github.com/traefik/traefik/v2
Bumps [github.com/traefik/traefik/v2](https://github.com/traefik/traefik) from 2.11.31 to 2.11.32.
- [Release notes](https://github.com/traefik/traefik/releases)
- [Changelog](https://github.com/traefik/traefik/blob/v2.11.32/CHANGELOG.md)
- [Commits](https://github.com/traefik/traefik/compare/v2.11.31...v2.11.32)

---
updated-dependencies:
- dependency-name: github.com/traefik/traefik/v2
  dependency-version: 2.11.32
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-05 13:09:24 +00:00
dependabot[bot]
ff81f57840 chore(deps): bump byjg/easy-haproxy in /plugins/haproxy-vhosts
Bumps byjg/easy-haproxy from 4.6.0 to 5.0.0.

---
updated-dependencies:
- dependency-name: byjg/easy-haproxy
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-05 13:08:46 +00:00
Dokku Bot
c17bab994a Release 0.37.1
# History

## 0.37.1

Install/update via the bootstrap script:

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

### Bug Fixes

- #8186: @josegonzalez Update url to download golang
- #8155: @josegonzalez Sanitize vector sink values in report output
- #8156: @josegonzalez Do not start nginx if there are no apps with nginx as a proxy
- #8152: @josegonzalez Ensure keda usage does not cause jank in scaling deployments

### New Features

- #8154: @josegonzalez Enable live-restore by default when installing Dokku
- #8151: @josegonzalez Allow exposing non-web processes as kubernetes services

### Refactors

- #8149: @josegonzalez Remove nginx checks for functionality that always exists

### Documentation

- #8170: @znz Fix version in migration docs
- #8169: @josegonzalez Update logging in doc generation to enhance doc generation debugging
- #8153: @josegonzalez Fix reference to letsencrypt-server property
- #8150: @josegonzalez Clarify system requirements for k3s usage
- #8148: @josegonzalez Clarify plugin installation documentation

### Dependencies

- #8192: @dependabot[bot] chore(deps): bump golang from 1.25.4 to 1.25.5 in /tests/apps/go-fail-predeploy
- #8191: @dependabot[bot] chore(deps): bump golang from 1.25.4 to 1.25.5 in /tests/apps/go-fail-postdeploy
- #8189: @dependabot[bot] chore(deps): bump golang from 1.25.4 to 1.25.5 in /tests/apps/gogrpc
- #8193: @dependabot[bot] chore(deps): bump python from 3.14.0-alpine to 3.14.1-alpine in /docs/_build
- #8190: @dependabot[bot] chore(deps): bump golang from 1.25.4 to 1.25.5 in /tests/apps/zombies-dockerfile-no-tini
- #8188: @dependabot[bot] chore(deps): bump golang from 1.25.4 to 1.25.5 in /tests/apps/zombies-dockerfile-tini
- #8194: @dependabot[bot] chore(deps): bump python from 3.14.0-bookworm to 3.14.1-bookworm in /tests/apps/dockerfile-release
- #8195: @dependabot[bot] chore(deps): bump django from 5.2.8 to 5.2.9 in /tests/apps/dockerfile-release
- #8177: @dependabot[bot] chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/nodejs-express-noprocfile
- #8178: @dependabot[bot] chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/dockerfile-procfile-bad
- #8179: @dependabot[bot] chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/nodejs-express
- #8180: @dependabot[bot] chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/dockerfile-procfile
- #8181: @dependabot[bot] chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/gitsubmodules
- #8183: @dependabot[bot] chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/checks-root
- #8182: @dependabot[bot] chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/nodejs-express-noappjson
- #8184: @dependabot[bot] chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/dockerfile-app-json-formations
- #8172: @dependabot[bot] chore(deps): bump beautifulsoup4 from 4.14.2 to 4.14.3 in /docs/_build
- #8173: @dependabot[bot] chore(deps): bump werkzeug from 3.1.3 to 3.1.4 in /tests/apps/python-flask
- #8164: @dependabot[bot] chore(deps): bump body-parser from 2.2.0 to 2.2.1 in /tests/apps/checks-root
- #8165: @dependabot[bot] chore(deps): bump github.com/go-resty/resty/v2 from 2.16.5 to 2.17.0 in /plugins/scheduler-k3s
- #8167: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.17.1 to 10.17.2 in /docs/_build
- #8162: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.30 to 2.11.31 in /plugins/scheduler-k3s
- #8161: @dependabot[bot] chore(deps): bump github.com/fluxcd/pkg/kustomize from 1.23.0 to 1.24.0 in /plugins/scheduler-k3s
- #8159: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.19.0 to 3.19.2 in /plugins/scheduler-k3s
- #8158: @dependabot[bot] chore(deps): bump k8s.io/kubernetes from 1.34.1 to 1.34.2 in /plugins/scheduler-k3s
- #8143: @dependabot[bot] chore(deps): bump actions/checkout from 5 to 6
- #8145: @dependabot[bot] chore(deps): bump github.com/go-openapi/jsonpointer from 0.22.1 to 0.22.3 in /plugins/scheduler-k3s
- #8146: @dependabot[bot] chore(deps): bump k8s.io/kubectl from 0.34.1 to 0.34.2 in /plugins/scheduler-k3s
- #8144: @dependabot[bot] chore(deps): bump traefik from 3.6.1 to 3.6.2 in /plugins/traefik-vhosts
2025-12-04 04:53:29 +00:00
Jose Diaz-Gonzalez
d2674ac9d5 Merge pull request #8192 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.25.5
chore(deps): bump golang from 1.25.4 to 1.25.5 in /tests/apps/go-fail-predeploy
2025-12-03 16:09:59 -05:00
Jose Diaz-Gonzalez
31ca55732f Merge pull request #8191 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.25.5
chore(deps): bump golang from 1.25.4 to 1.25.5 in /tests/apps/go-fail-postdeploy
2025-12-03 16:09:50 -05:00
Jose Diaz-Gonzalez
8dbb9cb976 Merge pull request #8189 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.25.5
chore(deps): bump golang from 1.25.4 to 1.25.5 in /tests/apps/gogrpc
2025-12-03 16:09:42 -05:00
Jose Diaz-Gonzalez
92904c8f04 Merge pull request #8193 from dokku/dependabot/docker/docs/_build/python-3.14.1-alpine
chore(deps): bump python from 3.14.0-alpine to 3.14.1-alpine in /docs/_build
2025-12-03 16:09:32 -05:00
Jose Diaz-Gonzalez
da25c5ad7d Merge pull request #8190 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.25.5
chore(deps): bump golang from 1.25.4 to 1.25.5 in /tests/apps/zombies-dockerfile-no-tini
2025-12-03 16:09:22 -05:00
Jose Diaz-Gonzalez
12e32697fc Merge pull request #8188 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.25.5
chore(deps): bump golang from 1.25.4 to 1.25.5 in /tests/apps/zombies-dockerfile-tini
2025-12-03 16:09:12 -05:00
Jose Diaz-Gonzalez
18b38f40fe Merge pull request #8194 from dokku/dependabot/docker/tests/apps/dockerfile-release/python-3.14.1-bookworm
chore(deps): bump python from 3.14.0-bookworm to 3.14.1-bookworm in /tests/apps/dockerfile-release
2025-12-03 16:08:53 -05:00
Jose Diaz-Gonzalez
8cde5d9500 Merge pull request #8195 from dokku/dependabot/pip/tests/apps/dockerfile-release/django-5.2.9
chore(deps): bump django from 5.2.8 to 5.2.9 in /tests/apps/dockerfile-release
2025-12-03 16:08:36 -05:00
dependabot[bot]
2737e691ce chore(deps): bump django in /tests/apps/dockerfile-release
Bumps [django](https://github.com/django/django) from 5.2.8 to 5.2.9.
- [Commits](https://github.com/django/django/compare/5.2.8...5.2.9)

---
updated-dependencies:
- dependency-name: django
  dependency-version: 5.2.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 13:11:06 +00:00
dependabot[bot]
5330a2ac7e chore(deps): bump python in /tests/apps/dockerfile-release
Bumps python from 3.14.0-bookworm to 3.14.1-bookworm.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 13:05:07 +00:00
dependabot[bot]
2a0f3f5034 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.25.4 to 1.25.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 13:05:05 +00:00
dependabot[bot]
af4f126b78 chore(deps): bump python in /docs/_build
Bumps python from 3.14.0-alpine to 3.14.1-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 13:05:05 +00:00
dependabot[bot]
1ae7467e5a chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.25.4 to 1.25.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 13:05:04 +00:00
dependabot[bot]
f962241557 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.25.4 to 1.25.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 13:04:59 +00:00
dependabot[bot]
3157709b11 chore(deps): bump golang from 1.25.4 to 1.25.5 in /tests/apps/gogrpc
Bumps golang from 1.25.4 to 1.25.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 13:04:57 +00:00
dependabot[bot]
9918b0dd19 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.25.4 to 1.25.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 13:04:57 +00:00
Jose Diaz-Gonzalez
cc46c5ae9c Merge pull request #8177 from dokku/dependabot/npm_and_yarn/tests/apps/nodejs-express-noprocfile/express-5.2.1
chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/nodejs-express-noprocfile
2025-12-02 23:55:41 -05:00
Jose Diaz-Gonzalez
0ec9600d84 Merge pull request #8178 from dokku/dependabot/npm_and_yarn/tests/apps/dockerfile-procfile-bad/express-5.2.1
chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/dockerfile-procfile-bad
2025-12-02 23:55:24 -05:00
Jose Diaz-Gonzalez
ea0e044bd2 Merge pull request #8179 from dokku/dependabot/npm_and_yarn/tests/apps/nodejs-express/express-5.2.1
chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/nodejs-express
2025-12-02 23:54:57 -05:00
Jose Diaz-Gonzalez
35eb9a1ea3 Merge pull request #8180 from dokku/dependabot/npm_and_yarn/tests/apps/dockerfile-procfile/express-5.2.1
chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/dockerfile-procfile
2025-12-02 23:54:45 -05:00
Jose Diaz-Gonzalez
2d7e5181c6 Merge pull request #8181 from dokku/dependabot/npm_and_yarn/tests/apps/gitsubmodules/express-5.2.1
chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/gitsubmodules
2025-12-02 23:54:39 -05:00
Jose Diaz-Gonzalez
537a2a3397 Merge pull request #8183 from dokku/dependabot/npm_and_yarn/tests/apps/checks-root/express-5.2.1
chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/checks-root
2025-12-02 23:54:33 -05:00
Jose Diaz-Gonzalez
cb931253f7 Merge pull request #8182 from dokku/dependabot/npm_and_yarn/tests/apps/nodejs-express-noappjson/express-5.2.1
chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/nodejs-express-noappjson
2025-12-02 23:54:24 -05:00
Jose Diaz-Gonzalez
582ecc8ec4 Merge pull request #8184 from dokku/dependabot/npm_and_yarn/tests/apps/dockerfile-app-json-formations/express-5.2.1
chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/dockerfile-app-json-formations
2025-12-02 23:53:59 -05:00
dependabot[bot]
d43a23df5a chore(deps): bump express in /tests/apps/nodejs-express-noprocfile
Bumps [express](https://github.com/expressjs/express) from 5.1.0 to 5.2.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/v5.1.0...v5.2.1)

---
updated-dependencies:
- dependency-name: express
  dependency-version: 5.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 02:53:02 +00:00
dependabot[bot]
f6699ba467 chore(deps): bump express in /tests/apps/nodejs-express
Bumps [express](https://github.com/expressjs/express) from 5.1.0 to 5.2.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/v5.1.0...v5.2.1)

---
updated-dependencies:
- dependency-name: express
  dependency-version: 5.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 02:52:53 +00:00
dependabot[bot]
00ed4e41b1 chore(deps): bump express in /tests/apps/dockerfile-procfile-bad
Bumps [express](https://github.com/expressjs/express) from 5.1.0 to 5.2.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/v5.1.0...v5.2.1)

---
updated-dependencies:
- dependency-name: express
  dependency-version: 5.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 02:51:54 +00:00
dependabot[bot]
61ca55b697 chore(deps): bump express in /tests/apps/dockerfile-procfile
Bumps [express](https://github.com/expressjs/express) from 5.1.0 to 5.2.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/v5.1.0...v5.2.1)

---
updated-dependencies:
- dependency-name: express
  dependency-version: 5.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 02:51:10 +00:00
dependabot[bot]
6fcdf61196 chore(deps): bump express in /tests/apps/gitsubmodules
Bumps [express](https://github.com/expressjs/express) from 5.1.0 to 5.2.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/v5.1.0...v5.2.1)

---
updated-dependencies:
- dependency-name: express
  dependency-version: 5.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 02:51:05 +00:00
dependabot[bot]
a6095d4496 chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/checks-root
Bumps [express](https://github.com/expressjs/express) from 5.1.0 to 5.2.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/v5.1.0...v5.2.1)

---
updated-dependencies:
- dependency-name: express
  dependency-version: 5.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 02:48:49 +00:00
dependabot[bot]
f3a47fba2b chore(deps): bump express in /tests/apps/nodejs-express-noappjson
Bumps [express](https://github.com/expressjs/express) from 5.1.0 to 5.2.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/v5.1.0...v5.2.1)

---
updated-dependencies:
- dependency-name: express
  dependency-version: 5.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 02:48:46 +00:00
dependabot[bot]
2e74fb8506 chore(deps): bump express in /tests/apps/dockerfile-app-json-formations
Bumps [express](https://github.com/expressjs/express) from 5.1.0 to 5.2.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/v5.1.0...v5.2.1)

---
updated-dependencies:
- dependency-name: express
  dependency-version: 5.2.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-03 02:38:54 +00:00
Jose Diaz-Gonzalez
d60a21e65e Merge pull request #8186 from dokku/go-download
Update url to download golang
2025-12-02 21:30:06 -05:00
Jose Diaz-Gonzalez
7f0050dbe7 fix: update url to download golang 2025-12-02 20:51:07 -05:00
Jose Diaz-Gonzalez
a458bd6803 Merge pull request #8172 from dokku/dependabot/pip/docs/_build/beautifulsoup4-4.14.3
chore(deps): bump beautifulsoup4 from 4.14.2 to 4.14.3 in /docs/_build
2025-12-02 20:45:30 -05:00
Jose Diaz-Gonzalez
bedaa5203c Merge pull request #8173 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-3.1.4
chore(deps): bump werkzeug from 3.1.3 to 3.1.4 in /tests/apps/python-flask
2025-12-02 20:45:18 -05:00
dependabot[bot]
b87f617d2f chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/3.1.3...3.1.4)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-version: 3.1.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-01 15:27:36 +00:00
dependabot[bot]
23924a092d chore(deps): bump beautifulsoup4 from 4.14.2 to 4.14.3 in /docs/_build
Bumps [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) from 4.14.2 to 4.14.3.

---
updated-dependencies:
- dependency-name: beautifulsoup4
  dependency-version: 4.14.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-01 14:40:06 +00:00
Jose Diaz-Gonzalez
8ef9390ae1 Merge pull request #8170 from znz/patch-1 2025-11-30 06:42:19 -05:00
Kazuhiro NISHIYAMA
b90add9e4e Fix version 2025-11-30 19:29:05 +09:00
Jose Diaz-Gonzalez
42aa57e067 Merge pull request #8169 from dokku/debug-doc-generation
Update logging in doc generation to enhance doc generation debugging
2025-11-28 04:12:54 -05:00
Jose Diaz-Gonzalez
c5c395ed65 docs: update logging in doc generation to enhance doc generation debugging 2025-11-28 02:53:36 -05:00
Jose Diaz-Gonzalez
152213ffb4 Merge pull request #8164 from dokku/dependabot/npm_and_yarn/tests/apps/checks-root/body-parser-2.2.1
chore(deps): bump body-parser from 2.2.0 to 2.2.1 in /tests/apps/checks-root
2025-11-28 01:42:24 -05:00
Jose Diaz-Gonzalez
c336aa15a0 Merge pull request #8165 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/go-resty/resty/v2-2.17.0
chore(deps): bump github.com/go-resty/resty/v2 from 2.16.5 to 2.17.0 in /plugins/scheduler-k3s
2025-11-28 01:32:14 -05:00
Jose Diaz-Gonzalez
945c032290 Merge pull request #8167 from dokku/dependabot/pip/docs/_build/pymdown-extensions-10.17.2
chore(deps): bump pymdown-extensions from 10.17.1 to 10.17.2 in /docs/_build
2025-11-28 01:32:09 -05:00
dependabot[bot]
b79f6d6531 chore(deps): bump pymdown-extensions in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.17.1 to 10.17.2.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.17.1...10.17.2)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-version: 10.17.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-27 13:06:13 +00:00
dependabot[bot]
b8ae0169e7 chore(deps): bump github.com/go-resty/resty/v2 in /plugins/scheduler-k3s
Bumps [github.com/go-resty/resty/v2](https://github.com/go-resty/resty) from 2.16.5 to 2.17.0.
- [Release notes](https://github.com/go-resty/resty/releases)
- [Commits](https://github.com/go-resty/resty/compare/v2.16.5...v2.17.0)

---
updated-dependencies:
- dependency-name: github.com/go-resty/resty/v2
  dependency-version: 2.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-26 13:10:07 +00:00
dependabot[bot]
b6604118d4 chore(deps): bump body-parser in /tests/apps/checks-root
Bumps [body-parser](https://github.com/expressjs/body-parser) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/body-parser/compare/v2.2.0...v2.2.1)

---
updated-dependencies:
- dependency-name: body-parser
  dependency-version: 2.2.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 16:42:11 +00:00
Jose Diaz-Gonzalez
4a8f247980 Merge pull request #8162 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/traefik/traefik/v2-2.11.31
chore(deps): bump github.com/traefik/traefik/v2 from 2.11.30 to 2.11.31 in /plugins/scheduler-k3s
2025-11-25 11:41:16 -05:00
Jose Diaz-Gonzalez
98d861a02a Merge pull request #8161 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/fluxcd/pkg/kustomize-1.24.0
chore(deps): bump github.com/fluxcd/pkg/kustomize from 1.23.0 to 1.24.0 in /plugins/scheduler-k3s
2025-11-25 11:41:09 -05:00
dependabot[bot]
95e99070c6 chore(deps): bump github.com/traefik/traefik/v2
Bumps [github.com/traefik/traefik/v2](https://github.com/traefik/traefik) from 2.11.30 to 2.11.31.
- [Release notes](https://github.com/traefik/traefik/releases)
- [Changelog](https://github.com/traefik/traefik/blob/v2.11.31/CHANGELOG.md)
- [Commits](https://github.com/traefik/traefik/compare/v2.11.30...v2.11.31)

---
updated-dependencies:
- dependency-name: github.com/traefik/traefik/v2
  dependency-version: 2.11.31
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 13:10:34 +00:00
dependabot[bot]
d2719a2751 chore(deps): bump github.com/fluxcd/pkg/kustomize
Bumps [github.com/fluxcd/pkg/kustomize](https://github.com/fluxcd/pkg) from 1.23.0 to 1.24.0.
- [Commits](https://github.com/fluxcd/pkg/compare/apis/meta/v1.23.0...kustomize/v1.24.0)

---
updated-dependencies:
- dependency-name: github.com/fluxcd/pkg/kustomize
  dependency-version: 1.24.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 13:10:18 +00:00
Jose Diaz-Gonzalez
35383b0a73 Merge pull request #8159 from dokku/dependabot/go_modules/plugins/scheduler-k3s/helm.sh/helm/v3-3.19.2
chore(deps): bump helm.sh/helm/v3 from 3.19.0 to 3.19.2 in /plugins/scheduler-k3s
2025-11-24 15:05:27 -05:00
Jose Diaz-Gonzalez
6271566a89 Merge pull request #8158 from dokku/dependabot/go_modules/plugins/scheduler-k3s/k8s.io/kubernetes-1.34.2
chore(deps): bump k8s.io/kubernetes from 1.34.1 to 1.34.2 in /plugins/scheduler-k3s
2025-11-24 15:05:12 -05:00
dependabot[bot]
cd5c077787 chore(deps): bump helm.sh/helm/v3 in /plugins/scheduler-k3s
Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.19.0 to 3.19.2.
- [Release notes](https://github.com/helm/helm/releases)
- [Commits](https://github.com/helm/helm/compare/v3.19.0...v3.19.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 14:27:44 +00:00
dependabot[bot]
d7a9bf0a4d chore(deps): bump k8s.io/kubernetes in /plugins/scheduler-k3s
Bumps [k8s.io/kubernetes](https://github.com/kubernetes/kubernetes) from 1.34.1 to 1.34.2.
- [Release notes](https://github.com/kubernetes/kubernetes/releases)
- [Commits](https://github.com/kubernetes/kubernetes/compare/v1.34.1...v1.34.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-24 14:27:36 +00:00
Jose Diaz-Gonzalez
1fb869f0c4 Merge pull request #8155 from dokku/8147-sanitize-vector-sink
Sanitize vector sink values in report output
2025-11-23 01:22:45 -05:00
Jose Diaz-Gonzalez
144f541e4f Merge pull request #8156 from dokku/6291-update-alt-proxy
Do not start nginx if there are no apps with nginx as a proxy
2025-11-23 00:13:39 -05:00
Jose Diaz-Gonzalez
e60ebf12fa fix: do not sanitize if the value was the one requested 2025-11-23 00:11:05 -05:00
Jose Diaz-Gonzalez
a4a229df3a fix: do not start nginx if there are no apps with nginx as a proxy
Also start it by default in the case where there are no apps at all, as that likely means this is a first-time installation.
2025-11-22 22:06:28 -05:00
Jose Diaz-Gonzalez
f4e2c32721 feat: sanitize vector sink values in report output
It is not sanitized in json format output as that is used for automation, but this should remove the need to redact any potentially sensitive information that users have in the sink, such as a token.

Closes #8147
2025-11-22 21:57:53 -05:00
Jose Diaz-Gonzalez
e1debb80b5 Merge pull request #8154 from dokku/6954-live-restore
Enable live-restore by default when installing Dokku
2025-11-22 21:51:34 -05:00
Jose Diaz-Gonzalez
5adf0a2b6a Merge pull request #8152 from dokku/k3s-keda-replicas 2025-11-22 21:28:28 -05:00
Jose Diaz-Gonzalez
9fab65dc61 Merge pull request #8151 from dokku/7204-service-process-types
Allow exposing non-web processes as kubernetes services
2025-11-22 20:33:42 -05:00
Jose Diaz-Gonzalez
e50558e9e0 Merge pull request #8149 from dokku/remove-unused-code
Remove nginx checks for functionality that always exists
2025-11-22 20:26:50 -05:00
Jose Diaz-Gonzalez
247d522b7e feat: enable live-restore by default when installing Dokku
This will help users have more seamless upgrades in the future in cases where docker is restarted.
2025-11-22 20:25:22 -05:00
Jose Diaz-Gonzalez
ca3f609b75 Merge pull request #8153 from dokku/k3s-letsencrypt-server-docs
Fix reference to letsencrypt-server property
2025-11-22 20:15:43 -05:00
Jose Diaz-Gonzalez
3a44cc6270 docs: fix reference to letsencrypt-server property 2025-11-22 20:08:14 -05:00
Jose Diaz-Gonzalez
4dce4d652a fix: ensure keda usage does not cause jank in scaling deployments
If the values set by keda do not match the current deployment replicas value, the deployment object may be scaled in unexpected ways during a helm release. This change ensures keda will continue to manage that value correctly without the deployment object setting it back to something else.
2025-11-22 19:51:29 -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
72c519f7b3 Merge pull request #8150 from dokku/7573-memory
Clarify system requirements for k3s usage
2025-11-22 18:41:49 -05:00
Jose Diaz-Gonzalez
81a76207b5 docs: clarify system requirements for k3s usage
Closes #7573
2025-11-22 18:37:02 -05:00
Jose Diaz-Gonzalez
05bd2913dd chore: remove conditionals for variables that always have values 2025-11-21 22:15:48 -05:00
Jose Diaz-Gonzalez
6bb20e9b27 chore: remove nginx checks for functionality that always exists
TLS 1.3, HTTP2 and GRPC are now standard in all operating systems where Dokku is supported.
2025-11-21 22:05:20 -05:00
Jose Diaz-Gonzalez
99d4b4d0e8 Merge pull request #8148 from dokku/docker-install-updates
Clarify plugin installation documentation
2025-11-21 19:35:22 -05:00
Jose Diaz-Gonzalez
2ad14f71ea docs: clarify plugin installation documentation 2025-11-21 19:32:55 -05:00
Jose Diaz-Gonzalez
1412002217 Merge pull request #8143 from dokku/dependabot/github_actions/actions/checkout-6
chore(deps): bump actions/checkout from 5 to 6
2025-11-21 13:25:02 -05:00
Jose Diaz-Gonzalez
1c3dc8285a Merge pull request #8145 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/go-openapi/jsonpointer-0.22.3
chore(deps): bump github.com/go-openapi/jsonpointer from 0.22.1 to 0.22.3 in /plugins/scheduler-k3s
2025-11-21 13:20:14 -05:00
Jose Diaz-Gonzalez
1dc3fb972f Merge pull request #8146 from dokku/dependabot/go_modules/plugins/scheduler-k3s/k8s.io/kubectl-0.34.2
chore(deps): bump k8s.io/kubectl from 0.34.1 to 0.34.2 in /plugins/scheduler-k3s
2025-11-21 13:20:05 -05:00
Jose Diaz-Gonzalez
38544eb6be Merge pull request #8144 from dokku/dependabot/docker/plugins/traefik-vhosts/traefik-3.6.2
chore(deps): bump traefik from 3.6.1 to 3.6.2 in /plugins/traefik-vhosts
2025-11-21 13:19:58 -05:00
dependabot[bot]
dd4908174b chore(deps): bump k8s.io/kubectl in /plugins/scheduler-k3s
Bumps [k8s.io/kubectl](https://github.com/kubernetes/kubectl) from 0.34.1 to 0.34.2.
- [Commits](https://github.com/kubernetes/kubectl/compare/v0.34.1...v0.34.2)

---
updated-dependencies:
- dependency-name: k8s.io/kubectl
  dependency-version: 0.34.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 13:10:20 +00:00
dependabot[bot]
d923f4c73d chore(deps): bump github.com/go-openapi/jsonpointer
Bumps [github.com/go-openapi/jsonpointer](https://github.com/go-openapi/jsonpointer) from 0.22.1 to 0.22.3.
- [Release notes](https://github.com/go-openapi/jsonpointer/releases)
- [Commits](https://github.com/go-openapi/jsonpointer/compare/v0.22.1...v0.22.3)

---
updated-dependencies:
- dependency-name: github.com/go-openapi/jsonpointer
  dependency-version: 0.22.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 13:10:13 +00:00
dependabot[bot]
d27d3ea380 chore(deps): bump traefik from 3.6.1 to 3.6.2 in /plugins/traefik-vhosts
Bumps traefik from 3.6.1 to 3.6.2.

---
updated-dependencies:
- dependency-name: traefik
  dependency-version: 3.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 13:09:38 +00:00
dependabot[bot]
9288d3c6a6 chore(deps): bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 13:03:36 +00:00
Dokku Bot
4d896b22d0 Release 0.37.0
# History

## 0.37.0

Install/update via the bootstrap script:

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

See the [0.37.0 migration guide](/docs/appendices/0.37.0-migration-guide.md) for more information on migrating to 0.37.0.

### Backwards Compatibility Breaks

- #8140: @josegonzalez Rename the scheduler-k3s:cluster-* commands to use a : instead of - for a delimiter
- #7982: @josegonzalez Remove references to pack being experimental

### Bug Fixes

- #8136: @josegonzalez Do not reset manually set port mappings when upgrading dokku
- #8114: @josegonzalez Ensure we can execute run commands when exec is executed as part of an entrypoint
- #8109: @josegonzalez Allow skipping the install trigger when installing a plugin
- #8104: @josegonzalez Drop deprecated aufs check
- #8100: @othercorey Add process-type label for run with procfile cmd

### New Features

- #8139: @josegonzalez Add aliases for select builder and scheduler plugins
- #8138: @josegonzalez Turn on buildpack trace mode when dokku trace is on
- #8137: @josegonzalez Add the ability to create k3s node profiles
- #8135: @josegonzalez Add support for git remotes with port specified inline
- #8112: @josegonzalez Implement cron and one-off run task TTLs
- #8106: @josegonzalez Support inline comments for app.json
- #8105: @josegonzalez Allow specifying kubelet-args when adding a new node to the cluster
- #8085: @josegonzalez Implement config:import command
- #8004: @Tashows Add buildpacks:detect subcommand
- #7991: @josegonzalez Add ability to pause/restart cron jobs
- #7989: @josegonzalez Add support to prevent overlapping execution of cron tasks
- #7986: @josegonzalez Add support for specifying CNB buildpacks via buildpacks command
- #7956: @josegonzalez Add a Railpack builder to Dokku
- #7608: @dragonhunt02 Add commands to proxy implementations for managing labels

### Refactors

- #8101: @josegonzalez Filter build docker-options correctly for each builder

### Documentation

- #8103: @josegonzalez Correct the release version for railpacks support

### Dependencies

- #8130: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.43.0 to 0.45.0 in /plugins/common
- #8110: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.76.0 to 1.77.0 in /tests/apps/gogrpc
- #8108: @dependabot[bot] chore(deps): bump js-yaml from 3.14.1 to 3.14.2 in /tests/apps/multi
- #8107: @dependabot[bot] chore(deps): bump click from 8.3.0 to 8.3.1 in /docs/_build
- #8098: @dependabot[bot] chore(deps): bump traefik from 3.5.4 to 3.6.1 in /plugins/traefik-vhosts
- #8097: @dependabot[bot] chore(deps): bump timberio/vector from 0.51.0-debian to 0.51.1-debian in /plugins/logs
- #8094: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.16.1 to 10.17.1 in /docs/_build
- #8092: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.23 to 9.7.0 in /docs/_build
- #8090: @dependabot[bot] chore(deps): bump sigs.k8s.io/kustomize/api from 0.20.1 to 0.21.0 in /plugins/scheduler-k3s
2025-11-20 23:06:11 +00:00
Jose Diaz-Gonzalez
b31fab115b Merge pull request #8090 from dokku/dependabot/go_modules/plugins/scheduler-k3s/sigs.k8s.io/kustomize/api-0.21.0
chore(deps): bump sigs.k8s.io/kustomize/api from 0.20.1 to 0.21.0 in /plugins/scheduler-k3s
2025-11-20 14:37:14 -05:00
dependabot[bot]
1de6b4ad42 chore(deps): bump sigs.k8s.io/kustomize/api in /plugins/scheduler-k3s
Bumps [sigs.k8s.io/kustomize/api](https://github.com/kubernetes-sigs/kustomize) from 0.20.1 to 0.21.0.
- [Release notes](https://github.com/kubernetes-sigs/kustomize/releases)
- [Commits](https://github.com/kubernetes-sigs/kustomize/compare/api/v0.20.1...api/v0.21.0)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/kustomize/api
  dependency-version: 0.21.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-20 12:09:20 -05:00
Jose Diaz-Gonzalez
16ee66b552 Merge pull request #8107 from dokku/dependabot/pip/docs/_build/click-8.3.1
chore(deps): bump click from 8.3.0 to 8.3.1 in /docs/_build
2025-11-20 12:08:59 -05:00
Jose Diaz-Gonzalez
e40197cd37 Merge pull request #8108 from dokku/dependabot/npm_and_yarn/tests/apps/multi/js-yaml-3.14.2
chore(deps): bump js-yaml from 3.14.1 to 3.14.2 in /tests/apps/multi
2025-11-20 12:08:43 -05:00
Jose Diaz-Gonzalez
0e3f17d920 Merge pull request #8110 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.77.0
chore(deps): bump google.golang.org/grpc from 1.76.0 to 1.77.0 in /tests/apps/gogrpc
2025-11-20 12:08:20 -05:00
Jose Diaz-Gonzalez
7293893d99 Merge pull request #8130 from dokku/dependabot/go_modules/plugins/common/golang.org/x/crypto-0.45.0
chore(deps): bump golang.org/x/crypto from 0.43.0 to 0.45.0 in /plugins/common
2025-11-20 12:06:36 -05:00
Jose Diaz-Gonzalez
08ecc92630 Merge pull request #8092 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.7.0
chore(deps): bump mkdocs-material from 9.6.23 to 9.7.0 in /docs/_build
2025-11-20 10:49:48 -05:00
Jose Diaz-Gonzalez
b27d6b791d Merge pull request #8094 from dokku/dependabot/pip/docs/_build/pymdown-extensions-10.17.1
chore(deps): bump pymdown-extensions from 10.16.1 to 10.17.1 in /docs/_build
2025-11-20 10:49:00 -05:00
Jose Diaz-Gonzalez
a6b6b08e3e chore: bump go modules and run go mod tidy 2025-11-20 10:47:44 -05:00
dependabot[bot]
49813a2a54 chore(deps): bump golang.org/x/crypto in /plugins/common
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.43.0 to 0.45.0.
- [Commits](https://github.com/golang/crypto/compare/v0.43.0...v0.45.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.45.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-20 10:47:11 -05:00
Jose Diaz-Gonzalez
b4e906285b Merge pull request #8086 from dokku/0.37-release
Release 0.37.0
2025-11-20 10:39:54 -05:00
Jose Diaz-Gonzalez
8f979ea0e7 Merge pull request #8140 from dokku/k3s-cluster-commands
Rename the scheduler-k3s:cluster-* commands to use a : instead of - for a delimiter
2025-11-20 05:01:11 -05:00
Jose Diaz-Gonzalez
1430c2a13e refactor: rename the scheduler-k3s:cluster-* commands to use a : instead of - for a delimiter
This standardizes the commands with the other k3s commands that use a colon delimiter as well.
2025-11-20 05:00:31 -05:00
Jose Diaz-Gonzalez
8243df4ade Merge pull request #8137 from dokku/k3s-server-profiles
Add the ability to create k3s node profiles
2025-11-20 04:57:34 -05:00
Jose Diaz-Gonzalez
0e5db7db5c fix: ensure the profile is a proper json file 2025-11-20 04:56:55 -05:00
Jose Diaz-Gonzalez
9c1677556e fix: read in the profile property correctly 2025-11-20 04:56:45 -05:00
Jose Diaz-Gonzalez
bd98ff5299 fix: properly write the profile command files out 2025-11-20 04:56:32 -05:00
Jose Diaz-Gonzalez
ca5c887b8a feat: add the ability to create k3s node profiles
Node profiles can be used to specify repetitive options for clusters, making it easier to add specific types of instances quickly.

This PR additionally fixes kubelet-args specification - the same key can be specified multiple times, such as when specifying custom sysctl rules.
2025-11-20 04:42:57 -05:00
Jose Diaz-Gonzalez
aee59f623c Merge pull request #8139 from dokku/command-aliases
Add aliases for select builder and scheduler plugins
2025-11-20 04:30:21 -05:00
Jose Diaz-Gonzalez
f6b97100ea fix: correct lint issue 2025-11-20 04:29:41 -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
0ef276d40b feat: add aliases for select builder and scheduler plugins
It can get repetitive to specify 'builder-' or 'scheduler-' prefixes for builder and scheduler commands. As these are mostly unique, Dokku now provides built-in aliases for the commands. Dokku still uses the long-form in all it's documentation, but these are a nice easter egg for determined users :)

Note that the null builder/scheduler plugins do not have aliases as they would shadow each other.
2025-11-20 03:12:25 -05:00
Jose Diaz-Gonzalez
553cc232b2 Merge pull request #8138 from dokku/buildpack-xtrace
Turn on buildpack trace mode when dokku trace is on
2025-11-20 02:42:57 -05:00
Jose Diaz-Gonzalez
afd2952cb1 feat: turn on buildpack trace mode when dokku trace is on
This removes the need for an extra step to enable more verbose debug logs from buildpacks.

Refs https://github.com/dokku/dokku/discussions/8070
2025-11-20 02:41:57 -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
58bfd70118 Merge pull request #8106 from dokku/8007-jsonc-app-json
Support inline comments for app.json
2025-11-20 02:37:01 -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
Jose Diaz-Gonzalez
67962ad527 tests: move helper to client.bats 2025-11-20 02:20:35 -05:00
Jose Diaz-Gonzalez
d94bc733c9 feat: allow overriding the TMP directory in setup_client_repo 2025-11-20 02:20:35 -05:00
Jose Diaz-Gonzalez
a21ee6f216 tests: make it clearer what happened when assert_output_contains fails 2025-11-20 02:20:35 -05:00
Jose Diaz-Gonzalez
7a93b11bdd feat: add tests for remote parsing 2025-11-20 02:20:35 -05:00
Jose Diaz-Gonzalez
78f0c53871 feat: add ability to specify an app path via environment variable
This can be used for testing as well as in real usage.
2025-11-20 02:20:35 -05:00
Jose Diaz-Gonzalez
54c1ccd9bb refactor: use tailscale/hujson to support trailing commas after the last member in arrays and lists 2025-11-20 01:00:40 -05:00
Jose Diaz-Gonzalez
318c21996a fix: use correct variable name 2025-11-20 00:59:49 -05:00
Jose Diaz-Gonzalez
6b67d5c59b tests: do not modify the existing app.json via jq
The jq binary doesn't support jsonc, so we can't modify it for testing purposes. Instead, just create an app.json with the correct heroku.postdeploy task.
2025-11-20 00:44:26 -05:00
Jose Diaz-Gonzalez
56566d1c05 chore: make the postdeploy task name more clear 2025-11-20 00:42:49 -05:00
Jose Diaz-Gonzalez
421863f4ac fix: sanitize app.json in trigger 2025-11-20 00:35:17 -05:00
Jose Diaz-Gonzalez
38505006e8 fix: correctly sanitize comments out of the jsonc content 2025-11-20 00:35:17 -05:00
Jose Diaz-Gonzalez
a05b79e2a9 tests: add inline comments on the python app.json file
This is the most-used app and therefore most-used app.json file, so this should allow us to test that moving to a new json parser works as expected.
2025-11-20 00:35:17 -05:00
Jose Diaz-Gonzalez
1c0ce250dc feat: support inline comments for app.json
Closes #8007
2025-11-20 00:35:17 -05:00
Jose Diaz-Gonzalez
a2d399c104 fix: do not reset manually set port mappings when upgrading dokku
Closes #8067
2025-11-20 00:21:40 -05:00
Jose Diaz-Gonzalez
9f8058dd78 Merge pull request #8114 from dokku/8052-run-exec
Ensure we can execute run commands when exec is executed as part of an entrypoint
2025-11-19 21:40:36 -05:00
Jose Diaz-Gonzalez
507916f57b Merge pull request #8112 from dokku/7938-run-retire
Implement cron and one-off run task TTLs
2025-11-19 21:40:10 -05:00
Jose Diaz-Gonzalez
6f095271e1 fix: ensure we can execute run commands when exec is executed as part of an entrypoint
Closes #8052
2025-11-19 20:34:51 -05:00
Jose Diaz-Gonzalez
44b87ffe8d tests: fix expected output of --quiet 2025-11-19 20:23:53 -05:00
Jose Diaz-Gonzalez
992b023bc8 chore: fix lint issues 2025-11-18 17:06:30 -05:00
Jose Diaz-Gonzalez
a6d65c821f feat: implement cron and one-off run task TTLs
Closes #7938
2025-11-18 16:46:31 -05:00
Jose Diaz-Gonzalez
2bd4272424 Merge pull request #8109 from dokku/7308-skip-install-trigger
Allow skipping the install trigger when installing a plugin
2025-11-18 15:06:25 -05:00
Jose Diaz-Gonzalez
99a1e2ee33 feat: default to running one-off k3s containers to a max of 1 day
This follows the standard enforced by Heroku.
2025-11-18 14:09:38 -05:00
Jose Diaz-Gonzalez
d5ea97f7b0 chore: consolidate on single method to redirect stdout/stderr to /dev/null 2025-11-18 14:07:09 -05:00
Jose Diaz-Gonzalez
6359404ef3 Merge pull request #8097 from dokku/dependabot/docker/plugins/logs/timberio/vector-0.51.1-debian
chore(deps): bump timberio/vector from 0.51.0-debian to 0.51.1-debian in /plugins/logs
2025-11-18 13:19:41 -05:00
Jose Diaz-Gonzalez
ba9eee8271 Merge pull request #8098 from dokku/dependabot/docker/plugins/traefik-vhosts/traefik-3.6.1
chore(deps): bump traefik from 3.5.4 to 3.6.1 in /plugins/traefik-vhosts
2025-11-18 13:19:10 -05:00
dependabot[bot]
691e454185 chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.76.0 to 1.77.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.76.0...v1.77.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.77.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-18 13:02:23 +00:00
Jose Diaz-Gonzalez
d05925f6f1 feat: allow skipping the install trigger when installing a plugin
During docker image generation, certain folders either do not exist or are symlinked in an odd fashion, causing the install trigger to fail. This is not the case at runtime, so we should defer the install trigger until container start and provide a method of skipping it when generating a docker image.

Closes #7308
2025-11-18 02:35:16 -05:00
dependabot[bot]
d4bfd0b7fa chore(deps): bump js-yaml from 3.14.1 to 3.14.2 in /tests/apps/multi
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.1...3.14.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 15:23:47 +00:00
dependabot[bot]
ffd0a81311 chore(deps): bump click from 8.3.0 to 8.3.1 in /docs/_build
Bumps [click](https://github.com/pallets/click) from 8.3.0 to 8.3.1.
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/8.3.1/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.3.0...8.3.1)

---
updated-dependencies:
- dependency-name: click
  dependency-version: 8.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 13:07:46 +00:00
Jose Diaz-Gonzalez
a677e05b1f Merge pull request #8105 from dokku/kubelet-args
Allow specifying kubelet-args when adding a new node to the cluster
2025-11-17 04:17:25 -05:00
Jose Diaz-Gonzalez
575fbb3560 Merge pull request #7608 from dragonhunt02/label
Add commands to proxy implementations for managing labels
2025-11-17 00:20:03 -05:00
Jose Diaz-Gonzalez
f33d3d852f feat: allow specifying kubelet-args when adding a new node to the cluster
Kubelet arguments are useful for specifying settings such as supported sysctl fields.
2025-11-16 23:53:02 -05:00
Jose Diaz-Gonzalez
f38d8cfadb Merge pull request #8104 from dokku/drop-aufs-check
Drop deprecated aufs check
2025-11-16 18:52:58 -05:00
Jose Diaz-Gonzalez
e394776c3b fix: drop deprecated aufs check
Closes #8102
2025-11-16 18:52:19 -05:00
Jose Diaz-Gonzalez
2bad1e4acd Merge pull request #8103 from dokku/fix-docs
docs: correct the release version for railpacks support
2025-11-16 18:50:38 -05:00
Jose Diaz-Gonzalez
75945ee0d7 docs: correct the release version for railpacks support
Refs #7956 (thanks @pil0u)
2025-11-16 18:50:04 -05:00
Jose Diaz-Gonzalez
9d002ccab5 fix: correct the error message 2025-11-16 18:47:13 -05:00
Jose Diaz-Gonzalez
5df11a0a1f refactor: store labels in key=value format
This makes it easier to display at the cost of removing the override warnings (for now).
2025-11-16 18:44:21 -05:00
Jose Diaz-Gonzalez
a40c42019b fix: do not shift arguments 2025-11-16 18:42:57 -05:00
Jose Diaz-Gonzalez
d4783685d1 chore: update header for displaying app labels 2025-11-16 18:12:38 -05:00
Jose Diaz-Gonzalez
d212fd44c7 refactor: rename functions to be plural
They are plural for the scheduler-k3s plugin.
2025-11-16 18:12:28 -05:00
Jose Diaz-Gonzalez
d9073272df fix: minor help output formatting 2025-11-16 18:06:56 -05:00
Jose Diaz-Gonzalez
ff8ccd2801 tests: add tests for functionality 2025-11-16 18:01:20 -05:00
Jose Diaz-Gonzalez
3f5a022970 tests: force remove the file to silence warnings 2025-11-16 18:00:40 -05:00
Jose Diaz-Gonzalez
18be8f4fa9 fix: use correct argument name 2025-11-16 18:00:04 -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
01570012c5 fix: correctly call function 2025-11-16 17:58:14 -05:00
Jose Diaz-Gonzalez
acd981d50e fix: ensure the commands can actually be called 2025-11-16 17:57:58 -05:00
Jose Diaz-Gonzalez
3a52c7d0a8 docs: add documentation for label management 2025-11-16 16:49:03 -05:00
Jose Diaz-Gonzalez
003f6a5bd8 fix: remove not working method to change the caddy label-key
This was never actually used by caddy-docker-proxy so its better to just remove it.
2025-11-16 16:45:56 -05:00
Jose Diaz-Gonzalez
edf9653ebf fix: update help output for new subcommands 2025-11-16 16:32:13 -05:00
Jose Diaz-Gonzalez
12cc31427b refactor: split out label subcommands into distinct commands 2025-11-16 16:30:56 -05:00
dragonhunt02
4eafd3b5b7 feat: implement proxy container :label functionality 2025-11-16 02:38:36 -05:00
Jose Diaz-Gonzalez
e93175b37e Merge pull request #7986 from dokku/7325-cnb-buildpacks
Add support for specifying CNB buildpacks via buildpacks command
2025-11-16 02:38:25 -05:00
Jose Diaz-Gonzalez
0828db4bb7 Merge pull request #8101 from dokku/filter-build-args
Filter build docker-options correctly for each builder
2025-11-16 02:07:01 -05:00
Jose Diaz-Gonzalez
4da1fea274 fix: use correct check for BUILDPACK_URL
Also fix lint issue
2025-11-16 01:45:11 -05:00
Jose Diaz-Gonzalez
a9127e3abd fix: correctly handle exiting the argument parsing loop 2025-11-16 01:24:28 -05:00
Jose Diaz-Gonzalez
531bb20519 tests: respect the globally specified default branch when running tests 2025-11-16 01:11:09 -05:00
Jose Diaz-Gonzalez
9411c4ddc1 test: ensure the deploy succeeds and then check the output vs using grep 2025-11-16 01:10:53 -05:00
Jose Diaz-Gonzalez
406a82de29 fix: use call instead of env 2025-11-16 01:10:15 -05:00
Jose Diaz-Gonzalez
9bda9e721f feat: add support for flags with = signs 2025-11-16 00:30:35 -05:00
Jose Diaz-Gonzalez
3b35656ae9 fix: shift the unknown arguments out
They should just be ignored.
2025-11-16 00:26:53 -05:00
Jose Diaz-Gonzalez
f1763bdaf5 fix: correct lint issue 2025-11-15 23:36:01 -05:00
Jose Diaz-Gonzalez
397c8f6d15 docs: add note on removal of nixpacks no-cache property 2025-11-15 23:31:00 -05:00
Jose Diaz-Gonzalez
364eac374d refactor: remove support for the railpack no-cache property
This replicates the docker-options functionality.
2025-11-15 23:30:24 -05:00
Jose Diaz-Gonzalez
93cf9cc118 refactor: remove support for the nixpacks no-cache property
This replicates the docker-options functionality.
2025-11-15 23:30:15 -05:00
Jose Diaz-Gonzalez
50b2836e52 refactor: remove support for DOKKU_DOCKER_BUILD_OPTS
This replicates the docker-options functionality.
2025-11-15 23:28:44 -05:00
Jose Diaz-Gonzalez
9b75cc39b1 refactor: remove support for DOKKU_DOCKERFILE_CACHE_BUILD
This replicates the docker-options functionality.
2025-11-15 23:27:22 -05:00
Jose Diaz-Gonzalez
6325dd6d7b docs: add missing link to 0.36.0 migration guide 2025-11-15 23:21:41 -05:00
Jose Diaz-Gonzalez
2a702175b5 feat: filter out unsupported build arguments with docker build
While this will require future updates if docker  supports new build arguments, it also ensures builds safely consume arguments from other plugins.
2025-11-15 23:17:48 -05:00
Jose Diaz-Gonzalez
210128f5f2 chore: simplify logic for flags without multiple methods of being set 2025-11-15 23:13:57 -05:00
Jose Diaz-Gonzalez
ae8eaa7e63 refactor: filter out procfile first and include --no-cache in DOCKER_ARGS 2025-11-15 22:59:49 -05:00
Jose Diaz-Gonzalez
11c2497b31 feat: filter out unsupported build arguments with railpacks
While this will require future updates if railpacks supports new build arguments, it also ensures builds safely consume arguments from other plugins.
2025-11-15 22:59:12 -05:00
Jose Diaz-Gonzalez
03e90ed2a0 feat: filter out unsupported build arguments with nixpacks
While this will require future updates if nixpacks supports new build arguments, it also ensures builds safely consume arguments from other plugins.
2025-11-15 22:49:48 -05:00
Jose Diaz-Gonzalez
c3d103e46c fix: remove flag that does not make sense in build context 2025-11-15 22:39:27 -05:00
Jose Diaz-Gonzalez
a292e41015 fix: remove flags that do not make sense in build context 2025-11-15 22:33:03 -05:00
Jose Diaz-Gonzalez
58046ea6dc chore: move flags around for better organization 2025-11-15 22:28:53 -05:00
Jose Diaz-Gonzalez
8cb5989220 fix: remove manually set arguments 2025-11-15 22:27:26 -05:00
Jose Diaz-Gonzalez
97714e9c22 feat: filter out unsupported build arguments with pack
While this will require future updates if pack supports new build arguments, it also ensures builds safely consume arguments from other plugins.
2025-11-15 20:28:13 -05:00
Jose Diaz-Gonzalez
43f25c218f Merge pull request #8004 from Tashows/buildpacks-detect
Add buildpacks:detect subcommand
2025-11-15 19:53:37 -05:00
Jose Diaz-Gonzalez
d9e5182399 Merge pull request #7989 from dokku/7988-prevent-overlap
Add support to prevent overlapping execution of cron tasks
2025-11-15 17:45:50 -05:00
Jose Diaz-Gonzalez
9aa471c1fd feat: add support for specifying CNB buildpacks via buildpacks command
Closes #7325
2025-11-15 16:24:22 -05:00
Jose Diaz-Gonzalez
6dbb34ec0b Merge pull request #8100 from othercorey/run-proc-label
Add process-type label for run with procfile cmd
2025-11-15 16:22:48 -05:00
Jose Diaz-Gonzalez
080ed43232 Merge pull request #7982 from dokku/drop-cnb-experimental
Remove references to pack being experimental
2025-11-15 16:20:17 -05:00
Jose Diaz-Gonzalez
3f70728451 feat: implement forbid/replace logic for k3s pods spawned via cron:run 2025-11-15 16:19:23 -05:00
Corey Taylor
00411decf5 Add process-type label for run with procfile cmd 2025-11-15 02:05:58 -06:00
dependabot[bot]
ebfcf24e53 chore(deps): bump traefik from 3.5.4 to 3.6.1 in /plugins/traefik-vhosts
Bumps traefik from 3.5.4 to 3.6.1.

---
updated-dependencies:
- dependency-name: traefik
  dependency-version: 3.6.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-14 13:10:02 +00:00
dependabot[bot]
d5b886b2b5 chore(deps): bump timberio/vector in /plugins/logs
Bumps timberio/vector from 0.51.0-debian to 0.51.1-debian.

---
updated-dependencies:
- dependency-name: timberio/vector
  dependency-version: 0.51.1-debian
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-14 13:09:58 +00:00
Jose Diaz-Gonzalez
dc8424d8a5 docs: document the concurrency_policy 2025-11-13 01:58:37 -05:00
Jose Diaz-Gonzalez
c6bd80aca6 tests: update tests 2025-11-13 01:55:32 -05:00
Jose Diaz-Gonzalez
42a92eb654 feat: add support for replace concurrency policy 2025-11-13 01:55:12 -05:00
Jose Diaz-Gonzalez
bacbc6d90d fix: correctly check for running containers when concurrency policy is forbid
We cannot grab a lock as cron:run with --detach will release the lock. Instead, just check if any containers for the specified cron_id are running and exit.
2025-11-13 01:54:56 -05:00
Jose Diaz-Gonzalez
3f8c868ab8 fix: ensure the concurrency policy is propagated when running a cron command directly 2025-11-13 01:53:33 -05:00
Jose Diaz-Gonzalez
c56110b3a7 fix: do not print errors twice 2025-11-13 01:52:08 -05:00
dependabot[bot]
679a399df3 chore(deps): bump pymdown-extensions in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.16.1 to 10.17.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.16.1...10.17.1)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-version: 10.17.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-12 13:07:30 +00:00
dependabot[bot]
eb82d958f4 chore(deps): bump mkdocs-material from 9.6.23 to 9.7.0 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.23 to 9.7.0.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.23...9.7.0)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-11 13:07:05 +00:00
Jose Diaz-Gonzalez
3162fa5b9a debug: run sleep for longer and check the inspect output of the cron container 2025-11-10 18:02:46 -05:00
Jose Diaz-Gonzalez
8c2731b328 fix: properly set concurrency policy for golang 2025-11-10 03:11:11 -05:00
Jose Diaz-Gonzalez
c95cb526be fix: correct lint issue 2025-11-10 03:11:11 -05:00
Corey Taylor
983115c827 Add test for cron concurrency policy 2025-11-10 03:11:08 -05:00
Jose Diaz-Gonzalez
b8f32f6ea4 tests: add concurrency_policy to test check 2025-11-10 03:08:03 -05:00
Jose Diaz-Gonzalez
20be426125 feat: add support for locking in docker-local commands 2025-11-10 03:07:33 -05:00
Jose Diaz-Gonzalez
f38bc64119 feat: expose concurrency policy to kubernetes jobs 2025-11-10 03:07:29 -05:00
Jose Diaz-Gonzalez
f1e3c0764c feat: expose the concurrency policy when fetching cron entries
Also add some validation to ensure invalid values are not specified.
2025-11-10 03:06:24 -05:00
Jose Diaz-Gonzalez
d72c183d9e feat: add ability to specify a concurrency policy for crons in the app.json file 2025-11-10 03:03:49 -05:00
Jose Diaz-Gonzalez
f61e6e60f4 Merge pull request #7991 from dokku/7145-cron-maintenance-id
Add ability to pause/restart cron jobs
2025-11-10 03:03:34 -05:00
Jose Diaz-Gonzalez
8ba6ce94fc test: add tests for cron suspend and resume commands 2025-11-10 02:00:14 -05:00
Jose Diaz-Gonzalez
4cc2dc7844 feat: add cron maintenance info to cron:report output 2025-11-10 01:58:02 -05:00
Jose Diaz-Gonzalez
379ada07d9 fix: properly fetch non-maintenance tasks when building crontab file 2025-11-10 01:57:46 -05:00
Jose Diaz-Gonzalez
d49f9b89c2 chore: add commands to cron:help output 2025-11-10 01:57:12 -05:00
Jose Diaz-Gonzalez
3638399726 fix: parse cronID correctly 2025-11-10 01:56:59 -05:00
Jose Diaz-Gonzalez
4929272c87 fix: calculate maintenance property correctly 2025-11-10 01:56:07 -05:00
Jose Diaz-Gonzalez
d9603af08a docs: document cron task suspension 2025-11-10 01:55:44 -05:00
Jose Diaz-Gonzalez
e30b579de5 test: fix issue where teardown was not being called 2025-11-09 23:16:39 -05:00
Jose Diaz-Gonzalez
2aea999326 test: check if uninstalling after deleting apps will cause tests to work again
Not clear why they are suddenly failing, but lets switch this around for now.
2025-11-09 23:16:39 -05:00
Jose Diaz-Gonzalez
00ce3932d0 fix: update the json output 2025-11-09 23:16:38 -05:00
Jose Diaz-Gonzalez
7461b83972 fix: use correct makefile target 2025-11-09 23:16:38 -05:00
Jose Diaz-Gonzalez
426e6b746a chore: standardize on cron task vs any other naming 2025-11-09 23:16:38 -05:00
Jose Diaz-Gonzalez
66a30b0547 refactor: rename cron entry to cron task
This naming better suits what it is we are fetching.
2025-11-09 23:16:38 -05:00
Jose Diaz-Gonzalez
f99e3a6c9c feat: add ability to suspend and resume a cron task by ID
This takes advantage of the properties system and allows users to suspend/resume the task at will.
2025-11-09 23:16:38 -05:00
Jose Diaz-Gonzalez
3c7985cd82 feat: track task vs app maintenance separately
We should know _where_ the maintenance value is applied for the end-user's usage
2025-11-09 23:16:38 -05:00
Jose Diaz-Gonzalez
e42df29a79 feat: allow specifying maintenance mode in the file or not
If the app's cron tasks are set to maintenance mode, then the task is set to maintenance mode regardless.
2025-11-09 23:16:38 -05:00
Jose Diaz-Gonzalez
4a357e9896 fix: properly suspend and resume k8s CronJob objects when executing scheduler-cron-write 2025-11-09 23:16:38 -05:00
Jose Diaz-Gonzalez
c885205b91 refactor: respect the maintenance value of the cron task instead of skipping them
The former method would omit the CronJob objects entirely, meaning a redeploy would be necessary to re-enable them.
2025-11-09 23:16:38 -05:00
Jose Diaz-Gonzalez
1674d02af9 Merge pull request #7956 from dokku/7615-railpack-support
Add a Railpack builder to Dokku
2025-11-09 22:19:10 -05:00
Jose Diaz-Gonzalez
889d237669 chore: combine tests and ensure that pack is selected 2025-11-09 20:32:39 -05:00
Jose Diaz-Gonzalez
68c5407ed4 tests: use already existing add_requirements_txt_cnb function for builder-pack deploys 2025-11-09 20:32:39 -05:00
Jose Diaz-Gonzalez
e62212f810 tests: add missing global setup/teardown calls 2025-11-09 20:32:39 -05:00
Jose Diaz-Gonzalez
551eae0c5b chore: remove references to pack being experimental
It is no longer experimental and is here to stay.
2025-11-09 20:32:39 -05:00
Jose Diaz-Gonzalez
f2abbad5b7 chore: remove unused entrypoint file 2025-11-09 20:21:10 -05:00
Jose Diaz-Gonzalez
e5196a2f03 fix: remove entrypoint to ensure we can pass commands as arrays instead of quoted strings 2025-11-09 20:21:10 -05:00
Jose Diaz-Gonzalez
3c6ace7d68 tests: add global setup/teardown 2025-11-09 20:21:10 -05:00
Jose Diaz-Gonzalez
b4fbf7189e fix: update tests 2025-11-09 20:21:10 -05:00
Jose Diaz-Gonzalez
9af8ec2acc fix: re-add entrypoint
It is broken but we still want something like this...
2025-11-09 20:21:10 -05:00
Jose Diaz-Gonzalez
5e85038d9c feat: add PrintCommand support to all task executors 2025-11-09 20:21:10 -05:00
Jose Diaz-Gonzalez
b9025f6137 fix: drop unnecessary entrypoint 2025-11-09 20:21:10 -05:00
Jose Diaz-Gonzalez
795e4f0f34 fix: cleanup build image in railpack builder
Without this, it is possible to keep an old build image around in the case of failed builds, and due to missing label support, the image will never be cleaned up.
2025-11-09 20:21:10 -05:00
Jose Diaz-Gonzalez
b21b58ed38 fix: remove extra _ 2025-11-09 20:21:10 -05:00
Jose Diaz-Gonzalez
0840976265 fix: add references to BUILDKIT_HOST for setup and fix tests 2025-11-09 20:21:09 -05:00
Jose Diaz-Gonzalez
300a276ed0 chore: bump version in plugin.toml 2025-11-09 20:21:09 -05:00
Jose Diaz-Gonzalez
6b27f424db fix: remove extra space 2025-11-09 20:21:09 -05:00
Jose Diaz-Gonzalez
9f33459266 fix: set BIN_DIR 2025-11-09 20:21:09 -05:00
Jose Diaz-Gonzalez
ee467e6793 fix: inject labels after the image is built by railpack
Railpack doesn't support the --label flag.
2025-11-09 20:21:09 -05:00
Jose Diaz-Gonzalez
cba345025c feat: add a Railpack builder to Dokku
Closes #7615
2025-11-09 20:21:09 -05:00
Jose Diaz-Gonzalez
837c3db042 Merge pull request #8085 from dokku/6846-config-import
Implement config:import command
2025-11-09 20:19:47 -05:00
Dokku Bot
8d4fc1f883 Release 0.36.11
# History

## 0.36.11

Install/update via the bootstrap script:

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

### Bug Fixes

- #8084: @josegonzalez Use the correct case for AS in Dockerfile
- #8083: @josegonzalez Use correct variable for tasks
- #8081: @josegonzalez Error out if the appname or app.json is missing when retrieving cron entries

### Refactors

- #8082: @josegonzalez Standardize naming in cron code

### Dependencies

- #8073: @dependabot[bot] chore(deps): bump timberio/vector from 0.50.0-debian to 0.51.0-debian in /plugins/logs
- #8080: @dependabot[bot] chore(deps): bump github.com/containerd/containerd from 1.7.28 to 1.7.29 in /plugins/scheduler-k3s
- #8079: @dependabot[bot] chore(deps): bump golang from 1.25.3 to 1.25.4 in /tests/apps/zombies-dockerfile-tini
- #8075: @dependabot[bot] chore(deps): bump golang from 1.25.3 to 1.25.4 in /tests/apps/go-fail-postdeploy
- #8078: @dependabot[bot] chore(deps): bump golang from 1.25.3 to 1.25.4 in /tests/apps/go-fail-predeploy
- #8077: @dependabot[bot] chore(deps): bump golang from 1.25.3 to 1.25.4 in /tests/apps/zombies-dockerfile-no-tini
- #8076: @dependabot[bot] chore(deps): bump golang from 1.25.3 to 1.25.4 in /tests/apps/gogrpc
- #8072: @dependabot[bot] chore(deps): update markdown requirement from <3.10,>=3.2.1 to >=3.2.1,<3.11 in /docs/_build
- #8074: @dependabot[bot] chore(deps): bump django from 5.2.7 to 5.2.8 in /tests/apps/dockerfile-release
- #8071: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.22 to 9.6.23 in /docs/_build
- #8068: @dependabot[bot] chore(deps): bump traefik from 3.5.3 to 3.5.4 in /plugins/traefik-vhosts
- #8069: @dependabot[bot] chore(deps): bump github.com/kedacore/keda/v2 from 2.18.0 to 2.18.1 in /plugins/scheduler-k3s
- #8066: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.29 to 2.11.30 in /plugins/scheduler-k3s
2025-11-08 06:24:58 +00:00
Jose Diaz-Gonzalez
97f2dc81c7 fix: simplify tests 2025-11-08 01:22:31 -05:00
Jose Diaz-Gonzalez
770d150c7c fix: correct lint issue 2025-11-08 01:17:50 -05:00
Jose Diaz-Gonzalez
e134c314ea feat: implement config:import command
Closes #6846
2025-11-08 01:02:19 -05:00
Jose Diaz-Gonzalez
48fd2b3862 Merge pull request #8084 from dokku/fix-dockerfile-casing
Use the correct case for AS in Dockerfile
2025-11-08 00:16:51 -05:00
Jose Diaz-Gonzalez
b4dd50731a fix: use the correct case for AS in Dockerfile 2025-11-08 00:16:01 -05:00
Jose Diaz-Gonzalez
24d8083fad Merge pull request #8083 from dokku/fix-cron-variable
fix: use correct variable for tasks
2025-11-08 00:11:32 -05:00
Jose Diaz-Gonzalez
593a4c8170 fix: use correct variable for tasks 2025-11-08 00:09:07 -05:00
Jose Diaz-Gonzalez
12dbbda68c Merge pull request #8082 from dokku/rename-cron-code
Standardize naming in cron code
2025-11-07 23:59:18 -05:00
Jose Diaz-Gonzalez
e967ba86b5 Merge pull request #8081 from dokku/guard-app-json-name
Error out if the appname or app.json is missing when retrieving cron entries
2025-11-07 23:59:08 -05:00
Jose Diaz-Gonzalez
791f53ab47 refactor: rename command to task in cron code 2025-11-07 22:41:00 -05:00
Jose Diaz-Gonzalez
82cab643a8 chore: standardize on cron task vs any other naming 2025-11-07 22:36:00 -05:00
Jose Diaz-Gonzalez
b598af67b9 refactor: rename CronCommand to DokkuRunCommand
This better reflects what it does.
2025-11-07 22:32:44 -05:00
Jose Diaz-Gonzalez
3915d25d84 refactor: rename cron entry to cron task
This naming better suits what it is we are fetching.
2025-11-07 22:30:54 -05:00
Jose Diaz-Gonzalez
c52e947df1 fix: error out if the appname or app.json is missing when retrieving cron entries 2025-11-07 22:17:13 -05:00
Jose Diaz-Gonzalez
5614a4c702 Merge pull request #8073 from dokku/dependabot/docker/plugins/logs/timberio/vector-0.51.0-debian
chore(deps): bump timberio/vector from 0.50.0-debian to 0.51.0-debian in /plugins/logs
2025-11-07 21:57:09 -05:00
Jose Diaz-Gonzalez
a2f37699a2 Merge pull request #8080 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/containerd/containerd-1.7.29
chore(deps): bump github.com/containerd/containerd from 1.7.28 to 1.7.29 in /plugins/scheduler-k3s
2025-11-07 16:00:57 -05:00
Jose Diaz-Gonzalez
87a33ae739 Merge pull request #8079 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.25.4
chore(deps): bump golang from 1.25.3 to 1.25.4 in /tests/apps/zombies-dockerfile-tini
2025-11-07 16:00:50 -05:00
Jose Diaz-Gonzalez
72cb743a61 Merge pull request #8075 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.25.4
chore(deps): bump golang from 1.25.3 to 1.25.4 in /tests/apps/go-fail-postdeploy
2025-11-07 16:00:36 -05:00
Jose Diaz-Gonzalez
4d812b343b Merge pull request #8078 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.25.4
chore(deps): bump golang from 1.25.3 to 1.25.4 in /tests/apps/go-fail-predeploy
2025-11-07 16:00:28 -05:00
Jose Diaz-Gonzalez
7f6fc4081c Merge pull request #8077 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.25.4
chore(deps): bump golang from 1.25.3 to 1.25.4 in /tests/apps/zombies-dockerfile-no-tini
2025-11-07 16:00:22 -05:00
Jose Diaz-Gonzalez
baaf6b2296 Merge pull request #8076 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.25.4
chore(deps): bump golang from 1.25.3 to 1.25.4 in /tests/apps/gogrpc
2025-11-07 16:00:15 -05:00
dependabot[bot]
f88c427a41 chore(deps): bump github.com/containerd/containerd
Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.7.28 to 1.7.29.
- [Release notes](https://github.com/containerd/containerd/releases)
- [Changelog](https://github.com/containerd/containerd/blob/main/RELEASES.md)
- [Commits](https://github.com/containerd/containerd/compare/v1.7.28...v1.7.29)

---
updated-dependencies:
- dependency-name: github.com/containerd/containerd
  dependency-version: 1.7.29
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-06 15:25:56 +00:00
dependabot[bot]
34985adb43 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.25.3 to 1.25.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-06 13:05:20 +00:00
dependabot[bot]
6757759b15 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.25.3 to 1.25.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-06 13:05:19 +00:00
dependabot[bot]
d3687cf7f4 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.25.3 to 1.25.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-06 13:05:17 +00:00
dependabot[bot]
47bf471698 chore(deps): bump golang from 1.25.3 to 1.25.4 in /tests/apps/gogrpc
Bumps golang from 1.25.3 to 1.25.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-06 13:05:17 +00:00
dependabot[bot]
78f1794373 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.25.3 to 1.25.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-06 13:05:16 +00:00
Jose Diaz-Gonzalez
4f5fa3294c Merge pull request #8072 from dokku/dependabot/pip/docs/_build/markdown-gte-3.2.1-and-lt-3.11
chore(deps): update markdown requirement from <3.10,>=3.2.1 to >=3.2.1,<3.11 in /docs/_build
2025-11-05 17:49:39 -05:00
Jose Diaz-Gonzalez
c571049714 Merge pull request #8074 from dokku/dependabot/pip/tests/apps/dockerfile-release/django-5.2.8
chore(deps): bump django from 5.2.7 to 5.2.8 in /tests/apps/dockerfile-release
2025-11-05 17:39:28 -05:00
dependabot[bot]
8202bd37d4 chore(deps): bump django in /tests/apps/dockerfile-release
Bumps [django](https://github.com/django/django) from 5.2.7 to 5.2.8.
- [Commits](https://github.com/django/django/compare/5.2.7...5.2.8)

---
updated-dependencies:
- dependency-name: django
  dependency-version: 5.2.8
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-05 20:21:30 +00:00
dependabot[bot]
f4b946e32d chore(deps): bump timberio/vector in /plugins/logs
Bumps timberio/vector from 0.50.0-debian to 0.51.0-debian.

---
updated-dependencies:
- dependency-name: timberio/vector
  dependency-version: 0.51.0-debian
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-05 13:10:51 +00:00
dependabot[bot]
ff1acd09f5 chore(deps): update markdown requirement in /docs/_build
Updates the requirements on [markdown](https://github.com/Python-Markdown/markdown) to permit the latest version.
- [Release notes](https://github.com/Python-Markdown/markdown/releases)
- [Changelog](https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md)
- [Commits](https://github.com/Python-Markdown/markdown/compare/3.2.1...3.10.0)

---
updated-dependencies:
- dependency-name: markdown
  dependency-version: '3.10'
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-04 13:06:53 +00:00
Jose Diaz-Gonzalez
b95cc79a42 Merge pull request #8071 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.6.23
chore(deps): bump mkdocs-material from 9.6.22 to 9.6.23 in /docs/_build
2025-11-03 13:44:47 -05:00
dependabot[bot]
7e68b65103 chore(deps): bump mkdocs-material from 9.6.22 to 9.6.23 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.22 to 9.6.23.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.22...9.6.23)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.6.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-03 13:13:06 +00:00
Jose Diaz-Gonzalez
55c8a58686 Merge pull request #8068 from dokku/dependabot/docker/plugins/traefik-vhosts/traefik-3.5.4
chore(deps): bump traefik from 3.5.3 to 3.5.4 in /plugins/traefik-vhosts
2025-10-30 21:44:44 -04:00
Jose Diaz-Gonzalez
43a5be6ece Merge pull request #8069 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/kedacore/keda/v2-2.18.1
chore(deps): bump github.com/kedacore/keda/v2 from 2.18.0 to 2.18.1 in /plugins/scheduler-k3s
2025-10-30 21:44:34 -04:00
dependabot[bot]
88b1b18494 chore(deps): bump github.com/kedacore/keda/v2 in /plugins/scheduler-k3s
Bumps [github.com/kedacore/keda/v2](https://github.com/kedacore/keda) from 2.18.0 to 2.18.1.
- [Release notes](https://github.com/kedacore/keda/releases)
- [Changelog](https://github.com/kedacore/keda/blob/main/CHANGELOG.md)
- [Commits](https://github.com/kedacore/keda/compare/v2.18.0...v2.18.1)

---
updated-dependencies:
- dependency-name: github.com/kedacore/keda/v2
  dependency-version: 2.18.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-30 13:31:23 +00:00
dependabot[bot]
0ea265f832 chore(deps): bump traefik from 3.5.3 to 3.5.4 in /plugins/traefik-vhosts
Bumps traefik from 3.5.3 to 3.5.4.

---
updated-dependencies:
- dependency-name: traefik
  dependency-version: 3.5.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-29 13:11:49 +00:00
Jose Diaz-Gonzalez
229fe1d167 Merge pull request #8066 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/traefik/traefik/v2-2.11.30
chore(deps): bump github.com/traefik/traefik/v2 from 2.11.29 to 2.11.30 in /plugins/scheduler-k3s
2025-10-28 16:39:38 -04:00
dependabot[bot]
e88df23fdb chore(deps): bump github.com/traefik/traefik/v2
Bumps [github.com/traefik/traefik/v2](https://github.com/traefik/traefik) from 2.11.29 to 2.11.30.
- [Release notes](https://github.com/traefik/traefik/releases)
- [Changelog](https://github.com/traefik/traefik/blob/v2.11.30/CHANGELOG.md)
- [Commits](https://github.com/traefik/traefik/compare/v2.11.29...v2.11.30)

---
updated-dependencies:
- dependency-name: github.com/traefik/traefik/v2
  dependency-version: 2.11.30
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-28 13:13:09 +00:00
Dokku Bot
f897dc0034 Release 0.36.10
# History

## 0.36.10

Install/update via the bootstrap script:

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

### Bug Fixes

- #8063: @othercorey Use -t instead of deprecated --time in stop commands
- #8058: @josegonzalez Ensure the pre-receive hook and URLS files are correct when cloning or renaming apps
- #8059: @josegonzalez Expand variables for release tasks
- #8060: @josegonzalez Use updated http2 directive for setting http2 support

### Documentation

- #8051: @othercorey Fix "its" in Caddy SSL configuration documentation

### Dependencies

- #8065: @dependabot[bot] chore(deps): bump actions/upload-artifact from 4 to 5
- #8064: @dependabot[bot] chore(deps): bump actions/download-artifact from 5 to 6
- #8057: @dependabot[bot] chore(deps): bump node from 24-alpine to 25-alpine in /tests/apps/dockerfile-procfile-bad
- #8056: @dependabot[bot] chore(deps): bump node from 24-alpine to 25-alpine in /tests/apps/dockerfile-app-json-formations
- #8055: @dependabot[bot] chore(deps): bump node from 24-alpine to 25-alpine in /tests/apps/dockerfile-procfile
- #8054: @dependabot[bot] chore(deps): bump node from 24-alpine to 25-alpine in /tests/apps/dockerfile
- #8053: @dependabot[bot] chore(deps): bump node from 24-alpine to 25-alpine in /tests/apps/dockerfile-noexpose
2025-10-27 18:28:20 +00:00
Jose Diaz-Gonzalez
e16979fcdb Merge pull request #8065 from dokku/dependabot/github_actions/actions/upload-artifact-5
chore(deps): bump actions/upload-artifact from 4 to 5
2025-10-27 14:26:40 -04:00
Jose Diaz-Gonzalez
447e716da2 Merge pull request #8063 from othercorey/stop-timeout
Use -t instead of deprecated --time in stop commands
2025-10-27 14:26:30 -04:00
Jose Diaz-Gonzalez
ac77e7ad5c Merge pull request #8064 from dokku/dependabot/github_actions/actions/download-artifact-6
chore(deps): bump actions/download-artifact from 5 to 6
2025-10-27 14:06:52 -04:00
dependabot[bot]
823115b125 chore(deps): bump actions/upload-artifact from 4 to 5
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 14:27:06 +00:00
dependabot[bot]
ee600cc376 chore(deps): bump actions/download-artifact from 5 to 6
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 5 to 6.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 13:58:27 +00:00
Jose Diaz-Gonzalez
68a62e9f00 Merge pull request #8058 from dokku/8035-clone-rename-push-fix
Ensure the pre-receive hook and URLS files are correct when cloning or renaming apps
2025-10-27 01:55:34 -04:00
Jose Diaz-Gonzalez
528746cf6c Merge pull request #8059 from dokku/8050-release-expansion
Expand variables for release tasks
2025-10-27 01:55:25 -04:00
Jose Diaz-Gonzalez
69096c864e Merge pull request #8060 from dokku/7997-http2-directive
Use updated http2 directive for setting http2 support
2025-10-27 00:21:22 -04:00
Jose Diaz-Gonzalez
0033a52e28 fix: ignore extra strings on the nginx ubuntu version 2025-10-27 00:19:41 -04:00
Jose Diaz-Gonzalez
416222b20a fix: correctly check the git-hook 2025-10-27 00:07:19 -04:00
Jose Diaz-Gonzalez
cb4ac3353e fix: escape the dollar-sign so it gets properly set in the Procfile 2025-10-26 23:45:08 -04:00
Corey Taylor
2362232fe2 Use -t instead of deprecated --time in stop commands 2025-10-25 14:24:35 -05:00
Jose Diaz-Gonzalez
66eff6f15e test: add test for release command 2025-10-25 07:29:12 -04:00
Jose Diaz-Gonzalez
c7c22d8392 fix: use plugin:trigger command to test the procfile-get-command trigger 2025-10-25 07:25:54 -04:00
Jose Diaz-Gonzalez
8afe8d5f13 refactor: use fn-git-create-hook 2025-10-25 07:20:17 -04:00
Jose Diaz-Gonzalez
933a174dfd fix: use updated http2 directive for setting http2 support
Closes #7997
2025-10-19 23:51:17 -04:00
Jose Diaz-Gonzalez
9d711cbb44 fix: expand variables for release tasks
Procfile commands need to be expanded with actual environment variables as procfile-util will otherwise empty them out. This doesn't happen for app.json scripts as they are never expanded until the docker container gets created.

Closes #8050
2025-10-19 23:33:12 -04:00
Jose Diaz-Gonzalez
efd25cfb45 fix: ensure the pre-receive hook and URLS files are correct when cloning or renaming apps
Closes #8035
2025-10-19 22:20:49 -04:00
Jose Diaz-Gonzalez
959c93b95b Merge pull request #8057 from dokku/dependabot/docker/tests/apps/dockerfile-procfile-bad/node-25-alpine
chore(deps): bump node from 24-alpine to 25-alpine in /tests/apps/dockerfile-procfile-bad
2025-10-17 20:41:16 -04:00
Jose Diaz-Gonzalez
de428a814c Merge pull request #8056 from dokku/dependabot/docker/tests/apps/dockerfile-app-json-formations/node-25-alpine
chore(deps): bump node from 24-alpine to 25-alpine in /tests/apps/dockerfile-app-json-formations
2025-10-17 20:41:09 -04:00
Jose Diaz-Gonzalez
69934f7caf Merge pull request #8055 from dokku/dependabot/docker/tests/apps/dockerfile-procfile/node-25-alpine
chore(deps): bump node from 24-alpine to 25-alpine in /tests/apps/dockerfile-procfile
2025-10-17 20:41:03 -04:00
Jose Diaz-Gonzalez
c5cf82d96b Merge pull request #8054 from dokku/dependabot/docker/tests/apps/dockerfile/node-25-alpine
chore(deps): bump node from 24-alpine to 25-alpine in /tests/apps/dockerfile
2025-10-17 20:40:40 -04:00
Jose Diaz-Gonzalez
29c8afeb35 Merge pull request #8053 from dokku/dependabot/docker/tests/apps/dockerfile-noexpose/node-25-alpine
chore(deps): bump node from 24-alpine to 25-alpine in /tests/apps/dockerfile-noexpose
2025-10-17 20:40:30 -04:00
Tasos Maschalidis
ca03ea72f5 Remove unnecessary re-assignment of workDir variable 2025-10-17 19:21:49 +03:00
Tasos Maschalidis
f40bcc37aa Bump dependency version for herokuish 2025-10-17 19:21:45 +03:00
dependabot[bot]
3aca35df88 chore(deps): bump node in /tests/apps/dockerfile-procfile-bad
Bumps node from 24-alpine to 25-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-version: 25-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-17 13:06:43 +00:00
dependabot[bot]
50b59cba7f chore(deps): bump node in /tests/apps/dockerfile-app-json-formations
Bumps node from 24-alpine to 25-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-version: 25-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-17 13:06:31 +00:00
dependabot[bot]
a5875f4326 chore(deps): bump node in /tests/apps/dockerfile-procfile
Bumps node from 24-alpine to 25-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-version: 25-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-17 13:06:21 +00:00
dependabot[bot]
74899b580d chore(deps): bump node in /tests/apps/dockerfile
Bumps node from 24-alpine to 25-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-version: 25-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-17 13:05:50 +00:00
dependabot[bot]
44918d22ab chore(deps): bump node in /tests/apps/dockerfile-noexpose
Bumps node from 24-alpine to 25-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-version: 25-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-17 13:05:47 +00:00
Jose Diaz-Gonzalez
57b9f19ba9 Merge pull request #8051 from othercorey/patch-1
Fix "its" in Caddy SSL configuration documentation
2025-10-17 00:55:23 -04:00
othercorey
1d3276a1d7 Fix "its" in Caddy SSL configuration documentation 2025-10-16 23:37:37 -05:00
Dokku Bot
a7a4098a89 Release 0.36.9
# History

## 0.36.9

Install/update via the bootstrap script:

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

### Bug Fixes

- #8032: @josegonzalez Set correct labels for tests/apps/dockerfile-release pip updates

### New Features

- #8047: @josegonzalez Add ability to disable letsencrypt for a given application or globally

### Dependencies

- #8049: @dependabot[bot] chore(deps): bump github.com/cert-manager/cert-manager from 1.19.0 to 1.19.1 in /plugins/scheduler-k3s
- #8048: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.21 to 9.6.22 in /docs/_build
- #8042: @dependabot[bot] chore(deps): bump django from 5.1.13 to 5.2.7 in /tests/apps/dockerfile-release
- #8043: @dependabot[bot] chore(deps): bump whitenoise from 6.2.0 to 6.11.0 in /tests/apps/dockerfile-release
- #8044: @dependabot[bot] chore(deps): bump djangorestframework from 3.15.2 to 3.16.1 in /tests/apps/dockerfile-release
- #8045: @dependabot[bot] chore(deps): bump psycopg2-binary from 2.9.5 to 2.9.11 in /tests/apps/dockerfile-release
- #8046: @dependabot[bot] chore(deps): bump dj-database-url from 1.0.0 to 3.0.1 in /tests/apps/dockerfile-release
- #8041: @dependabot[bot] chore(deps): bump golang from 1.25.2 to 1.25.3 in /tests/apps/gogrpc
- #8040: @dependabot[bot] chore(deps): bump golang from 1.25.2 to 1.25.3 in /tests/apps/go-fail-predeploy
- #8039: @dependabot[bot] chore(deps): bump golang from 1.25.2 to 1.25.3 in /tests/apps/zombies-dockerfile-no-tini
- #8037: @dependabot[bot] chore(deps): bump golang from 1.25.2 to 1.25.3 in /tests/apps/go-fail-postdeploy
- #8038: @dependabot[bot] chore(deps): bump golang from 1.25.2 to 1.25.3 in /tests/apps/zombies-dockerfile-tini
- #8036: @dependabot[bot] chore(deps): bump actions/setup-node from 5 to 6
- #8033: @dependabot[bot] chore(deps): bump github.com/gofrs/flock from 0.12.1 to 0.13.0 in /plugins/scheduler-k3s
- #8034: @dependabot[bot] chore(deps): bump github.com/kedacore/keda/v2 from 2.17.1-0.20250708210620-a239d2459a35 to 2.18.0 in /plugins/scheduler-k3s
2025-10-17 03:55:38 +00:00
Jose Diaz-Gonzalez
0119155232 Merge pull request #8047 from dokku/disable-letsencrypt
Add ability to disable letsencrypt for a given application or globally
2025-10-16 23:51:56 -04:00
Jose Diaz-Gonzalez
9a53d9b8cf Merge pull request #8049 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/cert-manager/cert-manager-1.19.1
chore(deps): bump github.com/cert-manager/cert-manager from 1.19.0 to 1.19.1 in /plugins/scheduler-k3s
2025-10-16 23:08:38 -04:00
Tasos Maschalidis
65e0fb9037 Detect buildpacks for specific branch (fall back to deploy-branch to be consistent with deployment behavior) 2025-10-16 18:33:47 +03:00
Tasos Maschalidis
e234401178 Cleanup output log in CommandDetect function 2025-10-16 17:27:37 +03:00
Tasos Maschalidis
66894bc0c5 Remove redundant function isBareGitRepo 2025-10-16 17:27:37 +03:00
Tasos Maschalidis
4b0c8b3d59 Refactor CommandDetect function 2025-10-16 17:27:37 +03:00
Tasos Maschalidis
0c79a2c2fc Add detect command in buildpacks helpContent 2025-10-16 17:27:37 +03:00
Tasos Maschalidis
d440b4614d Define and register 'detect' subcommand 2025-10-16 17:27:37 +03:00
Tasos Maschalidis
929b8444e4 Add helper functions isBareGitRepo and checkoutBareGitRepo 2025-10-16 17:27:37 +03:00
dependabot[bot]
85afbe51bc chore(deps): bump github.com/cert-manager/cert-manager
Bumps [github.com/cert-manager/cert-manager](https://github.com/cert-manager/cert-manager) from 1.19.0 to 1.19.1.
- [Release notes](https://github.com/cert-manager/cert-manager/releases)
- [Changelog](https://github.com/cert-manager/cert-manager/blob/master/RELEASE.md)
- [Commits](https://github.com/cert-manager/cert-manager/compare/v1.19.0...v1.19.1)

---
updated-dependencies:
- dependency-name: github.com/cert-manager/cert-manager
  dependency-version: 1.19.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-16 13:13:08 +00:00
Jose Diaz-Gonzalez
fc9a0aeefd Merge pull request #8048 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.6.22
chore(deps): bump mkdocs-material from 9.6.21 to 9.6.22 in /docs/_build
2025-10-15 11:49:29 -04:00
Jose Diaz-Gonzalez
3dde9853ca Update docs/deployment/schedulers/k3s.md
Co-authored-by: othercorey <corey.taylor.fl@gmail.com>
2025-10-15 11:14:14 -04:00
dependabot[bot]
107e4e911b chore(deps): bump mkdocs-material from 9.6.21 to 9.6.22 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.21 to 9.6.22.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.21...9.6.22)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.6.22
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-15 13:07:52 +00:00
Jose Diaz-Gonzalez
5d4378c585 feat: add ability to disable letsencrypt for a given application or globally
If disabled globally, it can be re-enabled on a per-app basis by setting the `letsencrypt-server` property to `production` or `staging`.
2025-10-15 00:19:03 -04:00
Jose Diaz-Gonzalez
f2dad60d7b Merge pull request #8042 from dokku/dependabot/pip/tests/apps/dockerfile-release/django-5.2.7
chore(deps): bump django from 5.1.13 to 5.2.7 in /tests/apps/dockerfile-release
2025-10-14 23:37:34 -04:00
Jose Diaz-Gonzalez
29c80d840e Merge pull request #8043 from dokku/dependabot/pip/tests/apps/dockerfile-release/whitenoise-6.11.0
chore(deps): bump whitenoise from 6.2.0 to 6.11.0 in /tests/apps/dockerfile-release
2025-10-14 23:37:28 -04:00
Jose Diaz-Gonzalez
a4040181fb Merge pull request #8044 from dokku/dependabot/pip/tests/apps/dockerfile-release/djangorestframework-3.16.1
chore(deps): bump djangorestframework from 3.15.2 to 3.16.1 in /tests/apps/dockerfile-release
2025-10-14 23:37:19 -04:00
Jose Diaz-Gonzalez
6151e7ee07 Merge pull request #8045 from dokku/dependabot/pip/tests/apps/dockerfile-release/psycopg2-binary-2.9.11
chore(deps): bump psycopg2-binary from 2.9.5 to 2.9.11 in /tests/apps/dockerfile-release
2025-10-14 23:37:10 -04:00
Jose Diaz-Gonzalez
137a91153e Merge pull request #8046 from dokku/dependabot/pip/tests/apps/dockerfile-release/dj-database-url-3.0.1
chore(deps): bump dj-database-url from 1.0.0 to 3.0.1 in /tests/apps/dockerfile-release
2025-10-14 23:37:04 -04:00
dependabot[bot]
51a81a6161 chore(deps): bump dj-database-url in /tests/apps/dockerfile-release
Bumps [dj-database-url](https://github.com/jazzband/dj-database-url) from 1.0.0 to 3.0.1.
- [Release notes](https://github.com/jazzband/dj-database-url/releases)
- [Changelog](https://github.com/jazzband/dj-database-url/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jazzband/dj-database-url/compare/v1.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: dj-database-url
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-14 21:24:19 +00:00
dependabot[bot]
143094590a chore(deps): bump psycopg2-binary in /tests/apps/dockerfile-release
Bumps [psycopg2-binary](https://github.com/psycopg/psycopg2) from 2.9.5 to 2.9.11.
- [Changelog](https://github.com/psycopg/psycopg2/blob/master/NEWS)
- [Commits](https://github.com/psycopg/psycopg2/commits/2.9.11)

---
updated-dependencies:
- dependency-name: psycopg2-binary
  dependency-version: 2.9.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-14 21:24:04 +00:00
dependabot[bot]
859791a18e chore(deps): bump djangorestframework in /tests/apps/dockerfile-release
Bumps [djangorestframework](https://github.com/encode/django-rest-framework) from 3.15.2 to 3.16.1.
- [Release notes](https://github.com/encode/django-rest-framework/releases)
- [Commits](https://github.com/encode/django-rest-framework/compare/3.15.2...3.16.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-14 21:23:51 +00:00
dependabot[bot]
efb024eec1 chore(deps): bump whitenoise in /tests/apps/dockerfile-release
Bumps [whitenoise](https://github.com/evansd/whitenoise) from 6.2.0 to 6.11.0.
- [Changelog](https://github.com/evansd/whitenoise/blob/main/docs/changelog.rst)
- [Commits](https://github.com/evansd/whitenoise/compare/6.2.0...6.11.0)

---
updated-dependencies:
- dependency-name: whitenoise
  dependency-version: 6.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-14 21:23:35 +00:00
dependabot[bot]
4db5d58e6e chore(deps): bump django in /tests/apps/dockerfile-release
Bumps [django](https://github.com/django/django) from 5.1.13 to 5.2.7.
- [Commits](https://github.com/django/django/compare/5.1.13...5.2.7)

---
updated-dependencies:
- dependency-name: django
  dependency-version: 5.2.7
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-14 21:23:22 +00:00
Jose Diaz-Gonzalez
0becf57eb6 Merge pull request #8032 from dokku/josegonzalez-patch-1
Set correct labels for tests/apps/dockerfile-release pip updates
2025-10-14 17:19:46 -04:00
Jose Diaz-Gonzalez
90b71776e3 Merge pull request #8041 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.25.3
chore(deps): bump golang from 1.25.2 to 1.25.3 in /tests/apps/gogrpc
2025-10-14 17:19:26 -04:00
Jose Diaz-Gonzalez
2f94b45e74 Merge pull request #8040 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.25.3
chore(deps): bump golang from 1.25.2 to 1.25.3 in /tests/apps/go-fail-predeploy
2025-10-14 17:19:19 -04:00
Jose Diaz-Gonzalez
d24ff5d017 Merge pull request #8039 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.25.3
chore(deps): bump golang from 1.25.2 to 1.25.3 in /tests/apps/zombies-dockerfile-no-tini
2025-10-14 17:19:11 -04:00
Jose Diaz-Gonzalez
e89697435a Merge pull request #8037 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.25.3
chore(deps): bump golang from 1.25.2 to 1.25.3 in /tests/apps/go-fail-postdeploy
2025-10-14 17:19:02 -04:00
Jose Diaz-Gonzalez
103315330f Merge pull request #8038 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.25.3
chore(deps): bump golang from 1.25.2 to 1.25.3 in /tests/apps/zombies-dockerfile-tini
2025-10-14 17:18:45 -04:00
Jose Diaz-Gonzalez
5b069a99ac Merge pull request #8036 from dokku/dependabot/github_actions/actions/setup-node-6
chore(deps): bump actions/setup-node from 5 to 6
2025-10-14 17:18:40 -04:00
dependabot[bot]
4c1401dccd chore(deps): bump golang from 1.25.2 to 1.25.3 in /tests/apps/gogrpc
Bumps golang from 1.25.2 to 1.25.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-14 13:06:02 +00:00
dependabot[bot]
290508fe30 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.25.2 to 1.25.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-14 13:05:56 +00:00
dependabot[bot]
68f15894fd chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.25.2 to 1.25.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-14 13:05:35 +00:00
dependabot[bot]
21f7127a6b chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.25.2 to 1.25.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-14 13:05:34 +00:00
dependabot[bot]
26deba5906 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.25.2 to 1.25.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-14 13:05:34 +00:00
dependabot[bot]
b9c961ecf0 chore(deps): bump actions/setup-node from 5 to 6
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 5 to 6.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-14 13:04:10 +00:00
Jose Diaz-Gonzalez
5246c20036 Merge pull request #8033 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/gofrs/flock-0.13.0
chore(deps): bump github.com/gofrs/flock from 0.12.1 to 0.13.0 in /plugins/scheduler-k3s
2025-10-13 18:15:48 -04:00
Jose Diaz-Gonzalez
60d5c40980 Merge pull request #8034 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/kedacore/keda/v2-2.18.0
chore(deps): bump github.com/kedacore/keda/v2 from 2.17.1-0.20250708210620-a239d2459a35 to 2.18.0 in /plugins/scheduler-k3s
2025-10-13 18:14:51 -04:00
dependabot[bot]
48e120c54c chore(deps): bump github.com/kedacore/keda/v2 in /plugins/scheduler-k3s
Bumps [github.com/kedacore/keda/v2](https://github.com/kedacore/keda) from 2.17.1-0.20250708210620-a239d2459a35 to 2.18.0.
- [Release notes](https://github.com/kedacore/keda/releases)
- [Changelog](https://github.com/kedacore/keda/blob/main/CHANGELOG.md)
- [Commits](https://github.com/kedacore/keda/commits/v2.18.0)

---
updated-dependencies:
- dependency-name: github.com/kedacore/keda/v2
  dependency-version: 2.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-13 13:32:40 +00:00
dependabot[bot]
ab7c4098c2 chore(deps): bump github.com/gofrs/flock in /plugins/scheduler-k3s
Bumps [github.com/gofrs/flock](https://github.com/gofrs/flock) from 0.12.1 to 0.13.0.
- [Release notes](https://github.com/gofrs/flock/releases)
- [Commits](https://github.com/gofrs/flock/compare/v0.12.1...v0.13.0)

---
updated-dependencies:
- dependency-name: github.com/gofrs/flock
  dependency-version: 0.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-13 13:32:07 +00:00
Jose Diaz-Gonzalez
74ea2f7c2e fix: set correct labels for tests/apps/dockerfile-release pip updates 2025-10-12 23:53:14 -04:00
Dokku Bot
c7cbebece5 Release 0.36.8
# History

## 0.36.8

Install/update via the bootstrap script:

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

### Bug Fixes

- #8031: @josegonzalez Respect the k3s master node version when adding a new worker to the k3s cluster
- #7990: @josegonzalez Correct parsing of the --container-id flag for the enter command

### Documentation

- #8013: @othercorey Change command to add SSH key with sudo
- #7998: @bakatz Remove incorrect documentation about --envfile flag for config:export

### Dependencies

- #8028: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.42.0 to 0.43.0 in /plugins/common
- #8015: @dependabot[bot] chore(deps): bump github.com/cert-manager/cert-manager from 1.18.2 to 1.19.0 in /plugins/scheduler-k3s
- #8029: @dependabot[bot] chore(deps): bump github.com/gofrs/flock from 0.12.1 to 0.13.0 in /plugins/ps
- #8011: @dependabot[bot] chore(deps): bump org.apache.maven.plugins:maven-dependency-plugin from 3.8.1 to 3.9.0 in /tests/apps/java
- #8012: @dependabot[bot] chore(deps): bump click from 8.1.8 to 8.3.0 in /docs/_build
- #8014: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.75.1 to 1.76.0 in /tests/apps/gogrpc
- #8018: @dependabot[bot] chore(deps): bump github/codeql-action from 3 to 4
- #8019: @dependabot[bot] chore(deps): bump golang from 1.25.1 to 1.25.2 in /tests/apps/zombies-dockerfile-no-tini
- #8020: @dependabot[bot] chore(deps): bump golang from 1.25.1 to 1.25.2 in /tests/apps/go-fail-predeploy
- #8021: @dependabot[bot] chore(deps): bump python from 3.13.7-bookworm to 3.14.0-bookworm in /tests/apps/dockerfile-release
- #8022: @dependabot[bot] chore(deps): bump golang from 1.25.1 to 1.25.2 in /tests/apps/gogrpc
- #8024: @dependabot[bot] chore(deps): bump golang from 1.25.1 to 1.25.2 in /tests/apps/zombies-dockerfile-tini
- #8023: @dependabot[bot] chore(deps): bump golang from 1.25.1 to 1.25.2 in /tests/apps/go-fail-postdeploy
- #8025: @dependabot[bot] chore(deps): bump python from 3.13.7-alpine to 3.14.0-alpine in /docs/_build
- #8026: @dependabot[bot] chore(deps): bump github.com/fluxcd/pkg/kustomize from 1.22.0 to 1.23.0 in /plugins/scheduler-k3s
- #8027: @dependabot[bot] chore(deps): bump ruby from 3.4.6 to 3.4.7 in /tests/apps/dockerfile-entrypoint
- #8030: @dependabot[bot] chore(deps): bump rack from 2.2.19 to 2.2.20 in /tests/apps/ruby
- #8016: @dependabot[bot] chore(deps): bump rack from 2.2.18 to 2.2.19 in /tests/apps/ruby
- #8009: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.36.9 to 1.36.10 in /tests/apps/gogrpc
- #7994: @dependabot[bot] chore(deps): bump timberio/vector from 0.49.0-debian to 0.50.0-debian in /plugins/logs
- #8006: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.20 to 9.6.21 in /docs/_build
- #8003: @dependabot[bot] chore(deps): bump traefik from 3.5.2 to 3.5.3 in /plugins/traefik-vhosts
- #7996: @dependabot[bot] chore(deps): bump pyyaml from 6.0.2 to 6.0.3 in /docs/_build
- #8000: @dependabot[bot] chore(deps): bump markupsafe from 3.0.2 to 3.0.3 in /docs/_build
- #8001: @dependabot[bot] chore(deps): bump beautifulsoup4 from 4.13.5 to 4.14.2 in /docs/_build
- #8002: @dependabot[bot] chore(deps): bump github.com/go-openapi/jsonpointer from 0.22.0 to 0.22.1 in /plugins/scheduler-k3s
- #7995: @dependabot[bot] chore(deps): bump rack from 2.2.17 to 2.2.18 in /tests/apps/ruby
- #7992: @dependabot[bot] chore(deps): bump hadolint/hadolint-action from 3.2.0 to 3.3.0
- #7993: @dependabot[bot] chore(deps): bump pyparsing from 3.2.4 to 3.2.5 in /docs/_build
- #7987: @dependabot[bot] chore(deps): bump ruby from 3.4.5 to 3.4.6 in /tests/apps/dockerfile-entrypoint
- #7983: @dependabot[bot] chore(deps): bump k8s.io/kubernetes from 1.34.0 to 1.34.1 in /plugins/scheduler-k3s
- #7984: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.19 to 9.6.20 in /docs/_build
- #7985: @dependabot[bot] chore(deps): bump pyparsing from 3.2.3 to 3.2.4 in /docs/_build

### Other

- #8008: @dependabot[bot] chore(deps): bump django from 5.1.12 to 5.1.13 in /tests/apps/dockerfile-release
2025-10-13 03:09:48 +00:00
Jose Diaz-Gonzalez
19eb94d62a Merge pull request #8031 from dokku/pin-k3s-version
Respect the k3s master node version when adding a new worker to the k3s cluster
2025-10-12 21:49:56 -04:00
Jose Diaz-Gonzalez
7797bf4f1b Merge pull request #8028 from dokku/dependabot/go_modules/plugins/common/golang.org/x/crypto-0.43.0
chore(deps): bump golang.org/x/crypto from 0.42.0 to 0.43.0 in /plugins/common
2025-10-12 20:30:15 -04:00
Jose Diaz-Gonzalez
1ffc5a4875 Merge pull request #8015 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/cert-manager/cert-manager-1.19.0
chore(deps): bump github.com/cert-manager/cert-manager from 1.18.2 to 1.19.0 in /plugins/scheduler-k3s
2025-10-12 20:30:08 -04:00
Jose Diaz-Gonzalez
2699f51f76 fix: respect the k3s master node version when adding a new worker to the k3s cluster
Previously, it was possible to have a kubernetes version mismatch on new worker nodes if a newer version of kubernetes was released prior to upgrading the master nodes to that version. This can sometimes cause cluster instability.

This change fetches the lowest node version associated with a master node and then uses that to install k3s on the worker node.
2025-10-12 20:28:11 -04:00
Jose Diaz-Gonzalez
f8c846471f Merge pull request #8029 from dokku/dependabot/go_modules/plugins/ps/github.com/gofrs/flock-0.13.0
chore(deps): bump github.com/gofrs/flock from 0.12.1 to 0.13.0 in /plugins/ps
2025-10-12 17:52:09 -04:00
Jose Diaz-Gonzalez
17b9b83d86 chore: bump go modules and run go mod tidy 2025-10-12 17:48:02 -04:00
dependabot[bot]
dab661abe1 chore(deps): bump golang.org/x/crypto in /plugins/common
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.42.0 to 0.43.0.
- [Commits](https://github.com/golang/crypto/compare/v0.42.0...v0.43.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.43.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-12 17:47:40 -04:00
dependabot[bot]
e80755aad0 chore(deps): bump github.com/cert-manager/cert-manager
Bumps [github.com/cert-manager/cert-manager](https://github.com/cert-manager/cert-manager) from 1.18.2 to 1.19.0.
- [Release notes](https://github.com/cert-manager/cert-manager/releases)
- [Changelog](https://github.com/cert-manager/cert-manager/blob/master/RELEASE.md)
- [Commits](https://github.com/cert-manager/cert-manager/compare/v1.18.2...v1.19.0)

---
updated-dependencies:
- dependency-name: github.com/cert-manager/cert-manager
  dependency-version: 1.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-12 21:44:37 +00:00
Jose Diaz-Gonzalez
c69e51f433 Merge pull request #8011 from dokku/dependabot/maven/tests/apps/java/org.apache.maven.plugins-maven-dependency-plugin-3.9.0
chore(deps): bump org.apache.maven.plugins:maven-dependency-plugin from 3.8.1 to 3.9.0 in /tests/apps/java
2025-10-12 17:43:16 -04:00
Jose Diaz-Gonzalez
a3d4b45754 Merge pull request #8012 from dokku/dependabot/pip/docs/_build/click-8.3.0
chore(deps): bump click from 8.1.8 to 8.3.0 in /docs/_build
2025-10-12 17:43:11 -04:00
Jose Diaz-Gonzalez
f4f708b9ab Merge pull request #8013 from othercorey/patch-1
Change command to add SSH key with sudo
2025-10-12 17:43:05 -04:00
Jose Diaz-Gonzalez
baa066d8ad Merge pull request #8014 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.76.0
chore(deps): bump google.golang.org/grpc from 1.75.1 to 1.76.0 in /tests/apps/gogrpc
2025-10-12 17:42:46 -04:00
Jose Diaz-Gonzalez
8467fee7d9 Merge pull request #8018 from dokku/dependabot/github_actions/github/codeql-action-4
chore(deps): bump github/codeql-action from 3 to 4
2025-10-12 17:42:30 -04:00
Jose Diaz-Gonzalez
b3659f8629 Merge pull request #8019 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.25.2
chore(deps): bump golang from 1.25.1 to 1.25.2 in /tests/apps/zombies-dockerfile-no-tini
2025-10-12 17:42:22 -04:00
Jose Diaz-Gonzalez
42e7f35c3a Merge pull request #8020 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.25.2
chore(deps): bump golang from 1.25.1 to 1.25.2 in /tests/apps/go-fail-predeploy
2025-10-12 17:42:16 -04:00
Jose Diaz-Gonzalez
3cbf46212e Merge pull request #8021 from dokku/dependabot/docker/tests/apps/dockerfile-release/python-3.14.0-bookworm
chore(deps): bump python from 3.13.7-bookworm to 3.14.0-bookworm in /tests/apps/dockerfile-release
2025-10-12 17:42:10 -04:00
Jose Diaz-Gonzalez
2e5e07cd51 Merge pull request #8022 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.25.2
chore(deps): bump golang from 1.25.1 to 1.25.2 in /tests/apps/gogrpc
2025-10-12 17:42:04 -04:00
Jose Diaz-Gonzalez
d6afc2313c Merge pull request #8024 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.25.2
chore(deps): bump golang from 1.25.1 to 1.25.2 in /tests/apps/zombies-dockerfile-tini
2025-10-12 17:41:58 -04:00
Jose Diaz-Gonzalez
ce384fb0c4 Merge pull request #8023 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.25.2
chore(deps): bump golang from 1.25.1 to 1.25.2 in /tests/apps/go-fail-postdeploy
2025-10-12 17:41:45 -04:00
Jose Diaz-Gonzalez
b6dae3e64d Merge pull request #8025 from dokku/dependabot/docker/docs/_build/python-3.14.0-alpine
chore(deps): bump python from 3.13.7-alpine to 3.14.0-alpine in /docs/_build
2025-10-12 17:41:35 -04:00
Jose Diaz-Gonzalez
477cc89485 Merge pull request #8026 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/fluxcd/pkg/kustomize-1.23.0
chore(deps): bump github.com/fluxcd/pkg/kustomize from 1.22.0 to 1.23.0 in /plugins/scheduler-k3s
2025-10-12 17:41:29 -04:00
Jose Diaz-Gonzalez
25069e909a Merge pull request #8027 from dokku/dependabot/docker/tests/apps/dockerfile-entrypoint/ruby-3.4.7
chore(deps): bump ruby from 3.4.6 to 3.4.7 in /tests/apps/dockerfile-entrypoint
2025-10-12 17:41:23 -04:00
Jose Diaz-Gonzalez
9ebeaf32a5 Merge pull request #8030 from dokku/dependabot/bundler/tests/apps/ruby/rack-2.2.20
chore(deps): bump rack from 2.2.19 to 2.2.20 in /tests/apps/ruby
2025-10-12 17:21:46 -04:00
dependabot[bot]
9839f5c7dd chore(deps): bump rack from 2.2.19 to 2.2.20 in /tests/apps/ruby
Bumps [rack](https://github.com/rack/rack) from 2.2.19 to 2.2.20.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/v2.2.19...v2.2.20)

---
updated-dependencies:
- dependency-name: rack
  dependency-version: 2.2.20
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-10 19:10:02 +00:00
dependabot[bot]
e8bc402f76 chore(deps): bump github.com/gofrs/flock in /plugins/ps
Bumps [github.com/gofrs/flock](https://github.com/gofrs/flock) from 0.12.1 to 0.13.0.
- [Release notes](https://github.com/gofrs/flock/releases)
- [Commits](https://github.com/gofrs/flock/compare/v0.12.1...v0.13.0)

---
updated-dependencies:
- dependency-name: github.com/gofrs/flock
  dependency-version: 0.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-10 13:06:24 +00:00
dependabot[bot]
462a913c01 chore(deps): bump ruby in /tests/apps/dockerfile-entrypoint
Bumps ruby from 3.4.6 to 3.4.7.

---
updated-dependencies:
- dependency-name: ruby
  dependency-version: 3.4.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-09 13:06:31 +00:00
dependabot[bot]
5acb9eebde chore(deps): bump github.com/fluxcd/pkg/kustomize
Bumps [github.com/fluxcd/pkg/kustomize](https://github.com/fluxcd/pkg) from 1.22.0 to 1.23.0.
- [Commits](https://github.com/fluxcd/pkg/compare/apis/meta/v1.22.0...kustomize/v1.23.0)

---
updated-dependencies:
- dependency-name: github.com/fluxcd/pkg/kustomize
  dependency-version: 1.23.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 13:11:39 +00:00
dependabot[bot]
b84bae6422 chore(deps): bump python in /docs/_build
Bumps python from 3.13.7-alpine to 3.14.0-alpine.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.14.0-alpine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 13:05:24 +00:00
dependabot[bot]
369e675d89 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.25.1 to 1.25.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 13:05:22 +00:00
dependabot[bot]
74e1014c78 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.25.1 to 1.25.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 13:05:22 +00:00
dependabot[bot]
55429ce474 chore(deps): bump golang from 1.25.1 to 1.25.2 in /tests/apps/gogrpc
Bumps golang from 1.25.1 to 1.25.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 13:05:21 +00:00
dependabot[bot]
b4450e6994 chore(deps): bump python in /tests/apps/dockerfile-release
Bumps python from 3.13.7-bookworm to 3.14.0-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.14.0-bookworm
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 13:05:19 +00:00
dependabot[bot]
6d99130f67 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.25.1 to 1.25.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 13:05:17 +00:00
dependabot[bot]
a6bb96b119 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.25.1 to 1.25.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 13:05:14 +00:00
dependabot[bot]
34a58a638c chore(deps): bump github/codeql-action from 3 to 4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-08 13:04:04 +00:00
Jose Diaz-Gonzalez
0092c28e74 Merge pull request #8016 from dokku/dependabot/bundler/tests/apps/ruby/rack-2.2.19
chore(deps): bump rack from 2.2.18 to 2.2.19 in /tests/apps/ruby
2025-10-07 19:37:25 -04:00
dependabot[bot]
51f3a3c1e3 chore(deps): bump rack from 2.2.18 to 2.2.19 in /tests/apps/ruby
Bumps [rack](https://github.com/rack/rack) from 2.2.18 to 2.2.19.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/v2.2.18...v2.2.19)

---
updated-dependencies:
- dependency-name: rack
  dependency-version: 2.2.19
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-07 20:02:58 +00:00
dependabot[bot]
5d8a61628f chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.75.1 to 1.76.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.75.1...v1.76.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.76.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-07 13:02:14 +00:00
othercorey
4fd889ffa5 Change command to add SSH key with sudo 2025-10-07 03:10:13 -05:00
dependabot[bot]
c987311921 chore(deps): bump click from 8.1.8 to 8.3.0 in /docs/_build
Bumps [click](https://github.com/pallets/click) from 8.1.8 to 8.3.0.
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.1.8...8.3.0)

---
updated-dependencies:
- dependency-name: click
  dependency-version: 8.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 13:32:02 +00:00
dependabot[bot]
40afedd485 chore(deps): bump org.apache.maven.plugins:maven-dependency-plugin
Bumps [org.apache.maven.plugins:maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) from 3.8.1 to 3.9.0.
- [Release notes](https://github.com/apache/maven-dependency-plugin/releases)
- [Commits](https://github.com/apache/maven-dependency-plugin/compare/maven-dependency-plugin-3.8.1...maven-dependency-plugin-3.9.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-dependency-plugin
  dependency-version: 3.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-03 13:01:52 +00:00
Jose Diaz-Gonzalez
b9c6fcdaa7 Merge pull request #8009 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/protobuf-1.36.10
chore(deps): bump google.golang.org/protobuf from 1.36.9 to 1.36.10 in /tests/apps/gogrpc
2025-10-02 14:42:11 -04:00
Jose Diaz-Gonzalez
058d09977c Merge pull request #8008 from dokku/dependabot/pip/tests/apps/dockerfile-release/django-5.1.13
chore(deps): bump django from 5.1.12 to 5.1.13 in /tests/apps/dockerfile-release
2025-10-02 14:40:58 -04:00
dependabot[bot]
5f43e85d33 chore(deps): bump google.golang.org/protobuf in /tests/apps/gogrpc
Bumps google.golang.org/protobuf from 1.36.9 to 1.36.10.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-02 13:01:59 +00:00
dependabot[bot]
78ccf6c857 chore(deps): bump django in /tests/apps/dockerfile-release
Bumps [django](https://github.com/django/django) from 5.1.12 to 5.1.13.
- [Commits](https://github.com/django/django/compare/5.1.12...5.1.13)

---
updated-dependencies:
- dependency-name: django
  dependency-version: 5.1.13
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-01 22:38:37 +00:00
Jose Diaz-Gonzalez
daac4c5554 Merge pull request #7994 from dokku/dependabot/docker/plugins/logs/timberio/vector-0.50.0-debian
chore(deps): bump timberio/vector from 0.49.0-debian to 0.50.0-debian in /plugins/logs
2025-10-01 15:25:33 -04:00
Jose Diaz-Gonzalez
a7d59c2cce Merge pull request #8006 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.6.21
chore(deps): bump mkdocs-material from 9.6.20 to 9.6.21 in /docs/_build
2025-10-01 15:22:20 -04:00
dependabot[bot]
9acfcd93fe chore(deps): bump mkdocs-material from 9.6.20 to 9.6.21 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.20 to 9.6.21.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.20...9.6.21)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.6.21
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-01 13:09:33 +00:00
Jose Diaz-Gonzalez
5064058581 Merge pull request #8003 from dokku/dependabot/docker/plugins/traefik-vhosts/traefik-3.5.3
chore(deps): bump traefik from 3.5.2 to 3.5.3 in /plugins/traefik-vhosts
2025-09-30 14:07:35 -04:00
dependabot[bot]
183f2ca50c chore(deps): bump traefik from 3.5.2 to 3.5.3 in /plugins/traefik-vhosts
Bumps traefik from 3.5.2 to 3.5.3.

---
updated-dependencies:
- dependency-name: traefik
  dependency-version: 3.5.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-30 00:12:28 +00:00
Jose Diaz-Gonzalez
0861c033b1 Merge pull request #7996 from dokku/dependabot/pip/docs/_build/pyyaml-6.0.3
chore(deps): bump pyyaml from 6.0.2 to 6.0.3 in /docs/_build
2025-09-29 19:23:45 -04:00
Jose Diaz-Gonzalez
f6e4951762 Merge pull request #8000 from dokku/dependabot/pip/docs/_build/markupsafe-3.0.3
chore(deps): bump markupsafe from 3.0.2 to 3.0.3 in /docs/_build
2025-09-29 19:22:25 -04:00
Jose Diaz-Gonzalez
faffbbb374 Merge pull request #8001 from dokku/dependabot/pip/docs/_build/beautifulsoup4-4.14.2
chore(deps): bump beautifulsoup4 from 4.13.5 to 4.14.2 in /docs/_build
2025-09-29 19:21:26 -04:00
Jose Diaz-Gonzalez
4aaa84020c Merge pull request #8002 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/go-openapi/jsonpointer-0.22.1
chore(deps): bump github.com/go-openapi/jsonpointer from 0.22.0 to 0.22.1 in /plugins/scheduler-k3s
2025-09-29 19:21:19 -04:00
dependabot[bot]
39c75c6867 chore(deps): bump github.com/go-openapi/jsonpointer
Bumps [github.com/go-openapi/jsonpointer](https://github.com/go-openapi/jsonpointer) from 0.22.0 to 0.22.1.
- [Commits](https://github.com/go-openapi/jsonpointer/compare/v0.22.0...v0.22.1)

---
updated-dependencies:
- dependency-name: github.com/go-openapi/jsonpointer
  dependency-version: 0.22.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-29 18:19:45 +00:00
dependabot[bot]
250560ac0a chore(deps): bump beautifulsoup4 from 4.13.5 to 4.14.2 in /docs/_build
Bumps [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) from 4.13.5 to 4.14.2.

---
updated-dependencies:
- dependency-name: beautifulsoup4
  dependency-version: 4.14.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-29 17:58:50 +00:00
dependabot[bot]
963d5b8781 chore(deps): bump markupsafe from 3.0.2 to 3.0.3 in /docs/_build
Bumps [markupsafe](https://github.com/pallets/markupsafe) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/pallets/markupsafe/releases)
- [Changelog](https://github.com/pallets/markupsafe/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/markupsafe/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: markupsafe
  dependency-version: 3.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-29 17:30:46 +00:00
Jose Diaz-Gonzalez
d38f84be02 Merge pull request #7998 from bakatz/patch-1
Remove incorrect documentation about --envfile flag for config:export
2025-09-29 02:08:52 -04:00
Ben Katz
12d7cde3d9 Remove incorrect documentation about --envfile flag for config:export 2025-09-26 11:33:03 -04:00
dependabot[bot]
76634676a9 chore(deps): bump pyyaml from 6.0.2 to 6.0.3 in /docs/_build
Bumps [pyyaml](https://github.com/yaml/pyyaml) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/yaml/pyyaml/releases)
- [Changelog](https://github.com/yaml/pyyaml/blob/6.0.3/CHANGES)
- [Commits](https://github.com/yaml/pyyaml/compare/6.0.2...6.0.3)

---
updated-dependencies:
- dependency-name: pyyaml
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-26 13:07:44 +00:00
Jose Diaz-Gonzalez
3b87b5655f Merge pull request #7995 from dokku/dependabot/bundler/tests/apps/ruby/rack-2.2.18
chore(deps): bump rack from 2.2.17 to 2.2.18 in /tests/apps/ruby
2025-09-25 15:15:46 -04:00
dependabot[bot]
6f6b620707 chore(deps): bump rack from 2.2.17 to 2.2.18 in /tests/apps/ruby
Bumps [rack](https://github.com/rack/rack) from 2.2.17 to 2.2.18.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/v2.2.17...v2.2.18)

---
updated-dependencies:
- dependency-name: rack
  dependency-version: 2.2.18
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-25 17:33:09 +00:00
dependabot[bot]
ae943b5d73 chore(deps): bump timberio/vector in /plugins/logs
Bumps timberio/vector from 0.49.0-debian to 0.50.0-debian.

---
updated-dependencies:
- dependency-name: timberio/vector
  dependency-version: 0.50.0-debian
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-24 13:11:20 +00:00
Jose Diaz-Gonzalez
1d2723cb8a Merge pull request #7992 from dokku/dependabot/github_actions/hadolint/hadolint-action-3.3.0
chore(deps): bump hadolint/hadolint-action from 3.2.0 to 3.3.0
2025-09-22 21:19:26 -04:00
Jose Diaz-Gonzalez
92f17786f9 Merge pull request #7993 from dokku/dependabot/pip/docs/_build/pyparsing-3.2.5
chore(deps): bump pyparsing from 3.2.4 to 3.2.5 in /docs/_build
2025-09-22 21:19:19 -04:00
dependabot[bot]
f69feef8a1 chore(deps): bump pyparsing from 3.2.4 to 3.2.5 in /docs/_build
Bumps [pyparsing](https://github.com/pyparsing/pyparsing) from 3.2.4 to 3.2.5.
- [Release notes](https://github.com/pyparsing/pyparsing/releases)
- [Changelog](https://github.com/pyparsing/pyparsing/blob/master/CHANGES)
- [Commits](https://github.com/pyparsing/pyparsing/compare/3.2.4...3.2.5)

---
updated-dependencies:
- dependency-name: pyparsing
  dependency-version: 3.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-22 13:07:43 +00:00
dependabot[bot]
9f33623e49 chore(deps): bump hadolint/hadolint-action from 3.2.0 to 3.3.0
Bumps [hadolint/hadolint-action](https://github.com/hadolint/hadolint-action) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/hadolint/hadolint-action/releases)
- [Changelog](https://github.com/hadolint/hadolint-action/blob/master/.releaserc)
- [Commits](3fc49fb50d...2332a7b74a)

---
updated-dependencies:
- dependency-name: hadolint/hadolint-action
  dependency-version: 3.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-22 13:04:36 +00:00
Jose Diaz-Gonzalez
dc6c791b69 Merge pull request #7990 from dokku/correct-enter-parsing 2025-09-21 21:52:25 -04:00
Jose Diaz-Gonzalez
c7a16fec87 fix: correct parsing of the --container-id flag for the enter command 2025-09-21 19:17:17 -04:00
Jose Diaz-Gonzalez
920604039b Merge pull request #7987 from dokku/dependabot/docker/tests/apps/dockerfile-entrypoint/ruby-3.4.6
chore(deps): bump ruby from 3.4.5 to 3.4.6 in /tests/apps/dockerfile-entrypoint
2025-09-17 17:15:57 -04:00
dependabot[bot]
f26ba58593 chore(deps): bump ruby in /tests/apps/dockerfile-entrypoint
Bumps ruby from 3.4.5 to 3.4.6.

---
updated-dependencies:
- dependency-name: ruby
  dependency-version: 3.4.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-17 13:06:02 +00:00
Jose Diaz-Gonzalez
591aed5ad5 Merge pull request #7983 from dokku/dependabot/go_modules/plugins/scheduler-k3s/k8s.io/kubernetes-1.34.1
chore(deps): bump k8s.io/kubernetes from 1.34.0 to 1.34.1 in /plugins/scheduler-k3s
2025-09-15 13:31:22 -04:00
Jose Diaz-Gonzalez
8c93275023 Merge pull request #7984 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.6.20
chore(deps): bump mkdocs-material from 9.6.19 to 9.6.20 in /docs/_build
2025-09-15 13:31:09 -04:00
dependabot[bot]
ee8712c05d chore(deps): bump mkdocs-material from 9.6.19 to 9.6.20 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.19 to 9.6.20.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.19...9.6.20)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.6.20
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-15 17:29:17 +00:00
Jose Diaz-Gonzalez
9ae48607ce Merge pull request #7985 from dokku/dependabot/pip/docs/_build/pyparsing-3.2.4
chore(deps): bump pyparsing from 3.2.3 to 3.2.4 in /docs/_build
2025-09-15 13:25:36 -04:00
dependabot[bot]
61ab420896 chore(deps): bump pyparsing from 3.2.3 to 3.2.4 in /docs/_build
Bumps [pyparsing](https://github.com/pyparsing/pyparsing) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/pyparsing/pyparsing/releases)
- [Changelog](https://github.com/pyparsing/pyparsing/blob/master/CHANGES)
- [Commits](https://github.com/pyparsing/pyparsing/compare/3.2.3...3.2.4)

---
updated-dependencies:
- dependency-name: pyparsing
  dependency-version: 3.2.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-15 15:10:05 +00:00
dependabot[bot]
23d5354e8b chore(deps): bump k8s.io/kubernetes in /plugins/scheduler-k3s
Bumps [k8s.io/kubernetes](https://github.com/kubernetes/kubernetes) from 1.34.0 to 1.34.1.
- [Release notes](https://github.com/kubernetes/kubernetes/releases)
- [Commits](https://github.com/kubernetes/kubernetes/compare/v1.34.0...v1.34.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-15 13:28:58 +00:00
Dokku Bot
0a79f05ada Release 0.36.7
# History

## 0.36.7

Install/update via the bootstrap script:

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

### Bug Fixes

- #7981: @josegonzalez Only install software-properties-common on Ubuntu and older Debian installations
- #7979: @josegonzalez Skip invalid apps when listing applications
- #7977: @kminek Remove server_tokens directive from main nginx config if present (com…
- #7974: @josegonzalez Ensure lsb_release is available on debian systems

### New Features

- #7978: @josegonzalez Add ability to list global cron tasks
- #7975: @josegonzalez Create SecurityContext for k3s scheduler from docker-options

### Dependencies

- #7972: @dependabot[bot] chore(deps): bump k8s.io/kubectl from 0.34.0 to 0.34.1 in /plugins/scheduler-k3s
- #7973: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.18.6 to 3.19.0 in /plugins/scheduler-k3s
- #7971: @dependabot[bot] chore(deps): bump k8s.io/client-go from 0.34.0 to 0.34.1 in /plugins/scheduler-k3s
- #7970: @dependabot[bot] chore(deps): bump k8s.io/api from 0.34.0 to 0.34.1 in /plugins/scheduler-k3s
- #7966: @dependabot[bot] chore(deps): bump github.com/fluxcd/pkg/kustomize from 1.19.0 to 1.22.0 in /plugins/scheduler-k3s
- #7963: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.75.0 to 1.75.1 in /tests/apps/gogrpc
- #7964: @dependabot[bot] chore(deps): bump traefik from 3.5.1 to 3.5.2 in /plugins/traefik-vhosts
- #7965: @dependabot[bot] chore(deps): bump k8s.io/apimachinery from 0.34.0 to 0.34.1 in /plugins/scheduler-k3s
- #7961: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.41.0 to 0.42.0 in /plugins/common
- #7960: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.36.8 to 1.36.9 in /tests/apps/gogrpc

### Other

- #7968: @josegonzalez chore: bump herokuish version from 0.11.0 to 0.11.3
- #7962: @dependabot[bot] chore(deps): bump django from 5.1.10 to 5.1.12 in /tests/apps/dockerfile-release
2025-09-15 01:15:50 +00:00
Jose Diaz-Gonzalez
eb18a565ae Merge pull request #7981 from dokku/7980-software-properties-common
fix: only install software-properties-common on Ubuntu and older Debian installations
2025-09-14 20:46:41 -04:00
Jose Diaz-Gonzalez
3e52ea9ec6 fix: only install software-properties-common on Ubuntu and older Debian installations
Closes #7980
2025-09-14 20:43:44 -04:00
Jose Diaz-Gonzalez
438c395970 Merge pull request #7979 from dokku/7959-invalid-apps 2025-09-14 06:34:52 -04:00
Jose Diaz-Gonzalez
5f6258989e Merge pull request #7978 from dokku/7732-cron-list-global 2025-09-14 06:34:30 -04:00
Jose Diaz-Gonzalez
1c6927b25e fix: directly write deployed property
The previous method ended up validating the app name when checking if the app was deployed or not, which isn't necessary as that should only be performed at the command-level.
2025-09-14 05:08:23 -04:00
Jose Diaz-Gonzalez
7e748a1cf3 fix: do not list folders in Dokku root that start with an upper-case character
These were never valid app names, so we can avoid listing them altogether as they aren't Dokku apps.
2025-09-14 05:04:27 -04:00
Jose Diaz-Gonzalez
7adeee7086 feat: add ability to list global cron tasks
Closes #7732
2025-09-14 04:38:19 -04:00
Jose Diaz-Gonzalez
8b9b658951 Merge pull request #7977 from kminek/7976-duplicated-server-tokens
Remove server_tokens directive from main nginx config if present (com…
2025-09-14 04:11:54 -04:00
Jose Diaz-Gonzalez
408417fe2e Merge pull request #7975 from dokku/7664-k3s-security-context
Create SecurityContext for k3s scheduler from docker-options
2025-09-14 03:10:52 -04:00
Jose Diaz-Gonzalez
ef798780c6 tests: add test for security context conversions 2025-09-14 02:19:25 -04:00
Grzesiek W
9cfa4acf57 Remove server_tokens directive from main nginx config if present (commented or uncommented) 2025-09-13 20:16:30 +02:00
Jose Diaz-Gonzalez
bcfff18db9 fix: correctly split flags 2025-09-12 19:19:17 -04:00
Jose Diaz-Gonzalez
a1b6d05568 fix: correct template 2025-09-12 19:19:04 -04:00
Jose Diaz-Gonzalez
f90a4061c0 feat: create SecurityContext for k3s scheduler from docker-options
Closes #7664
2025-09-12 18:09:33 -04:00
Jose Diaz-Gonzalez
fa0c9663cf Merge pull request #7974 from dokku/josegonzalez-patch-1
fix: ensure lsb_release is available on debian systems
2025-09-12 17:08:10 -04:00
Jose Diaz-Gonzalez
0fd4f24f1e fix: ensure lsb_release is available on debian systems 2025-09-12 16:19:45 -04:00
Jose Diaz-Gonzalez
4637b95a1b Merge pull request #7972 from dokku/dependabot/go_modules/plugins/scheduler-k3s/k8s.io/kubectl-0.34.1
chore(deps): bump k8s.io/kubectl from 0.34.0 to 0.34.1 in /plugins/scheduler-k3s
2025-09-12 14:53:46 -04:00
Jose Diaz-Gonzalez
6b12524db0 Merge pull request #7973 from dokku/dependabot/go_modules/plugins/scheduler-k3s/helm.sh/helm/v3-3.19.0
chore(deps): bump helm.sh/helm/v3 from 3.18.6 to 3.19.0 in /plugins/scheduler-k3s
2025-09-12 14:53:38 -04:00
dependabot[bot]
1252651f38 chore(deps): bump helm.sh/helm/v3 in /plugins/scheduler-k3s
Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.18.6 to 3.19.0.
- [Release notes](https://github.com/helm/helm/releases)
- [Commits](https://github.com/helm/helm/compare/v3.18.6...v3.19.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-12 13:12:33 +00:00
dependabot[bot]
bd0ee3c073 chore(deps): bump k8s.io/kubectl in /plugins/scheduler-k3s
Bumps [k8s.io/kubectl](https://github.com/kubernetes/kubectl) from 0.34.0 to 0.34.1.
- [Commits](https://github.com/kubernetes/kubectl/compare/v0.34.0...v0.34.1)

---
updated-dependencies:
- dependency-name: k8s.io/kubectl
  dependency-version: 0.34.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-12 13:12:24 +00:00
Jose Diaz-Gonzalez
db9c8efc2e Merge pull request #7971 from dokku/dependabot/go_modules/plugins/scheduler-k3s/k8s.io/client-go-0.34.1
chore(deps): bump k8s.io/client-go from 0.34.0 to 0.34.1 in /plugins/scheduler-k3s
2025-09-11 17:11:53 -04:00
Jose Diaz-Gonzalez
4a60663af8 Merge pull request #7970 from dokku/dependabot/go_modules/plugins/scheduler-k3s/k8s.io/api-0.34.1
chore(deps): bump k8s.io/api from 0.34.0 to 0.34.1 in /plugins/scheduler-k3s
2025-09-11 17:11:44 -04:00
dependabot[bot]
7d1dd9fa80 chore(deps): bump k8s.io/client-go in /plugins/scheduler-k3s
Bumps [k8s.io/client-go](https://github.com/kubernetes/client-go) from 0.34.0 to 0.34.1.
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.34.0...v0.34.1)

---
updated-dependencies:
- dependency-name: k8s.io/client-go
  dependency-version: 0.34.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-11 13:13:16 +00:00
dependabot[bot]
0713f7a217 chore(deps): bump k8s.io/api in /plugins/scheduler-k3s
Bumps [k8s.io/api](https://github.com/kubernetes/api) from 0.34.0 to 0.34.1.
- [Commits](https://github.com/kubernetes/api/compare/v0.34.0...v0.34.1)

---
updated-dependencies:
- dependency-name: k8s.io/api
  dependency-version: 0.34.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-11 13:13:09 +00:00
Jose Diaz-Gonzalez
966fd809f2 Merge pull request #7966 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/fluxcd/pkg/kustomize-1.22.0
chore(deps): bump github.com/fluxcd/pkg/kustomize from 1.19.0 to 1.22.0 in /plugins/scheduler-k3s
2025-09-11 01:29:42 -04:00
Jose Diaz-Gonzalez
a1749d26e0 chore: bump go version to 1.25.1 and run go mod tidy 2025-09-10 22:46:09 -04:00
dependabot[bot]
bbd919a730 chore(deps): bump github.com/fluxcd/pkg/kustomize
Bumps [github.com/fluxcd/pkg/kustomize](https://github.com/fluxcd/pkg) from 1.19.0 to 1.22.0.
- [Commits](https://github.com/fluxcd/pkg/compare/apis/meta/v1.19.0...kustomize/v1.22.0)

---
updated-dependencies:
- dependency-name: github.com/fluxcd/pkg/kustomize
  dependency-version: 1.22.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-10 22:46:09 -04:00
Jose Diaz-Gonzalez
ba89420142 Merge pull request #7968 from dokku/update-herokuish
chore: bump herokuish version from 0.11.0 to 0.11.3
2025-09-10 22:45:51 -04:00
Jose Diaz-Gonzalez
837be622bc chore: bump herokuish version from 0.11.0 to 0.11.3 2025-09-10 22:03:04 -04:00
Jose Diaz-Gonzalez
8beb2cdcbf Merge pull request #7963 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.75.1
chore(deps): bump google.golang.org/grpc from 1.75.0 to 1.75.1 in /tests/apps/gogrpc
2025-09-10 13:23:17 -04:00
Jose Diaz-Gonzalez
75dabd9347 Merge pull request #7964 from dokku/dependabot/docker/plugins/traefik-vhosts/traefik-3.5.2
chore(deps): bump traefik from 3.5.1 to 3.5.2 in /plugins/traefik-vhosts
2025-09-10 13:23:09 -04:00
Jose Diaz-Gonzalez
51aaa9fcac Merge pull request #7965 from dokku/dependabot/go_modules/plugins/scheduler-k3s/k8s.io/apimachinery-0.34.1
chore(deps): bump k8s.io/apimachinery from 0.34.0 to 0.34.1 in /plugins/scheduler-k3s
2025-09-10 13:22:58 -04:00
dependabot[bot]
ae85dff049 chore(deps): bump k8s.io/apimachinery in /plugins/scheduler-k3s
Bumps [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) from 0.34.0 to 0.34.1.
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.34.0...v0.34.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-10 13:10:54 +00:00
dependabot[bot]
de0f25fdea chore(deps): bump traefik from 3.5.1 to 3.5.2 in /plugins/traefik-vhosts
Bumps traefik from 3.5.1 to 3.5.2.

---
updated-dependencies:
- dependency-name: traefik
  dependency-version: 3.5.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-10 13:10:30 +00:00
dependabot[bot]
ceaaadc105 chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.75.0 to 1.75.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.75.0...v1.75.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-10 13:02:22 +00:00
Jose Diaz-Gonzalez
bd7266c85c Merge pull request #7962 from dokku/dependabot/pip/tests/apps/dockerfile-release/django-5.1.12
chore(deps): bump django from 5.1.10 to 5.1.12 in /tests/apps/dockerfile-release
2025-09-09 21:27:52 -04:00
Jose Diaz-Gonzalez
c539fabebc Merge pull request #7961 from dokku/dependabot/go_modules/plugins/common/golang.org/x/crypto-0.42.0
chore(deps): bump golang.org/x/crypto from 0.41.0 to 0.42.0 in /plugins/common
2025-09-09 20:54:15 -04:00
dependabot[bot]
20be1a458d chore(deps): bump django in /tests/apps/dockerfile-release
Bumps [django](https://github.com/django/django) from 5.1.10 to 5.1.12.
- [Commits](https://github.com/django/django/compare/5.1.10...5.1.12)

---
updated-dependencies:
- dependency-name: django
  dependency-version: 5.1.12
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-09 22:39:25 +00:00
Jose Diaz-Gonzalez
3ab5aff4c3 chore: bump go modules and run go mod tidy 2025-09-09 16:32:21 -04:00
Jose Diaz-Gonzalez
8fdc33b11a Merge pull request #7960 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/protobuf-1.36.9
chore(deps): bump google.golang.org/protobuf from 1.36.8 to 1.36.9 in /tests/apps/gogrpc
2025-09-09 16:31:46 -04:00
dependabot[bot]
b440d6ea79 chore(deps): bump golang.org/x/crypto in /plugins/common
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.41.0 to 0.42.0.
- [Commits](https://github.com/golang/crypto/compare/v0.41.0...v0.42.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-09 13:07:23 +00:00
dependabot[bot]
191aae5ff5 chore(deps): bump google.golang.org/protobuf in /tests/apps/gogrpc
Bumps google.golang.org/protobuf from 1.36.8 to 1.36.9.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-09 13:02:04 +00:00
Dokku Bot
0cecd6061a Release 0.36.6
# History

## 0.36.6

Install/update via the bootstrap script:

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

### Bug Fixes

- #7955: @josegonzalez Ensure that the nixpacks bin is installed in /usr/bin/nixpacks in Docker image
- #7953: @josegonzalez Set correct label for nixpacks builder
- #7942: @josegonzalez Ensure the code is copied over to the new app on clone or rebase
- #7941: @josegonzalez Do not generate an https url when there is no SSL certificate
- #7940: @josegonzalez Silence openresty extract warnings during the deploy process

### Tests

- #7954: @josegonzalez Respect DOKKU_DOMAIN when deploying in tests
- #7943: @josegonzalez Remove unused test app
- #7939: @josegonzalez Add test for ensuring run commands work with pack-based builds

### Dependencies

- #7958: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.18.5 to 3.18.6 in /plugins/scheduler-k3s
- #7952: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.16.0 to 0.17.0 in /plugins/common
- #7951: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/gogrpc
- #7950: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/go-fail-postdeploy
- #7949: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/zombies-dockerfile-no-tini
- #7947: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/zombies-dockerfile-tini
- #7945: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/go-fail-predeploy
- #7946: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.18 to 9.6.19 in /docs/_build
2025-09-08 21:28:23 +00:00
Jose Diaz-Gonzalez
f9fda93ba9 Merge pull request #7955 from dokku/nixpacks-bin
Ensure that the nixpacks bin is installed in /usr/bin/nixpacks in Docker image
2025-09-08 15:46:11 -04:00
Jose Diaz-Gonzalez
e0464c6525 Merge pull request #7958 from dokku/dependabot/go_modules/plugins/scheduler-k3s/helm.sh/helm/v3-3.18.6
chore(deps): bump helm.sh/helm/v3 from 3.18.5 to 3.18.6 in /plugins/scheduler-k3s
2025-09-08 14:31:02 -04:00
Jose Diaz-Gonzalez
0fc7768960 Merge pull request #7952 from dokku/dependabot/go_modules/plugins/common/golang.org/x/sync-0.17.0
chore(deps): bump golang.org/x/sync from 0.16.0 to 0.17.0 in /plugins/common
2025-09-08 14:30:00 -04:00
Jose Diaz-Gonzalez
79ea869aa8 Merge pull request #7954 from dokku/test-remote
Respect DOKKU_DOMAIN when deploying in tests
2025-09-08 14:29:52 -04:00
Jose Diaz-Gonzalez
5631d1eeaf fix: bind BIN_DIR to /usr/bin 2025-09-08 14:29:47 -04:00
dependabot[bot]
f155eae135 chore(deps): bump helm.sh/helm/v3 in /plugins/scheduler-k3s
Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.18.5 to 3.18.6.
- [Release notes](https://github.com/helm/helm/releases)
- [Commits](https://github.com/helm/helm/compare/v3.18.5...v3.18.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 13:17:36 +00:00
Jose Diaz-Gonzalez
704e9fffd1 Merge pull request #7951 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.25.1
chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/gogrpc
2025-09-08 04:32:10 -04:00
Jose Diaz-Gonzalez
849eca85ec Merge pull request #7950 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.25.1
chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/go-fail-postdeploy
2025-09-08 04:32:02 -04:00
Jose Diaz-Gonzalez
b4b4be9282 Merge pull request #7949 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.25.1
chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/zombies-dockerfile-no-tini
2025-09-08 04:31:53 -04:00
Jose Diaz-Gonzalez
8a15b9f560 Merge pull request #7947 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.25.1
chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/zombies-dockerfile-tini
2025-09-08 04:31:37 -04:00
Jose Diaz-Gonzalez
54d01b8851 Merge pull request #7945 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.25.1
chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/go-fail-predeploy
2025-09-08 04:31:29 -04:00
Jose Diaz-Gonzalez
e46df8beea Merge pull request #7946 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.6.19
chore(deps): bump mkdocs-material from 9.6.18 to 9.6.19 in /docs/_build
2025-09-08 04:30:18 -04:00
Jose Diaz-Gonzalez
65dbe32e69 chore: bump go modules and run go mod tidy 2025-09-08 04:29:51 -04:00
Jose Diaz-Gonzalez
5efa641d55 fix: ensure that the nixpacks bin is installed in /usr/bin/nixpacks in Docker image 2025-09-08 04:25:33 -04:00
Jose Diaz-Gonzalez
ff4af54920 tests: respect DOKKU_DOMAIN when deploying in tests 2025-09-08 04:24:35 -04:00
Jose Diaz-Gonzalez
4fd1f658a5 Merge pull request #7953 from dokku/nixpacks-label
Set correct label for nixpacks builder
2025-09-08 04:21:37 -04:00
Jose Diaz-Gonzalez
fa4e711d46 fix: set correct label for nixpacks builder 2025-09-08 04:20:50 -04:00
dependabot[bot]
b6c793d637 chore(deps): bump golang.org/x/sync in /plugins/common
Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.16.0 to 0.17.0.
- [Commits](https://github.com/golang/sync/compare/v0.16.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sync
  dependency-version: 0.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 08:16:55 +00:00
dependabot[bot]
ad8ece9ad3 chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/gogrpc
Bumps golang from 1.25.0 to 1.25.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 08:16:14 +00:00
dependabot[bot]
8fa67ea607 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.25.0 to 1.25.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 08:15:40 +00:00
dependabot[bot]
97080a397a chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.25.0 to 1.25.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 08:15:27 +00:00
dependabot[bot]
4852cb501e chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.25.0 to 1.25.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 08:14:08 +00:00
dependabot[bot]
b39c1ea6b2 chore(deps): bump mkdocs-material from 9.6.18 to 9.6.19 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.18 to 9.6.19.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.18...9.6.19)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.6.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 08:13:52 +00:00
dependabot[bot]
d656c4ce62 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.25.0 to 1.25.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 08:13:28 +00:00
Jose Diaz-Gonzalez
b03062a880 Merge pull request #7943 from dokku/drop-disabled-test
Remove unused test app
2025-09-08 03:59:56 -04:00
Jose Diaz-Gonzalez
215104f096 tests: remove unused test app
This was disabled 12 years ago...
2025-09-08 03:59:37 -04:00
Jose Diaz-Gonzalez
85d4a058b8 Merge pull request #7942 from dokku/7706-redeploy-on-clone-and-rename 2025-09-08 03:33:26 -04:00
Jose Diaz-Gonzalez
6952ecd3b3 fix: ignore the VHOST file 2025-09-08 02:09:31 -04:00
Jose Diaz-Gonzalez
63892ed74a fix: ignore the VHOST file 2025-09-08 02:08:33 -04:00
Jose Diaz-Gonzalez
03c25dae55 fix: ensure the code is copied over to the new app on clone or rebase
Closes #7706
2025-09-08 00:19:55 -04:00
Jose Diaz-Gonzalez
1d75e9dbbe Merge pull request #7941 from dokku/7817-https-port-dockerfile
Do not generate an https url when there is no SSL certificate
2025-09-07 23:09:01 -04:00
Jose Diaz-Gonzalez
345ad6e0d0 fix: correct lint issue 2025-09-07 22:15:29 -04:00
Jose Diaz-Gonzalez
bf7e5a7312 tests: add a test for apps that detect https:443:443 port mappings without an ssl cert 2025-09-07 22:06:24 -04:00
Jose Diaz-Gonzalez
7345bda611 fix: properly generate urls for port 443 for non-https schemes 2025-09-07 22:05:47 -04:00
Jose Diaz-Gonzalez
ca32172e1d fix: do not generate https urls when there is no certificate available 2025-09-07 22:04:57 -04:00
Jose Diaz-Gonzalez
aa5c365e93 fix: prefer the scheme specified in the port map 2025-09-07 22:04:20 -04:00
Jose Diaz-Gonzalez
52e4e90819 refactor: change SCHEME argument to DEFAULT_SCHEME to make it more apparent that it is a fallback 2025-09-07 22:03:46 -04:00
Jose Diaz-Gonzalez
f1be90b74b fix: use https scheme for any tcp/443 EXPOSE directive 2025-09-07 22:01:17 -04:00
Jose Diaz-Gonzalez
6e7936a074 Merge pull request #7939 from dokku/7863-run-in-pack
Add test for ensuring run commands work with pack-based builds
2025-09-07 21:07:20 -04:00
Jose Diaz-Gonzalez
8eb0f04eaf Merge pull request #7940 from dokku/7826-silence-warnings
Silence openresty extract warnings during the deploy process
2025-09-07 20:37:16 -04:00
Jose Diaz-Gonzalez
d0fd6ac0a1 fix: silence openresty extract warnings during the deploy process
Closes #7826
2025-09-07 20:35:06 -04:00
Jose Diaz-Gonzalez
90b29ff6e2 tests: add test for ensuring run commands work with pack-based builds
Closes #7863
2025-09-07 20:13:12 -04:00
Dokku Bot
9363f3d865 Release 0.36.5
# History

## 0.36.5

Install/update via the bootstrap script:

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

### New Features

- #7937: @josegonzalez Add support for Debian Trixie
2025-09-07 20:32:06 +00:00
Jose Diaz-Gonzalez
a2c2be8f5e Merge pull request #7937 from dokku/7877-trixie-support
Add support for Debian Trixie
2025-09-07 16:30:44 -04:00
Jose Diaz-Gonzalez
b6680e0495 feat: add support for Debian Trixie
Closes #7877
2025-09-07 16:29:31 -04:00
Dokku Bot
11f694e182 Release 0.36.4
# History

## 0.36.4

Install/update via the bootstrap script:

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

### Bug Fixes

- #7914: @josegonzalez Fix nginx configuration building in k3s scheduler

### Dependencies

- #7935: @dependabot[bot] chore(deps): update markdown requirement from <3.9,>=3.2.1 to >=3.2.1,<3.10 in /docs/_build
- #7936: @dependabot[bot] chore(deps): bump github.com/go-openapi/jsonpointer from 0.21.2 to 0.22.0 in /plugins/scheduler-k3s
- #7931: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.28 to 2.11.29 in /plugins/scheduler-k3s
- #7932: @dependabot[bot] chore(deps): bump actions/setup-python from 5 to 6
- #7933: @dependabot[bot] chore(deps): bump actions/setup-node from 4 to 5
- #7934: @dependabot[bot] chore(deps): bump hadolint/hadolint-action from 3.1.0 to 3.2.0
- #7920: @dependabot[bot] chore(deps): bump github.com/spf13/pflag from 1.0.9 to 1.0.10 in /plugins/common
- #7887: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.38.0 to 1.38.2 in /plugins/common
- #7847: @dependabot[bot] chore(deps): bump timberio/vector from 0.48.0-debian to 0.49.0-debian in /plugins/logs
- #7890: @dependabot[bot] chore(deps): bump k8s.io/kubernetes from 1.33.2 to 1.34.0 in /plugins/scheduler-k3s
- #7881: @dependabot[bot] chore(deps): bump byjg/easy-haproxy from 4.5.0 to 4.6.0 in /plugins/haproxy-vhosts
- #7880: @dependabot[bot] chore(deps): bump beautifulsoup4 from 4.13.4 to 4.13.5 in /docs/_build
- #7888: @dependabot[bot] chore(deps): bump soupsieve from 2.7 to 2.8 in /docs/_build
- #7902: @dependabot[bot] chore(deps): bump github.com/spf13/pflag from 1.0.7 to 1.0.9 in /plugins/common
- #7891: @dependabot[bot] chore(deps): bump k8s.io/kubectl from 0.33.3 to 0.34.0 in /plugins/scheduler-k3s
- #7895: @dependabot[bot] chore(deps): bump traefik from 3.5.0 to 3.5.1 in /plugins/traefik-vhosts
2025-09-05 20:04:26 +00:00
Jose Diaz-Gonzalez
b6d2a7764b Merge pull request #7935 from dokku/dependabot/pip/docs/_build/markdown-gte-3.2.1-and-lt-3.10
chore(deps): update markdown requirement from <3.9,>=3.2.1 to >=3.2.1,<3.10 in /docs/_build
2025-09-05 15:00:26 -04:00
Jose Diaz-Gonzalez
975f3411eb Merge pull request #7936 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/go-openapi/jsonpointer-0.22.0
chore(deps): bump github.com/go-openapi/jsonpointer from 0.21.2 to 0.22.0 in /plugins/scheduler-k3s
2025-09-05 15:00:19 -04:00
dependabot[bot]
d881a897a6 chore(deps): bump github.com/go-openapi/jsonpointer
Bumps [github.com/go-openapi/jsonpointer](https://github.com/go-openapi/jsonpointer) from 0.21.2 to 0.22.0.
- [Commits](https://github.com/go-openapi/jsonpointer/compare/v0.21.2...v0.22.0)

---
updated-dependencies:
- dependency-name: github.com/go-openapi/jsonpointer
  dependency-version: 0.22.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-05 13:09:42 +00:00
dependabot[bot]
a3570b3ca2 chore(deps): update markdown requirement in /docs/_build
Updates the requirements on [markdown](https://github.com/Python-Markdown/markdown) to permit the latest version.
- [Release notes](https://github.com/Python-Markdown/markdown/releases)
- [Changelog](https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md)
- [Commits](https://github.com/Python-Markdown/markdown/compare/3.2.1...3.9.0)

---
updated-dependencies:
- dependency-name: markdown
  dependency-version: '3.9'
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-05 13:05:56 +00:00
Jose Diaz-Gonzalez
43e70d6bdb Merge pull request #7931 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/traefik/traefik/v2-2.11.29
chore(deps): bump github.com/traefik/traefik/v2 from 2.11.28 to 2.11.29 in /plugins/scheduler-k3s
2025-09-04 14:56:28 -04:00
Jose Diaz-Gonzalez
e7718a11b6 Merge pull request #7932 from dokku/dependabot/github_actions/actions/setup-python-6
chore(deps): bump actions/setup-python from 5 to 6
2025-09-04 14:56:18 -04:00
Jose Diaz-Gonzalez
485bb7a699 Merge pull request #7933 from dokku/dependabot/github_actions/actions/setup-node-5
chore(deps): bump actions/setup-node from 4 to 5
2025-09-04 14:56:07 -04:00
Jose Diaz-Gonzalez
69fde612b5 Merge pull request #7934 from dokku/dependabot/github_actions/hadolint/hadolint-action-3.2.0
chore(deps): bump hadolint/hadolint-action from 3.1.0 to 3.2.0
2025-09-04 14:56:00 -04:00
dependabot[bot]
bfc486743d chore(deps): bump hadolint/hadolint-action from 3.1.0 to 3.2.0
Bumps [hadolint/hadolint-action](https://github.com/hadolint/hadolint-action) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/hadolint/hadolint-action/releases)
- [Changelog](https://github.com/hadolint/hadolint-action/blob/master/.releaserc)
- [Commits](54c9adbab1...3fc49fb50d)

---
updated-dependencies:
- dependency-name: hadolint/hadolint-action
  dependency-version: 3.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 14:36:11 +00:00
dependabot[bot]
a9334bca8a chore(deps): bump actions/setup-node from 4 to 5
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 5.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 13:59:54 +00:00
dependabot[bot]
9704d3ef09 chore(deps): bump actions/setup-python from 5 to 6
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 13:59:48 +00:00
dependabot[bot]
781721026e chore(deps): bump github.com/traefik/traefik/v2
Bumps [github.com/traefik/traefik/v2](https://github.com/traefik/traefik) from 2.11.28 to 2.11.29.
- [Release notes](https://github.com/traefik/traefik/releases)
- [Changelog](https://github.com/traefik/traefik/blob/v2.11.29/CHANGELOG.md)
- [Commits](https://github.com/traefik/traefik/compare/v2.11.28...v2.11.29)

---
updated-dependencies:
- dependency-name: github.com/traefik/traefik/v2
  dependency-version: 2.11.29
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 09:51:52 +00:00
Jose Diaz-Gonzalez
0d560af740 Merge pull request #7920 from dokku/dependabot/go_modules/plugins/common/github.com/spf13/pflag-1.0.10
chore(deps): bump github.com/spf13/pflag from 1.0.9 to 1.0.10 in /plugins/common
2025-09-04 02:11:28 -04:00
Jose Diaz-Gonzalez
11a3babcee chore: bump go modules and run go mod tidy 2025-09-04 00:03:11 -04:00
Jose Diaz-Gonzalez
dba9793968 Merge pull request #7914 from dokku/k3s-cleanup-ingress-nginx
Fix nginx configuration building in k3s scheduler
2025-09-04 00:02:09 -04:00
dependabot[bot]
2f6c0ed1e6 chore(deps): bump github.com/spf13/pflag in /plugins/common
Bumps [github.com/spf13/pflag](https://github.com/spf13/pflag) from 1.0.9 to 1.0.10.
- [Release notes](https://github.com/spf13/pflag/releases)
- [Commits](https://github.com/spf13/pflag/compare/v1.0.9...v1.0.10)

---
updated-dependencies:
- dependency-name: github.com/spf13/pflag
  dependency-version: 1.0.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 02:04:13 +00:00
Jose Diaz-Gonzalez
68529c087a Merge pull request #7887 from dokku/dependabot/go_modules/plugins/common/github.com/onsi/gomega-1.38.2
chore(deps): bump github.com/onsi/gomega from 1.38.0 to 1.38.2 in /plugins/common
2025-09-03 20:42:04 -04:00
Jose Diaz-Gonzalez
ae99f491fa fix: drop x-forwarded- properties from k3s scheduler
These shadow existing values managed by k3s itself, causing issues where the same header is injected with multiple values, which some frameworks do not support as they use the header directly without parsing to construct urls.
2025-09-03 20:38:01 -04:00
Jose Diaz-Gonzalez
9182b272f4 fix: split up proxy-buffers into annotation properties
The values derive from the same nginx source, so they also need a modifier in order to fit into the ingress-nginx scheme.
2025-09-03 20:36:33 -04:00
Jose Diaz-Gonzalez
865063300f feat: allow Critical annotations to be injected into ingresses
Dokku needs this in order to construct certain rules that aren't supported by ingress-nginx annotations.
2025-09-03 20:35:44 -04:00
Jose Diaz-Gonzalez
1e879cf4f7 Merge pull request #7847 from dokku/dependabot/docker/plugins/logs/timberio/vector-0.49.0-debian
chore(deps): bump timberio/vector from 0.48.0-debian to 0.49.0-debian in /plugins/logs
2025-09-03 16:05:43 -04:00
Jose Diaz-Gonzalez
64e457e6db chore: bump go modules and run go mod tidy 2025-09-03 16:00:52 -04:00
dependabot[bot]
0e39bc502b chore(deps): bump github.com/onsi/gomega in /plugins/common
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.38.0 to 1.38.2.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/gomega/compare/v1.38.0...v1.38.2)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-version: 1.38.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-03 16:00:14 -04:00
Jose Diaz-Gonzalez
d22f45885a Merge pull request #7890 from dokku/dependabot/go_modules/plugins/scheduler-k3s/k8s.io/kubernetes-1.34.0
chore(deps): bump k8s.io/kubernetes from 1.33.2 to 1.34.0 in /plugins/scheduler-k3s
2025-09-03 15:59:14 -04:00
Jose Diaz-Gonzalez
dfc19cc069 Merge pull request #7881 from dokku/dependabot/docker/plugins/haproxy-vhosts/byjg/easy-haproxy-4.6.0
chore(deps): bump byjg/easy-haproxy from 4.5.0 to 4.6.0 in /plugins/haproxy-vhosts
2025-09-03 01:38:31 -04:00
Jose Diaz-Gonzalez
7cd283364d Merge pull request #7880 from dokku/dependabot/pip/docs/_build/beautifulsoup4-4.13.5
chore(deps): bump beautifulsoup4 from 4.13.4 to 4.13.5 in /docs/_build
2025-09-03 01:38:13 -04:00
Jose Diaz-Gonzalez
54edcdb587 Merge pull request #7888 from dokku/dependabot/pip/docs/_build/soupsieve-2.8
chore(deps): bump soupsieve from 2.7 to 2.8 in /docs/_build
2025-09-03 01:37:56 -04:00
Jose Diaz-Gonzalez
c6b5bc07c5 Merge pull request #7902 from dokku/dependabot/go_modules/plugins/common/github.com/spf13/pflag-1.0.9
chore(deps): bump github.com/spf13/pflag from 1.0.7 to 1.0.9 in /plugins/common
2025-09-03 01:37:40 -04:00
dependabot[bot]
53f4ec3e9d chore(deps): bump k8s.io/kubernetes in /plugins/scheduler-k3s
Bumps [k8s.io/kubernetes](https://github.com/kubernetes/kubernetes) from 1.33.2 to 1.34.0.
- [Release notes](https://github.com/kubernetes/kubernetes/releases)
- [Commits](https://github.com/kubernetes/kubernetes/compare/v1.33.2...v1.34.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-03 04:46:23 +00:00
Jose Diaz-Gonzalez
bc8f20837e Merge pull request #7891 from dokku/dependabot/go_modules/plugins/scheduler-k3s/k8s.io/kubectl-0.34.0
chore(deps): bump k8s.io/kubectl from 0.33.3 to 0.34.0 in /plugins/scheduler-k3s
2025-09-03 00:37:42 -04:00
Jose Diaz-Gonzalez
61c6e276b6 chore: bump go modules and run go mod tidy 2025-09-03 00:24:09 -04:00
Jose Diaz-Gonzalez
25bff83df9 Merge pull request #7895 from dokku/dependabot/docker/plugins/traefik-vhosts/traefik-3.5.1
chore(deps): bump traefik from 3.5.0 to 3.5.1 in /plugins/traefik-vhosts
2025-09-03 00:22:27 -04:00
dependabot[bot]
d058712cb3 chore(deps): bump github.com/spf13/pflag in /plugins/common
Bumps [github.com/spf13/pflag](https://github.com/spf13/pflag) from 1.0.7 to 1.0.9.
- [Release notes](https://github.com/spf13/pflag/releases)
- [Commits](https://github.com/spf13/pflag/compare/v1.0.7...v1.0.9)

---
updated-dependencies:
- dependency-name: github.com/spf13/pflag
  dependency-version: 1.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-02 00:15:34 +00:00
dependabot[bot]
b876d1f989 chore(deps): bump traefik from 3.5.0 to 3.5.1 in /plugins/traefik-vhosts
Bumps traefik from 3.5.0 to 3.5.1.

---
updated-dependencies:
- dependency-name: traefik
  dependency-version: 3.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-01 22:49:27 +00:00
dependabot[bot]
d01ed8901d chore(deps): bump k8s.io/kubectl in /plugins/scheduler-k3s
Bumps [k8s.io/kubectl](https://github.com/kubernetes/kubectl) from 0.33.3 to 0.34.0.
- [Commits](https://github.com/kubernetes/kubectl/compare/v0.33.3...v0.34.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-28 14:12:44 +00:00
dependabot[bot]
64ff78d22f chore(deps): bump soupsieve from 2.7 to 2.8 in /docs/_build
Bumps [soupsieve](https://github.com/facelessuser/soupsieve) from 2.7 to 2.8.
- [Release notes](https://github.com/facelessuser/soupsieve/releases)
- [Commits](https://github.com/facelessuser/soupsieve/compare/2.7...2.8)

---
updated-dependencies:
- dependency-name: soupsieve
  dependency-version: '2.8'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-28 13:41:32 +00:00
dependabot[bot]
7d2f316745 chore(deps): bump byjg/easy-haproxy in /plugins/haproxy-vhosts
Bumps byjg/easy-haproxy from 4.5.0 to 4.6.0.

---
updated-dependencies:
- dependency-name: byjg/easy-haproxy
  dependency-version: 4.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-26 01:45:02 +00:00
dependabot[bot]
ce7d9a1efd chore(deps): bump beautifulsoup4 from 4.13.4 to 4.13.5 in /docs/_build
Bumps [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) from 4.13.4 to 4.13.5.

---
updated-dependencies:
- dependency-name: beautifulsoup4
  dependency-version: 4.13.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-26 00:56:01 +00:00
Dokku Bot
1fa72e39f6 Release 0.36.3
# History

## 0.36.3

Install/update via the bootstrap script:

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

### New Features

- #7878: @josegonzalez Allow specifying base64-encoded values in vector-sink DSN urls

### Dependencies

- #7873: @dependabot[bot] chore(deps): bump github.com/go-openapi/jsonpointer from 0.21.1 to 0.21.2 in /plugins/scheduler-k3s
- #7874: @dependabot[bot] chore(deps): bump k8s.io/api from 0.33.3 to 0.33.4 in /plugins/scheduler-k3s
- #7875: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.17 to 9.6.18 in /docs/_build
2025-08-23 22:42:15 +00:00
Jose Diaz-Gonzalez
10f6b7d0a1 Merge pull request #7873 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/go-openapi/jsonpointer-0.21.2
chore(deps): bump github.com/go-openapi/jsonpointer from 0.21.1 to 0.21.2 in /plugins/scheduler-k3s
2025-08-23 18:20:10 -04:00
Jose Diaz-Gonzalez
880c9e4ff7 Merge pull request #7874 from dokku/dependabot/go_modules/plugins/scheduler-k3s/k8s.io/api-0.33.4
chore(deps): bump k8s.io/api from 0.33.3 to 0.33.4 in /plugins/scheduler-k3s
2025-08-23 18:20:00 -04:00
Jose Diaz-Gonzalez
8ccab3d57d Merge pull request #7875 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.6.18
chore(deps): bump mkdocs-material from 9.6.17 to 9.6.18 in /docs/_build
2025-08-23 18:19:38 -04:00
Jose Diaz-Gonzalez
68d5b5c986 Merge pull request #7878 from dokku/7758-base64-encoded-vector-values
Allow specifying base64-encoded values in vector-sink DSN urls
2025-08-23 18:19:26 -04:00
Jose Diaz-Gonzalez
3f12ce2e8d refactor: simplify test 2025-08-23 16:15:00 -04:00
Jose Diaz-Gonzalez
fd61fdd2ab fix: ensure the vector values are only set for the vector chart 2025-08-23 16:14:51 -04:00
Jose Diaz-Gonzalez
9c41bed78b feat: allow specifying base64-encoded values in vector-sink DSN urls
This will allow Vector templating to work when using Kubernetes as the scheduler.
2025-08-23 15:46:57 -04:00
dependabot[bot]
13eb377b1d chore(deps): bump mkdocs-material from 9.6.17 to 9.6.18 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.17 to 9.6.18.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.17...9.6.18)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.6.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-22 13:58:40 +00:00
dependabot[bot]
b36a7b9764 chore(deps): bump k8s.io/api in /plugins/scheduler-k3s
Bumps [k8s.io/api](https://github.com/kubernetes/api) from 0.33.3 to 0.33.4.
- [Commits](https://github.com/kubernetes/api/compare/v0.33.3...v0.33.4)

---
updated-dependencies:
- dependency-name: k8s.io/api
  dependency-version: 0.33.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-22 13:24:21 +00:00
dependabot[bot]
4c0a3bcedf chore(deps): bump github.com/go-openapi/jsonpointer
Bumps [github.com/go-openapi/jsonpointer](https://github.com/go-openapi/jsonpointer) from 0.21.1 to 0.21.2.
- [Commits](https://github.com/go-openapi/jsonpointer/compare/v0.21.1...v0.21.2)

---
updated-dependencies:
- dependency-name: github.com/go-openapi/jsonpointer
  dependency-version: 0.21.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-22 13:24:15 +00:00
Dokku Bot
d4484d0373 Release 0.36.2
# History

## 0.36.2

Install/update via the bootstrap script:

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

### Bug Fixes

- #7872: @josegonzalez Correct issues when scaling non-web processes for the scheduler-k3s plugin

### Refactors

- #7871: @josegonzalez Remove public exposure of DOKKU_APP_TYPE in favor of builder detected property

### Dependencies

- #7868: @dependabot[bot] chore(deps): bump grunt-cli from 1.4.3 to 1.5.0 in /tests/apps/multi
- #7869: @dependabot[bot] chore(deps): bump bower from 1.8.12 to 1.8.14 in /tests/apps/multi
- #7870: @dependabot[bot] chore(deps): bump tmp from 0.2.4 to 0.2.5 in /tests/apps/multi
- #7867: @dependabot[bot] chore(deps): bump grunt from 1.5.3 to 1.6.1 in /tests/apps/multi
- #7866: @dependabot[bot] chore(deps): bump github.com/fluxcd/pkg/kustomize from 1.18.0 to 1.19.0 in /plugins/scheduler-k3s
- #7862: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.36.7 to 1.36.8 in /tests/apps/gogrpc

### Other

- #7864: @josegonzalez chore(deps): add dependabot entries for plugins/scheduler-k3s and tests/apps/multi
2025-08-22 12:03:49 +00:00
dependabot[bot]
2b0f2fc014 chore(deps): bump timberio/vector in /plugins/logs
Bumps timberio/vector from 0.48.0-debian to 0.49.0-debian.

---
updated-dependencies:
- dependency-name: timberio/vector
  dependency-version: 0.49.0-debian
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-22 12:02:52 +00:00
Jose Diaz-Gonzalez
d9c520216a Merge pull request #7868 from dokku/dependabot/npm_and_yarn/tests/apps/multi/grunt-cli-1.5.0 2025-08-22 08:01:33 -04:00
Jose Diaz-Gonzalez
7d5e0868f4 Merge pull request #7869 from dokku/dependabot/npm_and_yarn/tests/apps/multi/bower-1.8.14 2025-08-22 08:01:20 -04:00
Jose Diaz-Gonzalez
86ce579680 Merge pull request #7872 from dokku/fix-scaling-k3s 2025-08-22 08:01:06 -04:00
dependabot[bot]
7104d203bd chore(deps): bump bower from 1.8.12 to 1.8.14 in /tests/apps/multi
Bumps [bower](https://github.com/bower/bower) from 1.8.12 to 1.8.14.
- [Release notes](https://github.com/bower/bower/releases)
- [Changelog](https://github.com/bower/bower/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bower/bower/compare/v1.8.12...1.8.14)

---
updated-dependencies:
- dependency-name: bower
  dependency-version: 1.8.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-22 07:06:45 +00:00
dependabot[bot]
32cd56faa5 chore(deps): bump grunt-cli from 1.4.3 to 1.5.0 in /tests/apps/multi
Bumps [grunt-cli](https://github.com/gruntjs/grunt-cli) from 1.4.3 to 1.5.0.
- [Release notes](https://github.com/gruntjs/grunt-cli/releases)
- [Changelog](https://github.com/gruntjs/grunt-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/gruntjs/grunt-cli/compare/v1.4.3...v1.5.0)

---
updated-dependencies:
- dependency-name: grunt-cli
  dependency-version: 1.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-22 07:06:44 +00:00
Jose Diaz-Gonzalez
360cbcf8b9 Merge pull request #7870 from dokku/dependabot/npm_and_yarn/tests/apps/multi/tmp-0.2.5
chore(deps): bump tmp from 0.2.4 to 0.2.5 in /tests/apps/multi
2025-08-22 03:05:52 -04:00
Jose Diaz-Gonzalez
dd61cf9e8d Merge pull request #7867 from dokku/dependabot/npm_and_yarn/tests/apps/multi/grunt-1.6.1
chore(deps): bump grunt from 1.5.3 to 1.6.1 in /tests/apps/multi
2025-08-22 03:04:45 -04:00
Jose Diaz-Gonzalez
b8e55331e1 Merge pull request #7866 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/fluxcd/pkg/kustomize-1.19.0
chore(deps): bump github.com/fluxcd/pkg/kustomize from 1.18.0 to 1.19.0 in /plugins/scheduler-k3s
2025-08-22 03:04:26 -04:00
Jose Diaz-Gonzalez
0a3f7262a4 chore: move comment around 2025-08-22 02:30:19 -04:00
Jose Diaz-Gonzalez
434a111976 fix: skip Deployment and ScaledObject generation for cron tasks 2025-08-22 02:29:00 -04:00
Jose Diaz-Gonzalez
cfd7b84c5e tests: correct target scope for kustomization 2025-08-22 02:22:43 -04:00
Jose Diaz-Gonzalez
4593547e35 feat: add log message when kustomize is being applied 2025-08-22 02:01:04 -04:00
Jose Diaz-Gonzalez
ef2d014ed6 chore: remove extra debug message 2025-08-22 01:52:58 -04:00
Jose Diaz-Gonzalez
882ca8781b fix: implement scheduler-is-deployed for scheduler-k3s 2025-08-22 01:51:38 -04:00
Jose Diaz-Gonzalez
5737286ac5 Merge pull request #7871 from dokku/remove-dokku-app-type
Remove public exposure of DOKKU_APP_TYPE in favor of builder detected property
2025-08-22 01:26:54 -04:00
Jose Diaz-Gonzalez
390a2254a0 fix: do not skip generating certain templates when non-web processes are encountered 2025-08-22 01:24:53 -04:00
Jose Diaz-Gonzalez
5d5d56c560 refactor: remove public exposure of DOKKU_APP_TYPE in favor of builder detected property
The DOKKU_APP_TYPE has long since ceased to be the correct way to specify the builder for the application. It's only usage has been during the detection phase, specifically to ensure that the herokuish plugin injects the correct docker arguments during the build. As such, it is safe to migrate away to a property in a patch release.

Users that seek to set a specific builder should use 'dokku builder:set $APP selected' instead.

Refs #7863
2025-08-21 23:59:41 -04:00
dependabot[bot]
cfc25bc9da chore(deps): bump tmp from 0.2.4 to 0.2.5 in /tests/apps/multi
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.4 to 0.2.5.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.4...v0.2.5)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-22 01:31:08 +00:00
dependabot[bot]
62099db5fe chore(deps): bump grunt from 1.5.3 to 1.6.1 in /tests/apps/multi
Bumps [grunt](https://github.com/gruntjs/grunt) from 1.5.3 to 1.6.1.
- [Release notes](https://github.com/gruntjs/grunt/releases)
- [Changelog](https://github.com/gruntjs/grunt/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt/compare/v1.5.3...v1.6.1)

---
updated-dependencies:
- dependency-name: grunt
  dependency-version: 1.6.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-22 01:30:50 +00:00
dependabot[bot]
2381069096 chore(deps): bump github.com/fluxcd/pkg/kustomize
Bumps [github.com/fluxcd/pkg/kustomize](https://github.com/fluxcd/pkg) from 1.18.0 to 1.19.0.
- [Commits](https://github.com/fluxcd/pkg/compare/apis/meta/v1.18.0...kustomize/v1.19.0)

---
updated-dependencies:
- dependency-name: github.com/fluxcd/pkg/kustomize
  dependency-version: 1.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-22 01:26:23 +00:00
Jose Diaz-Gonzalez
637221f450 Merge pull request #7862 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/protobuf-1.36.8
chore(deps): bump google.golang.org/protobuf from 1.36.7 to 1.36.8 in /tests/apps/gogrpc
2025-08-21 21:24:43 -04:00
Jose Diaz-Gonzalez
7f14bb22b0 Merge pull request #7864 from dokku/dependabot-update
chore(deps): add dependabot entries for plugins/scheduler-k3s and tests/apps/multi
2025-08-21 21:24:30 -04:00
Jose Diaz-Gonzalez
a3b99c5d0e chore(deps): add dependabot entries for plugins/scheduler-k3s and tests/apps/multi 2025-08-21 21:15:17 -04:00
dependabot[bot]
17f71e1269 chore(deps): bump google.golang.org/protobuf in /tests/apps/gogrpc
Bumps google.golang.org/protobuf from 1.36.7 to 1.36.8.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-21 13:23:28 +00:00
Dokku Bot
f4cf0e15b9 Release 0.36.1
# History

## 0.36.1

Install/update via the bootstrap script:

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

### Bug Fixes

- #7846: @josegonzalez Correct issue in parsing escaped plus signs in vector sink values
- #7841: @leksyib14 Fix handling of equals sign in vector sink values
- #7844: @josegonzalez Do not change permissions on config directory symlinks

### Tests

- #7848: @josegonzalez Ensure tests properly fetch data from json output
- #7845: @josegonzalez Use the official github actions arm64 runner

### Dependencies

- #7861: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.74.2 to 1.75.0 in /tests/apps/gogrpc
- #7860: @dependabot[bot] chore(deps): bump flask from 3.1.1 to 3.1.2 in /tests/apps/python-flask
- #7859: @dependabot[bot] chore(deps): bump flask from 3.1.1 to 3.1.2 in /tests/apps/multi
- #7856: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.16 to 9.6.17 in /docs/_build
- #7857: @dependabot[bot] chore(deps): bump python from 3.13.6-alpine to 3.13.7-alpine in /docs/_build
- #7858: @dependabot[bot] chore(deps): bump python from 3.13.6-bookworm to 3.13.7-bookworm in /tests/apps/dockerfile-release
- #7855: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.25 to 11.0.26 in /tests/apps/java
- #7849: @dependabot[bot] chore(deps): bump golang from 1.24.6 to 1.25.0 in /tests/apps/zombies-dockerfile-tini
- #7850: @dependabot[bot] chore(deps): bump golang from 1.24.6 to 1.25.0 in /tests/apps/go-fail-predeploy
- #7851: @dependabot[bot] chore(deps): bump golang from 1.24.6 to 1.25.0 in /tests/apps/go-fail-postdeploy
- #7852: @dependabot[bot] chore(deps): bump golang from 1.24.6 to 1.25.0 in /tests/apps/gogrpc
- #7853: @dependabot[bot] chore(deps): bump golang from 1.24.6 to 1.25.0 in /tests/apps/zombies-dockerfile-no-tini
- #7842: @dependabot[bot] chore(deps): bump actions/checkout from 4 to 5
- #7821: @dependabot[bot] chore(deps): bump traefik from 3.4.4 to 3.5.0 in /plugins/traefik-vhosts
- #7843: @josegonzalez Bump go modules
- #7824: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.15 to 9.6.16 in /docs/_build
- #7823: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.16 to 10.16.1 in /docs/_build
- #7831: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.36.6 to 1.36.7 in /tests/apps/gogrpc
- #7839: @dependabot[bot] chore(deps): bump python from 3.13.5-bookworm to 3.13.6-bookworm in /tests/apps/dockerfile-release
- #7838: @dependabot[bot] chore(deps): bump python from 3.13.5-alpine to 3.13.6-alpine in /docs/_build
- #7837: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.40.0 to 0.41.0 in /plugins/common
- #7836: @dependabot[bot] chore(deps): bump golang from 1.24.5 to 1.24.6 in /tests/apps/zombies-dockerfile-tini
- #7835: @dependabot[bot] chore(deps): bump golang from 1.24.5 to 1.24.6 in /tests/apps/zombies-dockerfile-no-tini
- #7834: @dependabot[bot] chore(deps): bump golang from 1.24.5 to 1.24.6 in /tests/apps/go-fail-postdeploy
- #7833: @dependabot[bot] chore(deps): bump golang from 1.24.5 to 1.24.6 in /tests/apps/gogrpc
- #7832: @dependabot[bot] chore(deps): bump golang from 1.24.5 to 1.24.6 in /tests/apps/go-fail-predeploy
- #7828: @dependabot[bot] chore(deps): bump actions/download-artifact from 4 to 5

### Other

- #7854: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.18.4 to 3.18.5 in /plugins/scheduler-k3s
- #7825: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.26 to 2.11.28 in /plugins/scheduler-k3s
- #7830: @dependabot[bot] chore(deps): bump tmp from 0.2.1 to 0.2.4 in /tests/apps/multi
- #7829: @dependabot[bot] chore(deps): bump github.com/go-acme/lego/v4 from 4.24.0 to 4.25.2 in /plugins/scheduler-k3s
2025-08-21 05:33:05 +00:00
Jose Diaz-Gonzalez
3705b5f847 Merge pull request #7861 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.75.0
chore(deps): bump google.golang.org/grpc from 1.74.2 to 1.75.0 in /tests/apps/gogrpc
2025-08-20 21:55:50 -04:00
Jose Diaz-Gonzalez
ac4f576951 Merge pull request #7860 from dokku/dependabot/pip/tests/apps/python-flask/flask-3.1.2
chore(deps): bump flask from 3.1.1 to 3.1.2 in /tests/apps/python-flask
2025-08-20 21:55:43 -04:00
Jose Diaz-Gonzalez
b790fd745a Merge pull request #7859 from dokku/dependabot/pip/tests/apps/multi/flask-3.1.2
chore(deps): bump flask from 3.1.1 to 3.1.2 in /tests/apps/multi
2025-08-20 21:55:31 -04:00
dependabot[bot]
c8d7fb0aed chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.74.2 to 1.75.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.74.2...v1.75.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.75.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-20 13:46:20 +00:00
dependabot[bot]
5d4ac8179a chore(deps): bump flask from 3.1.1 to 3.1.2 in /tests/apps/python-flask
Bumps [flask](https://github.com/pallets/flask) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/pallets/flask/releases)
- [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/flask/compare/3.1.1...3.1.2)

---
updated-dependencies:
- dependency-name: flask
  dependency-version: 3.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-20 13:35:57 +00:00
dependabot[bot]
097da0436e chore(deps): bump flask from 3.1.1 to 3.1.2 in /tests/apps/multi
Bumps [flask](https://github.com/pallets/flask) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/pallets/flask/releases)
- [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/flask/compare/3.1.1...3.1.2)

---
updated-dependencies:
- dependency-name: flask
  dependency-version: 3.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-20 13:17:59 +00:00
Jose Diaz-Gonzalez
b7b5fa4f3c Merge pull request #7856 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.6.17
chore(deps): bump mkdocs-material from 9.6.16 to 9.6.17 in /docs/_build
2025-08-18 15:57:44 -04:00
Jose Diaz-Gonzalez
cd70c5279f Merge pull request #7857 from dokku/dependabot/docker/docs/_build/python-3.13.7-alpine
chore(deps): bump python from 3.13.6-alpine to 3.13.7-alpine in /docs/_build
2025-08-18 15:57:33 -04:00
Jose Diaz-Gonzalez
86be96ad24 Merge pull request #7858 from dokku/dependabot/docker/tests/apps/dockerfile-release/python-3.13.7-bookworm
chore(deps): bump python from 3.13.6-bookworm to 3.13.7-bookworm in /tests/apps/dockerfile-release
2025-08-18 15:57:27 -04:00
dependabot[bot]
a95f077496 chore(deps): bump python in /tests/apps/dockerfile-release
Bumps python from 3.13.6-bookworm to 3.13.7-bookworm.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 19:01:19 +00:00
dependabot[bot]
bf6c784b91 chore(deps): bump python in /docs/_build
Bumps python from 3.13.6-alpine to 3.13.7-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 18:43:45 +00:00
dependabot[bot]
1cc6c1bc3e chore(deps): bump mkdocs-material from 9.6.16 to 9.6.17 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.16 to 9.6.17.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.16...9.6.17)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.6.17
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 17:20:49 +00:00
Jose Diaz-Gonzalez
b75c7f3b8c Merge pull request #7855 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-11.0.26
chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.25 to 11.0.26 in /tests/apps/java
2025-08-16 01:45:28 -04:00
Jose Diaz-Gonzalez
6525f147c6 Merge pull request #7848 from dokku/fix-k3s-tests
Ensure tests properly fetch data from json output
2025-08-16 01:45:15 -04:00
dependabot[bot]
11bf30d744 chore(deps): bump org.eclipse.jetty:jetty-servlet in /tests/apps/java
Bumps org.eclipse.jetty:jetty-servlet from 11.0.25 to 11.0.26.

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-servlet
  dependency-version: 11.0.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-15 13:12:35 +00:00
Jose Diaz-Gonzalez
2aabb209d9 Merge pull request #7849 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.25.0
chore(deps): bump golang from 1.24.6 to 1.25.0 in /tests/apps/zombies-dockerfile-tini
2025-08-14 17:28:16 -04:00
Jose Diaz-Gonzalez
bd03e45860 Merge pull request #7850 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.25.0
chore(deps): bump golang from 1.24.6 to 1.25.0 in /tests/apps/go-fail-predeploy
2025-08-14 17:28:04 -04:00
Jose Diaz-Gonzalez
f4d2437922 Merge pull request #7851 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.25.0
chore(deps): bump golang from 1.24.6 to 1.25.0 in /tests/apps/go-fail-postdeploy
2025-08-14 17:27:58 -04:00
Jose Diaz-Gonzalez
8b5f134946 Merge pull request #7852 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.25.0
chore(deps): bump golang from 1.24.6 to 1.25.0 in /tests/apps/gogrpc
2025-08-14 17:27:39 -04:00
Jose Diaz-Gonzalez
3f0cc989d0 Merge pull request #7853 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.25.0
chore(deps): bump golang from 1.24.6 to 1.25.0 in /tests/apps/zombies-dockerfile-no-tini
2025-08-14 17:27:33 -04:00
Jose Diaz-Gonzalez
ed0832370d Merge pull request #7854 from dokku/dependabot/go_modules/plugins/scheduler-k3s/helm.sh/helm/v3-3.18.5
chore(deps): bump helm.sh/helm/v3 from 3.18.4 to 3.18.5 in /plugins/scheduler-k3s
2025-08-14 17:27:26 -04:00
dependabot[bot]
a55d5a10e0 chore(deps): bump helm.sh/helm/v3 in /plugins/scheduler-k3s
Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.18.4 to 3.18.5.
- [Release notes](https://github.com/helm/helm/releases)
- [Commits](https://github.com/helm/helm/compare/v3.18.4...v3.18.5)

---
updated-dependencies:
- dependency-name: helm.sh/helm/v3
  dependency-version: 3.18.5
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-14 17:17:39 +00:00
dependabot[bot]
07695e9aac chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.24.6 to 1.25.0.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-14 14:02:46 +00:00
dependabot[bot]
e28dd15881 chore(deps): bump golang from 1.24.6 to 1.25.0 in /tests/apps/gogrpc
Bumps golang from 1.24.6 to 1.25.0.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-14 13:40:21 +00:00
dependabot[bot]
3421d1082c chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.24.6 to 1.25.0.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-14 13:31:49 +00:00
dependabot[bot]
bfb424dc09 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.24.6 to 1.25.0.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-14 13:10:18 +00:00
dependabot[bot]
fe47ebd906 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.24.6 to 1.25.0.

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-14 13:04:49 +00:00
Jose Diaz-Gonzalez
f2e421daba fix: ensure tests properly fetch data from json output
Without this pathing update, the fetched data would sometimes also pull in containerStatus info for newer k8s versions.
2025-08-13 13:50:57 -04:00
Jose Diaz-Gonzalez
6ec9bc800d Merge pull request #7846 from dokku/fix-logs-tests
Correct issue in parsing escaped plus signs in vector sink values
2025-08-12 23:30:05 -04:00
Jose Diaz-Gonzalez
b759230411 fix: correct issue in parsing escaped plus signs in vector sink values 2025-08-12 22:05:16 -04:00
Jose Diaz-Gonzalez
82829ab84c Merge pull request #7845 from dokku/official-runners
Use the official github actions arm64 runner
2025-08-12 21:58:23 -04:00
Jose Diaz-Gonzalez
94eb2d0d8b ci: use the official github actions arm64 runner 2025-08-12 20:36:43 -04:00
Jose Diaz-Gonzalez
54b7ab616a Merge pull request #7841 from leksyib14/master
Fix handling of equals sign in vector sink values
2025-08-12 20:33:50 -04:00
Jose Diaz-Gonzalez
b0c2912453 fix: use newer qson to add support for escaped = (equals) signs
Equal signs should be escaped - %3D - in order to be used in values.
2025-08-12 20:15:27 -04:00
Jose Diaz-Gonzalez
3eeb9be292 chore: add trailing newline 2025-08-12 19:35:44 -04:00
leksyib14
c44d729831 fix: vector sink format issue 2025-08-12 19:35:44 -04:00
Jose Diaz-Gonzalez
e5280dbe34 Merge pull request #7842 from dokku/dependabot/github_actions/actions/checkout-5
chore(deps): bump actions/checkout from 4 to 5
2025-08-12 19:27:45 -04:00
Jose Diaz-Gonzalez
64f4314df3 Merge pull request #7844 from dokku/7308-ignore-symlinks
Do not change permissions on config directory symlinks
2025-08-12 16:36:59 -04:00
Jose Diaz-Gonzalez
dc35a7876c fix: do not change permissions on config directory symlinks
When running in docker, the 'config' directory can be a symlink, which causes issues during plugin installation.

Refs #7308
2025-08-11 23:46:14 -04:00
dependabot[bot]
a82c79d5b5 chore(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 02:57:31 +00:00
Jose Diaz-Gonzalez
d3054c4908 Merge pull request #7821 from dokku/dependabot/docker/plugins/traefik-vhosts/traefik-3.5.0
chore(deps): bump traefik from 3.4.4 to 3.5.0 in /plugins/traefik-vhosts
2025-08-11 22:57:07 -04:00
Jose Diaz-Gonzalez
9ea08636d4 Merge pull request #7843 from dokku/bump-go-modules
Bump go modules
2025-08-11 22:56:29 -04:00
Jose Diaz-Gonzalez
33e559adf6 fix: correct issues in linting 2025-08-11 22:44:17 -04:00
Jose Diaz-Gonzalez
2aa319a81a chore: bump go modules and run go mod tidy 2025-08-11 22:39:53 -04:00
Jose Diaz-Gonzalez
2f196e5c9c fix: pass in correct arguments 2025-08-11 22:31:29 -04:00
Jose Diaz-Gonzalez
38426ba304 docs: update history correctly 2025-08-11 22:31:29 -04:00
Jose Diaz-Gonzalez
38beed755b Merge pull request #7825 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/traefik/traefik/v2-2.11.28
chore(deps): bump github.com/traefik/traefik/v2 from 2.11.26 to 2.11.28 in /plugins/scheduler-k3s
2025-08-08 17:30:19 -04:00
Jose Diaz-Gonzalez
6bc410204e Merge pull request #7824 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.6.16
chore(deps): bump mkdocs-material from 9.6.15 to 9.6.16 in /docs/_build
2025-08-08 17:30:10 -04:00
Jose Diaz-Gonzalez
abcc7f00e1 Merge pull request #7823 from dokku/dependabot/pip/docs/_build/pymdown-extensions-10.16.1
chore(deps): bump pymdown-extensions from 10.16 to 10.16.1 in /docs/_build
2025-08-08 17:30:04 -04:00
Jose Diaz-Gonzalez
0690265f71 Merge pull request #7830 from dokku/dependabot/npm_and_yarn/tests/apps/multi/tmp-0.2.4
chore(deps): bump tmp from 0.2.1 to 0.2.4 in /tests/apps/multi
2025-08-08 17:29:38 -04:00
Jose Diaz-Gonzalez
cdb2d35adb Merge pull request #7831 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/protobuf-1.36.7
chore(deps): bump google.golang.org/protobuf from 1.36.6 to 1.36.7 in /tests/apps/gogrpc
2025-08-08 17:29:31 -04:00
Jose Diaz-Gonzalez
3deee63036 Merge pull request #7839 from dokku/dependabot/docker/tests/apps/dockerfile-release/python-3.13.6-bookworm
chore(deps): bump python from 3.13.5-bookworm to 3.13.6-bookworm in /tests/apps/dockerfile-release
2025-08-08 17:29:21 -04:00
Jose Diaz-Gonzalez
bef36c3b7c Merge pull request #7838 from dokku/dependabot/docker/docs/_build/python-3.13.6-alpine
chore(deps): bump python from 3.13.5-alpine to 3.13.6-alpine in /docs/_build
2025-08-08 17:29:15 -04:00
Jose Diaz-Gonzalez
12e6c71fb7 Merge pull request #7837 from dokku/dependabot/go_modules/plugins/common/golang.org/x/crypto-0.41.0
chore(deps): bump golang.org/x/crypto from 0.40.0 to 0.41.0 in /plugins/common
2025-08-08 17:29:09 -04:00
Jose Diaz-Gonzalez
a05ef80d64 Merge pull request #7836 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.24.6
chore(deps): bump golang from 1.24.5 to 1.24.6 in /tests/apps/zombies-dockerfile-tini
2025-08-08 17:29:04 -04:00
Jose Diaz-Gonzalez
9887134a4e Merge pull request #7835 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.24.6
chore(deps): bump golang from 1.24.5 to 1.24.6 in /tests/apps/zombies-dockerfile-no-tini
2025-08-08 17:28:56 -04:00
Jose Diaz-Gonzalez
38a21b8c2f Merge pull request #7834 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.24.6
chore(deps): bump golang from 1.24.5 to 1.24.6 in /tests/apps/go-fail-postdeploy
2025-08-08 17:28:37 -04:00
Jose Diaz-Gonzalez
e8dc3c650a Merge pull request #7833 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.24.6
chore(deps): bump golang from 1.24.5 to 1.24.6 in /tests/apps/gogrpc
2025-08-08 17:28:29 -04:00
Jose Diaz-Gonzalez
38db727e2f Merge pull request #7832 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.24.6
chore(deps): bump golang from 1.24.5 to 1.24.6 in /tests/apps/go-fail-predeploy
2025-08-08 17:28:19 -04:00
Jose Diaz-Gonzalez
de6f998fbc Merge pull request #7829 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/go-acme/lego/v4-4.25.2
chore(deps): bump github.com/go-acme/lego/v4 from 4.24.0 to 4.25.2 in /plugins/scheduler-k3s
2025-08-08 17:27:58 -04:00
Jose Diaz-Gonzalez
2138a882a0 Merge pull request #7828 from dokku/dependabot/github_actions/actions/download-artifact-5
chore(deps): bump actions/download-artifact from 4 to 5
2025-08-08 17:27:42 -04:00
dependabot[bot]
063750948d chore(deps): bump python in /tests/apps/dockerfile-release
Bumps python from 3.13.5-bookworm to 3.13.6-bookworm.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-08 13:44:17 +00:00
dependabot[bot]
51cdcab328 chore(deps): bump python in /docs/_build
Bumps python from 3.13.5-alpine to 3.13.6-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-08 13:10:45 +00:00
dependabot[bot]
db0ba7ad89 chore(deps): bump golang.org/x/crypto in /plugins/common
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.40.0 to 0.41.0.
- [Commits](https://github.com/golang/crypto/compare/v0.40.0...v0.41.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.41.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-08 13:08:47 +00:00
dependabot[bot]
2597ec2c3d chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.24.5 to 1.24.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-07 14:06:48 +00:00
dependabot[bot]
b3bbb30a6b chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.24.5 to 1.24.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-07 14:04:12 +00:00
dependabot[bot]
0a56782780 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.24.5 to 1.24.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-07 13:57:00 +00:00
dependabot[bot]
201da01ae7 chore(deps): bump golang from 1.24.5 to 1.24.6 in /tests/apps/gogrpc
Bumps golang from 1.24.5 to 1.24.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-07 13:40:42 +00:00
dependabot[bot]
abf62bdf1f chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.24.5 to 1.24.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-07 13:21:51 +00:00
dependabot[bot]
1b5332cd45 chore(deps): bump google.golang.org/protobuf in /tests/apps/gogrpc
Bumps google.golang.org/protobuf from 1.36.6 to 1.36.7.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-07 13:11:17 +00:00
dependabot[bot]
083cf3ac90 chore(deps): bump tmp from 0.2.1 to 0.2.4 in /tests/apps/multi
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.1 to 0.2.4.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.1...v0.2.4)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-06 18:39:07 +00:00
dependabot[bot]
bdf87e32e8 chore(deps): bump github.com/go-acme/lego/v4 in /plugins/scheduler-k3s
Bumps [github.com/go-acme/lego/v4](https://github.com/go-acme/lego) from 4.24.0 to 4.25.2.
- [Release notes](https://github.com/go-acme/lego/releases)
- [Changelog](https://github.com/go-acme/lego/blob/master/CHANGELOG.md)
- [Commits](https://github.com/go-acme/lego/compare/v4.24.0...v4.25.2)

---
updated-dependencies:
- dependency-name: github.com/go-acme/lego/v4
  dependency-version: 4.25.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-06 17:29:38 +00:00
dependabot[bot]
410f1b3d23 chore(deps): bump actions/download-artifact from 4 to 5
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-06 13:44:17 +00:00
dependabot[bot]
e57a141b36 chore(deps): bump github.com/traefik/traefik/v2
Bumps [github.com/traefik/traefik/v2](https://github.com/traefik/traefik) from 2.11.26 to 2.11.28.
- [Release notes](https://github.com/traefik/traefik/releases)
- [Changelog](https://github.com/traefik/traefik/blob/master/CHANGELOG.md)
- [Commits](https://github.com/traefik/traefik/compare/v2.11.26...v2.11.28)

---
updated-dependencies:
- dependency-name: github.com/traefik/traefik/v2
  dependency-version: 2.11.28
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-01 18:09:39 +00:00
dependabot[bot]
9b8faf2b27 chore(deps): bump mkdocs-material from 9.6.15 to 9.6.16 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.15 to 9.6.16.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.15...9.6.16)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.6.16
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 18:20:59 +00:00
dependabot[bot]
1ae63ebe01 chore(deps): bump pymdown-extensions in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.16 to 10.16.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.16...10.16.1)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-version: 10.16.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 18:12:12 +00:00
dependabot[bot]
548e891004 chore(deps): bump traefik from 3.4.4 to 3.5.0 in /plugins/traefik-vhosts
Bumps traefik from 3.4.4 to 3.5.0.

---
updated-dependencies:
- dependency-name: traefik
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-24 13:43:41 +00:00
Dokku Bot
9df8b7c25e Release 0.36.0
# History

## 0.36.0

Install/update via the bootstrap script:

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

See the [0.36.0 migration guide](/docs/appendices/0.36.0-migration-guide.md) for more information on migrating to 0.36.0.
2025-07-24 03:21:55 +00:00
Jose Diaz-Gonzalez
95b237c3c7 Merge pull request #7820 from dokku/ignore-brew-doctor-warnings
Ignore brew doctor warnings when releasing Dokku as a homebrew formula
2025-07-23 22:37:29 -04:00
Jose Diaz-Gonzalez
0a0368864d fix: ignore brew doctor warnings when releasing Dokku as a homebrew formula 2025-07-23 22:37:08 -04:00
Jose Diaz-Gonzalez
203af51f02 Merge pull request #7775 from dokku/dependabot/go_modules/plugins/cron/mvdan.cc/sh/v3-3.12.0
chore(deps): bump mvdan.cc/sh/v3 from 3.11.0 to 3.12.0 in /plugins/cron
2025-07-23 22:30:14 -04:00
Jose Diaz-Gonzalez
98e8a9bd67 chore: bump modules 2025-07-23 22:26:41 -04:00
dependabot[bot]
29cf81c45e chore(deps): bump mvdan.cc/sh/v3 from 3.11.0 to 3.12.0 in /plugins/cron
Bumps [mvdan.cc/sh/v3](https://github.com/mvdan/sh) from 3.11.0 to 3.12.0.
- [Release notes](https://github.com/mvdan/sh/releases)
- [Changelog](https://github.com/mvdan/sh/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mvdan/sh/compare/v3.11.0...v3.12.0)

---
updated-dependencies:
- dependency-name: mvdan.cc/sh/v3
  dependency-version: 3.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-24 02:24:58 +00:00
Jose Diaz-Gonzalez
aff910c85a Merge pull request #7815 from dokku/dependabot/go_modules/plugins/config/github.com/onsi/gomega-1.38.0
chore(deps): bump github.com/onsi/gomega from 1.37.0 to 1.38.0 in /plugins/config
2025-07-23 22:23:41 -04:00
Jose Diaz-Gonzalez
4ac363cdb2 chore: bump modules 2025-07-23 22:23:15 -04:00
Jose Diaz-Gonzalez
f011631c67 Merge pull request #7810 from dokku/dependabot/go_modules/plugins/config/github.com/spf13/pflag-1.0.7
chore(deps): bump github.com/spf13/pflag from 1.0.6 to 1.0.7 in /plugins/config
2025-07-23 22:18:17 -04:00
Jose Diaz-Gonzalez
d26b5de742 chore: bump modules 2025-07-23 22:17:19 -04:00
dependabot[bot]
a4078e97bd chore(deps): bump github.com/spf13/pflag in /plugins/config
Bumps [github.com/spf13/pflag](https://github.com/spf13/pflag) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/spf13/pflag/releases)
- [Commits](https://github.com/spf13/pflag/compare/v1.0.6...v1.0.7)

---
updated-dependencies:
- dependency-name: github.com/spf13/pflag
  dependency-version: 1.0.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-23 22:16:19 -04:00
Jose Diaz-Gonzalez
dc959d6a41 Merge pull request #7783 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.24.5
chore(deps): bump golang from 1.24.4 to 1.24.5 in /tests/apps/go-fail-postdeploy
2025-07-23 22:15:29 -04:00
Jose Diaz-Gonzalez
61bab89189 Merge pull request #7772 from dokku/dependabot/docker/plugins/logs/timberio/vector-0.48.0-debian
chore(deps): bump timberio/vector from 0.47.0-debian to 0.48.0-debian in /plugins/logs
2025-07-23 22:15:09 -04:00
Jose Diaz-Gonzalez
3a0d0c182c Merge pull request #7763 from dokku/dependabot/pip/docs/_build/pymdown-extensions-10.16
chore(deps): bump pymdown-extensions from 10.15 to 10.16 in /docs/_build
2025-07-23 22:14:57 -04:00
Jose Diaz-Gonzalez
19f37b537a Merge pull request #7771 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.6.15
chore(deps): bump mkdocs-material from 9.6.14 to 9.6.15 in /docs/_build
2025-07-23 22:14:48 -04:00
Jose Diaz-Gonzalez
9e44195694 Merge pull request #7754 from dokku/dependabot/pip/tests/apps/lambda-python/requests-2.32.4
chore(deps): bump requests from 2.32.0 to 2.32.4 in /tests/apps/lambda-python
2025-07-23 22:14:29 -04:00
Jose Diaz-Gonzalez
f45ad26429 Merge pull request #7768 from dokku/dependabot/bundler/tests/apps/ruby/thin-2.0.1
chore(deps): bump thin from 1.8.2 to 2.0.1 in /tests/apps/ruby
2025-07-23 22:14:13 -04:00
dependabot[bot]
86351887f4 chore(deps): bump pymdown-extensions from 10.15 to 10.16 in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.15 to 10.16.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.15...10.16)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-version: '10.16'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-24 02:14:07 +00:00
Jose Diaz-Gonzalez
8f99cd5f2b Merge pull request #7753 from dokku/dependabot/pip/docs/_build/zipp-3.23.0
chore(deps): bump zipp from 3.22.0 to 3.23.0 in /docs/_build
2025-07-23 22:13:43 -04:00
Jose Diaz-Gonzalez
dc67a5cb5b Merge pull request #7757 from dokku/dependabot/docker/docs/_build/python-3.13.5-alpine
chore(deps): bump python from 3.13.4-alpine to 3.13.5-alpine in /docs/_build
2025-07-23 22:13:16 -04:00
Jose Diaz-Gonzalez
e971ca3686 Merge pull request #7756 from dokku/dependabot/docker/tests/apps/dockerfile-release/python-3.13.5-bookworm
chore(deps): bump python from 3.13.4-bookworm to 3.13.5-bookworm in /tests/apps/dockerfile-release
2025-07-23 22:13:08 -04:00
Jose Diaz-Gonzalez
46e22ba573 Merge pull request #7766 from dokku/dependabot/docker/plugins/caddy-vhosts/lucaslorentz/caddy-docker-proxy-2.10
chore(deps): bump lucaslorentz/caddy-docker-proxy from 2.9 to 2.10 in /plugins/caddy-vhosts
2025-07-23 22:12:45 -04:00
Jose Diaz-Gonzalez
f1aba77b1b Merge pull request #7765 from dokku/dependabot/pip/docs/_build/pygments-2.19.2
chore(deps): bump pygments from 2.19.1 to 2.19.2 in /docs/_build
2025-07-23 22:12:21 -04:00
Jose Diaz-Gonzalez
05e6de4fe2 Merge pull request #7784 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.24.5
chore(deps): bump golang from 1.24.4 to 1.24.5 in /tests/apps/gogrpc
2025-07-23 22:12:05 -04:00
Jose Diaz-Gonzalez
7e108de502 Merge pull request #7785 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.24.5
chore(deps): bump golang from 1.24.4 to 1.24.5 in /tests/apps/go-fail-predeploy
2025-07-23 22:11:58 -04:00
Jose Diaz-Gonzalez
074de26cbd Merge pull request #7786 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.24.5
chore(deps): bump golang from 1.24.4 to 1.24.5 in /tests/apps/zombies-dockerfile-tini
2025-07-23 22:11:52 -04:00
Jose Diaz-Gonzalez
05637fa64b Merge pull request #7787 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.24.5
chore(deps): bump golang from 1.24.4 to 1.24.5 in /tests/apps/zombies-dockerfile-no-tini
2025-07-23 22:11:45 -04:00
Jose Diaz-Gonzalez
ebf20e9236 Merge pull request #7792 from dokku/dependabot/docker/tests/apps/dockerfile-entrypoint/ruby-3.4.5
chore(deps): bump ruby from 3.4.4 to 3.4.5 in /tests/apps/dockerfile-entrypoint
2025-07-23 22:11:36 -04:00
Jose Diaz-Gonzalez
35d7597a25 Merge pull request #7814 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.74.2
chore(deps): bump google.golang.org/grpc from 1.73.0 to 1.74.2 in /tests/apps/gogrpc
2025-07-23 22:11:14 -04:00
Jose Diaz-Gonzalez
f91b7154d4 Merge pull request #7819 from dokku/dependabot/npm_and_yarn/tests/apps/multi/brace-expansion-1.1.12
chore(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /tests/apps/multi
2025-07-23 22:10:43 -04:00
Jose Diaz-Gonzalez
fdbdbd50fc Merge pull request #7791 from dokku/dependabot/docker/plugins/traefik-vhosts/traefik-3.4.4
chore(deps): bump traefik from 3.4.1 to 3.4.4 in /plugins/traefik-vhosts
2025-07-23 22:10:04 -04:00
dependabot[bot]
9ffa564abd chore(deps): bump github.com/onsi/gomega in /plugins/config
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.37.0 to 1.38.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/gomega/compare/v1.37.0...v1.38.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-version: 1.38.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-24 02:08:39 +00:00
Jose Diaz-Gonzalez
a9df9cfd86 Merge pull request #7790 from dokku/dependabot/go_modules/plugins/common/golang.org/x/crypto-0.40.0
chore(deps): bump golang.org/x/crypto from 0.39.0 to 0.40.0 in /plugins/common
2025-07-23 22:08:12 -04:00
Jose Diaz-Gonzalez
d226b02a49 chore: bump modules 2025-07-23 22:06:48 -04:00
dependabot[bot]
fa9b5308cd chore(deps): bump golang.org/x/crypto in /plugins/common
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.39.0 to 0.40.0.
- [Commits](https://github.com/golang/crypto/compare/v0.39.0...v0.40.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.40.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-24 02:04:31 +00:00
dependabot[bot]
60d8a667af chore(deps): bump brace-expansion in /tests/apps/multi
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-24 02:03:56 +00:00
Jose Diaz-Gonzalez
328aa3779c Merge pull request #7750 from dokku/0.36-release
Release 0.36.0
2025-07-23 22:02:58 -04:00
Jose Diaz-Gonzalez
b1b43f487c Merge pull request #7818 from dokku/drop-ubuntu-20-04
Drop support for Ubuntu 20.04
2025-07-23 21:55:40 -04:00
Jose Diaz-Gonzalez
344cb39a44 chore: drop support for Ubuntu 20.04
This is no longer supported upstream by Canonical.
2025-07-23 21:55:23 -04:00
Jose Diaz-Gonzalez
bcefa92f30 Merge pull request #7776 from dokku/k3s-kustomize
Add kustomize support for applying helm charts
2025-07-23 21:48:32 -04:00
Jose Diaz-Gonzalez
245263d2ad docs: add documentation for Kustomize usage 2025-07-23 20:59:28 -04:00
Jose Diaz-Gonzalez
dd7589323e feat: implement fetching the process-specific kustomize root path 2025-07-23 20:47:46 -04:00
Jose Diaz-Gonzalez
4aed599d8c fix: do not run helm in dry-run mode when trace-mode is enabled 2025-07-23 20:47:31 -04:00
Jose Diaz-Gonzalez
cd275138f3 fix: actually use helper to inject template 2025-07-23 20:46:47 -04:00
Jose Diaz-Gonzalez
476cc6045f fix: add resources to injected template 2025-07-23 20:46:37 -04:00
Jose Diaz-Gonzalez
553378085f fix: ensure the rendered.yaml file is written into the secure filesystem 2025-07-23 20:35:02 -04:00
Jose Diaz-Gonzalez
2958f906e4 chore: update and move comment in rendered template 2025-07-23 20:28:40 -04:00
Jose Diaz-Gonzalez
68f909b91d fix: only process web-related templates when there is a web section embedded in the template 2025-07-23 20:16:49 -04:00
Jose Diaz-Gonzalez
78bde7f817 feat: add more context for warning about not having an autoscaling config 2025-07-23 20:15:08 -04:00
Jose Diaz-Gonzalez
e7964ee99d chore: remove debug code 2025-07-23 18:52:43 -04:00
Jose Diaz-Gonzalez
8f44a57158 fix: return the initial manifests if there is no kustomize root path 2025-07-23 18:52:43 -04:00
Jose Diaz-Gonzalez
d33393d3fd feat: debug failed global helm chart installations by checking all pod logs 2025-07-23 18:40:43 -04:00
Jose Diaz-Gonzalez
7595351b1d debug: check on what pods are running in the cert-manager namespace 2025-07-23 18:40:43 -04:00
Jose Diaz-Gonzalez
3edddac0c1 fix: create the data directory 2025-07-23 18:40:43 -04:00
Jose Diaz-Gonzalez
0a86ffe01b fix: add missing scheduler-k3s directory 2025-07-23 18:40:43 -04:00
Jose Diaz-Gonzalez
563365b712 fix: add name to app-json trigger code and some formatting 2025-07-23 18:40:43 -04:00
Jose Diaz-Gonzalez
b6fdd4511c fix: add validation to input for common trigger functions 2025-07-23 18:40:43 -04:00
Jose Diaz-Gonzalez
b24035c80a refactor: use a common implementation to move files into place in golang core-post-deploy implementations 2025-07-23 18:40:43 -04:00
Jose Diaz-Gonzalez
58c6b137b0 refactor: use a common implementation to extract kustomize files 2025-07-23 18:40:43 -04:00
Jose Diaz-Gonzalez
fd6e56cc5f fix: correct kustomize root path check 2025-07-23 18:40:43 -04:00
Jose Diaz-Gonzalez
d0ffd7d9f9 feat: stub out kustomize renderer
The process-specific kustomize root path is not currently set, but will be soon.
2025-07-23 18:40:43 -04:00
Jose Diaz-Gonzalez
272327af89 chore: add docs to the ChartInput type 2025-07-23 18:40:43 -04:00
Jose Diaz-Gonzalez
e83ba595aa fix: correct issues with passing a KustomizeRenderer 2025-07-23 18:40:43 -04:00
Jose Diaz-Gonzalez
04917b72d4 fix: ensure the directories are deleted 2025-07-23 18:40:43 -04:00
Jose Diaz-Gonzalez
e0617b209d feat: extract kustomize directory from repo during deploys 2025-07-23 18:40:43 -04:00
Jose Diaz-Gonzalez
1b4e02eb62 feat: create a KustomizeRenderer
The KustomizeRenderer is used to invoke Kustomize to the generated renderer.yaml.
2025-07-23 18:34:53 -04:00
Jose Diaz-Gonzalez
5ae6c1c845 feat: add the ability to specify a kustomize-root-path
This will default to `config/kustomize`, though may change to `.dokku/kustomize` in the future.
2025-07-23 18:34:53 -04:00
Jose Diaz-Gonzalez
e034421ea9 fix: ensure the InstallChart function also attaches the debug renderer 2025-07-23 18:34:53 -04:00
Jose Diaz-Gonzalez
1cbaabdda0 Merge pull request #7816 from dokku/common-core-triggers
Use helper go functions to handle extracting files from a repository
2025-07-23 18:34:40 -04: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
3116880b75 Merge pull request #7812 from CiTroNaK/feat/dokku-caddy-label-key
Allow specifying a custom top-level label key for the caddy proxy
2025-07-23 15:54:55 -04:00
Jose Diaz-Gonzalez
5961306813 Merge pull request #7811 from slava-sh/fix-6939
Fix issue deploying from a tar file
2025-07-23 15:54:29 -04:00
Petr Hlavicka
acf2c854d2 test 2025-07-23 14:49:15 -04:00
Petr Hlavicka
bf3b2d396b update docs 2025-07-23 14:49:15 -04:00
Petr Hlavicka
3c6796bd7b use it 2025-07-23 14:49:15 -04:00
Petr Hlavicka
22c3d34877 add get function 2025-07-23 14:49:15 -04:00
Petr Hlavicka
b151192394 enable key 2025-07-23 14:49:15 -04:00
Slava Shklyaev
fb405c64ab Fix #6939 2025-07-23 14:46:21 -04:00
dependabot[bot]
3826f40c6f chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.73.0 to 1.74.2.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.73.0...v1.74.2)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.74.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-23 13:36:29 +00:00
dependabot[bot]
0156cffe0f chore(deps): bump ruby in /tests/apps/dockerfile-entrypoint
Bumps ruby from 3.4.4 to 3.4.5.

---
updated-dependencies:
- dependency-name: ruby
  dependency-version: 3.4.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-16 13:14:31 +00:00
dependabot[bot]
a19741aba9 chore(deps): bump traefik from 3.4.1 to 3.4.4 in /plugins/traefik-vhosts
Bumps traefik from 3.4.1 to 3.4.4.

---
updated-dependencies:
- dependency-name: traefik
  dependency-version: 3.4.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 16:40:20 +00:00
dependabot[bot]
85eca2167b chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.24.4 to 1.24.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 14:21:04 +00:00
dependabot[bot]
431e43ac6d chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.24.4 to 1.24.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 13:49:22 +00:00
dependabot[bot]
936706e880 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.24.4 to 1.24.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 13:43:50 +00:00
dependabot[bot]
1ecf975b53 chore(deps): bump golang from 1.24.4 to 1.24.5 in /tests/apps/gogrpc
Bumps golang from 1.24.4 to 1.24.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 13:12:52 +00:00
dependabot[bot]
7859145409 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.24.4 to 1.24.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 13:06:49 +00:00
Jose Diaz-Gonzalez
77694de6ff Merge pull request #7782 from dokku/k3s-update-dependencies
Update golang dependencies in scheduler-k3s plugin
2025-07-08 23:48:00 -04:00
Jose Diaz-Gonzalez
83de73ccdb chore(deps): update golang dependencies in scheduler-k3s plugin 2025-07-08 22:56:48 -04:00
Jose Diaz-Gonzalez
d8938ebf77 Merge pull request #7781 from dokku/fix-gitignore
Update gitignore to remove compiled triggers from repo
2025-07-08 22:35:02 -04:00
Jose Diaz-Gonzalez
2d4039ab69 chore: update gitignore to remove compiled triggers from repo 2025-07-08 22:34:30 -04:00
Jose Diaz-Gonzalez
e584e336f8 Merge pull request #7780 from dokku/devcontainer-enter
Export the devcontainer environment to allow docker exec to work
2025-07-08 22:33:10 -04:00
Jose Diaz-Gonzalez
27b5fd93fd feat: export the devcontainer environment to allow docker exec to work
This will allow Dokku developers access to the devcontainer on their preferred terminal vs just the built-in one in VSCode.
2025-07-08 22:32:46 -04:00
Jose Diaz-Gonzalez
249df86dfd Merge pull request #7779 from dokku/update-golang
feat: update golang to 1.24
2025-07-08 22:12:43 -04:00
Jose Diaz-Gonzalez
ff01c3df7b Merge pull request #7777 from coorasse/patch-1
Fix typo in 0.36.0 migration guide
2025-07-08 21:54:23 -04:00
Jose Diaz-Gonzalez
2c30c03ef7 fix: non-constant format string in call to fmt.Printf 2025-07-08 21:28:57 -04:00
Jose Diaz-Gonzalez
93f12c59e6 feat: update golang to 1.24 2025-07-08 21:14:33 -04:00
Alessandro Rodi
3cc29ff016 Update 0.36.0-migration-guide.md 2025-07-08 14:01:03 +02:00
Jose Diaz-Gonzalez
b336e3633d Merge pull request #7773 from dokku/7665-chart-override
Use values.yaml correctly within internal Kubernetes Helm Chart
2025-07-05 22:45:26 -04:00
Jose Diaz-Gonzalez
4a891f74bd fix: correct scope for capability checks 2025-07-04 06:09:03 -04:00
Jose Diaz-Gonzalez
27dbae3703 fix: correct scope for capability checks 2025-07-04 04:24:09 -04:00
Jose Diaz-Gonzalez
f7800adb68 fix: correct scope for capability checks 2025-07-04 04:24:09 -04:00
Jose Diaz-Gonzalez
c472c2a3c7 refactor use chart values directly instead of attempting to template out cron-job and keda files 2025-07-04 04:24:09 -04:00
Jose Diaz-Gonzalez
1b95e01ea3 fix: move range 2025-07-04 04:24:09 -04:00
Jose Diaz-Gonzalez
6da9be2d65 refactor: use chart values directly instead of attempting to template out cron-job and keda files 2025-07-04 04:24:09 -04:00
Jose Diaz-Gonzalez
fd2fb6c605 Merge pull request #7774 from dokku/7728-remove-ansi-escape
Remove ansi escape characters that dropped the remote: prefix in deploy output
2025-07-04 04:22:56 -04:00
Jose Diaz-Gonzalez
04b2643b4f chore: remove ansi escape characters that dropped the remote: prefix in deploy output
Closes #7728
2025-07-04 02:36:42 -04:00
Jose Diaz-Gonzalez
c4d700c1b0 Merge pull request #7769 from devopswithnaman/fix/registry-error-handling
Improve error handling in docker operations
2025-07-04 02:05:03 -04:00
Jose Diaz-Gonzalez
2bcfea9b2b Merge pull request #7442 from turicas/fix/domains-semantics
Update how domains:clear works and add domains:reset command
2025-07-02 02:26:11 -04:00
Naman gandhi
8b07e92391 fix(registry): improve error handling in docker operations
- Replace boolean return values with proper error handling in dockerTag and dockerPush functions
- Add detailed error context including Docker command exit codes and stderr output
- Remove TODO comments and improve error messages for better debugging
- Fix error message formatting in defer function

This addresses the TODO comments for better error handling and provides
users with actionable error information when Docker registry operations fail.

Closes: #XXXX
2025-07-02 01:34:15 -04:00
Jose Diaz-Gonzalez
a2ac21130a docs: add migration note 2025-07-02 01:22:05 -04:00
Jose Diaz-Gonzalez
ea6adbbf56 fix: add missing trigger and use helper function for clearing vhost 2025-07-02 01:21:57 -04:00
Jose Diaz-Gonzalez
b11c72d0ae tests: update test logic 2025-07-02 01:17:57 -04:00
Jose Diaz-Gonzalez
77970a6b0d chore: revert doc change 2025-07-02 01:17:09 -04:00
Jose Diaz-Gonzalez
6a0701fa65 chore: revert doc change 2025-07-02 01:15:27 -04:00
Jose Diaz-Gonzalez
a062e283fe chore: revert doc change 2025-07-02 01:14:30 -04:00
Jose Diaz-Gonzalez
624acb8e18 chore: revert doc change 2025-07-02 01:12:35 -04:00
Álvaro Justen (@turicas)
67311264d7 Implement domains:reset 2025-07-01 20:11:48 -04:00
Álvaro Justen (@turicas)
b97086a8bd domains:clear now removes ALL app domains 2025-07-01 20:11:48 -04:00
dependabot[bot]
ce0da53f86 chore(deps): bump timberio/vector in /plugins/logs
Bumps timberio/vector from 0.47.0-debian to 0.48.0-debian.

---
updated-dependencies:
- dependency-name: timberio/vector
  dependency-version: 0.48.0-debian
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-01 14:23:48 +00:00
dependabot[bot]
1a27cdd0ea chore(deps): bump mkdocs-material from 9.6.14 to 9.6.15 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.14 to 9.6.15.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.14...9.6.15)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.6.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-01 13:52:26 +00:00
Jose Diaz-Gonzalez
7b45131486 Merge pull request #7499 from nonZero/custom-nginx-command
feat(nginx-vhosts): add support for custom nginx service command
2025-06-30 18:56:58 -04:00
Jose Diaz-Gonzalez
06de81b61b refactor: allow custom nginx command to be set as an nginx property
This avoids adding a new environment variable in favor of a script that can be called both globally as well as on a per-app basis.
2025-06-30 03:29:43 -04:00
Udi Oron
a331d27945 feat(nginx-vhosts): add support for custom nginx service command 2025-06-30 03:22:07 -04:00
Jose Diaz-Gonzalez
926176bbb6 Merge pull request #7504 from dokku/7396-scale-without-restart
Only redeploy formations that have had their values changed
2025-06-30 03:04:31 -04:00
Jose Diaz-Gonzalez
5cd86d23e6 tests: add tests for scaling without restarting untouched process types 2025-06-30 01:48:09 -04:00
dependabot[bot]
8e178f5895 chore(deps): bump thin from 1.8.2 to 2.0.1 in /tests/apps/ruby
Bumps [thin](https://github.com/macournoyer/thin) from 1.8.2 to 2.0.1.
- [Release notes](https://github.com/macournoyer/thin/releases)
- [Changelog](https://github.com/macournoyer/thin/blob/master/CHANGELOG)
- [Commits](https://github.com/macournoyer/thin/compare/v1.8.2...v2.0.1)

---
updated-dependencies:
- dependency-name: thin
  dependency-version: 2.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-24 13:07:11 +00:00
dependabot[bot]
9496b9cfaf chore(deps): bump lucaslorentz/caddy-docker-proxy
Bumps lucaslorentz/caddy-docker-proxy from 2.9 to 2.10.

---
updated-dependencies:
- dependency-name: lucaslorentz/caddy-docker-proxy
  dependency-version: '2.10'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 15:57:00 +00:00
dependabot[bot]
6fc2d42fe0 chore(deps): bump pygments from 2.19.1 to 2.19.2 in /docs/_build
Bumps [pygments](https://github.com/pygments/pygments) from 2.19.1 to 2.19.2.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.19.1...2.19.2)

---
updated-dependencies:
- dependency-name: pygments
  dependency-version: 2.19.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 15:07:43 +00:00
Jose Diaz-Gonzalez
1eb41f32dc feat: only redeploy formations that have had their values changed
Rather than redeploy every formation, only deploy formations that have had their values changed from the defaults.

This still doesn't handle the case where we touch existing processes when scaling _up_, but should decrease the number of services touched otherwise during scaling.

Also note that there are no tests for this new behavior yet (tests incoming).

Refs #7396
2025-06-23 04:42:09 -04:00
Jose Diaz-Gonzalez
bc75bffed2 Merge pull request #7762 from dokku/fix-buildpack-tests
Reference new packeto buildpack urls
2025-06-23 04:41:37 -04:00
Jose Diaz-Gonzalez
944d808bc6 Merge pull request #7579 from dokku/6872-stop-all
Stop all app containers when calling ps:stop
2025-06-23 04:41:25 -04:00
Jose Diaz-Gonzalez
885178eed5 feat: turn warnings to failures when running validation against an app.json file 2025-06-23 01:03:10 -04:00
Jose Diaz-Gonzalez
7e37f9dc79 fix: add missing trigger 2025-06-23 00:22:38 -04:00
Jose Diaz-Gonzalez
7cd077a79b debug: stream stdout/stderr 2025-06-19 21:19:24 -04:00
Jose Diaz-Gonzalez
7c2df65514 fix: reference new packeto buildpack urls
See https://blog.paketo.io/posts/paketo-gcr-registry-sunset/ for details.
2025-06-19 21:17:58 -04:00
Jose Diaz-Gonzalez
2324cb888b refactor: check for extracted file and add logging message 2025-06-19 20:53:20 -04:00
Jose Diaz-Gonzalez
4ae9cca6f1 feat: implement app-json-is-valid plugin trigger 2025-06-19 02:20:02 -04:00
Jose Diaz-Gonzalez
ed851fe399 refactor: warn when invalid cron entries might be written 2025-06-19 01:11:29 -04:00
Jose Diaz-Gonzalez
776013b0f4 fix: write the cron config after the app.json has been deleted
Without this, we try to write the config for the app even though it doesn't exist anymore, causing issues with deleting apps with invalid cron configs.
2025-06-19 01:09:15 -04:00
Jose Diaz-Gonzalez
6f0039ebf1 fix: add missing source 2025-06-18 23:51:39 -04:00
Jose Diaz-Gonzalez
8d0c35f133 Merge pull request #7761 from largemouth/master
Fix struct name in comment
2025-06-18 12:13:09 -04:00
largemouth
bc61d106e4 chore: fix struct name in comment
Signed-off-by: largemouth <largemouth@aliyun.com>
2025-06-17 18:11:21 +08:00
Jose Diaz-Gonzalez
d0208b0ecc Merge pull request #7759 from olleolleolle/patch-1
Drop mention of dokkufy gem archived in 2017
2025-06-16 01:52:17 -04:00
Jose Diaz-Gonzalez
5df1d77c04 Merge branch 'master' into patch-1 2025-06-16 01:52:05 -04:00
Jose Diaz-Gonzalez
29dc0b5980 Merge pull request #7760 from olleolleolle/patch-2
Drop dokku-client gem, homepage 404s
2025-06-16 01:51:30 -04:00
Olle Jonsson
a4983f8d7d clients.md: Drop dokku-client gem, homepage 404s 2025-06-15 23:41:54 +02:00
Olle Jonsson
ecf852567c clients.md: Drop mention of dokkufy gem archived in 2017 2025-06-15 23:37:20 +02:00
dependabot[bot]
f9f931b2b6 chore(deps): bump python in /docs/_build
Bumps python from 3.13.4-alpine to 3.13.5-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-13 14:01:53 +00:00
dependabot[bot]
024715fbf1 chore(deps): bump python in /tests/apps/dockerfile-release
Bumps python from 3.13.4-bookworm to 3.13.5-bookworm.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-13 13:50:23 +00:00
Jose Diaz-Gonzalez
73be6989ff fix: ensure invalid cron triggers fail a deploy 2025-06-10 23:55:06 -04:00
Jose Diaz-Gonzalez
67003ed469 fix: skip cron entries that are missing a command or a schedule 2025-06-10 23:39:35 -04:00
Jose Diaz-Gonzalez
2758b3cc47 chore: rename trigger function 2025-06-10 23:36:10 -04:00
Jose Diaz-Gonzalez
36da77a2ff fix: write cron in pre-delete phase 2025-06-10 21:46:07 -04:00
Jose Diaz-Gonzalez
b663f71878 feat: only write cron entries when working on docker-local scheduler 2025-06-10 21:45:08 -04:00
Jose Diaz-Gonzalez
398a78b2f6 refactor: move cron-write to scheduler-cron-write 2025-06-10 21:45:08 -04:00
Jose Diaz-Gonzalez
2dea993804 fix: also stop k8s cron tasks when calling ps:stop 2025-06-10 21:45:08 -04:00
Jose Diaz-Gonzalez
7b0d3b14bc fix: stop all app containers when calling ps:stop
Closes #6872
2025-06-10 21:45:08 -04:00
Jose Diaz-Gonzalez
0d6199d0cb Merge pull request #7755 from olleolleolle/patch-1
Update checkout action version in github actions documentation
2025-06-10 21:43:56 -04:00
Dokku Bot
56d65bfaba Release 0.35.20
# History

## 0.35.20

Install/update via the bootstrap script:

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

### Bug Fixes

- #7726: @josegonzalez Ensure compose projects are spawned from the /tmp directory
- #7725: @josegonzalez Uninstall hashicorp tap to fix formula releases

### Dependencies

- #7735: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.72.2 to 1.73.0 in /tests/apps/gogrpc
- #7737: @dependabot[bot] chore(deps): bump python from 3.13.3-alpine to 3.13.4-alpine in /docs/_build
- #7738: @dependabot[bot] chore(deps): bump python from 3.13.3-bookworm to 3.13.4-bookworm in /tests/apps/dockerfile-release
- #7745: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.38.0 to 0.39.0 in /plugins/common
- #7740: @dependabot[bot] chore(deps): bump golang from 1.24.3 to 1.24.4 in /tests/apps/gogrpc
- #7741: @dependabot[bot] chore(deps): bump golang from 1.24.3 to 1.24.4 in /tests/apps/go-fail-postdeploy
- #7742: @dependabot[bot] chore(deps): bump golang from 1.24.3 to 1.24.4 in /tests/apps/zombies-dockerfile-tini
- #7743: @dependabot[bot] chore(deps): bump golang from 1.24.3 to 1.24.4 in /tests/apps/go-fail-predeploy
- #7744: @dependabot[bot] chore(deps): bump golang from 1.24.3 to 1.24.4 in /tests/apps/zombies-dockerfile-no-tini
- #7730: @dependabot[bot] chore(deps): bump traefik from 3.4.0 to 3.4.1 in /plugins/traefik-vhosts
- #7729: @dependabot[bot] chore(deps): bump zipp from 3.21.0 to 3.22.0 in /docs/_build
- #7727: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.72.1 to 1.72.2 in /tests/apps/gogrpc

### Other

- #7746: @dependabot[bot] chore(deps): bump django from 5.0.14 to 5.1.10 in /tests/apps/dockerfile-release
- #7731: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.24 to 2.11.25 in /plugins/scheduler-k3s
2025-06-11 00:46:02 +00:00
Olle Jonsson
d83978760e [docs] github-actions.md: use latest Checkout action version 2025-06-10 19:33:47 +02:00
dependabot[bot]
3e08a71a95 chore(deps): bump requests in /tests/apps/lambda-python
Bumps [requests](https://github.com/psf/requests) from 2.32.0 to 2.32.4.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.32.0...v2.32.4)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.32.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-10 08:19:59 +00:00
Jose Diaz-Gonzalez
5ca09b0081 Merge pull request #7577 from dokku/6872-stop-handling
Migrate DOKKU_DOCKER_STOP_TIMEOUT to ps setting
2025-06-09 13:10:42 -04:00
Jose Diaz-Gonzalez
5e1f177d1c chore: revert local 2025-06-09 11:39:00 -04:00
Jose Diaz-Gonzalez
86a6b2e246 fix: reference correct variable 2025-06-09 11:39:00 -04:00
Jose Diaz-Gonzalez
3a16724fbe docs: correct commands 2025-06-09 11:39:00 -04:00
Jose Diaz-Gonzalez
5d1a3fb079 fix: add missing ps-get-property 2025-06-09 11:39:00 -04:00
Jose Diaz-Gonzalez
f0bf7aa0b6 fix: also migrate one more usage 2025-06-09 11:39:00 -04:00
Jose Diaz-Gonzalez
4942ebaec1 refactor: remove use of config plugin from scheduler plugin 2025-06-09 11:39:00 -04:00
Jose Diaz-Gonzalez
9beab4d50d refactor: migrate DOKKU_DOCKER_STOP_TIMEOUT to ps setting 2025-06-09 11:39:00 -04:00
Jose Diaz-Gonzalez
758d9f8a83 feat: add config-unset trigger 2025-06-09 11:39:00 -04:00
dependabot[bot]
dd45bebc3e chore(deps): bump zipp from 3.22.0 to 3.23.0 in /docs/_build
Bumps [zipp](https://github.com/jaraco/zipp) from 3.22.0 to 3.23.0.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.22.0...v3.23.0)

---
updated-dependencies:
- dependency-name: zipp
  dependency-version: 3.23.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 14:28:03 +00:00
Jose Diaz-Gonzalez
0263d37d43 Merge pull request #7578 from dokku/6953-cron-maintenance
Add ability to set maintenance mode for all cron tasks running for an app
2025-06-09 01:05:08 -04:00
Jose Diaz-Gonzalez
d0b87936db docs: fix typo 2025-06-08 22:35:17 -04:00
Jose Diaz-Gonzalez
0f4b5d4305 fix: continue including maintenance mode cron tasks in the cron:list subcommand 2025-06-08 22:34:47 -04:00
Jose Diaz-Gonzalez
c0eb12f572 feat: add ability to set maintenance mode for all cron tasks running for an app
Closes #6953
2025-06-08 22:34:47 -04:00
Jose Diaz-Gonzalez
cc395b54dd Merge pull request #7621 from dokku/dependabot/npm_and_yarn/tests/apps/nodejs-express/express-5.1.0
chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/nodejs-express
2025-06-08 22:33:50 -04:00
Jose Diaz-Gonzalez
80f35370ab chore: bump nodejs from 4.2.x to 18.x.x 2025-06-08 20:08:10 -04:00
dependabot[bot]
98e7f467b7 chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/nodejs-express
Dependabot couldn't find the original pull request head commit, f30b38c741b6433fafe368d09d886d93b81a5830.
2025-06-08 20:07:13 -04:00
Jose Diaz-Gonzalez
d3ae9360ce Merge pull request #7628 from dokku/dependabot/npm_and_yarn/tests/apps/nodejs-express-noappjson/express-5.1.0
chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/nodejs-express-noappjson
2025-06-08 20:06:59 -04:00
Jose Diaz-Gonzalez
b44ccae796 chore: bump nodejs from 4.2.x to 18.x.x 2025-06-08 19:30:39 -04:00
dependabot[bot]
1060189d78 chore(deps): bump express in /tests/apps/nodejs-express-noappjson
Bumps [express](https://github.com/expressjs/express) from 4.21.2 to 5.1.0.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.2...v5.1.0)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-08 18:21:28 -04:00
Jose Diaz-Gonzalez
8eb8760a46 Merge pull request #7749 from dokku/update-herokuish 2025-06-08 06:57:34 -04:00
Jose Diaz-Gonzalez
1486c5e170 Merge pull request #7748 from dokku/update-docker-container-healthchecker
chore: update docker-container-healthchecker from 0.11.5 to 0.14.0
2025-06-08 02:16:16 -04:00
Jose Diaz-Gonzalez
10b31fcd4a chore: update herokuish from 0.10.3 to 0.11.0 2025-06-08 01:31:01 -04:00
Jose Diaz-Gonzalez
82f3613ed7 chore: update docker-container-healthchecker from 0.11.5 to 0.14.0 2025-06-08 01:29:12 -04:00
Jose Diaz-Gonzalez
3354effff0 Merge pull request #7746 from dokku/dependabot/pip/tests/apps/dockerfile-release/django-5.1.10
chore(deps): bump django from 5.0.14 to 5.1.10 in /tests/apps/dockerfile-release
2025-06-07 23:35:19 -04:00
Jose Diaz-Gonzalez
3557de3485 Merge pull request #7735 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.73.0
chore(deps): bump google.golang.org/grpc from 1.72.2 to 1.73.0 in /tests/apps/gogrpc
2025-06-07 23:32:05 -04:00
Jose Diaz-Gonzalez
5c3eea3ccb Merge pull request #7737 from dokku/dependabot/docker/docs/_build/python-3.13.4-alpine
chore(deps): bump python from 3.13.3-alpine to 3.13.4-alpine in /docs/_build
2025-06-07 23:31:59 -04:00
Jose Diaz-Gonzalez
220443fc99 Merge pull request #7738 from dokku/dependabot/docker/tests/apps/dockerfile-release/python-3.13.4-bookworm
chore(deps): bump python from 3.13.3-bookworm to 3.13.4-bookworm in /tests/apps/dockerfile-release
2025-06-07 23:31:48 -04:00
Jose Diaz-Gonzalez
47f46fd930 Merge pull request #7745 from dokku/dependabot/go_modules/plugins/common/golang.org/x/crypto-0.39.0
chore(deps): bump golang.org/x/crypto from 0.38.0 to 0.39.0 in /plugins/common
2025-06-07 23:29:49 -04:00
Jose Diaz-Gonzalez
bf6da2d971 chore: bump go modules 2025-06-07 22:48:13 -04:00
dependabot[bot]
ff5970e1ac chore(deps): bump golang.org/x/crypto in /plugins/common
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.38.0 to 0.39.0.
- [Commits](https://github.com/golang/crypto/compare/v0.38.0...v0.39.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.39.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-07 22:16:15 -04:00
Jose Diaz-Gonzalez
343e19fcc7 Merge pull request #7740 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.24.4
chore(deps): bump golang from 1.24.3 to 1.24.4 in /tests/apps/gogrpc
2025-06-07 22:15:32 -04:00
Jose Diaz-Gonzalez
6d38d0c04d Merge pull request #7741 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.24.4
chore(deps): bump golang from 1.24.3 to 1.24.4 in /tests/apps/go-fail-postdeploy
2025-06-07 22:15:18 -04:00
Jose Diaz-Gonzalez
a0eb35f989 Merge pull request #7742 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.24.4
chore(deps): bump golang from 1.24.3 to 1.24.4 in /tests/apps/zombies-dockerfile-tini
2025-06-07 22:14:45 -04:00
Jose Diaz-Gonzalez
603717eaa4 Merge pull request #7743 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.24.4
chore(deps): bump golang from 1.24.3 to 1.24.4 in /tests/apps/go-fail-predeploy
2025-06-07 22:14:19 -04:00
Jose Diaz-Gonzalez
ec84e66722 Merge pull request #7744 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.24.4
chore(deps): bump golang from 1.24.3 to 1.24.4 in /tests/apps/zombies-dockerfile-no-tini
2025-06-07 22:13:58 -04:00
dependabot[bot]
df7194667e chore(deps): bump django in /tests/apps/dockerfile-release
Bumps [django](https://github.com/django/django) from 5.0.14 to 5.1.10.
- [Commits](https://github.com/django/django/compare/5.0.14...5.1.10)

---
updated-dependencies:
- dependency-name: django
  dependency-version: 5.1.10
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-06 16:04:14 +00:00
dependabot[bot]
eeb686b4fe chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.24.3 to 1.24.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-06 13:57:21 +00:00
dependabot[bot]
3869395513 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.24.3 to 1.24.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-06 13:37:47 +00:00
dependabot[bot]
0306a4a018 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.24.3 to 1.24.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-06 13:13:30 +00:00
dependabot[bot]
094ddfec46 chore(deps): bump golang from 1.24.3 to 1.24.4 in /tests/apps/gogrpc
Bumps golang from 1.24.3 to 1.24.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-06 13:10:36 +00:00
dependabot[bot]
2151dbecd6 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.24.3 to 1.24.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-06 13:10:36 +00:00
dependabot[bot]
c8775fb10b chore(deps): bump python in /tests/apps/dockerfile-release
Bumps python from 3.13.3-bookworm to 3.13.4-bookworm.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-05 14:09:33 +00:00
dependabot[bot]
a85777ff02 chore(deps): bump python in /docs/_build
Bumps python from 3.13.3-alpine to 3.13.4-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-05 14:07:00 +00:00
dependabot[bot]
918431f075 chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.72.2 to 1.73.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.72.2...v1.73.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.73.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-05 13:27:29 +00:00
Jose Diaz-Gonzalez
a24ed084b1 Merge pull request #7731 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/traefik/traefik/v2-2.11.25
chore(deps): bump github.com/traefik/traefik/v2 from 2.11.24 to 2.11.25 in /plugins/scheduler-k3s
2025-06-01 22:52:55 -04:00
Jose Diaz-Gonzalez
1c851d7b17 Merge pull request #7730 from dokku/dependabot/docker/plugins/traefik-vhosts/traefik-3.4.1
chore(deps): bump traefik from 3.4.0 to 3.4.1 in /plugins/traefik-vhosts
2025-06-01 22:52:40 -04:00
Jose Diaz-Gonzalez
4a19bfebc4 Merge pull request #7729 from dokku/dependabot/pip/docs/_build/zipp-3.22.0
chore(deps): bump zipp from 3.21.0 to 3.22.0 in /docs/_build
2025-06-01 22:52:33 -04:00
dependabot[bot]
034c139777 chore(deps): bump github.com/traefik/traefik/v2
Bumps [github.com/traefik/traefik/v2](https://github.com/traefik/traefik) from 2.11.24 to 2.11.25.
- [Release notes](https://github.com/traefik/traefik/releases)
- [Changelog](https://github.com/traefik/traefik/blob/v2.11.25/CHANGELOG.md)
- [Commits](https://github.com/traefik/traefik/compare/v2.11.24...v2.11.25)

---
updated-dependencies:
- dependency-name: github.com/traefik/traefik/v2
  dependency-version: 2.11.25
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 14:26:38 +00:00
dependabot[bot]
67f60c0859 chore(deps): bump traefik from 3.4.0 to 3.4.1 in /plugins/traefik-vhosts
Bumps traefik from 3.4.0 to 3.4.1.

---
updated-dependencies:
- dependency-name: traefik
  dependency-version: 3.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 13:27:46 +00:00
dependabot[bot]
8ad62e204a chore(deps): bump zipp from 3.21.0 to 3.22.0 in /docs/_build
Bumps [zipp](https://github.com/jaraco/zipp) from 3.21.0 to 3.22.0.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.21.0...v3.22.0)

---
updated-dependencies:
- dependency-name: zipp
  dependency-version: 3.22.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-27 13:20:18 +00:00
Jose Diaz-Gonzalez
070485eb08 Merge pull request #7727 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.72.2
chore(deps): bump google.golang.org/grpc from 1.72.1 to 1.72.2 in /tests/apps/gogrpc
2025-05-26 11:55:50 -04:00
dependabot[bot]
194678c7ba chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.72.1 to 1.72.2.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.72.1...v1.72.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 13:41:43 +00:00
Jose Diaz-Gonzalez
ca30bd4d7b Merge pull request #7726 from dokku/7705-compose-context
Ensure compose projects are spawned from the /tmp directory
2025-05-25 01:36:29 -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
41ac56e54b Merge pull request #7725 from dokku/josegonzalez-patch-1
Uninstall hashicorp tap to fix formula releases
2025-05-24 23:00:44 -04:00
Jose Diaz-Gonzalez
6b8127ae84 fix: uninstall hashicorp tap to fix formula releases 2025-05-24 23:00:30 -04:00
Dokku Bot
f2e14cdddc Release 0.35.19
# History

## 0.35.19

Install/update via the bootstrap script:

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

### Bug Fixes

- #7686: @josegonzalez Untap aws/tap to correct issues in formula release

### Documentation

- #7707: @swrobel Remove duplicate hostname plugin
- #7687: @d9i Fix cron key in app.json docs
- #7677: @plafue Add continuous integration example for woodpecker ci

### Tests

- #7585: @josegonzalez Add test to prove Dokku respects the Procfile when deploying from an image
- #7678: @josegonzalez Revert "fix: update CID count in ps tests"

### Dependencies

- #7692: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.37.0 to 0.38.0 in /plugins/common
- #7626: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/dockerfile
- #7693: @dependabot[bot] chore(deps): bump traefik from 3.3.5 to 3.4.0 in /plugins/traefik-vhosts
- #7694: @dependabot[bot] chore(deps): bump golang from 1.24.2 to 1.24.3 in /tests/apps/go-fail-postdeploy
- #7695: @dependabot[bot] chore(deps): bump node from 23-alpine to 24-alpine in /tests/apps/dockerfile-procfile-bad
- #7696: @dependabot[bot] chore(deps): bump golang from 1.24.2 to 1.24.3 in /tests/apps/gogrpc
- #7697: @dependabot[bot] chore(deps): bump golang from 1.24.2 to 1.24.3 in /tests/apps/go-fail-predeploy
- #7698: @dependabot[bot] chore(deps): bump node from 23-alpine to 24-alpine in /tests/apps/dockerfile-procfile
- #7699: @dependabot[bot] chore(deps): bump golang from 1.24.2 to 1.24.3 in /tests/apps/zombies-dockerfile-no-tini
- #7700: @dependabot[bot] chore(deps): bump golang from 1.24.2 to 1.24.3 in /tests/apps/zombies-dockerfile-tini
- #7701: @dependabot[bot] chore(deps): bump node from 23-alpine to 24-alpine in /tests/apps/dockerfile
- #7702: @dependabot[bot] chore(deps): bump node from 23-alpine to 24-alpine in /tests/apps/dockerfile-app-json-formations
- #7704: @dependabot[bot] chore(deps): bump rack from 2.2.13 to 2.2.14 in /tests/apps/ruby
- #7711: @dependabot[bot] chore(deps): bump flask from 3.1.0 to 3.1.1 in /tests/apps/multi
- #7712: @dependabot[bot] chore(deps): bump flask from 3.1.0 to 3.1.1 in /tests/apps/python-flask
- #7713: @dependabot[bot] chore(deps): bump pyyaml-env-tag from 0.1 to 1.1 in /docs/_build
- #7714: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.12 to 9.6.14 in /docs/_build
- #7715: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.72.0 to 1.72.1 in /tests/apps/gogrpc
- #7716: @dependabot[bot] chore(deps): bump ruby from 3.4.3 to 3.4.4 in /tests/apps/dockerfile-entrypoint
- #7718: @dependabot[bot] chore(deps): bump timberio/vector from 0.46.1-debian to 0.47.0-debian in /plugins/logs
- #7703: @dependabot[bot] chore(deps): bump node from 23-alpine to 24-alpine in /tests/apps/dockerfile-noexpose
- #7688: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.14.3 to 10.15 in /docs/_build
- #7689: @dependabot[bot] chore(deps): bump importlib-metadata from 8.6.1 to 8.7.0 in /docs/_build
- #7671: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.36.0 to 0.38.0 in /tests/apps/gogrpc
- #7681: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.71.1 to 1.72.0 in /tests/apps/gogrpc
- #7680: @dependabot[bot] chore(deps): bump soupsieve from 2.6 to 2.7 in /docs/_build
- #7682: @dependabot[bot] chore(deps): bump packaging from 24.2 to 25.0 in /docs/_build
- #7673: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.37.0 to 0.38.0 in /plugins/common
- #7675: @dependabot[bot] chore(deps): bump byjg/easy-haproxy from 4.4.0 to 4.5.0 in /plugins/haproxy-vhosts
- #7676: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.11 to 9.6.12 in /docs/_build

### Other

- #7723: @josegonzalez Revert "chore(deps): bump helm.sh/helm/v3 from 3.14.2 to 3.17.3 in /plugins/scheduler-k3s"
- #7645: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.14.2 to 3.17.3 in /plugins/scheduler-k3s
- #7717: @dependabot[bot] chore(deps): bump setuptools from 70.0.0 to 78.1.1 in /tests/apps/dockerfile-release
- #7719: @d1ceward Fix: Add missing `systemctl` path detection in nginx-vhost plugin
- #7679: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.15 to 2.11.24 in /plugins/scheduler-k3s
2025-05-25 02:10:56 +00:00
Jose Diaz-Gonzalez
3ae19a8364 Merge pull request #7585 from dokku/7226-ps-rebuild-image-respect
Add test to prove Dokku respects the Procfile when deploying from an image
2025-05-24 22:07:29 -04:00
Jose Diaz-Gonzalez
6c4a0cbb34 Merge pull request #7692 from dokku/dependabot/go_modules/plugins/common/golang.org/x/crypto-0.38.0
chore(deps): bump golang.org/x/crypto from 0.37.0 to 0.38.0 in /plugins/common
2025-05-24 22:01:20 -04:00
Jose Diaz-Gonzalez
71324ba5c1 Merge pull request #7707 from swrobel/patch-3
Remove duplicate hostname plugin
2025-05-24 20:09:12 -04:00
Jose Diaz-Gonzalez
69c3c62577 chore: bump go modules 2025-05-24 20:04:31 -04:00
dependabot[bot]
3cf05b40de chore(deps): bump golang.org/x/crypto in /plugins/common
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.37.0 to 0.38.0.
- [Commits](https://github.com/golang/crypto/compare/v0.37.0...v0.38.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.38.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-24 20:01:04 -04:00
Jose Diaz-Gonzalez
40f9d9a318 Merge pull request #7626 from dokku/dependabot/npm_and_yarn/tests/apps/dockerfile/express-5.1.0
chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/dockerfile
2025-05-24 20:00:18 -04:00
Jose Diaz-Gonzalez
4644c594f0 Merge pull request #7723 from dokku/revert-7645-dependabot/go_modules/plugins/scheduler-k3s/helm.sh/helm/v3-3.17.3
Revert "chore(deps): bump helm.sh/helm/v3 from 3.14.2 to 3.17.3 in /plugins/scheduler-k3s"
2025-05-24 19:59:55 -04:00
Jose Diaz-Gonzalez
06cf2ebecf Revert "chore(deps): bump helm.sh/helm/v3 from 3.14.2 to 3.17.3 in /plugins/scheduler-k3s" 2025-05-24 19:59:47 -04:00
Jose Diaz-Gonzalez
77825342f5 Merge pull request #7645 from dokku/dependabot/go_modules/plugins/scheduler-k3s/helm.sh/helm/v3-3.17.3
chore(deps): bump helm.sh/helm/v3 from 3.14.2 to 3.17.3 in /plugins/scheduler-k3s
2025-05-24 19:59:37 -04:00
Jose Diaz-Gonzalez
9ff17a93c1 Merge pull request #7693 from dokku/dependabot/docker/plugins/traefik-vhosts/traefik-3.4.0
chore(deps): bump traefik from 3.3.5 to 3.4.0 in /plugins/traefik-vhosts
2025-05-24 19:59:14 -04:00
Jose Diaz-Gonzalez
85c857bbe0 Merge pull request #7694 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.24.3
chore(deps): bump golang from 1.24.2 to 1.24.3 in /tests/apps/go-fail-postdeploy
2025-05-24 19:59:08 -04:00
Jose Diaz-Gonzalez
6806007060 Merge pull request #7695 from dokku/dependabot/docker/tests/apps/dockerfile-procfile-bad/node-24-alpine
chore(deps): bump node from 23-alpine to 24-alpine in /tests/apps/dockerfile-procfile-bad
2025-05-24 19:59:00 -04:00
Jose Diaz-Gonzalez
693bca5709 Merge pull request #7696 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.24.3
chore(deps): bump golang from 1.24.2 to 1.24.3 in /tests/apps/gogrpc
2025-05-24 19:58:53 -04:00
Jose Diaz-Gonzalez
2a88463919 Merge pull request #7697 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.24.3
chore(deps): bump golang from 1.24.2 to 1.24.3 in /tests/apps/go-fail-predeploy
2025-05-24 19:58:44 -04:00
Jose Diaz-Gonzalez
be63a22d2f Merge pull request #7698 from dokku/dependabot/docker/tests/apps/dockerfile-procfile/node-24-alpine
chore(deps): bump node from 23-alpine to 24-alpine in /tests/apps/dockerfile-procfile
2025-05-24 19:58:38 -04:00
Jose Diaz-Gonzalez
f86d6975ad Merge pull request #7699 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.24.3
chore(deps): bump golang from 1.24.2 to 1.24.3 in /tests/apps/zombies-dockerfile-no-tini
2025-05-24 19:58:31 -04:00
Jose Diaz-Gonzalez
fd0ca02038 Merge pull request #7700 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.24.3
chore(deps): bump golang from 1.24.2 to 1.24.3 in /tests/apps/zombies-dockerfile-tini
2025-05-24 19:58:23 -04:00
Jose Diaz-Gonzalez
863566f1a0 Merge pull request #7701 from dokku/dependabot/docker/tests/apps/dockerfile/node-24-alpine
chore(deps): bump node from 23-alpine to 24-alpine in /tests/apps/dockerfile
2025-05-24 19:58:16 -04:00
Jose Diaz-Gonzalez
74c1d25692 Merge pull request #7702 from dokku/dependabot/docker/tests/apps/dockerfile-app-json-formations/node-24-alpine
chore(deps): bump node from 23-alpine to 24-alpine in /tests/apps/dockerfile-app-json-formations
2025-05-24 19:58:10 -04:00
Jose Diaz-Gonzalez
a633502675 Merge pull request #7704 from dokku/dependabot/bundler/tests/apps/ruby/rack-2.2.14
chore(deps): bump rack from 2.2.13 to 2.2.14 in /tests/apps/ruby
2025-05-24 19:58:04 -04:00
Jose Diaz-Gonzalez
ceacae003a Merge pull request #7711 from dokku/dependabot/pip/tests/apps/multi/flask-3.1.1
chore(deps): bump flask from 3.1.0 to 3.1.1 in /tests/apps/multi
2025-05-24 19:57:48 -04:00
Jose Diaz-Gonzalez
bc4226990f Merge pull request #7712 from dokku/dependabot/pip/tests/apps/python-flask/flask-3.1.1
chore(deps): bump flask from 3.1.0 to 3.1.1 in /tests/apps/python-flask
2025-05-24 19:57:41 -04:00
Jose Diaz-Gonzalez
e0470b7641 Merge pull request #7713 from dokku/dependabot/pip/docs/_build/pyyaml-env-tag-1.1
chore(deps): bump pyyaml-env-tag from 0.1 to 1.1 in /docs/_build
2025-05-24 19:57:29 -04:00
Jose Diaz-Gonzalez
919916ea23 Merge pull request #7714 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.6.14
chore(deps): bump mkdocs-material from 9.6.12 to 9.6.14 in /docs/_build
2025-05-24 19:57:22 -04:00
Jose Diaz-Gonzalez
e137178765 Merge pull request #7715 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.72.1
chore(deps): bump google.golang.org/grpc from 1.72.0 to 1.72.1 in /tests/apps/gogrpc
2025-05-24 19:57:15 -04:00
Jose Diaz-Gonzalez
112b77bb01 Merge pull request #7716 from dokku/dependabot/docker/tests/apps/dockerfile-entrypoint/ruby-3.4.4
chore(deps): bump ruby from 3.4.3 to 3.4.4 in /tests/apps/dockerfile-entrypoint
2025-05-24 19:57:08 -04:00
Jose Diaz-Gonzalez
50d7ec3d29 Merge pull request #7717 from dokku/dependabot/pip/tests/apps/dockerfile-release/setuptools-78.1.1
chore(deps): bump setuptools from 70.0.0 to 78.1.1 in /tests/apps/dockerfile-release
2025-05-24 19:56:57 -04:00
Jose Diaz-Gonzalez
ad9490efcb Merge pull request #7718 from dokku/dependabot/docker/plugins/logs/timberio/vector-0.47.0-debian
chore(deps): bump timberio/vector from 0.46.1-debian to 0.47.0-debian in /plugins/logs
2025-05-24 19:54:23 -04:00
Jose Diaz-Gonzalez
e45977e763 Merge pull request #7703 from dokku/dependabot/docker/tests/apps/dockerfile-noexpose/node-24-alpine
chore(deps): bump node from 23-alpine to 24-alpine in /tests/apps/dockerfile-noexpose
2025-05-24 02:43:31 -04:00
Jose Diaz-Gonzalez
9c80367706 Merge pull request #7719 from d1ceward/hotfix/use_correct_systemctl_path
Fix: Add missing `systemctl` path detection in nginx-vhost plugin
2025-05-24 02:23:08 -04:00
Fabien LEFEBVRE (d1ceward)
1f2ef9874d Fix retrieval of systemctl path in nginx-vhosts plugin 2025-05-22 11:15:06 +02:00
dependabot[bot]
0701a091ef chore(deps): bump timberio/vector in /plugins/logs
Bumps timberio/vector from 0.46.1-debian to 0.47.0-debian.

---
updated-dependencies:
- dependency-name: timberio/vector
  dependency-version: 0.47.0-debian
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-21 13:30:25 +00:00
dependabot[bot]
b6aeb4a028 chore(deps): bump setuptools in /tests/apps/dockerfile-release
Bumps [setuptools](https://github.com/pypa/setuptools) from 70.0.0 to 78.1.1.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v70.0.0...v78.1.1)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 78.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 20:20:26 +00:00
dependabot[bot]
5cadeb52bf chore(deps): bump ruby in /tests/apps/dockerfile-entrypoint
Bumps ruby from 3.4.3 to 3.4.4.

---
updated-dependencies:
- dependency-name: ruby
  dependency-version: 3.4.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-16 13:31:33 +00:00
dependabot[bot]
597db38489 chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.72.0 to 1.72.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.72.0...v1.72.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-15 13:04:56 +00:00
dependabot[bot]
cfe9997452 chore(deps): bump mkdocs-material from 9.6.12 to 9.6.14 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.12 to 9.6.14.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.12...9.6.14)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.6.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-14 13:49:51 +00:00
dependabot[bot]
8badedd49f chore(deps): bump pyyaml-env-tag from 0.1 to 1.1 in /docs/_build
Bumps [pyyaml-env-tag](https://github.com/waylan/pyyaml-env-tag) from 0.1 to 1.1.
- [Commits](https://github.com/waylan/pyyaml-env-tag/compare/0.1...1.1)

---
updated-dependencies:
- dependency-name: pyyaml-env-tag
  dependency-version: '1.1'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-14 13:49:44 +00:00
dependabot[bot]
5ed42b364f chore(deps): bump flask from 3.1.0 to 3.1.1 in /tests/apps/python-flask
Bumps [flask](https://github.com/pallets/flask) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/pallets/flask/releases)
- [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/flask/compare/3.1.0...3.1.1)

---
updated-dependencies:
- dependency-name: flask
  dependency-version: 3.1.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-13 20:26:33 +00:00
dependabot[bot]
f52bc35465 chore(deps): bump flask from 3.1.0 to 3.1.1 in /tests/apps/multi
Bumps [flask](https://github.com/pallets/flask) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/pallets/flask/releases)
- [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/flask/compare/3.1.0...3.1.1)

---
updated-dependencies:
- dependency-name: flask
  dependency-version: 3.1.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-13 20:26:32 +00:00
Stefan Wrobel
82d1264634 Remove duplicate hostname plugin 2025-05-09 15:33:35 -07:00
dependabot[bot]
61cfdc4a55 chore(deps): bump rack from 2.2.13 to 2.2.14 in /tests/apps/ruby
Bumps [rack](https://github.com/rack/rack) from 2.2.13 to 2.2.14.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/v2.2.13...v2.2.14)

---
updated-dependencies:
- dependency-name: rack
  dependency-version: 2.2.14
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-08 19:25:44 +00:00
dependabot[bot]
3cfbe4aa83 chore(deps): bump node in /tests/apps/dockerfile-noexpose
Bumps node from 23-alpine to 24-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-version: 24-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 14:36:44 +00:00
dependabot[bot]
842c801b46 chore(deps): bump node in /tests/apps/dockerfile-app-json-formations
Bumps node from 23-alpine to 24-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-version: 24-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 14:28:34 +00:00
dependabot[bot]
ca7332957a chore(deps): bump node in /tests/apps/dockerfile
Bumps node from 23-alpine to 24-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-version: 24-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 14:21:24 +00:00
dependabot[bot]
09024baefe chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.24.2 to 1.24.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 14:03:10 +00:00
dependabot[bot]
2824665652 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.24.2 to 1.24.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 14:02:34 +00:00
dependabot[bot]
611c35110e chore(deps): bump node in /tests/apps/dockerfile-procfile
Bumps node from 23-alpine to 24-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-version: 24-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 13:37:28 +00:00
dependabot[bot]
14c74db96f chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.24.2 to 1.24.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 13:17:21 +00:00
dependabot[bot]
f2f6618177 chore(deps): bump golang from 1.24.2 to 1.24.3 in /tests/apps/gogrpc
Bumps golang from 1.24.2 to 1.24.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 13:12:18 +00:00
dependabot[bot]
3ee983b98b chore(deps): bump node in /tests/apps/dockerfile-procfile-bad
Bumps node from 23-alpine to 24-alpine.

---
updated-dependencies:
- dependency-name: node
  dependency-version: 24-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 13:09:15 +00:00
dependabot[bot]
4a477c7dd5 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.24.2 to 1.24.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 13:05:29 +00:00
dependabot[bot]
b0b4bdc74e chore(deps): bump traefik from 3.3.5 to 3.4.0 in /plugins/traefik-vhosts
Bumps traefik from 3.3.5 to 3.4.0.

---
updated-dependencies:
- dependency-name: traefik
  dependency-version: 3.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-06 13:55:40 +00:00
Jose Diaz-Gonzalez
7fae00435b Merge pull request #7688 from dokku/dependabot/pip/docs/_build/pymdown-extensions-10.15
chore(deps): bump pymdown-extensions from 10.14.3 to 10.15 in /docs/_build
2025-04-28 23:46:40 -04:00
Jose Diaz-Gonzalez
870a5b4095 Merge pull request #7689 from dokku/dependabot/pip/docs/_build/importlib-metadata-8.7.0
chore(deps): bump importlib-metadata from 8.6.1 to 8.7.0 in /docs/_build
2025-04-28 23:46:34 -04:00
Jose Diaz-Gonzalez
7ecbc27ea3 Merge pull request #7687 from d9i/apps-json-docs-fix
Fix cron key in app.json docs
2025-04-28 23:45:51 -04:00
dependabot[bot]
ee6945525e chore(deps): bump importlib-metadata from 8.6.1 to 8.7.0 in /docs/_build
Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 8.6.1 to 8.7.0.
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_metadata/compare/v8.6.1...v8.7.0)

---
updated-dependencies:
- dependency-name: importlib-metadata
  dependency-version: 8.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 14:19:19 +00:00
dependabot[bot]
5f241919a3 chore(deps): bump pymdown-extensions in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.14.3 to 10.15.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.14.3...10.15)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-version: '10.15'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 14:17:26 +00:00
Dara Kharabi
fe3ef4e1f6 add correct cron key in docs 2025-04-27 14:49:02 -04:00
Jose Diaz-Gonzalez
523759e650 Merge pull request #7686 from dokku/josegonzalez-patch-1
Untap aws/tap to correct issues in formula release
2025-04-26 16:54:14 -04:00
Jose Diaz-Gonzalez
b7c7dd5b91 fix: untap aws/tap to correct issues in formula release 2025-04-26 16:54:00 -04:00
Jose Diaz-Gonzalez
5db8b32021 Merge pull request #7671 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.38.0
chore(deps): bump golang.org/x/net from 0.36.0 to 0.38.0 in /tests/apps/gogrpc
2025-04-26 16:52:38 -04:00
dependabot[bot]
1485ef7e2d chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.36.0 to 0.38.0.
- [Commits](https://github.com/golang/net/compare/v0.36.0...v0.38.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.38.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-26 18:45:18 +00:00
dependabot[bot]
f100477484 chore(deps): bump helm.sh/helm/v3 in /plugins/scheduler-k3s
Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.14.2 to 3.17.3.
- [Release notes](https://github.com/helm/helm/releases)
- [Commits](https://github.com/helm/helm/compare/v3.14.2...v3.17.3)

---
updated-dependencies:
- dependency-name: helm.sh/helm/v3
  dependency-version: 3.17.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-26 18:45:10 +00:00
Jose Diaz-Gonzalez
b210e4bc35 Merge pull request #7681 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.72.0
chore(deps): bump google.golang.org/grpc from 1.71.1 to 1.72.0 in /tests/apps/gogrpc
2025-04-26 14:44:12 -04:00
Jose Diaz-Gonzalez
f14c67f247 Merge pull request #7679 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/traefik/traefik/v2-2.11.24
chore(deps): bump github.com/traefik/traefik/v2 from 2.11.15 to 2.11.24 in /plugins/scheduler-k3s
2025-04-26 14:43:47 -04:00
Jose Diaz-Gonzalez
4f8cd30a21 Merge pull request #7680 from dokku/dependabot/pip/docs/_build/soupsieve-2.7
chore(deps): bump soupsieve from 2.6 to 2.7 in /docs/_build
2025-04-26 14:43:21 -04:00
Jose Diaz-Gonzalez
ab671132f9 Merge pull request #7682 from dokku/dependabot/pip/docs/_build/packaging-25.0
chore(deps): bump packaging from 24.2 to 25.0 in /docs/_build
2025-04-26 14:43:08 -04:00
dependabot[bot]
013b2b62d7 chore(deps): bump packaging from 24.2 to 25.0 in /docs/_build
Bumps [packaging](https://github.com/pypa/packaging) from 24.2 to 25.0.
- [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/24.2...25.0)

---
updated-dependencies:
- dependency-name: packaging
  dependency-version: '25.0'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 14:01:17 +00:00
dependabot[bot]
8c19fcf54a chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.71.1 to 1.72.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.71.1...v1.72.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.72.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 13:57:57 +00:00
dependabot[bot]
5d111795b5 chore(deps): bump soupsieve from 2.6 to 2.7 in /docs/_build
Bumps [soupsieve](https://github.com/facelessuser/soupsieve) from 2.6 to 2.7.
- [Release notes](https://github.com/facelessuser/soupsieve/releases)
- [Commits](https://github.com/facelessuser/soupsieve/compare/2.6...2.7)

---
updated-dependencies:
- dependency-name: soupsieve
  dependency-version: '2.7'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 13:57:16 +00:00
dependabot[bot]
7decbc7e6c chore(deps): bump github.com/traefik/traefik/v2
Bumps [github.com/traefik/traefik/v2](https://github.com/traefik/traefik) from 2.11.15 to 2.11.24.
- [Release notes](https://github.com/traefik/traefik/releases)
- [Changelog](https://github.com/traefik/traefik/blob/v2.11.24/CHANGELOG.md)
- [Commits](https://github.com/traefik/traefik/compare/v2.11.15...v2.11.24)

---
updated-dependencies:
- dependency-name: github.com/traefik/traefik/v2
  dependency-version: 2.11.24
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-18 19:34:26 +00:00
Jose Diaz-Gonzalez
ea26b9ba4a Merge pull request #7673 from dokku/dependabot/go_modules/plugins/common/golang.org/x/net-0.38.0
chore(deps): bump golang.org/x/net from 0.37.0 to 0.38.0 in /plugins/common
2025-04-18 00:27:06 -04:00
Jose Diaz-Gonzalez
d2abbb002a Merge pull request #7678 from dokku/revert-7669-josegonzalez-patch-1
Revert "fix: update CID count in ps tests"
2025-04-17 23:50:56 -04:00
Jose Diaz-Gonzalez
b4c3c6fb71 Revert "fix: update CID count in ps tests" 2025-04-17 23:50:36 -04:00
Jose Diaz-Gonzalez
6f9f65bf4d chore: bump go modules 2025-04-17 23:20:27 -04:00
dependabot[bot]
9bd20715f9 chore(deps): bump golang.org/x/net in /plugins/common
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.37.0 to 0.38.0.
- [Commits](https://github.com/golang/net/compare/v0.37.0...v0.38.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.38.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-17 23:18:44 -04:00
Jose Diaz-Gonzalez
5aa81a3461 Merge pull request #7675 from dokku/dependabot/docker/plugins/haproxy-vhosts/byjg/easy-haproxy-4.5.0
chore(deps): bump byjg/easy-haproxy from 4.4.0 to 4.5.0 in /plugins/haproxy-vhosts
2025-04-17 23:17:47 -04:00
Jose Diaz-Gonzalez
b236e4c97b Merge pull request #7676 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.6.12
chore(deps): bump mkdocs-material from 9.6.11 to 9.6.12 in /docs/_build
2025-04-17 23:17:21 -04:00
Jose Diaz-Gonzalez
8627439479 Merge pull request #7677 from plafue/woodpecker-ci-deployment-docs
Add continuous integration example for woodpecker ci
2025-04-17 18:05:25 -04:00
plafü
2b531fdbb2 docs: add continuous integration example with woodpecker ci 2025-04-17 16:04:34 +02:00
dependabot[bot]
7048164e25 chore(deps): bump mkdocs-material from 9.6.11 to 9.6.12 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.11 to 9.6.12.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.6.11...9.6.12)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-version: 9.6.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-17 13:59:51 +00:00
dependabot[bot]
5d79c895f8 chore(deps): bump byjg/easy-haproxy in /plugins/haproxy-vhosts
Bumps byjg/easy-haproxy from 4.4.0 to 4.5.0.

---
updated-dependencies:
- dependency-name: byjg/easy-haproxy
  dependency-version: 4.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-17 13:10:48 +00:00
dependabot[bot]
2e070e63b7 chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/dockerfile
Bumps [express](https://github.com/expressjs/express) from 4.21.2 to 5.1.0.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.2...v5.1.0)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-16 15:46:22 +00:00
Jose Diaz-Gonzalez
77cfa63196 tests: add test to prove Dokku respects the Procfile when deploying from an image
Any subsequent ps:rebuild should always respect the image for fetching files. This test proves this works.

Closes #7375
2025-03-09 09:38:25 -04:00
430 changed files with 10231 additions and 3089 deletions

View File

@@ -31,9 +31,10 @@
],
"overrideCommand": false,
"postCreateCommand": "setup-dev-env",
"postStartCommand": "printenv > .vscode/devcontainer.env",
"runArgs": [
"--init"
],
"workspaceFolder": "/root/go/src/github.com/dokku/dokku",
"workspaceMount": "type=bind,source=${localWorkspaceFolder},target=/root/go/src/github.com/dokku/dokku,consistency=cached"
}
}

View File

@@ -134,6 +134,13 @@ updates:
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/scheduler-k3s"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/scheduler"
schedule:
@@ -267,6 +274,13 @@ updates:
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: npm
directory: "/tests/apps/multi"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: npm
directory: "/tests/apps/nodejs-express"
schedule:
@@ -309,13 +323,6 @@ updates:
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: npm
directory: "/tests/apps/.websocket.disabled"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: github-actions
directory: "/"
schedule:
@@ -386,6 +393,13 @@ updates:
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: pip
directory: "/tests/apps/dockerfile-release"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/tests/apps/dockerfile-app-json-formations"
schedule:

View File

@@ -24,7 +24,7 @@ jobs:
skip: ${{ steps.check-commit.outputs.skip }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
ref: ${{ github.event.pull_request.head.sha }}
@@ -53,7 +53,7 @@ jobs:
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: set up qemu
uses: docker/setup-qemu-action@v3
@@ -75,7 +75,7 @@ jobs:
echo "matrix=$json" >> $GITHUB_OUTPUT
- name: upload packages
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: build
path: build
@@ -87,7 +87,7 @@ jobs:
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: build-image
uses: ./.github/actions/build-image
@@ -97,11 +97,11 @@ jobs:
build-image-arm64:
name: build-image.linux/arm64
needs: build
runs-on: buildjet-4vcpu-ubuntu-2204-arm
runs-on: ubuntu-24.04-arm
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: build-image
uses: ./.github/actions/build-image
@@ -117,10 +117,10 @@ jobs:
matrix: ${{fromJson(needs.build.outputs.matrix)}}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: download packages
uses: actions/download-artifact@v4
uses: actions/download-artifact@v6
with:
name: build
path: build
@@ -143,7 +143,7 @@ jobs:
SYNC_GITHUB_PASSWORD: ${{ secrets.SYNC_GITHUB_PASSWORD }}
SYNC_GITHUB_USERNAME: ${{ secrets.SYNC_GITHUB_USERNAME }}
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: test-results-${{ matrix.index }}
path: test-results
@@ -156,10 +156,10 @@ jobs:
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: download packages
uses: actions/download-artifact@v4
uses: actions/download-artifact@v6
with:
name: build
path: build
@@ -190,10 +190,10 @@ jobs:
GITHUB_NODE_INDEX: ${{ matrix.index }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: download packages
uses: actions/download-artifact@v4
uses: actions/download-artifact@v6
with:
name: build
path: build
@@ -214,7 +214,7 @@ jobs:
2) sudo -E make -e deploy-test-multi ;;
3) sudo -E make -e deploy-test-go-fail-predeploy deploy-test-go-fail-postdeploy ;;
esac
- uses: actions/upload-artifact@v4
- uses: actions/upload-artifact@v5
with:
name: coverage.${{ matrix.index }}
path: test-results/coverage
@@ -230,7 +230,7 @@ jobs:
steps:
- name: download test-results
uses: actions/download-artifact@v4
uses: actions/download-artifact@v6
with:
path: test-results

View File

@@ -42,7 +42,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
# workaround for https://github.com/github/codeql/issues/14235
- name: Remove go.work file
@@ -50,7 +50,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@v4
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -61,7 +61,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3
uses: github/codeql-action/autobuild@v4
# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -71,4 +71,4 @@ jobs:
# uses a compiled language
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@v4

View File

@@ -16,12 +16,12 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Cloning repo
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: "Setup python 3.10"
uses: actions/setup-python@v5
uses: actions/setup-python@v6
with:
python-version: '3.10'

View File

@@ -20,9 +20,9 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Run hadolint
uses: hadolint/hadolint-action@54c9adbab1582c2ef04b2016b760714a4bfde3cf
uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5
# v3.0.0 => 4b5806eb9c6bee4954fc0e0cc3ad6175fc9782c1
markdown-lint:
@@ -30,9 +30,9 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Setup node
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '20'
cache: 'npm'
@@ -47,7 +47,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Setup packer
uses: hashicorp/setup-packer@main
with:
@@ -66,7 +66,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Run shellcheck
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38
# 1.1.0 => 94e0aab03ca135d11a35e5bfc14e6746dc56e7e9
@@ -76,7 +76,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Run shfmt
uses: luizm/action-sh-checker@17bd25a6ee188d2b91f677060038f4ba37ba14b2
# v0.5.0 => edd0e45ecff35b05f162052b50df50976c1b74fc
@@ -90,7 +90,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Run yamllint
uses: ibiqlik/action-yamllint@2576378a8e339169678f9939646ee3ee325e845c
# v3.1.1 => 2576378a8e339169678f9939646ee3ee325e845c

View File

@@ -25,7 +25,7 @@ jobs:
outputs:
version: ${{ steps.version.outputs.version }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
fetch-depth: 0
@@ -73,7 +73,7 @@ jobs:
run: echo "version=$(cat build/next-version)" >> $GITHUB_OUTPUT
- name: upload packages
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: build
path: build
@@ -84,7 +84,7 @@ jobs:
needs: release
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Setup packer
uses: hashicorp/setup-packer@main
@@ -109,7 +109,7 @@ jobs:
PKR_VAR_dokku_version="${VERSION:1}" make image/build/digitalocean
- name: upload packages
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: digitalocean-manifest.json
path: digitalocean-manifest.json
@@ -120,7 +120,7 @@ jobs:
needs: release
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Bump Azure Template
env:
BOT_GITHUB_USERNAME: ${{ secrets.HOMEBREW_GITHUB_USERNAME }}
@@ -147,6 +147,10 @@ jobs:
brew untap homebrew/core || true
echo "====> Untapping homebrew/cask"
brew untap homebrew/cask || true
echo "====> Untapping aws/tap"
brew untap aws/tap || true
echo "====> Untapping hashicorp/tap"
brew untap hashicorp/tap || true
echo "====> Uninstalling openssl@1.1"
brew uninstall openssl@1.1 || true
echo "====> Uninstalling ruby@3.0"
@@ -154,7 +158,7 @@ jobs:
echo "====> Running brew cleanup"
brew cleanup || true
- name: Brew doctor
run: brew doctor
run: brew doctor || true
- name: Brew config
run: brew config
- name: Bump Homebrew Formula

View File

@@ -30,8 +30,14 @@ RUN mkdir -p /etc/apt/keyrings \
&& apt-get -y --no-install-recommends install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin pack-cli \
&& curl -o /tmp/nixpacks.bash -sSL https://nixpacks.com/install.sh \
&& chmod +x /tmp/nixpacks.bash \
&& /tmp/nixpacks.bash \
&& NIXPACKS_BIN_DIR=/usr/bin BIN_DIR=/usr/bin /tmp/nixpacks.bash \
&& test -x /usr/bin/nixpacks \
&& rm -rf /tmp/nixpacks.bash \
&& curl -o /tmp/railpack.bash -sSL https://railpack.com/install.sh \
&& chmod +x /tmp/railpack.bash \
&& RAILPACK_BIN_DIR=/usr/bin BIN_DIR=/usr/bin /tmp/railpack.bash \
&& test -x /usr/bin/railpack \
&& rm -rf /tmp/railpack.bash \
&& echo "dokku dokku/hostname string $DOKKU_HOSTNAME" | debconf-set-selections \
&& echo "dokku dokku/skip_key_file boolean $DOKKU_SKIP_KEY_FILE" | debconf-set-selections \
&& echo "dokku dokku/vhost_enable boolean $DOKKU_VHOST_ENABLE" | debconf-set-selections \

View File

@@ -1,5 +1,718 @@
# History
## 0.37.2
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.37.2/bootstrap.sh
sudo DOKKU_TAG=v0.37.2 bash bootstrap.sh
```
### Bug Fixes
- #8198: @josegonzalez Ensure we continue on with logic if the error returned from fetching all apps is NoAppsExist
### Dependencies
- #8196: @dependabot[bot] chore(deps): bump byjg/easy-haproxy from 4.6.0 to 5.0.0 in /plugins/haproxy-vhosts
- #8197: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.31 to 2.11.32 in /plugins/scheduler-k3s
## 0.37.1
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.37.1/bootstrap.sh
sudo DOKKU_TAG=v0.37.1 bash bootstrap.sh
```
### Bug Fixes
- #8186: @josegonzalez Update url to download golang
- #8155: @josegonzalez Sanitize vector sink values in report output
- #8156: @josegonzalez Do not start nginx if there are no apps with nginx as a proxy
- #8152: @josegonzalez Ensure keda usage does not cause jank in scaling deployments
### New Features
- #8154: @josegonzalez Enable live-restore by default when installing Dokku
- #8151: @josegonzalez Allow exposing non-web processes as kubernetes services
### Refactors
- #8149: @josegonzalez Remove nginx checks for functionality that always exists
### Documentation
- #8170: @znz Fix version in migration docs
- #8169: @josegonzalez Update logging in doc generation to enhance doc generation debugging
- #8153: @josegonzalez Fix reference to letsencrypt-server property
- #8150: @josegonzalez Clarify system requirements for k3s usage
- #8148: @josegonzalez Clarify plugin installation documentation
### Dependencies
- #8192: @dependabot[bot] chore(deps): bump golang from 1.25.4 to 1.25.5 in /tests/apps/go-fail-predeploy
- #8191: @dependabot[bot] chore(deps): bump golang from 1.25.4 to 1.25.5 in /tests/apps/go-fail-postdeploy
- #8189: @dependabot[bot] chore(deps): bump golang from 1.25.4 to 1.25.5 in /tests/apps/gogrpc
- #8193: @dependabot[bot] chore(deps): bump python from 3.14.0-alpine to 3.14.1-alpine in /docs/_build
- #8190: @dependabot[bot] chore(deps): bump golang from 1.25.4 to 1.25.5 in /tests/apps/zombies-dockerfile-no-tini
- #8188: @dependabot[bot] chore(deps): bump golang from 1.25.4 to 1.25.5 in /tests/apps/zombies-dockerfile-tini
- #8194: @dependabot[bot] chore(deps): bump python from 3.14.0-bookworm to 3.14.1-bookworm in /tests/apps/dockerfile-release
- #8195: @dependabot[bot] chore(deps): bump django from 5.2.8 to 5.2.9 in /tests/apps/dockerfile-release
- #8177: @dependabot[bot] chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/nodejs-express-noprocfile
- #8178: @dependabot[bot] chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/dockerfile-procfile-bad
- #8179: @dependabot[bot] chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/nodejs-express
- #8180: @dependabot[bot] chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/dockerfile-procfile
- #8181: @dependabot[bot] chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/gitsubmodules
- #8183: @dependabot[bot] chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/checks-root
- #8182: @dependabot[bot] chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/nodejs-express-noappjson
- #8184: @dependabot[bot] chore(deps): bump express from 5.1.0 to 5.2.1 in /tests/apps/dockerfile-app-json-formations
- #8172: @dependabot[bot] chore(deps): bump beautifulsoup4 from 4.14.2 to 4.14.3 in /docs/_build
- #8173: @dependabot[bot] chore(deps): bump werkzeug from 3.1.3 to 3.1.4 in /tests/apps/python-flask
- #8164: @dependabot[bot] chore(deps): bump body-parser from 2.2.0 to 2.2.1 in /tests/apps/checks-root
- #8165: @dependabot[bot] chore(deps): bump github.com/go-resty/resty/v2 from 2.16.5 to 2.17.0 in /plugins/scheduler-k3s
- #8167: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.17.1 to 10.17.2 in /docs/_build
- #8162: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.30 to 2.11.31 in /plugins/scheduler-k3s
- #8161: @dependabot[bot] chore(deps): bump github.com/fluxcd/pkg/kustomize from 1.23.0 to 1.24.0 in /plugins/scheduler-k3s
- #8159: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.19.0 to 3.19.2 in /plugins/scheduler-k3s
- #8158: @dependabot[bot] chore(deps): bump k8s.io/kubernetes from 1.34.1 to 1.34.2 in /plugins/scheduler-k3s
- #8143: @dependabot[bot] chore(deps): bump actions/checkout from 5 to 6
- #8145: @dependabot[bot] chore(deps): bump github.com/go-openapi/jsonpointer from 0.22.1 to 0.22.3 in /plugins/scheduler-k3s
- #8146: @dependabot[bot] chore(deps): bump k8s.io/kubectl from 0.34.1 to 0.34.2 in /plugins/scheduler-k3s
- #8144: @dependabot[bot] chore(deps): bump traefik from 3.6.1 to 3.6.2 in /plugins/traefik-vhosts
## 0.37.0
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.37.0/bootstrap.sh
sudo DOKKU_TAG=v0.37.0 bash bootstrap.sh
```
See the [0.37.0 migration guide](/docs/appendices/0.37.0-migration-guide.md) for more information on migrating to 0.37.0.
### Backwards Compatibility Breaks
- #8140: @josegonzalez Rename the scheduler-k3s:cluster-* commands to use a : instead of - for a delimiter
- #7982: @josegonzalez Remove references to pack being experimental
### Bug Fixes
- #8136: @josegonzalez Do not reset manually set port mappings when upgrading dokku
- #8114: @josegonzalez Ensure we can execute run commands when exec is executed as part of an entrypoint
- #8109: @josegonzalez Allow skipping the install trigger when installing a plugin
- #8104: @josegonzalez Drop deprecated aufs check
- #8100: @othercorey Add process-type label for run with procfile cmd
### New Features
- #8139: @josegonzalez Add aliases for select builder and scheduler plugins
- #8138: @josegonzalez Turn on buildpack trace mode when dokku trace is on
- #8137: @josegonzalez Add the ability to create k3s node profiles
- #8135: @josegonzalez Add support for git remotes with port specified inline
- #8112: @josegonzalez Implement cron and one-off run task TTLs
- #8106: @josegonzalez Support inline comments for app.json
- #8105: @josegonzalez Allow specifying kubelet-args when adding a new node to the cluster
- #8085: @josegonzalez Implement config:import command
- #8004: @Tashows Add buildpacks:detect subcommand
- #7991: @josegonzalez Add ability to pause/restart cron jobs
- #7989: @josegonzalez Add support to prevent overlapping execution of cron tasks
- #7986: @josegonzalez Add support for specifying CNB buildpacks via buildpacks command
- #7956: @josegonzalez Add a Railpack builder to Dokku
- #7608: @dragonhunt02 Add commands to proxy implementations for managing labels
### Refactors
- #8101: @josegonzalez Filter build docker-options correctly for each builder
### Documentation
- #8103: @josegonzalez Correct the release version for railpacks support
### Dependencies
- #8130: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.43.0 to 0.45.0 in /plugins/common
- #8110: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.76.0 to 1.77.0 in /tests/apps/gogrpc
- #8108: @dependabot[bot] chore(deps): bump js-yaml from 3.14.1 to 3.14.2 in /tests/apps/multi
- #8107: @dependabot[bot] chore(deps): bump click from 8.3.0 to 8.3.1 in /docs/_build
- #8098: @dependabot[bot] chore(deps): bump traefik from 3.5.4 to 3.6.1 in /plugins/traefik-vhosts
- #8097: @dependabot[bot] chore(deps): bump timberio/vector from 0.51.0-debian to 0.51.1-debian in /plugins/logs
- #8094: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.16.1 to 10.17.1 in /docs/_build
- #8092: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.23 to 9.7.0 in /docs/_build
- #8090: @dependabot[bot] chore(deps): bump sigs.k8s.io/kustomize/api from 0.20.1 to 0.21.0 in /plugins/scheduler-k3s
## 0.36.11
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.36.11/bootstrap.sh
sudo DOKKU_TAG=v0.36.11 bash bootstrap.sh
```
### Bug Fixes
- #8084: @josegonzalez Use the correct case for AS in Dockerfile
- #8083: @josegonzalez Use correct variable for tasks
- #8081: @josegonzalez Error out if the appname or app.json is missing when retrieving cron entries
### Refactors
- #8082: @josegonzalez Standardize naming in cron code
### Dependencies
- #8073: @dependabot[bot] chore(deps): bump timberio/vector from 0.50.0-debian to 0.51.0-debian in /plugins/logs
- #8080: @dependabot[bot] chore(deps): bump github.com/containerd/containerd from 1.7.28 to 1.7.29 in /plugins/scheduler-k3s
- #8079: @dependabot[bot] chore(deps): bump golang from 1.25.3 to 1.25.4 in /tests/apps/zombies-dockerfile-tini
- #8075: @dependabot[bot] chore(deps): bump golang from 1.25.3 to 1.25.4 in /tests/apps/go-fail-postdeploy
- #8078: @dependabot[bot] chore(deps): bump golang from 1.25.3 to 1.25.4 in /tests/apps/go-fail-predeploy
- #8077: @dependabot[bot] chore(deps): bump golang from 1.25.3 to 1.25.4 in /tests/apps/zombies-dockerfile-no-tini
- #8076: @dependabot[bot] chore(deps): bump golang from 1.25.3 to 1.25.4 in /tests/apps/gogrpc
- #8072: @dependabot[bot] chore(deps): update markdown requirement from <3.10,>=3.2.1 to >=3.2.1,<3.11 in /docs/_build
- #8074: @dependabot[bot] chore(deps): bump django from 5.2.7 to 5.2.8 in /tests/apps/dockerfile-release
- #8071: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.22 to 9.6.23 in /docs/_build
- #8068: @dependabot[bot] chore(deps): bump traefik from 3.5.3 to 3.5.4 in /plugins/traefik-vhosts
- #8069: @dependabot[bot] chore(deps): bump github.com/kedacore/keda/v2 from 2.18.0 to 2.18.1 in /plugins/scheduler-k3s
- #8066: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.29 to 2.11.30 in /plugins/scheduler-k3s
## 0.36.10
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.36.10/bootstrap.sh
sudo DOKKU_TAG=v0.36.10 bash bootstrap.sh
```
### Bug Fixes
- #8063: @othercorey Use -t instead of deprecated --time in stop commands
- #8058: @josegonzalez Ensure the pre-receive hook and URLS files are correct when cloning or renaming apps
- #8059: @josegonzalez Expand variables for release tasks
- #8060: @josegonzalez Use updated http2 directive for setting http2 support
### Documentation
- #8051: @othercorey Fix "its" in Caddy SSL configuration documentation
### Dependencies
- #8065: @dependabot[bot] chore(deps): bump actions/upload-artifact from 4 to 5
- #8064: @dependabot[bot] chore(deps): bump actions/download-artifact from 5 to 6
- #8057: @dependabot[bot] chore(deps): bump node from 24-alpine to 25-alpine in /tests/apps/dockerfile-procfile-bad
- #8056: @dependabot[bot] chore(deps): bump node from 24-alpine to 25-alpine in /tests/apps/dockerfile-app-json-formations
- #8055: @dependabot[bot] chore(deps): bump node from 24-alpine to 25-alpine in /tests/apps/dockerfile-procfile
- #8054: @dependabot[bot] chore(deps): bump node from 24-alpine to 25-alpine in /tests/apps/dockerfile
- #8053: @dependabot[bot] chore(deps): bump node from 24-alpine to 25-alpine in /tests/apps/dockerfile-noexpose
## 0.36.9
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.36.9/bootstrap.sh
sudo DOKKU_TAG=v0.36.9 bash bootstrap.sh
```
### Bug Fixes
- #8032: @josegonzalez Set correct labels for tests/apps/dockerfile-release pip updates
### New Features
- #8047: @josegonzalez Add ability to disable letsencrypt for a given application or globally
### Dependencies
- #8049: @dependabot[bot] chore(deps): bump github.com/cert-manager/cert-manager from 1.19.0 to 1.19.1 in /plugins/scheduler-k3s
- #8048: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.21 to 9.6.22 in /docs/_build
- #8042: @dependabot[bot] chore(deps): bump django from 5.1.13 to 5.2.7 in /tests/apps/dockerfile-release
- #8043: @dependabot[bot] chore(deps): bump whitenoise from 6.2.0 to 6.11.0 in /tests/apps/dockerfile-release
- #8044: @dependabot[bot] chore(deps): bump djangorestframework from 3.15.2 to 3.16.1 in /tests/apps/dockerfile-release
- #8045: @dependabot[bot] chore(deps): bump psycopg2-binary from 2.9.5 to 2.9.11 in /tests/apps/dockerfile-release
- #8046: @dependabot[bot] chore(deps): bump dj-database-url from 1.0.0 to 3.0.1 in /tests/apps/dockerfile-release
- #8041: @dependabot[bot] chore(deps): bump golang from 1.25.2 to 1.25.3 in /tests/apps/gogrpc
- #8040: @dependabot[bot] chore(deps): bump golang from 1.25.2 to 1.25.3 in /tests/apps/go-fail-predeploy
- #8039: @dependabot[bot] chore(deps): bump golang from 1.25.2 to 1.25.3 in /tests/apps/zombies-dockerfile-no-tini
- #8037: @dependabot[bot] chore(deps): bump golang from 1.25.2 to 1.25.3 in /tests/apps/go-fail-postdeploy
- #8038: @dependabot[bot] chore(deps): bump golang from 1.25.2 to 1.25.3 in /tests/apps/zombies-dockerfile-tini
- #8036: @dependabot[bot] chore(deps): bump actions/setup-node from 5 to 6
- #8033: @dependabot[bot] chore(deps): bump github.com/gofrs/flock from 0.12.1 to 0.13.0 in /plugins/scheduler-k3s
- #8034: @dependabot[bot] chore(deps): bump github.com/kedacore/keda/v2 from 2.17.1-0.20250708210620-a239d2459a35 to 2.18.0 in /plugins/scheduler-k3s
## 0.36.8
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.36.8/bootstrap.sh
sudo DOKKU_TAG=v0.36.8 bash bootstrap.sh
```
### Bug Fixes
- #8031: @josegonzalez Respect the k3s master node version when adding a new worker to the k3s cluster
- #7990: @josegonzalez Correct parsing of the --container-id flag for the enter command
### Documentation
- #8013: @othercorey Change command to add SSH key with sudo
- #7998: @bakatz Remove incorrect documentation about --envfile flag for config:export
### Dependencies
- #8028: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.42.0 to 0.43.0 in /plugins/common
- #8015: @dependabot[bot] chore(deps): bump github.com/cert-manager/cert-manager from 1.18.2 to 1.19.0 in /plugins/scheduler-k3s
- #8029: @dependabot[bot] chore(deps): bump github.com/gofrs/flock from 0.12.1 to 0.13.0 in /plugins/ps
- #8011: @dependabot[bot] chore(deps): bump org.apache.maven.plugins:maven-dependency-plugin from 3.8.1 to 3.9.0 in /tests/apps/java
- #8012: @dependabot[bot] chore(deps): bump click from 8.1.8 to 8.3.0 in /docs/_build
- #8014: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.75.1 to 1.76.0 in /tests/apps/gogrpc
- #8018: @dependabot[bot] chore(deps): bump github/codeql-action from 3 to 4
- #8019: @dependabot[bot] chore(deps): bump golang from 1.25.1 to 1.25.2 in /tests/apps/zombies-dockerfile-no-tini
- #8020: @dependabot[bot] chore(deps): bump golang from 1.25.1 to 1.25.2 in /tests/apps/go-fail-predeploy
- #8021: @dependabot[bot] chore(deps): bump python from 3.13.7-bookworm to 3.14.0-bookworm in /tests/apps/dockerfile-release
- #8022: @dependabot[bot] chore(deps): bump golang from 1.25.1 to 1.25.2 in /tests/apps/gogrpc
- #8024: @dependabot[bot] chore(deps): bump golang from 1.25.1 to 1.25.2 in /tests/apps/zombies-dockerfile-tini
- #8023: @dependabot[bot] chore(deps): bump golang from 1.25.1 to 1.25.2 in /tests/apps/go-fail-postdeploy
- #8025: @dependabot[bot] chore(deps): bump python from 3.13.7-alpine to 3.14.0-alpine in /docs/_build
- #8026: @dependabot[bot] chore(deps): bump github.com/fluxcd/pkg/kustomize from 1.22.0 to 1.23.0 in /plugins/scheduler-k3s
- #8027: @dependabot[bot] chore(deps): bump ruby from 3.4.6 to 3.4.7 in /tests/apps/dockerfile-entrypoint
- #8030: @dependabot[bot] chore(deps): bump rack from 2.2.19 to 2.2.20 in /tests/apps/ruby
- #8016: @dependabot[bot] chore(deps): bump rack from 2.2.18 to 2.2.19 in /tests/apps/ruby
- #8009: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.36.9 to 1.36.10 in /tests/apps/gogrpc
- #7994: @dependabot[bot] chore(deps): bump timberio/vector from 0.49.0-debian to 0.50.0-debian in /plugins/logs
- #8006: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.20 to 9.6.21 in /docs/_build
- #8003: @dependabot[bot] chore(deps): bump traefik from 3.5.2 to 3.5.3 in /plugins/traefik-vhosts
- #7996: @dependabot[bot] chore(deps): bump pyyaml from 6.0.2 to 6.0.3 in /docs/_build
- #8000: @dependabot[bot] chore(deps): bump markupsafe from 3.0.2 to 3.0.3 in /docs/_build
- #8001: @dependabot[bot] chore(deps): bump beautifulsoup4 from 4.13.5 to 4.14.2 in /docs/_build
- #8002: @dependabot[bot] chore(deps): bump github.com/go-openapi/jsonpointer from 0.22.0 to 0.22.1 in /plugins/scheduler-k3s
- #7995: @dependabot[bot] chore(deps): bump rack from 2.2.17 to 2.2.18 in /tests/apps/ruby
- #7992: @dependabot[bot] chore(deps): bump hadolint/hadolint-action from 3.2.0 to 3.3.0
- #7993: @dependabot[bot] chore(deps): bump pyparsing from 3.2.4 to 3.2.5 in /docs/_build
- #7987: @dependabot[bot] chore(deps): bump ruby from 3.4.5 to 3.4.6 in /tests/apps/dockerfile-entrypoint
- #7983: @dependabot[bot] chore(deps): bump k8s.io/kubernetes from 1.34.0 to 1.34.1 in /plugins/scheduler-k3s
- #7984: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.19 to 9.6.20 in /docs/_build
- #7985: @dependabot[bot] chore(deps): bump pyparsing from 3.2.3 to 3.2.4 in /docs/_build
### Other
- #8008: @dependabot[bot] chore(deps): bump django from 5.1.12 to 5.1.13 in /tests/apps/dockerfile-release
## 0.36.7
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.36.7/bootstrap.sh
sudo DOKKU_TAG=v0.36.7 bash bootstrap.sh
```
### Bug Fixes
- #7981: @josegonzalez Only install software-properties-common on Ubuntu and older Debian installations
- #7979: @josegonzalez Skip invalid apps when listing applications
- #7977: @kminek Remove server_tokens directive from main nginx config if present (com…
- #7974: @josegonzalez Ensure lsb_release is available on debian systems
### New Features
- #7978: @josegonzalez Add ability to list global cron tasks
- #7975: @josegonzalez Create SecurityContext for k3s scheduler from docker-options
### Dependencies
- #7972: @dependabot[bot] chore(deps): bump k8s.io/kubectl from 0.34.0 to 0.34.1 in /plugins/scheduler-k3s
- #7973: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.18.6 to 3.19.0 in /plugins/scheduler-k3s
- #7971: @dependabot[bot] chore(deps): bump k8s.io/client-go from 0.34.0 to 0.34.1 in /plugins/scheduler-k3s
- #7970: @dependabot[bot] chore(deps): bump k8s.io/api from 0.34.0 to 0.34.1 in /plugins/scheduler-k3s
- #7966: @dependabot[bot] chore(deps): bump github.com/fluxcd/pkg/kustomize from 1.19.0 to 1.22.0 in /plugins/scheduler-k3s
- #7963: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.75.0 to 1.75.1 in /tests/apps/gogrpc
- #7964: @dependabot[bot] chore(deps): bump traefik from 3.5.1 to 3.5.2 in /plugins/traefik-vhosts
- #7965: @dependabot[bot] chore(deps): bump k8s.io/apimachinery from 0.34.0 to 0.34.1 in /plugins/scheduler-k3s
- #7961: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.41.0 to 0.42.0 in /plugins/common
- #7960: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.36.8 to 1.36.9 in /tests/apps/gogrpc
### Other
- #7968: @josegonzalez chore: bump herokuish version from 0.11.0 to 0.11.3
- #7962: @dependabot[bot] chore(deps): bump django from 5.1.10 to 5.1.12 in /tests/apps/dockerfile-release
## 0.36.6
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.36.6/bootstrap.sh
sudo DOKKU_TAG=v0.36.6 bash bootstrap.sh
```
### Bug Fixes
- #7955: @josegonzalez Ensure that the nixpacks bin is installed in /usr/bin/nixpacks in Docker image
- #7953: @josegonzalez Set correct label for nixpacks builder
- #7942: @josegonzalez Ensure the code is copied over to the new app on clone or rebase
- #7941: @josegonzalez Do not generate an https url when there is no SSL certificate
- #7940: @josegonzalez Silence openresty extract warnings during the deploy process
### Tests
- #7954: @josegonzalez Respect DOKKU_DOMAIN when deploying in tests
- #7943: @josegonzalez Remove unused test app
- #7939: @josegonzalez Add test for ensuring run commands work with pack-based builds
### Dependencies
- #7958: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.18.5 to 3.18.6 in /plugins/scheduler-k3s
- #7952: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.16.0 to 0.17.0 in /plugins/common
- #7951: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/gogrpc
- #7950: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/go-fail-postdeploy
- #7949: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/zombies-dockerfile-no-tini
- #7947: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/zombies-dockerfile-tini
- #7945: @dependabot[bot] chore(deps): bump golang from 1.25.0 to 1.25.1 in /tests/apps/go-fail-predeploy
- #7946: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.18 to 9.6.19 in /docs/_build
## 0.36.5
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.36.5/bootstrap.sh
sudo DOKKU_TAG=v0.36.5 bash bootstrap.sh
```
### New Features
- #7937: @josegonzalez Add support for Debian Trixie
## 0.36.4
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.36.4/bootstrap.sh
sudo DOKKU_TAG=v0.36.4 bash bootstrap.sh
```
### Bug Fixes
- #7914: @josegonzalez Fix nginx configuration building in k3s scheduler
### Dependencies
- #7935: @dependabot[bot] chore(deps): update markdown requirement from <3.9,>=3.2.1 to >=3.2.1,<3.10 in /docs/_build
- #7936: @dependabot[bot] chore(deps): bump github.com/go-openapi/jsonpointer from 0.21.2 to 0.22.0 in /plugins/scheduler-k3s
- #7931: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.28 to 2.11.29 in /plugins/scheduler-k3s
- #7932: @dependabot[bot] chore(deps): bump actions/setup-python from 5 to 6
- #7933: @dependabot[bot] chore(deps): bump actions/setup-node from 4 to 5
- #7934: @dependabot[bot] chore(deps): bump hadolint/hadolint-action from 3.1.0 to 3.2.0
- #7920: @dependabot[bot] chore(deps): bump github.com/spf13/pflag from 1.0.9 to 1.0.10 in /plugins/common
- #7887: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.38.0 to 1.38.2 in /plugins/common
- #7847: @dependabot[bot] chore(deps): bump timberio/vector from 0.48.0-debian to 0.49.0-debian in /plugins/logs
- #7890: @dependabot[bot] chore(deps): bump k8s.io/kubernetes from 1.33.2 to 1.34.0 in /plugins/scheduler-k3s
- #7881: @dependabot[bot] chore(deps): bump byjg/easy-haproxy from 4.5.0 to 4.6.0 in /plugins/haproxy-vhosts
- #7880: @dependabot[bot] chore(deps): bump beautifulsoup4 from 4.13.4 to 4.13.5 in /docs/_build
- #7888: @dependabot[bot] chore(deps): bump soupsieve from 2.7 to 2.8 in /docs/_build
- #7902: @dependabot[bot] chore(deps): bump github.com/spf13/pflag from 1.0.7 to 1.0.9 in /plugins/common
- #7891: @dependabot[bot] chore(deps): bump k8s.io/kubectl from 0.33.3 to 0.34.0 in /plugins/scheduler-k3s
- #7895: @dependabot[bot] chore(deps): bump traefik from 3.5.0 to 3.5.1 in /plugins/traefik-vhosts
## 0.36.3
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.36.3/bootstrap.sh
sudo DOKKU_TAG=v0.36.3 bash bootstrap.sh
```
### New Features
- #7878: @josegonzalez Allow specifying base64-encoded values in vector-sink DSN urls
### Dependencies
- #7873: @dependabot[bot] chore(deps): bump github.com/go-openapi/jsonpointer from 0.21.1 to 0.21.2 in /plugins/scheduler-k3s
- #7874: @dependabot[bot] chore(deps): bump k8s.io/api from 0.33.3 to 0.33.4 in /plugins/scheduler-k3s
- #7875: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.17 to 9.6.18 in /docs/_build
## 0.36.2
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.36.2/bootstrap.sh
sudo DOKKU_TAG=v0.36.2 bash bootstrap.sh
```
### Bug Fixes
- #7872: @josegonzalez Correct issues when scaling non-web processes for the scheduler-k3s plugin
### Refactors
- #7871: @josegonzalez Remove public exposure of DOKKU_APP_TYPE in favor of builder detected property
### Dependencies
- #7868: @dependabot[bot] chore(deps): bump grunt-cli from 1.4.3 to 1.5.0 in /tests/apps/multi
- #7869: @dependabot[bot] chore(deps): bump bower from 1.8.12 to 1.8.14 in /tests/apps/multi
- #7870: @dependabot[bot] chore(deps): bump tmp from 0.2.4 to 0.2.5 in /tests/apps/multi
- #7867: @dependabot[bot] chore(deps): bump grunt from 1.5.3 to 1.6.1 in /tests/apps/multi
- #7866: @dependabot[bot] chore(deps): bump github.com/fluxcd/pkg/kustomize from 1.18.0 to 1.19.0 in /plugins/scheduler-k3s
- #7862: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.36.7 to 1.36.8 in /tests/apps/gogrpc
### Other
- #7864: @josegonzalez chore(deps): add dependabot entries for plugins/scheduler-k3s and tests/apps/multi
## 0.36.1
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.36.1/bootstrap.sh
sudo DOKKU_TAG=v0.36.1 bash bootstrap.sh
```
### Bug Fixes
- #7846: @josegonzalez Correct issue in parsing escaped plus signs in vector sink values
- #7841: @leksyib14 Fix handling of equals sign in vector sink values
- #7844: @josegonzalez Do not change permissions on config directory symlinks
### Tests
- #7848: @josegonzalez Ensure tests properly fetch data from json output
- #7845: @josegonzalez Use the official github actions arm64 runner
### Dependencies
- #7861: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.74.2 to 1.75.0 in /tests/apps/gogrpc
- #7860: @dependabot[bot] chore(deps): bump flask from 3.1.1 to 3.1.2 in /tests/apps/python-flask
- #7859: @dependabot[bot] chore(deps): bump flask from 3.1.1 to 3.1.2 in /tests/apps/multi
- #7856: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.16 to 9.6.17 in /docs/_build
- #7857: @dependabot[bot] chore(deps): bump python from 3.13.6-alpine to 3.13.7-alpine in /docs/_build
- #7858: @dependabot[bot] chore(deps): bump python from 3.13.6-bookworm to 3.13.7-bookworm in /tests/apps/dockerfile-release
- #7855: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.25 to 11.0.26 in /tests/apps/java
- #7849: @dependabot[bot] chore(deps): bump golang from 1.24.6 to 1.25.0 in /tests/apps/zombies-dockerfile-tini
- #7850: @dependabot[bot] chore(deps): bump golang from 1.24.6 to 1.25.0 in /tests/apps/go-fail-predeploy
- #7851: @dependabot[bot] chore(deps): bump golang from 1.24.6 to 1.25.0 in /tests/apps/go-fail-postdeploy
- #7852: @dependabot[bot] chore(deps): bump golang from 1.24.6 to 1.25.0 in /tests/apps/gogrpc
- #7853: @dependabot[bot] chore(deps): bump golang from 1.24.6 to 1.25.0 in /tests/apps/zombies-dockerfile-no-tini
- #7842: @dependabot[bot] chore(deps): bump actions/checkout from 4 to 5
- #7821: @dependabot[bot] chore(deps): bump traefik from 3.4.4 to 3.5.0 in /plugins/traefik-vhosts
- #7843: @josegonzalez Bump go modules
- #7824: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.15 to 9.6.16 in /docs/_build
- #7823: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.16 to 10.16.1 in /docs/_build
- #7831: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.36.6 to 1.36.7 in /tests/apps/gogrpc
- #7839: @dependabot[bot] chore(deps): bump python from 3.13.5-bookworm to 3.13.6-bookworm in /tests/apps/dockerfile-release
- #7838: @dependabot[bot] chore(deps): bump python from 3.13.5-alpine to 3.13.6-alpine in /docs/_build
- #7837: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.40.0 to 0.41.0 in /plugins/common
- #7836: @dependabot[bot] chore(deps): bump golang from 1.24.5 to 1.24.6 in /tests/apps/zombies-dockerfile-tini
- #7835: @dependabot[bot] chore(deps): bump golang from 1.24.5 to 1.24.6 in /tests/apps/zombies-dockerfile-no-tini
- #7834: @dependabot[bot] chore(deps): bump golang from 1.24.5 to 1.24.6 in /tests/apps/go-fail-postdeploy
- #7833: @dependabot[bot] chore(deps): bump golang from 1.24.5 to 1.24.6 in /tests/apps/gogrpc
- #7832: @dependabot[bot] chore(deps): bump golang from 1.24.5 to 1.24.6 in /tests/apps/go-fail-predeploy
- #7828: @dependabot[bot] chore(deps): bump actions/download-artifact from 4 to 5
### Other
- #7854: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.18.4 to 3.18.5 in /plugins/scheduler-k3s
- #7825: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.26 to 2.11.28 in /plugins/scheduler-k3s
- #7830: @dependabot[bot] chore(deps): bump tmp from 0.2.1 to 0.2.4 in /tests/apps/multi
- #7829: @dependabot[bot] chore(deps): bump github.com/go-acme/lego/v4 from 4.24.0 to 4.25.2 in /plugins/scheduler-k3s
## 0.36.0
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.36.0/bootstrap.sh
sudo DOKKU_TAG=v0.36.0 bash bootstrap.sh
```
See the [0.36.0 migration guide](/docs/appendices/0.36.0-migration-guide.md) for more information on migrating to 0.36.0.
### Backwards Compatibility Breaks
- #7442: @turicas Update how domains:clear works and add domains:reset command
- #7577: @josegonzalez Migrate DOKKU_DOCKER_STOP_TIMEOUT to ps setting
### Bug Fixes
- #7579: @josegonzalez Stop all app containers when calling ps:stop
- #7820: @josegonzalez Ignore brew doctor warnings when releasing Dokku as a homebrew formula
- #7811: @slava-sh Fix issue deploying from a tar file
- #7781: @josegonzalez Update gitignore to remove compiled triggers from repo
### New Features
- #7780: @josegonzalez Export the devcontainer environment to allow docker exec to work
- #7776: @josegonzalez Add kustomize support for applying helm charts
- #7773: @josegonzalez Use values.yaml correctly within internal Kubernetes Helm Chart
- #7769: @devopswithnaman Improve error handling in docker operations
- #7578: @josegonzalez Add ability to set maintenance mode for all cron tasks running for an app
- #7504: @josegonzalez Only redeploy formations that have had their values changed
- #7499: @nonZero Add support for custom nginx service command
- #7812: @CiTroNaK Allow specifying a custom top-level label key for the caddy proxy
### Removals
- #7818: @josegonzalez Drop support for Ubuntu 20.04
- #7774: @josegonzalez Remove ansi escape characters that dropped the remote: prefix in deploy output
### Refactors
- #7816: @josegonzalez Use helper go functions to handle extracting files from a repository
### Documentation
- #7777: @coorasse Fix typo in 0.36.0 migration guide
- #7761: @largemouth Fix struct name in comment
- #7760: @olleolleolle Drop dokku-client gem, homepage 404s
- #7759: @olleolleolle Drop mention of dokkufy gem archived in 2017
- #7755: @olleolleolle Update checkout action version in github actions documentation
### Tests
- #7762: @josegonzalez Reference new packeto buildpack urls
### Dependencies
- #7815: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.37.0 to 1.38.0 in /plugins/config
- #7814: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.73.0 to 1.74.2 in /tests/apps/gogrpc
- #7810: @dependabot[bot] chore(deps): bump github.com/spf13/pflag from 1.0.6 to 1.0.7 in /plugins/config
- #7792: @dependabot[bot] chore(deps): bump ruby from 3.4.4 to 3.4.5 in /tests/apps/dockerfile-entrypoint
- #7791: @dependabot[bot] chore(deps): bump traefik from 3.4.1 to 3.4.4 in /plugins/traefik-vhosts
- #7790: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.39.0 to 0.40.0 in /plugins/common
- #7787: @dependabot[bot] chore(deps): bump golang from 1.24.4 to 1.24.5 in /tests/apps/zombies-dockerfile-no-tini
- #7786: @dependabot[bot] chore(deps): bump golang from 1.24.4 to 1.24.5 in /tests/apps/zombies-dockerfile-tini
- #7785: @dependabot[bot] chore(deps): bump golang from 1.24.4 to 1.24.5 in /tests/apps/go-fail-predeploy
- #7784: @dependabot[bot] chore(deps): bump golang from 1.24.4 to 1.24.5 in /tests/apps/gogrpc
- #7783: @dependabot[bot] chore(deps): bump golang from 1.24.4 to 1.24.5 in /tests/apps/go-fail-postdeploy
- #7782: @josegonzalez Update golang dependencies in scheduler-k3s plugin
- #7779: @josegonzalez Update golang to 1.24
- #7775: @dependabot[bot] chore(deps): bump mvdan.cc/sh/v3 from 3.11.0 to 3.12.0 in /plugins/cron
- #7772: @dependabot[bot] chore(deps): bump timberio/vector from 0.47.0-debian to 0.48.0-debian in /plugins/logs
- #7771: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.14 to 9.6.15 in /docs/_build
- #7768: @dependabot[bot] chore(deps): bump thin from 1.8.2 to 2.0.1 in /tests/apps/ruby
- #7766: @dependabot[bot] chore(deps): bump lucaslorentz/caddy-docker-proxy from 2.9 to 2.10 in /plugins/caddy-vhosts
- #7765: @dependabot[bot] chore(deps): bump pygments from 2.19.1 to 2.19.2 in /docs/_build
- #7763: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.15 to 10.16 in /docs/_build
- #7757: @dependabot[bot] chore(deps): bump python from 3.13.4-alpine to 3.13.5-alpine in /docs/_build
- #7756: @dependabot[bot] chore(deps): bump python from 3.13.4-bookworm to 3.13.5-bookworm in /tests/apps/dockerfile-release
- #7754: @dependabot[bot] chore(deps): bump requests from 2.32.0 to 2.32.4 in /tests/apps/lambda-python
- #7753: @dependabot[bot] chore(deps): bump zipp from 3.22.0 to 3.23.0 in /docs/_build
- #7749: @josegonzalez chore: update herokuish from 0.10.3 to 0.11.0
- #7748: @josegonzalez chore: update docker-container-healthchecker from 0.11.5 to 0.14.0
- #7628: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/nodejs-express-noappjson
- #7621: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/nodejs-express
- #7819: @dependabot[bot] chore(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /tests/apps/multi
## 0.35.20
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.35.20/bootstrap.sh
sudo DOKKU_TAG=v0.35.20 bash bootstrap.sh
```
### Bug Fixes
- #7726: @josegonzalez Ensure compose projects are spawned from the /tmp directory
- #7725: @josegonzalez Uninstall hashicorp tap to fix formula releases
### Dependencies
- #7735: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.72.2 to 1.73.0 in /tests/apps/gogrpc
- #7737: @dependabot[bot] chore(deps): bump python from 3.13.3-alpine to 3.13.4-alpine in /docs/_build
- #7738: @dependabot[bot] chore(deps): bump python from 3.13.3-bookworm to 3.13.4-bookworm in /tests/apps/dockerfile-release
- #7745: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.38.0 to 0.39.0 in /plugins/common
- #7740: @dependabot[bot] chore(deps): bump golang from 1.24.3 to 1.24.4 in /tests/apps/gogrpc
- #7741: @dependabot[bot] chore(deps): bump golang from 1.24.3 to 1.24.4 in /tests/apps/go-fail-postdeploy
- #7742: @dependabot[bot] chore(deps): bump golang from 1.24.3 to 1.24.4 in /tests/apps/zombies-dockerfile-tini
- #7743: @dependabot[bot] chore(deps): bump golang from 1.24.3 to 1.24.4 in /tests/apps/go-fail-predeploy
- #7744: @dependabot[bot] chore(deps): bump golang from 1.24.3 to 1.24.4 in /tests/apps/zombies-dockerfile-no-tini
- #7730: @dependabot[bot] chore(deps): bump traefik from 3.4.0 to 3.4.1 in /plugins/traefik-vhosts
- #7729: @dependabot[bot] chore(deps): bump zipp from 3.21.0 to 3.22.0 in /docs/_build
- #7727: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.72.1 to 1.72.2 in /tests/apps/gogrpc
### Other
- #7746: @dependabot[bot] chore(deps): bump django from 5.0.14 to 5.1.10 in /tests/apps/dockerfile-release
- #7731: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.24 to 2.11.25 in /plugins/scheduler-k3s
## 0.35.19
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.35.19/bootstrap.sh
sudo DOKKU_TAG=v0.35.19 bash bootstrap.sh
```
### Bug Fixes
- #7686: @josegonzalez Untap aws/tap to correct issues in formula release
### Documentation
- #7707: @swrobel Remove duplicate hostname plugin
- #7687: @d9i Fix cron key in app.json docs
- #7677: @plafue Add continuous integration example for woodpecker ci
### Tests
- #7585: @josegonzalez Add test to prove Dokku respects the Procfile when deploying from an image
- #7678: @josegonzalez Revert "fix: update CID count in ps tests"
### Dependencies
- #7692: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.37.0 to 0.38.0 in /plugins/common
- #7626: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/dockerfile
- #7693: @dependabot[bot] chore(deps): bump traefik from 3.3.5 to 3.4.0 in /plugins/traefik-vhosts
- #7694: @dependabot[bot] chore(deps): bump golang from 1.24.2 to 1.24.3 in /tests/apps/go-fail-postdeploy
- #7695: @dependabot[bot] chore(deps): bump node from 23-alpine to 24-alpine in /tests/apps/dockerfile-procfile-bad
- #7696: @dependabot[bot] chore(deps): bump golang from 1.24.2 to 1.24.3 in /tests/apps/gogrpc
- #7697: @dependabot[bot] chore(deps): bump golang from 1.24.2 to 1.24.3 in /tests/apps/go-fail-predeploy
- #7698: @dependabot[bot] chore(deps): bump node from 23-alpine to 24-alpine in /tests/apps/dockerfile-procfile
- #7699: @dependabot[bot] chore(deps): bump golang from 1.24.2 to 1.24.3 in /tests/apps/zombies-dockerfile-no-tini
- #7700: @dependabot[bot] chore(deps): bump golang from 1.24.2 to 1.24.3 in /tests/apps/zombies-dockerfile-tini
- #7701: @dependabot[bot] chore(deps): bump node from 23-alpine to 24-alpine in /tests/apps/dockerfile
- #7702: @dependabot[bot] chore(deps): bump node from 23-alpine to 24-alpine in /tests/apps/dockerfile-app-json-formations
- #7704: @dependabot[bot] chore(deps): bump rack from 2.2.13 to 2.2.14 in /tests/apps/ruby
- #7711: @dependabot[bot] chore(deps): bump flask from 3.1.0 to 3.1.1 in /tests/apps/multi
- #7712: @dependabot[bot] chore(deps): bump flask from 3.1.0 to 3.1.1 in /tests/apps/python-flask
- #7713: @dependabot[bot] chore(deps): bump pyyaml-env-tag from 0.1 to 1.1 in /docs/_build
- #7714: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.12 to 9.6.14 in /docs/_build
- #7715: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.72.0 to 1.72.1 in /tests/apps/gogrpc
- #7716: @dependabot[bot] chore(deps): bump ruby from 3.4.3 to 3.4.4 in /tests/apps/dockerfile-entrypoint
- #7718: @dependabot[bot] chore(deps): bump timberio/vector from 0.46.1-debian to 0.47.0-debian in /plugins/logs
- #7703: @dependabot[bot] chore(deps): bump node from 23-alpine to 24-alpine in /tests/apps/dockerfile-noexpose
- #7688: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.14.3 to 10.15 in /docs/_build
- #7689: @dependabot[bot] chore(deps): bump importlib-metadata from 8.6.1 to 8.7.0 in /docs/_build
- #7671: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.36.0 to 0.38.0 in /tests/apps/gogrpc
- #7681: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.71.1 to 1.72.0 in /tests/apps/gogrpc
- #7680: @dependabot[bot] chore(deps): bump soupsieve from 2.6 to 2.7 in /docs/_build
- #7682: @dependabot[bot] chore(deps): bump packaging from 24.2 to 25.0 in /docs/_build
- #7673: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.37.0 to 0.38.0 in /plugins/common
- #7675: @dependabot[bot] chore(deps): bump byjg/easy-haproxy from 4.4.0 to 4.5.0 in /plugins/haproxy-vhosts
- #7676: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.11 to 9.6.12 in /docs/_build
### Other
- #7723: @josegonzalez Revert "chore(deps): bump helm.sh/helm/v3 from 3.14.2 to 3.17.3 in /plugins/scheduler-k3s"
- #7645: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.14.2 to 3.17.3 in /plugins/scheduler-k3s
- #7717: @dependabot[bot] chore(deps): bump setuptools from 70.0.0 to 78.1.1 in /tests/apps/dockerfile-release
- #7719: @d1ceward Fix: Add missing `systemctl` path detection in nginx-vhost plugin
- #7679: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.15 to 2.11.24 in /plugins/scheduler-k3s
## 0.35.18
Install/update via the bootstrap script:

View File

@@ -74,7 +74,7 @@ Support us with a monthly donation and help us continue our activities. [[Become
A fresh VM running any of the following operating systems:
- Ubuntu 20.04 / 22.04 / 24.04 (amd64/arm64) - Any currently supported release
- Ubuntu 22.04 / 24.04 (amd64/arm64) - Any currently supported release
- Debian 11+ (amd64/arm64)
An SSH keypair that can be used for application deployment. If this exists before installation, it will be automatically imported into dokku.
@@ -85,8 +85,8 @@ Otherwise, you will need to import the keypair manually after installation using
To install the latest stable release, run the following commands as a user who has access to `sudo`:
```shell
wget -NP . https://dokku.com/install/v0.35.18/bootstrap.sh
sudo DOKKU_TAG=v0.35.18 bash bootstrap.sh
wget -NP . https://dokku.com/install/v0.37.2/bootstrap.sh
sudo DOKKU_TAG=v0.37.2 bash bootstrap.sh
```
You can then proceed to configure your server domain (via `dokku domains:set-global`) and user access (via `dokku ssh-keys:add`) to complete the installation.

View File

@@ -3,7 +3,7 @@ set -eo pipefail
[[ $TRACE ]] && set -x
# A script to bootstrap dokku.
# It expects to be run on Ubuntu 20.04/22.04/24.04 via 'sudo`
# It expects to be run on Ubuntu 22.04/24.04 via 'sudo`
# If installing a tag higher than 0.3.13, it may install dokku via a package (so long as the package is higher than 0.3.13)
# It checks out the dokku source code from GitHub into ~/dokku and then runs 'make install' from dokku source.
@@ -12,7 +12,7 @@ set -eo pipefail
# That's good because it prevents our output overlapping with wget's.
# It also means that we can't run a partially downloaded script.
SUPPORTED_VERSIONS="Debian [11, 12], Ubuntu [20.04, 22.04, 24.04]"
SUPPORTED_VERSIONS="Debian [11, 12, 13], Ubuntu [22.04, 24.04]"
log-fail() {
declare desc="log fail formatter"
@@ -48,9 +48,15 @@ install-requirements() {
apt-get update -qq >/dev/null
apt-get -qq -y --no-install-recommends install gpg-agent
fi
if ! dpkg -l | grep -q software-properties-common; then
if ! command -v lsb_release &>/dev/null; then
apt-get update -qq >/dev/null
apt-get -qq -y --no-install-recommends install software-properties-common
apt-get -qq -y --no-install-recommends install lsb-release
fi
if [[ "$DOKKU_DISTRO_VERSION" -lt "13" ]]; then
if ! dpkg -l | grep -q software-properties-common; then
apt-get update -qq >/dev/null
apt-get -qq -y --no-install-recommends install software-properties-common
fi
fi
;;
ubuntu)
@@ -122,7 +128,22 @@ install-dokku-from-source() {
log-fail "This installation script requires apt-get. For manual installation instructions, consult https://dokku.com/docs/getting-started/advanced-installation/"
fi
apt-get -qq -y --no-install-recommends install sudo git make software-properties-common
apt-get -qq -y --no-install-recommends install sudo git make
case "$DOKKU_DISTRO" in
debian)
if [[ "$DOKKU_DISTRO_VERSION" -lt "13" ]]; then
if ! dpkg -l | grep -q software-properties-common; then
apt-get -qq -y --no-install-recommends install software-properties-common
fi
fi
;;
ubuntu)
if ! dpkg -l | grep -q software-properties-common; then
apt-get -qq -y --no-install-recommends install software-properties-common
fi
;;
esac
cd /root
if [[ ! -d /root/dokku ]]; then
git clone "$DOKKU_REPO" /root/dokku
@@ -160,7 +181,7 @@ install-dokku-from-deb-package() {
local NO_INSTALL_RECOMMENDS=${DOKKU_NO_INSTALL_RECOMMENDS:=""}
local OS_ID
if ! in-array "$DOKKU_DISTRO_VERSION" "20.04" "22.04" "24.04" "10" "11" "12"; then
if ! in-array "$DOKKU_DISTRO_VERSION" "22.04" "24.04" "10" "11" "12" "13"; then
log-fail "Unsupported Linux distribution. Only the following versions are supported: $SUPPORTED_VERSIONS"
fi
@@ -188,17 +209,17 @@ install-dokku-from-deb-package() {
fi
if [[ "$DOKKU_DISTRO" == "ubuntu" ]]; then
OS_IDS=("focal" "jammy" "noble")
OS_IDS=("jammy" "noble")
if ! in-array "$OS_ID" "${OS_IDS[@]}"; then
OS_ID="noble"
fi
elif [[ "$DOKKU_DISTRO" == "debian" ]]; then
OS_IDS=("bullseye" "bookworm")
OS_IDS=("bullseye" "bookworm" "trixie")
if ! in-array "$OS_ID" "${OS_IDS[@]}"; then
OS_ID="bookworm"
fi
elif [[ "$DOKKU_DISTRO" == "raspbian" ]]; then
OS_IDS=("bullseye" "bookworm")
OS_IDS=("bullseye" "bookworm" "trixie")
if ! in-array "$OS_ID" "${OS_IDS[@]}"; then
OS_ID="bookworm"
fi

View File

@@ -1,7 +1,7 @@
GO_ARGS ?=
GO_PLUGIN_MAKE_TARGET ?= build
GO_REPO_ROOT := /go/src/github.com/dokku/dokku
BUILD_IMAGE := golang:1.23.0
BUILD_IMAGE := golang:1.25.1
GO_BUILD_CACHE ?= /tmp/dokku-go-build-cache
GO_MOD_CACHE ?= /tmp/dokku-go-mod-mod
GO_ROOT_MOUNT ?= $$PWD/../..:$(GO_REPO_ROOT)

View File

@@ -135,20 +135,33 @@ main() {
mv docs-main docs
git checkout -- mkdocs.yml docs
if [[ "$(git -C tmp/docs-build ls-files -dmo)" == "docs/sitemap.xml.gz" ]]; then
echo "====> Checking for file changes"
changes=$(git -C tmp/docs-build ls-files -dmo)
if [[ -z "$changes" ]]; then
echo " ! No doc changes found"
exit 0
fi
if [[ "$changes" == "docs/sitemap.xml.gz" ]]; then
echo " ! No doc changes found"
git -C tmp/docs-build checkout -- docs/sitemap.xml.gz
else
echo "====> Pushing docs"
git -C tmp/docs-build add .
git -C tmp/docs-build commit -m "chore: regenerate docs"
if [[ -n "$BOT_GITHUB_USERNAME" ]] && [[ -n "$BOT_GITHUB_API_TOKEN" ]]; then
git -C tmp/docs-build remote set-url origin "https://$BOT_GITHUB_USERNAME:$BOT_GITHUB_API_TOKEN@github.com/dokku/docs.git"
fi
git -C tmp/docs-build push origin master
exit 0
fi
echo "====> Changes found"
echo "$changes"
echo "====> Committing changes"
git -C tmp/docs-build add .
git -C tmp/docs-build commit -m "chore: regenerate docs"
echo "====> Pushing changes"
if [[ -n "$BOT_GITHUB_USERNAME" ]] && [[ -n "$BOT_GITHUB_API_TOKEN" ]]; then
git -C tmp/docs-build remote set-url origin "https://$BOT_GITHUB_USERNAME:$BOT_GITHUB_API_TOKEN@github.com/dokku/docs.git"
fi
git -C tmp/docs-build push origin master
}
main "$@"

View File

@@ -7,7 +7,7 @@ ARG WORKDIR=/go/src/github.com/dokku/dokku
WORKDIR ${WORKDIR}
RUN wget -qO /tmp/go${GOLANG_VERSION}.linux.tar.gz "https://storage.googleapis.com/golang/go${GOLANG_VERSION}.linux-$(dpkg --print-architecture).tar.gz" \
RUN wget -qO /tmp/go${GOLANG_VERSION}.linux.tar.gz "https://go.dev/dl/go${GOLANG_VERSION}.linux-$(dpkg --print-architecture).tar.gz" \
&& tar -C /usr/local -xzf /tmp/go${GOLANG_VERSION}.linux.tar.gz \
&& cp /usr/local/go/bin/* /usr/local/bin \
&& mkdir -p ${WORKDIR}/contrib
@@ -23,7 +23,7 @@ COPY . ${WORKDIR}
ENV GOPATH=/go
ENV GOROOT=/usr/local/go
FROM builder as amd64
FROM builder AS amd64
ARG PLUGIN_MAKE_TARGET
ARG DOKKU_VERSION=master
@@ -38,7 +38,7 @@ RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \
make version copyfiles \
&& make deb-dokku
FROM builder as arm64
FROM builder AS arm64
COPY --from=amd64 /tmp /tmp
COPY --from=amd64 /usr/local/share/man/man1/dokku.1 /usr/local/share/man/man1/dokku.1-generated

View File

@@ -2,10 +2,10 @@
"dependencies": [
{
"name": "docker-container-healthchecker",
"version": "0.11.5",
"version": "0.14.0",
"urls": {
"amd64": "https://github.com/dokku/docker-container-healthchecker/releases/download/v0.11.5/docker-container-healthchecker-linux-amd64",
"arm64": "https://github.com/dokku/docker-container-healthchecker/releases/download/v0.11.5/docker-container-healthchecker-linux-arm64"
"amd64": "https://github.com/dokku/docker-container-healthchecker/releases/download/v0.14.0/docker-container-healthchecker-linux-amd64",
"arm64": "https://github.com/dokku/docker-container-healthchecker/releases/download/v0.14.0/docker-container-healthchecker-linux-arm64"
}
},
{
@@ -86,10 +86,10 @@
},
{
"name": "herokuish",
"version": "0.10.3",
"version": "0.11.5",
"urls": {
"amd64": "https://github.com/gliderlabs/herokuish/releases/download/v0.10.3/herokuish_0.10.3_linux_x86_64.tgz",
"arm64": "https://github.com/gliderlabs/herokuish/releases/download/v0.10.3/herokuish_0.10.3_linux_x86_64.tgz"
"amd64": "https://github.com/gliderlabs/herokuish/releases/download/v0.11.5/herokuish_0.11.5_linux_x86_64.tgz",
"arm64": "https://github.com/gliderlabs/herokuish/releases/download/v0.11.5/herokuish_0.11.5_linux_x86_64.tgz"
}
}
]

View File

@@ -1,8 +1,9 @@
#!/usr/bin/env bash
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
export DOKKU_PORT=${DOKKU_PORT:=22}
export DOKKU_PORT=${DOKKU_PORT:=}
export DOKKU_HOST=${DOKKU_HOST:=}
export DOKKU_APP_PATH=${DOKKU_APP_PATH:=}
fn-random-number() {
[[ -n "$1" ]] && RANGE="$1"
@@ -61,12 +62,42 @@ fn-dokku-host() {
echo "$DOKKU_HOST"
}
fn-dokku-app() {
declare DOKKU_GIT_REMOTE="$1" DOKKU_REMOTE_HOST="$2"
remote_output="$(git remote -v 2>/dev/null | grep -Ei "^${DOKKU_GIT_REMOTE}\s" | head -n 1 | awk '{print $2}')"
# check if there is a scheme
if echo "$remote_output" | grep -qEi "ssh://"; then
echo "$remote_output" | grep -Ei "ssh://dokku@$DOKKU_REMOTE_HOST" | cut -f2 -d'@' | cut -f2 -d'/' 2>/dev/null
else
echo "$remote_output" | grep -Ei "dokku@$DOKKU_REMOTE_HOST" | cut -f2 -d'@' | cut -f2 -d':' 2>/dev/null
fi
}
fn-dokku-port() {
declare DOKKU_GIT_REMOTE="$1" DOKKU_REMOTE_HOST="$2"
remote_output="$(git remote -v 2>/dev/null | grep -Ei "^${DOKKU_GIT_REMOTE}\s" | head -n 1 | awk '{print $2}')"
if echo "$remote_output" | grep -qEi "ssh://"; then
local output="$(echo "$remote_output" | grep -Ei "ssh://dokku@$DOKKU_REMOTE_HOST" | cut -f2 -d'@' | cut -f1 -d'/' 2>/dev/null)"
# check if output has a : and if so, get the port
if echo "$output" | grep -qEi ":"; then
echo "$output" | cut -f2 -d':' 2>/dev/null
else
echo "22"
fi
else
echo "22"
fi
}
fn-get-remote() {
git config dokku.remote 2>/dev/null || echo "dokku"
}
main() {
declare CMD="$1" APP_ARG="$2"
local APP="" DOKKU_GIT_REMOTE="$(fn-get-remote)" DOKKU_REMOTE_HOST=""
local cmd_set=false next_index=1 skip=false args=("$@")
@@ -84,6 +115,10 @@ main() {
APP=${args[$next_index]}
skip=true
shift 2
elif [[ "$arg" == "--app-path" ]]; then
DOKKU_APP_PATH=${args[$next_index]}
skip=true
shift 2
elif [[ "$arg" == "--remote" ]]; then
DOKKU_GIT_REMOTE=${args[$next_index]}
skip=true
@@ -103,6 +138,11 @@ main() {
next_index=$((next_index + 1))
done
if [[ -n "$DOKKU_APP_PATH" ]]; then
pushd "$DOKKU_APP_PATH" &>/dev/null || exit 1
trap 'popd &>/dev/null || true' RETURN INT TERM
fi
DOKKU_REMOTE_HOST="$(fn-dokku-host "$DOKKU_GIT_REMOTE" "$DOKKU_HOST")"
if [[ -z "$DOKKU_REMOTE_HOST" ]] && [[ "$CMD" != remote ]] && [[ "$CMD" != remote:* ]]; then
fn-client-help-msg
@@ -111,14 +151,28 @@ main() {
if [[ -z "$APP" ]]; then
if [[ -d .git ]] || git rev-parse --git-dir &>/dev/null; then
set +e
APP=$(git remote -v 2>/dev/null | grep -Ei "^${DOKKU_GIT_REMOTE}\s" | grep -Ei "dokku@$DOKKU_REMOTE_HOST" | head -n 1 | cut -f2 -d'@' | cut -f1 -d' ' | cut -f2 -d':' 2>/dev/null)
APP="$(fn-dokku-app "$DOKKU_GIT_REMOTE" "$DOKKU_REMOTE_HOST")"
set -e
else
echo " ! This is not a git repository" 1>&2
fi
fi
if [[ -z "$DOKKU_PORT" ]]; then
DOKKU_PORT="$(fn-dokku-port "$DOKKU_GIT_REMOTE" "$DOKKU_REMOTE_HOST")"
fi
case "$CMD" in
remote:show)
echo "dokku-app: $APP"
echo "dokku-git-remote: $DOKKU_GIT_REMOTE"
echo "dokku-host: $DOKKU_HOST"
echo "dokku-port: $DOKKU_PORT"
echo "dokku-remote-host: $DOKKU_REMOTE_HOST"
echo "dokku-ssh-user: dokku"
echo "dokku-constructed-remote: ssh://dokku@$DOKKU_REMOTE_HOST:$DOKKU_PORT/$APP"
exit 0
;;
apps:create)
if [[ -z "$APP" ]] && [[ -z "$APP_ARG" ]]; then
APP=$(fn-random-name)

View File

@@ -355,7 +355,7 @@ function checkFirewall {
elif [[ $OS == "CentOS Linux" ]] || [[ $OS == "CentOS Stream" ]] || [[ $OS == "Rocky Linux" ]] || [[ $OS == "AlmaLinux" ]]; then
if [ -f /usr/lib/systemd/system/csf.service ]; then
fw="csf"
if [[ $(systemctl status $fw >/dev/null 2>&1) ]]; then
if systemctl status $fw >/dev/null 2>&1; then
FW_VER="\e[32m[PASS]\e[0m Firewall service (${fw}) is active\n"
((PASS++))

View File

@@ -134,7 +134,7 @@ fn-publish-package() {
[[ "$RELEASE_TYPE" == "raspbian" ]] && DIST=raspbian
if [[ "$RELEASE_TYPE" == "raspbian" ]]; then
OS_IDS=("bullseye" "bookworm")
OS_IDS=("bullseye" "bookworm" "trixie")
for OS_ID in "${OS_IDS[@]}"; do
log-info "(release-dokku) pushing deb to packagecloud.com/${REPOSITORY}/${DIST}"
package_cloud push "${REPOSITORY}/${DIST}/${OS_ID}" "$PACKAGE_NAME"
@@ -144,7 +144,7 @@ fn-publish-package() {
fi
done
elif [[ "$DIST" == "ubuntu" ]]; then
OS_IDS=("focal" "jammy" "noble")
OS_IDS=("jammy" "noble")
for OS_ID in "${OS_IDS[@]}"; do
log-info "(release-dokku) pushing ${RELEASE_TYPE} to packagecloud.com/${REPOSITORY}/${DIST}"
package_cloud push "${REPOSITORY}/${DIST}/${OS_ID}" "$PACKAGE_NAME"
@@ -155,7 +155,7 @@ fn-publish-package() {
done
DIST=debian
OS_IDS=("bullseye" "bookworm")
OS_IDS=("bullseye" "bookworm" "trixie")
for OS_ID in "${OS_IDS[@]}"; do
log-info "(release-dokku) pushing ${RELEASE_TYPE} to packagecloud.com/${REPOSITORY}/${DIST}"
package_cloud push "${REPOSITORY}/${DIST}/${OS_ID}" "$PACKAGE_NAME"
@@ -183,9 +183,9 @@ fn-replace-version() {
fn-repo-merged-requests() {
declare desc="Retrieves all pull request ids since a given release of dokku"
declare TAG="$1" IS_PATCH="$2"
declare CURRENT_VERSION="$1" NEXT_VERSION="$2" IS_PATCH="$3"
if [[ "$IS_PATCH" == "true" ]]; then
git log "v${TAG}..HEAD" --oneline | grep "Merge pull request" | cut -d' ' -f 5 | cut -d '#' -f2
git log "v${CURRENT_VERSION}..HEAD" --oneline | grep "Merge pull request" | cut -d' ' -f 5 | cut -d '#' -f2
else
curl -u "$RELEASE_GITHUB_USERNAME:$RELEASE_GITHUB_API_TOKEN" --fail -sS "https://api.github.com/search/issues?q=repo:dokku/dokku+milestone:v${NEXT_VERSION}+is:pr&per_page=100" | jq '.items[].number'
fi
@@ -256,7 +256,7 @@ fn-repo-update-history-and-commit() {
mkdir -p /tmp/github-data
for PULL_REQUEST_ID in $(fn-repo-merged-requests "$CURRENT_VERSION" "$IS_PATCH"); do
for PULL_REQUEST_ID in $(fn-repo-merged-requests "$CURRENT_VERSION" "$NEXT_VERSION" "$IS_PATCH"); do
ISSUE_FILE="/tmp/github-data/${PULL_REQUEST_ID}.json"
if [[ ! -f "$ISSUE_FILE" ]]; then
while true; do

6
debian/control vendored
View File

@@ -1,11 +1,11 @@
Package: dokku
Version: 0.35.18
Version: 0.37.2
Section: web
Priority: optional
Architecture: amd64
Depends: apache2-utils, locales, git, cpio, cron, curl, man-db, netcat, sshcommand, docker-engine-cs (>= 19.03.0) | docker-engine (>= 19.03.0) | docker-io (>= 19.03.0) | docker.io (>= 19.03.0) | docker-ce (>= 19.03.0) | docker-ee (>= 19.03.0) | moby-engine, docker-compose-plugin | moby-compose, docker-buildx-plugin | moby-buildx, docker-container-healthchecker, docker-image-labeler, lambda-builder, net-tools, netrc, parallel, procfile-util, rsync, dos2unix, jq, unzip, util-linux
Depends: apache2-utils, locales, git, cpio, cron, curl, man-db, netcat, sshcommand, docker-engine-cs (>= 19.03.0) | docker-engine (>= 19.03.0) | docker-io (>= 19.03.0) | docker.io (>= 19.03.0) | docker-ce (>= 19.03.0) | docker-ee (>= 19.03.0) | moby-engine, docker-compose-plugin | moby-compose, docker-buildx-plugin | moby-buildx, docker-container-healthchecker, docker-image-labeler, lambda-builder, net-tools, netrc, parallel, procfile-util, rsync, dos2unix, unzip, util-linux
Recommends: herokuish, bash-completion, dokku-update, dokku-event-listener
Pre-Depends: gliderlabs-sigil, nginx (>= 1.8.0) | openresty, bind9-dnsutils, debconf, plugn, sudo, python3, rsyslog
Pre-Depends: gliderlabs-sigil, jq, nginx (>= 1.8.0) | openresty, bind9-dnsutils, debconf, plugn, sudo, python3, rsyslog
Maintainer: Jose Diaz-Gonzalez <dokku@josediazgonzalez.com>
Description: Docker-powered PaaS that helps build and manage the lifecycle of applications
Dokku is an extensible, open source Platform as a Service

37
debian/postinst vendored
View File

@@ -24,6 +24,39 @@ call-sshcommand() {
fi
}
setup-docker-live-restore() {
# skip if running in docker-based installation
if [[ "$DOKKU_INIT_SYSTEM" == "sv" ]]; then
return
fi
# allow disabling via /etc/default/dokku
if [[ "$DOKKU_LIVE_RESTORE" == "false" ]]; then
return
fi
live_restore="$(docker info --format '{{ .LiveRestoreEnabled }}' || true)"
if [ "$live_restore" = "true" ]; then
echo "Docker live-restore is already enabled"
return
fi
echo "Enabling docker live-restore"
if [[ ! -f /etc/docker/daemon.json ]]; then
echo "{}" >/etc/docker/daemon.json
fi
config="$(jq '. + {"live-restore": true}' /etc/docker/daemon.json)"
echo "$config" >/etc/docker/daemon.json
if command -v systemctl &>/dev/null; then
if ! systemctl reload docker; then
echo "Unable to reload docker, please reload manually" 1>&2
fi
else
echo "Unable to reload docker, please reload manually" 1>&2
fi
}
setup-user() {
echo "Setting up dokku user"
call-sshcommand create dokku /usr/bin/dokku
@@ -128,9 +161,6 @@ case "$1" in
configure)
mandb
[ ! -x /usr/bin/docker.io ] || ln -sf /usr/bin/docker.io /usr/local/bin/docker
if [[ -f /sbin/modprobe ]]; then
modprobe aufs || echo "WARNING: Restart server to finish installing dokku!"
fi
setup-user
setup-storage
@@ -138,6 +168,7 @@ case "$1" in
dpkg-handling
setup-plugins
setup-sshcommand
setup-docker-live-restore
;;
*)

View File

@@ -86,7 +86,7 @@ main() {
fi
# run core install triggers to force create any folders that may be missing
dokku plugin:install --core
dokku plugin:install
if [[ -n "$DOKKU_HOSTNAME" ]]; then
echo "dokku dokku/hostname string $DOKKU_HOSTNAME" | debconf-set-selections

View File

@@ -1 +1 @@
dokku ALL=NOPASSWD:SETENV:/usr/bin/docker,/usr/bin/docker-container-healthchecker,/usr/bin/docker-image-labeler,/usr/bin/lambda-builder,/usr/bin/nixpacks,/usr/bin/pack
dokku ALL=NOPASSWD:SETENV:/usr/bin/docker,/usr/bin/docker-container-healthchecker,/usr/bin/docker-image-labeler,/usr/bin/lambda-builder,/usr/bin/nixpacks,/usr/bin/railpack,/usr/bin/pack

View File

@@ -0,0 +1,20 @@
#!/usr/bin/env bash
set -eo pipefail
[[ $TRACE ]] && set -x
main() {
declare desc="re-runs railpack commands as sudo"
local RAILPACK_BIN=""
if [[ -x "/usr/bin/railpack" ]]; then
RAILPACK_BIN="/usr/bin/railpack"
fi
if [[ -z "$RAILPACK_BIN" ]]; then
echo "! No railpack binary found" 1>&2
exit 1
fi
sudo -E "$RAILPACK_BIN" "$@"
}
main "$@"

View File

@@ -1,4 +1,4 @@
FROM python:3.13.3-alpine
FROM python:3.14.1-alpine
WORKDIR /usr/src/app

View File

@@ -1,23 +1,23 @@
beautifulsoup4==4.13.4
click==8.1.8
beautifulsoup4==4.14.3
click==8.3.1
ghp-import==2.1.0
importlib-metadata==8.6.1
importlib-metadata==8.7.0
Jinja2==3.1.6
Markdown>=3.2.1,<3.9
MarkupSafe==3.0.2
Markdown>=3.2.1,<3.11
MarkupSafe==3.0.3
mergedeep==1.3.4
mkdocs==1.6.1
mkdocs-exclude==1.0.2
mkdocs-material==9.6.11
mkdocs-material==9.7.0
mkdocs-material-extensions==1.3.1
packaging==24.2
Pygments==2.19.1
pymdown-extensions==10.14.3
pyparsing==3.2.3
packaging==25.0
Pygments==2.19.2
pymdown-extensions==10.17.2
pyparsing==3.2.5
python-dateutil==2.9.0.post0
PyYAML==6.0.2
pyyaml_env_tag==0.1
PyYAML==6.0.3
pyyaml_env_tag==1.1
six==1.17.0
soupsieve==2.6
soupsieve==2.8
watchdog==6.0.0
zipp==3.21.0
zipp==3.23.0

View File

@@ -6,7 +6,7 @@
```
plugin:disable <name> # Disable an installed plugin (third-party only)
plugin:enable <name> # Enable a previously disabled plugin
plugin:install [--core|git-url] [--committish branch|commit|tag] [--name custom-plugin-name] # Optionally download git-url (and pin to the specified branch/commit/tag) & run install trigger for active plugins (or only core ones)
plugin:install [--core|git-url] [--committish branch|commit|tag] [--name custom-plugin-name] [--skip-install-trigger] # Optionally download git-url (and pin to the specified branch/commit/tag) & run install trigger for active plugins (or only core ones)
plugin:installed <name> # Checks if a plugin is installed
plugin:install-dependencies [--core] # Run install-dependencies trigger for active plugins (or only core ones)
plugin:list # Print active plugins
@@ -36,35 +36,35 @@ dokku plugin:list
```
plugn: dev
00_dokku-standard 0.35.18 enabled dokku core standard plugin
20_events 0.35.18 enabled dokku core events logging plugin
app-json 0.35.18 enabled dokku core app-json plugin
apps 0.35.18 enabled dokku core apps plugin
build-env 0.35.18 enabled dokku core build-env plugin
buildpacks 0.35.18 enabled dokku core buildpacks plugin
certs 0.35.18 enabled dokku core certificate management plugin
checks 0.35.18 enabled dokku core checks plugin
common 0.35.18 enabled dokku core common plugin
config 0.35.18 enabled dokku core config plugin
docker-options 0.35.18 enabled dokku core docker-options plugin
domains 0.35.18 enabled dokku core domains plugin
enter 0.35.18 enabled dokku core enter plugin
git 0.35.18 enabled dokku core git plugin
logs 0.35.18 enabled dokku core logs plugin
network 0.35.18 enabled dokku core network plugin
nginx-vhosts 0.35.18 enabled dokku core nginx-vhosts plugin
plugin 0.35.18 enabled dokku core plugin plugin
proxy 0.35.18 enabled dokku core proxy plugin
ps 0.35.18 enabled dokku core ps plugin
repo 0.35.18 enabled dokku core repo plugin
resource 0.35.18 enabled dokku core resource plugin
scheduler-docker-local 0.35.18 enabled dokku core scheduler-docker-local plugin
shell 0.35.18 enabled dokku core shell plugin
ssh-keys 0.35.18 enabled dokku core ssh-keys plugin
storage 0.35.18 enabled dokku core storage plugin
tags 0.35.18 enabled dokku core tags plugin
tar 0.35.18 enabled dokku core tar plugin
trace 0.35.18 enabled dokku core trace plugin
00_dokku-standard 0.37.2 enabled dokku core standard plugin
20_events 0.37.2 enabled dokku core events logging plugin
app-json 0.37.2 enabled dokku core app-json plugin
apps 0.37.2 enabled dokku core apps plugin
build-env 0.37.2 enabled dokku core build-env plugin
buildpacks 0.37.2 enabled dokku core buildpacks plugin
certs 0.37.2 enabled dokku core certificate management plugin
checks 0.37.2 enabled dokku core checks plugin
common 0.37.2 enabled dokku core common plugin
config 0.37.2 enabled dokku core config plugin
docker-options 0.37.2 enabled dokku core docker-options plugin
domains 0.37.2 enabled dokku core domains plugin
enter 0.37.2 enabled dokku core enter plugin
git 0.37.2 enabled dokku core git plugin
logs 0.37.2 enabled dokku core logs plugin
network 0.37.2 enabled dokku core network plugin
nginx-vhosts 0.37.2 enabled dokku core nginx-vhosts plugin
plugin 0.37.2 enabled dokku core plugin plugin
proxy 0.37.2 enabled dokku core proxy plugin
ps 0.37.2 enabled dokku core ps plugin
repo 0.37.2 enabled dokku core repo plugin
resource 0.37.2 enabled dokku core resource plugin
scheduler-docker-local 0.37.2 enabled dokku core scheduler-docker-local plugin
shell 0.37.2 enabled dokku core shell plugin
ssh-keys 0.37.2 enabled dokku core ssh-keys plugin
storage 0.37.2 enabled dokku core storage plugin
tags 0.37.2 enabled dokku core tags plugin
tar 0.37.2 enabled dokku core tar plugin
trace 0.37.2 enabled dokku core trace plugin
```
> [!WARNING]
@@ -128,6 +128,12 @@ The `--core` flag may also be indicated as the sole argument, though it is only
dokku plugin:install --core
```
If installing plugins in a Dockerfile, you will want to skip the `install` trigger. This will be run on container boot.
```shell
dokku plugin:install https://github.com/dokku/smoke-test-plugin.git --name smoke-test-plugin --skip-install-trigger
```
Finally, all flags may be omitted to trigger the `install` procedures for both core and third-party plugins:
```shell

View File

@@ -4,5 +4,5 @@
- The `plugin:list` command no longer outputs the version for the `plugn` binary.
- Users building docker images that run Dokku will need to use a new sudoer wrapper for the `docker-image-labeler` binary to work correctly. A reference version has been placed in the `docker` skeleton directory. This should only impact platform developers, and users of our Docker image will already have the file available.
- The `dokku` user's cron is now in use by Dokku itself. Customizations will be overwritten. Users are encouraged to use a cron entry in `/etc/cron.d/dokku` to avoid this issue.
- The `dokku` user's cron is now in use by Dokku itself. Customizations will be overwritten. Users are encouraged to use a cron file at `/etc/cron.d/dokku` to avoid this issue.
- As of 0.23.0, Dokku will now inject the `max-size` log driver option for applications. This is restricted to app-configured log driver values empty, `local` or `json-file` in 0.23.1 to increase setup compatibility. Users who configure alternative log drivers at the system level will need to either set the global `max-size` property to `unlimited` or switch to the built-in `vector` logging support.

View File

@@ -0,0 +1,12 @@
# 0.36.0 Migration Guide
## Changes
- Process stop timeouts are now configured via the `ps` property `stop-timeout-seconds`. Existing `DOKKU_DOCKER_STOP_TIMEOUT` environment variables will be automatically migrated to the new value.
- Processes now default to a `30` second stop timeout.
- The `domains:clear` command no longer runs domain setup after clearing the domains. Use `domains:reset` or run `domains:setup` manually to have the same effect.
- The deprecated `DOKKU_DISABLE_ANSI_PREFIX_REMOVAL` setting has been removed. Dokku deploys no longer use shell escape codes to modify output, and thus deploy output may now contain `remote:` as a prefix in each lines output.
## Deprecations
Ubuntu 20.04 is now a deprecated installation target. The operating system will be considered EOL by Canonical in April 2025. Users are encouraged to upgrade to Ubuntu 24.04 or consider switching their instllation method to the [Docker-based installation method](/docs/getting-started/install/docker.md) to avoid any disruption in usage.

View File

@@ -0,0 +1,15 @@
# 0.37.0 Migration Guide
## Changes
- The `app.json` file format is now parsed as JSONC and supports inline comments.
- The `scheduler-k3s:cluster-add` command is now `scheduler-k3s:cluster:add`.
- The `scheduler-k3s:cluster-list` command is now `scheduler-k3s:cluster:list`.
- The `scheduler-k3s:cluster-remove` command is now `scheduler-k3s:cluster:remove`.
## Removals
- Support for the `DOKKU_DOCKERFILE_CACHE_BUILD` environment variable has been removed. Use the `docker-options` plugin to set build arguments for your app instead.
- Support for the `DOKKU_DOCKER_BUILD_OPTS` environment variable has been removed. Use the `docker-options` plugin to set build arguments for your app instead.
- Support for the `no-cache` nixpacks property has been removed. Use the `docker-options` plugin to set build arguments for your app instead.
- Support for customizing the label-key for the caddy proxy has been removed. Always use `caddy.` as a prefix for your caddy directives.

View File

@@ -9,7 +9,7 @@
```json
{
"crons": [
"cron": [
{
"command": "echo 'hello'",
"schedule": "0 1 * * *"
@@ -21,7 +21,9 @@
(list, optional) A list of cron resources. Keys are the names of the process types. The values are an object containing one or more of the following properties:
- `command`: (string, required)
- `maintenance`: (boolean, optional)
- `schedule`: (string, required)
- `concurrency_policy`: (string, optional, default: `allow`, options: `allow`, `forbid`, `replace`)
## Formation
@@ -41,6 +43,7 @@
- `autoscaling` (map of string to object, optional) autoscaling rules. See the autoscaling section for more details
- `max_parallel`: (int, optional) number of instances to deploy in parallel at a given time
- `quantity`: (int, optional) number of processes to maintain. Default 1 for web processes, 0 for all others.
- `service`: (map of string to oject, optional) governs how non-web processes are exposed as services on the network
### Autoscaling
@@ -80,6 +83,24 @@ An autoscaling trigger consists of the following properties:
- `type`: (string, optional)
- `metadata`: (object, optional)
### Service
```json
{
"formation": {
"internal-web": {
"service": {
"exposed": true
}
}
}
}
```
(object, optional) A key-value object specifying how to expose non-web processes as services.
- `service`: (boolean, optional) Whether to expose a process as a network service. The `PORT` variable will be set to 5000.
## Healthchecks
```json

View File

@@ -0,0 +1,3 @@
# railpack.json
The `railpack.json` file is used to configure an application when built with the `railpack` builder. Please refer to the [railpack.json documentation](https://railpack.com/config/file) for more information.

View File

@@ -2,10 +2,10 @@
<browserconfig>
<msapplication>
<tile>
<square70x70logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/mstile-70x70.png"/>
<square150x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/mstile-150x150.png"/>
<square310x310logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/mstile-310x310.png"/>
<wide310x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/mstile-310x150.png"/>
<square70x70logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/mstile-70x70.png"/>
<square150x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/mstile-150x150.png"/>
<square310x310logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/mstile-310x310.png"/>
<wide310x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/mstile-310x150.png"/>
<TileColor>#da532c</TileColor>
</tile>
</msapplication>

View File

@@ -2,37 +2,37 @@
"name": "Dokku",
"icons": [
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.35.18\/docs\/assets\/favicons\/android-chrome-36x36.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.2\/docs\/assets\/favicons\/android-chrome-36x36.png",
"sizes": "36x36",
"type": "image\/png",
"density": "0.75"
},
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.35.18\/docs\/assets\/favicons\/android-chrome-48x48.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.2\/docs\/assets\/favicons\/android-chrome-48x48.png",
"sizes": "48x48",
"type": "image\/png",
"density": "1.0"
},
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.35.18\/docs\/assets\/favicons\/android-chrome-72x72.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.2\/docs\/assets\/favicons\/android-chrome-72x72.png",
"sizes": "72x72",
"type": "image\/png",
"density": "1.5"
},
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.35.18\/docs\/assets\/favicons\/android-chrome-96x96.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.2\/docs\/assets\/favicons\/android-chrome-96x96.png",
"sizes": "96x96",
"type": "image\/png",
"density": "2.0"
},
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.35.18\/docs\/assets\/favicons\/android-chrome-144x144.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.2\/docs\/assets\/favicons\/android-chrome-144x144.png",
"sizes": "144x144",
"type": "image\/png",
"density": "3.0"
},
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.35.18\/docs\/assets\/favicons\/android-chrome-192x192.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.2\/docs\/assets\/favicons\/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image\/png",
"density": "4.0"

View File

@@ -25,9 +25,9 @@
/* Avatar section darkmode fade */
--avatar-before-gradient: rgba(0, 0, 0, 0) linear-gradient(90deg, white 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%;
--avatar-darkmode-before-gradient: rgba(0, 0, 0, 0) linear-gradient(90deg, #043791 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%;
--avatar-darkmode-before-gradient: rgba(0, 0, 0, 0) linear-gradient(90deg, #0.37.2 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%;
--avatar-after-gradient: rgba(0, 0, 0, 0) linear-gradient(270deg, white 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%;
--avatar-darkmode-after-gradient: rgba(0, 0, 0, 0) linear-gradient(270deg, #043791 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%;
--avatar-darkmode-after-gradient: rgba(0, 0, 0, 0) linear-gradient(270deg, #0.37.2 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%;
}
body {
@@ -1191,15 +1191,15 @@ ul.fas li .fa-large:before {
.getting-started::after {
background: linear-gradient(0deg, rgba(52, 52, 87, 0.2) -40.97%, rgba(0, 0, 0, 0) 103.19%),
#043791;
#0.37.2;
}
.tab-content {
background: #043791;
background: #0.37.2;
}
.nav-tabs {
background: #043791;
background: #0.37.2;
}
.powered-by_brands {

View File

@@ -32,6 +32,8 @@
"0.32.4",
"0.33.9",
"0.34.9",
"0.35.18"
"0.35.20",
"0.36.11",
"0.37.2"
]
}

View File

@@ -28,26 +28,6 @@ gem install dokku-cli
See [documentation here](https://github.com/SebastianSzturo/dokku-cli) for more information.
## (ruby) DokkuClient
DokkuClient is another rubygem that acts as a client for your Dokku installation with built-in support for certain external plugins. You can install it via the following shell command (assuming you have ruby and rubygems installed):
```shell
gem install dokku_client
```
See [documentation here](https://github.com/netguru/dokku_client) for more information.
## (ruby) Dokkufy
Dokkufy is a rubygem that handles automation of certain tasks, such as Dokku setup, plugin installation, etc. You can install it via the following shell command (assuming you have ruby and rubygems installed):
```shell
gem install dokkufy
```
See [documentation here](https://github.com/cbetta/dokkufy) for more information.
## (ruby) Dockland
Dockland is a rubygem that acts as a client for your Dokku installation. You can install it via the following shell command (assuming you have ruby and rubygems installed):

View File

@@ -123,7 +123,6 @@ The following plugins are available and provided by Dokku maintainers. Please f
| [Host post-build command hook](https://github.com/baikunz/dokku-post-deploy-script) | [baikunz][] | 0.4.0+ |
| [Host pre-build command hook](https://github.com/fteychene/dokku-build-hook) | [fteychene][] | 0.4.0+ |
| [Hostname](https://github.com/michaelshobbs/dokku-hostname) | [michaelshobbs][] | 0.4.0+ |
| [Hostname](https://github.com/michaelshobbs/dokku-hostname) | [michaelshobbs][] | 0.4.0+ |
| [HTTP Auth Secure Apps](https://github.com/matto1990/dokku-secure-apps) | [matto1990][] | 0.4.0+ |
| [Image Size Limit](https://github.com/Tashows/dokku-image-size-limit) | [Tashows][] | |
| [Litestream](https://github.com/AxelTheGerman/dokku-litestream)<sup>4</sup> | [AxelTheGerman][] | 0.27.0+ |

View File

@@ -13,6 +13,7 @@ domains:enable <app> # Enable VHOST support
domains:remove <app> <domain> [<domain> ...] # Remove domains from app
domains:remove-global <domain> [<domain> ...] # Remove global domain names
domains:report [<app>|--global] [<flag>] # Displays a domains report for one or more apps
domains:reset <app> # Reset app domains to global-configured domains
domains:set <app> <domain> [<domain> ...] # Set domains for app
domains:set-global <domain> [<domain> ...] # Set global domain names
```
@@ -75,6 +76,9 @@ dokku domains:remove node-js-app dokku.me
# set all custom domains for app
dokku domains:set node-js-app dokku.me dokku.org
# delete all app domains and configure available global domains on it
dokku domains:reset node-js-app
```
## Displaying domains reports for an app

View File

@@ -8,7 +8,7 @@ The `config` plugin provides the following commands to manage your variables:
config:show (<app>|--global) Pretty-print an app or global environment
config:bundle (<app>|--global) [--merged] Bundle environment into tarfile
config:clear (<app>|--global) Clears environment variables
config:export (<app>|--global) [--envfile] Export a global or app environment
config:export (<app>|--global) [--format <format>] Export a global or app environment
config:get (<app>|--global) KEY Display a global or app-specific config value
config:keys (<app>|--global) [--merged] Show keys set in environment
config:set [--encoded] [--no-restart] (<app>|--global) KEY1=VALUE1 [KEY2=VALUE2 ...] Set one or more config vars
@@ -101,7 +101,6 @@ The following config variables have special meanings and can be set in a variety
| `DOKKU_APP_PROXY_TYPE` | `nginx` | `dokku proxy:set` | |
| `DOKKU_APP_RESTORE` | `1` | `dokku config:set` <br /> `dokku ps:stop` | |
| `DOKKU_APP_SHELL` | `/bin/bash` | `dokku config:set` | Allows users to change the default shell used by Dokku for `dokku enter` and execution of deployment tasks. |
| `DOKKU_APP_TYPE` | `herokuish` | Auto-detected by using buildpacks or dockerfile | |
| `DOKKU_CHECKS_DISABLED` | none | `dokku checks:disable` | |
| `DOKKU_CHECKS_ENABLED` | none | `dokku checks:enable` | |
| `DOKKU_CHECKS_SKIPPED` | none | `dokku checks:skip` | |
@@ -110,10 +109,7 @@ The following config variables have special meanings and can be set in a variety
| `DOKKU_CHECKS_ATTEMPTS` | `5` | `dokku config:set` | Number of retries for to run for a specific check before marking it as a failure
| `DOKKU_DEFAULT_CHECKS_WAIT` | `10` | `dokku config:set` | If no user-defined checks are specified - or if the process being checked is not a `web` process - this is the period of time Dokku will wait before checking that a container is still running. |
| `DOKKU_DISABLE_PROXY` | none | `dokku proxy:disable` <br /> `dokku proxy:enable` | Disables the proxy in front of your application, resulting in publicly routing the docker container. |
| `DOKKU_DISABLE_ANSI_PREFIX_REMOVAL` | none | `dokku config:set` <br /> `/etc/environment` <br /> `~dokku/.dokkurc` <br /> `~dokku/.dokkurc/*` | Disables removal of the ANSI prefix during deploys. Can be used in cases where the client deployer does not understand ansi escape codes. |
| `DOKKU_DISABLE_APP_AUTOCREATION` | none | `dokku config:set` | Disables automatic creation of a non-existent app on deploy. |
| `DOKKU_DOCKER_STOP_TIMEOUT` | `10` | `dokku config:set` | Configurable grace period given to the `docker stop` command. If a container has not stopped by this time, a `kill -9` signal or equivalent is sent in order to force-terminate the container. Both the `ps:stop` and `apps:destroy` commands _also_ respect this value. If not specified, the docker defaults for the [docker stop command](https://docs.docker.com/engine/reference/commandline/stop/) will be used.|
| `DOKKU_DOCKERFILE_CACHE_BUILD` | none | `dokku config:set` | |
| `DOKKU_DOCKERFILE_START_CMD` | none | `dokku config:set` | |
| `DOKKU_PARALLEL_ARGUMENTS`. | none | `dokku config:set` | Allows passing custom arguments to parallel for `ps:*all` commands |
| `DOKKU_PROXY_PORT` | automatically assigned | `/etc/environment` <br /> `~dokku/.dokkurc` <br /> `~dokku/.dokkurc/*` <br /> `dokku config:set` | |

View File

@@ -0,0 +1,174 @@
# Buildpacks Management
> [!NOTE]
> Buildpacks commands apply to both herokuish and CNB-based builds
```
buildpacks:add [--index 1] <app> <buildpack> # Add new app buildpack while inserting into list of buildpacks if necessary
buildpacks:clear <app> # Clear all buildpacks set on the app
buildpacks:list <app> # List all buildpacks for an app
buildpacks:remove <app> <buildpack> # Remove a buildpack set on the app
buildpacks:report [<app>] [<flag>] # Displays a buildpack report for one or more apps
buildpacks:set [--index 1] <app> <buildpack> # Set new app buildpack at a given position defaulting to the first buildpack if no index is specified
```
## Usage
### Listing Buildpacks in Use
The `buildpacks:list` command can be used to show buildpacks that have been set for an app. This will omit any auto-detected buildpacks.
```shell
# running for an app with no buildpacks specified
dokku buildpacks:list node-js-app
```
```
-----> test buildpack urls
```
```shell
# running for an app with two buildpacks specified
dokku buildpacks:list node-js-app
```
```
-----> test buildpack urls
https://github.com/heroku/heroku-buildpack-python.git
https://github.com/heroku/heroku-buildpack-nodejs.git
```
### Adding custom buildpacks
> Please check the documentation for your particular buildpack as you may need to include configuration files (such as a Procfile) in your project root.
To add a custom buildpack, use the `buildpacks:add` command:
```shell
dokku buildpacks:add node-js-app https://github.com/heroku/heroku-buildpack-nodejs.git
```
When no buildpacks are currently specified, the specified buildpack will be the only one executed for detection and compilation.
Multiple buildpacks may be specified by using the `buildpacks:add` command multiple times.
```shell
dokku buildpacks:add node-js-app https://github.com/heroku/heroku-buildpack-ruby.git
dokku buildpacks:add node-js-app https://github.com/heroku/heroku-buildpack-nodejs.git
```
Buildpacks are executed in order, may be inserted at a specified index via the `--index` flag. This flag is specified starting at a 1-index value.
```shell
# will add the golang buildpack at the second position, bumping all proceeding ones by 1 position
dokku buildpacks:add --index 2 node-js-app https://github.com/heroku/heroku-buildpack-golang.git
```
### Overwriting a buildpack position
In some cases, it may be necessary to swap out a given buildpack. Rather than needing to re-specify each buildpack, the `buildpacks:set` command can be used to overwrite a buildpack at a given position.
```shell
dokku buildpacks:set node-js-app https://github.com/heroku/heroku-buildpack-ruby.git
```
By default, this will overwrite the _first_ buildpack specified. To specify an index, the `--index` flag may be used. This flag is specified starting at a 1-index value, and defaults to `1`.
```shell
# the following are equivalent commands
dokku buildpacks:set node-js-app https://github.com/heroku/heroku-buildpack-ruby.git
dokku buildpacks:set --index 1 node-js-app https://github.com/heroku/heroku-buildpack-ruby.git
```
If the index specified is larger than the number of buildpacks currently configured, the buildpack will be appended to the end of the list.
```shell
dokku buildpacks:set --index 99 node-js-app https://github.com/heroku/heroku-buildpack-ruby.git
```
### Removing a buildpack
> At least one of a buildpack or index must be specified
A single buildpack can be removed by name via the `buildpacks:remove` command.
```shell
dokku buildpacks:remove node-js-app https://github.com/heroku/heroku-buildpack-ruby.git
```
Buildpacks can also be removed by index via the `--index` flag. This flag is specified starting at a 1-index value.
```shell
dokku buildpacks:remove node-js-app --index 1
```
### Clearing all buildpacks
> This does not affect automatically detected buildpacks, nor does it impact any specified `BUILDPACK_URL` environment variable.
The `buildpacks:clear` command can be used to clear all configured buildpacks for a specified app.
```shell
dokku buildpacks:clear node-js-app
```
### Using a specific buildpack version
> Always remember to pin your buildpack versions when using the multi-buildpacks method, or you may find deploys changing your deployed environment.
By default, builders will pin their vendored buildpacks, resulting in a consistent build result for your application. There may be occasions where the pinned version results in a broken deploy, or does not have a particular feature that is required to build your project. To use a more recent version of a given buildpack, the buildpack may be specified _without_ a Git commit SHA like so:
```shell
# using the latest nodejs buildpack
dokku buildpacks:set node-js-app https://github.com/heroku/heroku-buildpack-nodejs
```
This will use the latest commit on the `master` branch of the specified buildpack. To pin to a newer version of a buildpack, a sha may also be specified by using the form `REPOSITORY_URL#COMMIT_SHA`, where `COMMIT_SHA` is any tree-ish git object - usually a git tag.
```shell
# using v87 of the nodejs buildpack
dokku buildpacks:set node-js-app https://github.com/heroku/heroku-buildpack-nodejs#v87
```
### Displaying buildpack reports for an app
You can get a report about the app's buildpacks status using the `buildpacks:report` command:
```shell
dokku buildpacks:report
```
```
=====> node-js-app buildpacks information
Buildpacks computed stack: gliderlabs/herokuish:v0.7.0-22
Buildpacks global stack: gliderlabs/herokuish:latest-24
Buildpacks list: https://github.com/heroku/heroku-buildpack-nodejs.git
Buildpacks stack: gliderlabs/herokuish:v0.7.0-20
=====> python-sample buildpacks information
Buildpacks computed stack: gliderlabs/herokuish:latest-24
Buildpacks global stack: gliderlabs/herokuish:latest-24
Buildpacks list: https://github.com/heroku/heroku-buildpack-nodejs.git,https://github.com/heroku/heroku-buildpack-python.git
Buildpacks stack:
=====> ruby-sample buildpacks information
Buildpacks computed stack: gliderlabs/herokuish:latest-24
Buildpacks global stack: gliderlabs/herokuish:latest-24
Buildpacks list:
Buildpacks stack:
```
You can run the command for a specific app also.
```shell
dokku buildpacks:report node-js-app
```
```
=====> node-js-app buildpacks information
Buildpacks list: https://github.com/heroku/heroku-buildpack-nodejs.git
```
You can pass flags which will output only the value of the specific information you want. For example:
```shell
dokku buildpacks:report node-js-app --buildpacks-list
```

View File

@@ -14,8 +14,8 @@ buildpacks:set-property [--global|<app>] <key> <value> # Set or clear a buildpa
Cloud Native Buildpacks are an evolution over the Buildpacks technology provided by the Herokuish builder. See the [herokuish buildpacks documentation](/docs/deployment/builders/herokuish-buildpacks.md) for more information on how to clear buildpack build cache for an application.
> [!WARNING]
> This functionality uses the `pack` cli from the [Cloud Native Buildpacks](https://buildpacks.io) project to build apps. As the integration is experimental in Dokku, it is likely to change over time.
> [!NOTE]
> This functionality uses the `pack` cli from the [Cloud Native Buildpacks](https://buildpacks.io) project to build apps.
## Usage
@@ -27,7 +27,7 @@ Builds will proceed with the `pack` cli for the app from then on.
### Caveats
As this functionality is highly experimental, there are a number of caveats. Please note that not all issues are listed below.
While pack is well-supported in Dokku, there are a number of caveats. Please note that not all issues are listed below.
- Specifying specific buildpacks is not currently possible.
- A future release will add support for specifying buildpacks via the `buildpacks` plugin.
@@ -41,16 +41,7 @@ As this functionality is highly experimental, there are a number of caveats. Ple
### Detection
This builder will be auto-detected in either the following cases:
- The `DOKKU_CNB_EXPERIMENTAL` app environment variable is set to `1`.
```shell
dokku config:set --no-restart node-js-app DOKKU_CNB_EXPERIMENTAL=1
```
- A `project.toml` file exists in the root of the app repository.
- This file is consumed by `pack-cli` and used to describe how the app is built.
This builder will be auto-detected if a `project.toml` file exists in the root of the app repository. This file is consumed by `pack-cli` and used to describe how the app is built.
The builder can also be specified via the `builder:set` command:

View File

@@ -199,8 +199,6 @@ dokku config:set node-js-app DOKKU_DOCKERFILE_START_CMD="--harmony server.js"
To tell Docker what to run.
Setting `$DOKKU_DOCKERFILE_CACHE_BUILD` to `true` or `false` will enable or disable Docker's image layer cache. Lastly, for more granular build control, you may also pass any `docker build` option to `docker`, by setting `$DOKKU_DOCKER_BUILD_OPTS`.
### Procfiles and multiple processes
> [!IMPORTANT]

View File

@@ -4,12 +4,6 @@
> Subcommands new as of 0.15.0
```
buildpacks:add [--index 1] <app> <buildpack> # Add new app buildpack while inserting into list of buildpacks if necessary
buildpacks:clear <app> # Clear all buildpacks set on the app
buildpacks:list <app> # List all buildpacks for an app
buildpacks:remove <app> <buildpack> # Remove a buildpack set on the app
buildpacks:report [<app>] [<flag>] # Displays a buildpack report for one or more apps
buildpacks:set [--index 1] <app> <buildpack> # Set new app buildpack at a given position defaulting to the first buildpack if no index is specified
buildpacks:set-property [--global|<app>] <key> <value> # Set or clear a buildpacks property for an app
```
@@ -49,104 +43,6 @@ dokku builder:set node-js-app selected herokuish
> Dokku will only select the `dockerfile` builder if both the `herokuish` and `pack` builders are not detected and a Dockerfile exists. See the [dockerfile builder documentation](/docs/deployment/builders/dockerfiles.md) for more information on how that builder functions.
### Listing Buildpacks in Use
The `buildpacks:list` command can be used to show buildpacks that have been set for an app. This will omit any auto-detected buildpacks.
```shell
# running for an app with no buildpacks specified
dokku buildpacks:list node-js-app
```
```
-----> test buildpack urls
```
```shell
# running for an app with two buildpacks specified
dokku buildpacks:list node-js-app
```
```
-----> test buildpack urls
https://github.com/heroku/heroku-buildpack-python.git
https://github.com/heroku/heroku-buildpack-nodejs.git
```
### Adding custom buildpacks
> Please check the documentation for your particular buildpack as you may need to include configuration files (such as a Procfile) in your project root.
To add a custom buildpack, use the `buildpacks:add` command:
```shell
dokku buildpacks:add node-js-app https://github.com/heroku/heroku-buildpack-nodejs.git
```
When no buildpacks are currently specified, the specified buildpack will be the only one executed for detection and compilation.
Multiple buildpacks may be specified by using the `buildpacks:add` command multiple times.
```shell
dokku buildpacks:add node-js-app https://github.com/heroku/heroku-buildpack-ruby.git
dokku buildpacks:add node-js-app https://github.com/heroku/heroku-buildpack-nodejs.git
```
Buildpacks are executed in order, may be inserted at a specified index via the `--index` flag. This flag is specified starting at a 1-index value.
```shell
# will add the golang buildpack at the second position, bumping all proceeding ones by 1 position
dokku buildpacks:add --index 2 node-js-app https://github.com/heroku/heroku-buildpack-golang.git
```
### Overwriting a buildpack position
In some cases, it may be necessary to swap out a given buildpack. Rather than needing to re-specify each buildpack, the `buildpacks:set` command can be used to overwrite a buildpack at a given position.
```shell
dokku buildpacks:set node-js-app https://github.com/heroku/heroku-buildpack-ruby.git
```
By default, this will overwrite the _first_ buildpack specified. To specify an index, the `--index` flag may be used. This flag is specified starting at a 1-index value, and defaults to `1`.
```shell
# the following are equivalent commands
dokku buildpacks:set node-js-app https://github.com/heroku/heroku-buildpack-ruby.git
dokku buildpacks:set --index 1 node-js-app https://github.com/heroku/heroku-buildpack-ruby.git
```
If the index specified is larger than the number of buildpacks currently configured, the buildpack will be appended to the end of the list.
```shell
dokku buildpacks:set --index 99 node-js-app https://github.com/heroku/heroku-buildpack-ruby.git
```
### Removing a buildpack
> At least one of a buildpack or index must be specified
A single buildpack can be removed by name via the `buildpacks:remove` command.
```shell
dokku buildpacks:remove node-js-app https://github.com/heroku/heroku-buildpack-ruby.git
```
Buildpacks can also be removed by index via the `--index` flag. This flag is specified starting at a 1-index value.
```shell
dokku buildpacks:remove node-js-app --index 1
```
### Clearing all buildpacks
> This does not affect automatically detected buildpacks, nor does it impact any specified `BUILDPACK_URL` environment variable.
The `buildpacks:clear` command can be used to clear all configured buildpacks for a specified app.
```shell
dokku buildpacks:clear node-js-app
```
### Customizing the Buildpack stack builder
> [!IMPORTANT]
@@ -207,49 +103,6 @@ The default value may be set by passing an empty value for the option.
dokku builder-herokuish:set --global allowed
```
### Displaying buildpack reports for an app
You can get a report about the app's buildpacks status using the `buildpacks:report` command:
```shell
dokku buildpacks:report
```
```
=====> node-js-app buildpacks information
Buildpacks computed stack: gliderlabs/herokuish:v0.7.0-22
Buildpacks global stack: gliderlabs/herokuish:latest-24
Buildpacks list: https://github.com/heroku/heroku-buildpack-nodejs.git
Buildpacks stack: gliderlabs/herokuish:v0.7.0-20
=====> python-sample buildpacks information
Buildpacks computed stack: gliderlabs/herokuish:latest-24
Buildpacks global stack: gliderlabs/herokuish:latest-24
Buildpacks list: https://github.com/heroku/heroku-buildpack-nodejs.git,https://github.com/heroku/heroku-buildpack-python.git
Buildpacks stack:
=====> ruby-sample buildpacks information
Buildpacks computed stack: gliderlabs/herokuish:latest-24
Buildpacks global stack: gliderlabs/herokuish:latest-24
Buildpacks list:
Buildpacks stack:
```
You can run the command for a specific app also.
```shell
dokku buildpacks:report node-js-app
```
```
=====> node-js-app buildpacks information
Buildpacks list: https://github.com/heroku/heroku-buildpack-nodejs.git
```
You can pass flags which will output only the value of the specific information you want. For example:
```shell
dokku buildpacks:report node-js-app --buildpacks-list
```
### Displaying builder-herokuish reports for an app
> [!IMPORTANT]
@@ -309,24 +162,6 @@ If an application was previously deployed via Dockerfile, the following commands
dokku ports:clear node-js-app
```
### Using a specific buildpack version
> Always remember to pin your buildpack versions when using the multi-buildpacks method, or you may find deploys changing your deployed environment.
By default, Dokku uses the [gliderlabs/herokuish](https://github.com/gliderlabs/herokuish/) project, which pins all of it's vendored buildpacks. There may be occasions where the pinned version results in a broken deploy, or does not have a particular feature that is required to build your project. To use a more recent version of a given buildpack, the buildpack may be specified _without_ a Git commit SHA like so:
```shell
# using the latest nodejs buildpack
dokku buildpacks:set node-js-app https://github.com/heroku/heroku-buildpack-nodejs
```
This will use the latest commit on the `master` branch of the specified buildpack. To pin to a newer version of a buildpack, a sha may also be specified by using the form `REPOSITORY_URL#COMMIT_SHA`, where `COMMIT_SHA` is any tree-ish git object - usually a git tag.
```shell
# using v87 of the nodejs buildpack
dokku buildpacks:set node-js-app https://github.com/heroku/heroku-buildpack-nodejs#v87
```
### `curl` build timeouts
Certain buildpacks may time out in retrieving dependencies via `curl`. This can happen when your network connection is poor or if there is significant network congestion. You may see a message similar to `gzip: stdin: unexpected end of file` after a `curl` command.
@@ -345,3 +180,32 @@ See the [repository management documentation](/docs/advanced-usage/repository-ma
### Specifying commands via Procfile
See the [Procfile documentation](/docs/processes/process-management.md#procfile) for more information on how to specify different processes for your app.
### Listing Buildpacks in Use
See the [buildpack management documentation](/docs/processes/process-management.md#listing-buildpacks-in-use) for more information on how to list buildpacks in use.
### Adding custom buildpacks
See the [buildpack management documentation](/docs/processes/process-management.md#adding-custom-buildpacks) for more information on how to add custom buildpacks.
### Overwriting a buildpack position
See the [buildpack management documentation](/docs/processes/process-management.md#overwriting-a-buildpack-position) for more information on how to overwrite a buildpack position.
### Removing a buildpack
See the [buildpack management documentation](/docs/processes/process-management.md#removing-a-buildpack) for more information on how to remove a buildpack.
### Clearing all buildpacks
See the [buildpack management documentation](/docs/processes/process-management.md#clearing-all-buildpacks) for more information on how to clear all buildpacks.
### Using a specific buildpack version
See the [buildpack management documentation](/docs/processes/process-management.md#using-a-specific-buildpack-version) for more information on how to using a specific buildpack version
### Displaying buildpack reports for an app
See the [buildpack management documentation](/docs/processes/process-management.md#displaying-buildpack-reports-for-an-app) for more information on how to display buildpack reports for an app.

View File

@@ -80,28 +80,10 @@ dokku builder-nixpacks:set --global nixpackstoml-path
### Disabling cache
Cache is enabled by default, but can be disabled by setting the `no-cache` property to `true`:
Disable cache using the [docker-options] plugin:
```shell
dokku builder-nixpacks:set node-js-app no-cache true
```
The default value may be set by passing an empty value for the option:
```shell
dokku builder-nixpacks:set node-js-app no-cache
```
The `no-cache` property can also be set globally. The global default is `false`, and the global value is used when no app-specific value is set.
```shell
dokku builder-nixpacks:set --global no-cache true
```
The default value may be set by passing an empty value for the option.
```shell
dokku builder-nixpacks:set --global no-cache
dokku docker-options:add node-js-app build "--no-cache"
```
### Displaying builder-nixpacks reports for an app
@@ -117,23 +99,14 @@ dokku builder-nixpacks:report
Builder-nixpacks computed nixpackstoml path: nixpacks2.toml
Builder-nixpacks global nixpackstoml path: nixpacks.toml
Builder-nixpacks nixpackstoml path: nixpacks2.toml
Builder-nixpacks computed no cache: true
Builder-nixpacks global no cache: false
Builder-nixpacks no cache: true
=====> python-sample builder-nixpacks information
Builder-nixpacks computed nixpackstoml path: nixpacks.toml
Builder-nixpacks global nixpackstoml path: nixpacks.toml
Builder-nixpacks nixpackstoml path:
Builder-nixpacks computed no cache: false
Builder-nixpacks global no cache: false
Builder-nixpacks no cache:
=====> ruby-sample builder-nixpacks information
Builder-nixpacks computed nixpackstoml path: nixpacks.toml
Builder-nixpacks global nixpackstoml path: nixpacks.toml
Builder-nixpacks nixpackstoml path:
Builder-nixpacks computed no cache: false
Builder-nixpacks global no cache: false
Builder-nixpacks no cache:
```
You can run the command for a specific app also.
@@ -147,17 +120,14 @@ dokku builder-nixpacks:report node-js-app
Builder-nixpacks computed nixpackstoml path: nixpacks2.toml
Builder-nixpacks global nixpackstoml path: nixpacks.toml
Builder-nixpacks nixpackstoml path: nixpacks2.toml
Builder-nixpacks computed no cache: true
Builder-nixpacks global no cache: false
Builder-nixpacks no cache: true
```
You can pass flags which will output only the value of the specific information you want. For example:
```shell
dokku builder-nixpacks:report node-js-app --builder-nixpacks-no-cache
dokku builder-nixpacks:report node-js-app --builder-nixpacks-nixpackstoml-path
```
```
true
nixpacks2.toml
```

View File

@@ -0,0 +1,142 @@
# Railpack
> [!IMPORTANT]
> New as of 0.37.0
The `railpack` builder builds apps via [Railpack](https://railpack.com/), a buildpack alternative.
## Usage
### Requirements
Before using Railpacks, the following steps must be taken:
- Install the `railpack` cli: The `railpack` cli tool is not included by default with Dokku or as a dependency. It must also be installed as shown on [this page](https://railpack.com/installation).
- Create a `buildkit` builder: Railpack uses buildkit.
```shell
docker run --rm --privileged -d --name buildkit moby/buildkit
```
- Set the buildkit builder: Update the `/etc/default/dokku` file to set `BUILDKIT_HOST`:
```shell
touch /etc/default/dokku
echo "export BUILDKIT_HOST='docker-container://buildkit'" >> /etc/default/dokku
````
### Detection
This builder will be auto-detected in the following case:
- A `railpack.json` exists in the root of the app repository.
The builder may also be selected via the `builder:set` command
```shell
dokku builder:set node-js-app selected railpack
```
### Supported languages
See the [upstream railpack documentation](https://railpack.com/) for further information on what languages and frameworks are supported.
### Build-time configuration variables
For security reasons - and as per [Docker recommendations](https://github.com/docker/docker/issues/13490) - railpack-based deploys have variables available only during runtime.
For users that require customization in the `build` phase, you may use build arguments via the [docker-options plugin](/docs/advanced-usage/docker-options.md). All environment variables set by the `config` plugin are automatically exported within the railpack build environment, and thus `--env` only requires setting a key without a value.
```shell
dokku docker-options:add node-js-app build '--env NODE_ENV'
```
Alternatively, a full value may be provided in the form of `--env KEY=VALUE`:
```shell
dokku docker-options:add node-js-app build '--env NODE_ENV=production'
```
### Changing the `railpack.json` location
The `railpack.json` is expected to be found in a specific directory, depending on the deploy approach:
- The `WORKDIR` of the Docker image for deploys resulting from `git:from-image` and `git:load-image` commands.
- The root of the source code tree for all other deploys (git push, `git:from-archive`, `git:sync`).
Sometimes it may be desirable to set a different path for a given app, e.g. when deploying from a monorepo. This can be done via the `railpackjson-path` property:
```shell
dokku builder-railpack:set node-js-app railpackjson-path .dokku/railpack.json
```
The value is the path to the desired file *relative* to the base search directory, and will never be treated as absolute paths in any context. If that file does not exist within the repository, the build will fail.
The default value may be set by passing an empty value for the option:
```shell
dokku builder-railpack:set node-js-app railpackjson-path
```
The `railpackjson-path` property can also be set globally. The global default is `railpack.json`, and the global value is used when no app-specific value is set.
```shell
dokku builder-railpack:set --global railpackjson-path railpack2.json
```
The default value may be set by passing an empty value for the option.
```shell
dokku builder-railpack:set --global railpackjson-path
```
### Disabling cache
Disable cache using the [docker-options] plugin:
```shell
dokku docker-options:add node-js-app build "--no-cache"
```
### Displaying builder-railpack reports for an app
You can get a report about the app's storage status using the `builder-railpack:report` command:
```shell
dokku builder-railpack:report
```
```
=====> node-js-app builder-railpack information
Builder-railpack computed railpackjson path: railpack2.json
Builder-railpack global railpackjson path: railpack.json
Builder-railpack railpackjson path: railpack2.json
=====> python-sample builder-railpack information
Builder-railpack computed railpackjson path: railpack.json
Builder-railpack global railpackjson path: railpack.json
Builder-railpack railpackjson path:
=====> ruby-sample builder-railpack information
Builder-railpack computed railpackjson path: railpack.json
Builder-railpack global railpackjson path: railpack.json
Builder-railpack railpackjson path:
```
You can run the command for a specific app also.
```shell
dokku builder-railpack:report node-js-app
```
```
=====> node-js-app builder-railpack information
Builder-railpack computed railpackjson path: railpack2.json
Builder-railpack global railpackjson path: railpack.json
Builder-railpack railpackjson path: railpack2.json
```
You can pass flags which will output only the value of the specific information you want. For example:
```shell
dokku builder-railpack:report node-js-app --builder-railpack-railpackjson-path
```
```
railpack2.json
```

View File

@@ -11,6 +11,7 @@ Assuming a Docker image can be run as a CI task with environment variables injec
- [gitlab-ci](https://about.gitlab.com/stages-devops-lifecycle/continuous-integration/)
- [semaphoreci](https://semaphoreci.com/)
- [travisci](https://travis-ci.com/)
- [woodpecker ci](https://woodpecker-ci.org/)
## Simple Usage

View File

@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Cloning repo
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

View File

@@ -0,0 +1,29 @@
# Woodpecker CI
[Woodpecker CI](https://woodpecker-ci.org/docs/intro) can be used to automatically deploy a Dokku application via the official [dokku/ci-docker-image](https://github.com/dokku/ci-docker-image). The simplest example is as follows:
```yaml
when:
- event: push
branch: main
clone:
git:
image: woodpeckerci/plugin-git
settings:
partial: false
depth: 0
steps:
- name: deploy
image: dokku/ci-docker-image
environment:
GIT_REMOTE_URL: ssh://dokku@dokku.me:22/appname
SSH_PRIVATE_KEY:
from_secret: DOKKU_ME_SSH_DEPLOY_KEY
commands:
- dokku-deploy
```
- The standard `clone` stage is replaced with one that performs a complete clone of the repository (the default is a shallow clone, which dokku would reject).
- A `GIT_REMOTE_URL` and a `SSH_PRIVATE_KEY` (with help of the `from_secret` directive) suffice to carry out a deployment.

View File

@@ -234,6 +234,19 @@ For some sinks - such as the `http` sink - it may be useful to use special chara
dokku logs:set test vector-sink "http://?uri=https%3A//loggerservice.com%3A1234/%3Ftoken%3Dabc1234%26type%3Dvector"
```
For kubernetes, it may be necessary to use template syntax - `{{ .parent.child }}` - in the sink configuration. Naively using brackets will fail due to the Helm chart install process assuming that the template should be interpreted at Helm install time vs by Vector itself. To avoid this, use `base64enc:` values (available only for top-level properties at this time). The following example shows how to use `{{ pod }}` as a value.
```shell
# encode the value with a Helm `print` statement wrapper
encoded="$(echo '{{ print "{{ pod }}" }}' | base64)"
# the value of encoded should be: e3sgcHJpbnQgInt7IHBvZCB9fSIgfX0K
# set the value
dokku logs:set test vector-sink "http://?process=base64enc%3A${encoded}"
```
This will transform the value to it's encoded form when configuring Vector sinks for Kubernetes.
Please read the [sink documentation](https://vector.dev/docs/reference/configuration/sinks/) for your sink of choice to configure the sink as desired.
##### Configuring the app label

View File

@@ -71,7 +71,7 @@ All commands have the application name automatically set via the `--app` flag on
The client supports several environment variables:
- `DOKKU_HOST` (default: `dokku` git remote): Used to interact with a specific remote server. Can be overridden via the `--remote` flag.
- `DOKKU_HOST` (default: `dokku` git remote): Used to interact with a specific remote server. Can be overridden via the `--remote` flag. Must specify the `--app` flag when specified.
- `DOKKU_PORT` (default: `22`): Used to specify a port to connect to the Dokku server on.
It also supports several flags (all flags unspecified here are passed as is to the server):
@@ -99,6 +99,12 @@ To list all available remotes, run `dokku remote:list`. This is equivalent to ru
To add a remote, run `dokku remote:add $REMOTE_NAME dokku@dokku.me:$APP_NAME`, replacing `$REMOTE_NAME` with your desired remote name, the `$APP_NAME` with your desired app name and the host `dokku.me` with your Dokku host. This is equivalent to running `git remote add $REMOTE_NAME dokku@dokku.me:$APP_NAME`.
The following remote formats are supported:
- `dokku@HOSTNAME.TLD:APP_NAME`
- `ssh://dokku@HOSTNAME.TLD/APP_NAME`
- `ssh://dokku@HOSTNAME.TLD:HOST_PORT/APP_NAME`
To remove a remote, run `dokku remote:remove $REMOTE_NAME`. This is equivalent to running `git remote remove $REMOTE_NAME`.
By default, the remote in use is `dokku`. To change the remote the client uses by default, run `dokku remote:set $REMOTE_NAME`, where `$REMOTE_NAME` is the name of your desired remote. This will not check the value specified, so that remote *must* be available or errors will occur when running normal client commands. Note that specifying `--remote` when running dokku commands will override this configuration value.

View File

@@ -7,12 +7,15 @@
scheduler-k3s:annotations:set <app|--global> <property> (<value>) [--process-type PROCESS_TYPE] <--resource-type RESOURCE_TYPE>, Set or clear an annotation for a given app/process-type/resource-type combination
scheduler-k3s:autoscaling-auth:set <app|--global> <trigger> [<--metadata key=value>...], Set or clear a scheduler-k3s autoscaling keda trigger authentication resource for an app
scheduler-k3s:autoscaling-auth:report <app|--global> [--format stdout|json] [--include-metadata] # Displays a scheduler-k3s autoscaling auth report for an app
scheduler-k3s:cluster-add [ssh://user@host:port] # Adds a server node to a Dokku-managed cluster
scheduler-k3s:cluster-list # Lists all nodes in a Dokku-managed cluster
scheduler-k3s:cluster-remove [node-id] # Removes client node to a Dokku-managed cluster
scheduler-k3s:cluster:add [ssh://user@host:port] # Adds a server node to a Dokku-managed cluster
scheduler-k3s:cluster:list # Lists all nodes in a Dokku-managed cluster
scheduler-k3s:cluster:remove [node-id] # Removes client node to a Dokku-managed cluster
scheduler-k3s:ensure-charts # Ensures the k3s charts are installed
scheduler-k3s:initialize # Initializes a cluster
scheduler-k3s:labels:set <app|--global> <property> (<value>) [--process-type PROCESS_TYPE] <--resource-type RESOURCE_TYPE>, Set or clear a label for a given app/process-type/resource-type combination
scheduler-k3s:labels:set <app|--global> <property> (<value>) [--process-type PROCESS_TYPE] <--resource-type RESOURCE_TYPE> # Set or clear a label for a given app/process-type/resource-type combination
scheduler-k3s:profiles:add <profile> [--role ROLE] [--insecure-allow-unknown-hosts] [--taint-scheduling] [--kubelet-args KUBELET_ARGS] Adds a node profile to the k3s cluster
scheduler-k3s:profiles:list [--format json|stdout] # Lists all node profiles in the k3s cluster
scheduler-k3s:profiles:remove <profile> # Removes a node profile from the k3s cluster
scheduler-k3s:report [<app>] [<flag>] # Displays a scheduler-k3s report for one or more apps
scheduler-k3s:set [<app>|--global] <key> (<value>) # Set or clear a scheduler-k3s property for an app or the scheduler
scheduler-k3s:show-kubeconfig # Displays the kubeconfig for remote usage
@@ -77,22 +80,38 @@ dokku scheduler-k3s:initialize --ingress-class traefik
#### Adding a worker node
Nodes that run app workloads can be added via the `scheduler-k3s:cluster-add` command. This will ssh onto the specified server, install k3s, and join it to the current Dokku node in worker mode. Workers are typically used to run app workloads.
Nodes that run app workloads can be added via the `scheduler-k3s:cluster:add` command. This will ssh onto the specified server, install k3s, and join it to the current Dokku node in worker mode. Workers are typically used to run app workloads.
```shell
dokku scheduler-k3s:cluster-add ssh://root@worker-1.example.com
dokku scheduler-k3s:cluster:add ssh://root@worker-1.example.com
```
Per-node kubelet flags can be supplied by passing `--kubelet-args` with a comma-separated `key=value` list. This is useful for tuning scheduler capacity or enforcing cluster-wide defaults at the node level.
```shell
dokku scheduler-k3s:cluster:add \
--kubelet-args allowed-unsafe-sysctls=net.ipv6.conf.all.disable_ipv6 \
ssh://root@worker-1.example.com
```
Multiple kubelet arguments can be specified in the same call by separating them with commas. The following example enables IPv4 forwarding while also increasing the pod density on the worker.
```shell
dokku scheduler-k3s:cluster:add \
--kubelet-args allowed-unsafe-sysctls=net.ipv6.conf.all.disable_ipv6,max-pods=150 \
ssh://root@worker-2.example.com
```
If the server isn't in the `known_hosts` file, the connection will fail. This can be bypassed by setting the `--insecure-allow-unknown-hosts` flag:
```shell
dokku scheduler-k3s:cluster-add --insecure-allow-unknown-hosts ssh://root@worker-1.example.com
dokku scheduler-k3s:cluster:add --insecure-allow-unknown-hosts ssh://root@worker-1.example.com
```
By default, Dokku will attempt to auto-detect the IP address of the Dokku server for the remote server to connect to. In cases where the auto-detected IP address is incorrect, an override may be specified via the `--server-ip` flag:
```shell
dokku scheduler-k3s:cluster-add --server-ip 192.168.20.15 ssh://root@worker-1.example.com
dokku scheduler-k3s:cluster:add --server-ip 192.168.20.15 ssh://root@worker-1.example.com
```
#### Adding a server node
@@ -102,28 +121,28 @@ dokku scheduler-k3s:cluster-add --server-ip 192.168.20.15 ssh://root@worker-1.ex
Server nodes are typically used to replicate the cluster state, and it is recommended to have an odd number of nodes spread across several availability zones (datacenters in close proximity within a region). This allows for higher availability in the event of a cluster failure. Server nodes run control-plane services such as the traefik load balancer and the etcd backing store.
Server nodes can also be added with the `scheduler-k3s:cluster-add` command by specifying `--role server`. This will ssh onto the specified server, install k3s, and join it to the current Dokku node in server mode.
Server nodes can also be added with the `scheduler-k3s:cluster:add` command by specifying `--role server`. This will ssh onto the specified server, install k3s, and join it to the current Dokku node in server mode.
```shell
dokku scheduler-k3s:cluster-add --role server ssh://root@server-1.example.com
dokku scheduler-k3s:cluster:add --role server ssh://root@server-1.example.com
```
Server nodes allow any workloads to be scheduled on them by default, in addition to the control-plane, etcd, and the scheduler itself. To avoid app workloads being scheduled on your control-plane, use the `--taint-scheduling` flag:
```shell
dokku scheduler-k3s:cluster-add --role server --taint-scheduling ssh://root@server-1.example.com
dokku scheduler-k3s:cluster:add --role server --taint-scheduling ssh://root@server-1.example.com
```
If the server isn't in the `known_hosts` file, the connection will fail. This can be bypassed by setting the `--insecure-allow-unknown-hosts` flag:
```shell
dokku scheduler-k3s:cluster-add --role server --insecure-allow-unknown-hosts ssh://root@server-1.example.com
dokku scheduler-k3s:cluster:add --role server --insecure-allow-unknown-hosts ssh://root@server-1.example.com
```
By default, Dokku will attempt to auto-detect the IP address of the Dokku server for the remote server to connect to. In cases where the auto-detected IP address is incorrect, an override may be specified via the `--server-ip` flag:
```shell
dokku scheduler-k3s:cluster-add --role server --server-ip 192.168.20.15 ssh://root@server-1.example.com
dokku scheduler-k3s:cluster:add --role server --server-ip 192.168.20.15 ssh://root@server-1.example.com
```
#### Changing the network interface
@@ -134,6 +153,48 @@ When attaching an worker or server node, the K3s plugin will look at the IP asso
dokku scheduler-k3s:set --global network-interface eth1
```
### Node Profiles
Node profiles capture repeatable `scheduler-k3s:cluster:add` options so you can join multiple nodes with identical settings. A profile name can be specified for the `scheduler-k3s:cluster:add` command via the `--profile <name>` flag. Any flags passed directly to `scheduler-k3s:cluster:add` override the stored values for that run.
#### Listing profiles
Display stored profiles to understand which roles and behaviors will be used.
```shell
dokku scheduler-k3s:profiles:list
```
```
name role
awesome-profile worker
```
This command also takes an optional `--format` flag to specify a format for the output. Options include `json` and `stdout`
#### Adding profiles
Create or update a profile that defines how new nodes should be prepared before joining the cluster.
```shell
dokku scheduler-k3s:profiles:add edge-workers \
--role worker \
--insecure-allow-unknown-hosts \
--kubelet-args protect-kernel-defaults=true,eviction-hard=memory.available<200Mi
```
Profile names must be alphanumeric, may include internal dashes, cannot start/end with a dash, and must be ≤32 characters. Other than the `--server-ip` flag, all flags used for `scheduler-k3s:cluster:add` are valid for the `scheduler-k3s:profiles:add` command.
#### scheduler-k3s:profiles:remove
Delete a profile once it’s no longer required.
```shell
dokku scheduler-k3s:profiles:remove edge-workers
```
Removal only deletes the stored definition; nodes that already joined the cluster keep their existing configuration.
### Changing deployment settings
The k3s plugin provides a number of settings that can be used to managed deployments on a per-app basis. The following table outlines ones not covered elsewhere:
@@ -141,6 +202,7 @@ The k3s plugin provides a number of settings that can be used to managed deploym
| Name | Description | Global Default |
|-----------------------|---------------------------------------------------|--------------------|
| `deploy-timeout` | Controls when app deploys will timeout in seconds | `300s` |
| `kustomize-root-path` | Controls the folder context from the deployed repository used for Kustomize | `config/kustomize` |
| `image-pull-secrets` | Name of a kubernetes secret used to auth against a registry | Contents of `~/.docker/config.json` from Dokku server |
| `namespace` | Controls the namespace used for resource creation | `default` |
| `rollback-on-failure` | Whether to rollback failed deploys | `false` |
@@ -170,6 +232,27 @@ The global default value may be set by passing an empty value for the option.
dokku scheduler-k3s:set --global deploy-timeout
```
### Exposing services on the network
Dokku will automatically expose the `web` process as a Kubernetes Service, with all others being treated as background processes. In some cases, it may be useful to have other processes exposed as Kubernetes Service objects so as to segregate internal http endpoints from public http endpoints. This can be done by modifying the `app.json` Formation entry for your process type.
```json
{
"formation": {
"internal-web": {
"service": {
"exposed": true
}
}
}
}
```
In the above example, the `internal-web` process is exposed as a service. The `PORT` variable for the process will be set to `5000`, and a kubernetes `Service` object will be created pointing at your processes.
> [!NOTE]
> It is not possible to modify the port mapping, nor is it possible to assign domains or SSL to a non-web process.
### SSL Certificates
#### Enabling letsencrypt integration
@@ -200,7 +283,7 @@ The default value may be set by passing an empty value for the option:
dokku scheduler-k3s:set node-js-app letsencrypt-server
```
The `image-pull-secrets` property can also be set globally. The global default is `production`.
The `letsencrypt-server` property can also be set globally. The global default is `production`.
```shell
dokku scheduler-k3s:set --global letsencrypt-server staging
@@ -212,6 +295,18 @@ The default value may be set by passing an empty value for the option.
dokku scheduler-k3s:set --global letsencrypt-server staging
```
Letsencrypt can be completely disabled for a given app by setting the `letsencrypt-server` to `false`
```shell
dokku scheduler-k3s:set node-js-app letsencrypt-server false
```
The server can also be disabled globally, and then conditionally enabled on a per-app basis:
```shell
dokku scheduler-k3s:set --global letsencrypt-server false
```
### Customizing Annotations and Labels
> [!NOTE]
@@ -365,7 +460,6 @@ dokku scheduler-k3s:ensure-charts
Once the chart is configured, an `http` trigger can be specified like so:
```json
{
"formation": {
@@ -461,6 +555,30 @@ dokku scheduler-k3s:autoscaling-auth:report node-js-app --include-metadata
Datadog datadogSite: us5.datadoghq.com
```
### Integrating Kustomize
Dokku supports integration with [Kustomize](https://kustomize.io/) to further customize the generated helm charts for app deployments. For example, a `config/kustomize/kustomization.yaml` file with the following contents will override the scale for each process deployed to `3`:
```yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- rendered.yaml
patches:
- patch: |-
- op: replace
path: /spec/replicas
value: 3
target:
group: apps
version: v1
kind: Deployment
```
When using Kustomize with Dokku, all Kustomize-files _must_ be placed in the `config/kustomize` folder, with a `kustomization.yaml` file being the entrypoint to Kustomize. Dokku will render the helm chart to a `rendered.yaml` file, and then execute Kustomize with the `config/kustomize` folder as the context.
See the [Kustomize](https://kustomize.io/) website for more details on how to use Kustomize.
### Using kubectl remotely
> [!WARNING]
@@ -515,7 +633,6 @@ dokku scheduler-k3s:set --global chart.cert-manager.version 1.13.3
> [!NOTE]
> Properties follow dot-notation, and are expanded according to Helm's internal logic. See the [Helm documentation](https://helm.sh/docs/helm/helm_install/#helm-install) for `helm install` for further details.
To unset a chart property, omit the value from the `scheduler-k3s:set` call:
```shell
@@ -545,6 +662,11 @@ This plugin implements various functionality through `plugn` triggers to integra
- `apps:clone`
- `apps:destroy`
- `apps:rename`
- `docker-options`:
- The following docker options are translated into their kubernetes equivalents:
- `--cap-add`
- `--cap-drop`
- `--privileged`
- `cron`
- `enter`
- `deploy`
@@ -588,6 +710,7 @@ Next, run the `scheduler-k3s:ensure-charts` command with the `vector` chart to f
```shell
dokku scheduler-k3s:ensure-charts --charts vector
```
Please see the [vector logs documentation](/docs/deployment/logs.md#configuring-a-log-sink) for more information on specifying vector sinks.
### Supported Resource Management Properties

View File

@@ -98,7 +98,7 @@ At this time, the following dokku commands are used to implement a complete sche
- `apps:clone`: handles app cloning
- triggers: post-app-clone-setup
- `cron`: generates cron tasks for the app
- triggers: cron-write
- triggers: scheduler-cron-write
- `deploy`: deploys app proceses and checks the status of a deploy
- triggers: scheduler-app-status, scheduler-deploy, scheduler-is-deployed, scheduler-logs-failed
- `enter`: enters a running container
@@ -112,7 +112,9 @@ At this time, the following dokku commands are used to implement a complete sche
- `run:logs`: fetches running container logs
- triggers: scheduler-run-logs
- `ps:stop`: stops app processes
- triggers: scheduler-stop
- triggers: scheduler-stop, scheduler-cron-write
- `ps:start`: starts app processes
- triggers: scheduler-deploy, scheduler-cron-write
- `ps:inspect`: outputs inspect output for processes in an app
- triggers: scheduler-inspect

View File

@@ -36,12 +36,15 @@ dokku checks:set node-js-app wait-to-retire 30
Defaults to `60`.
## Setting stop grace period
You can set the `stop-timeout-seconds` property on the `ps` plugin to change this value (default: `30`). See the [process management documentation](/docs/processes/process-management.md#changing-process-management-settings) for more information.
## Configuring check settings using the `config` plugin
There are certain settings that can be configured via environment variables:
- `DOKKU_DEFAULT_CHECKS_WAIT`: (default: `10`) If no user-defined checks are specified - or if the process being checked is not a `web` process - this is the period of time Dokku will wait before checking that a container is still running.
- `DOKKU_DOCKER_STOP_TIMEOUT`: (default: `10`) Configurable grace period given to the `docker stop` command. If a container has not stopped by this time, a `kill -9` signal or equivalent is sent in order to force-terminate the container. Both the `ps:stop` and `apps:destroy` commands *also* respect this value. If not specified, the Docker defaults for the [`docker stop` command](https://docs.docker.com/engine/reference/commandline/stop/) will be used.
The following settings may also be specified in the `app.json` file, though are available as environment variables in order to ease application reuse.

View File

@@ -119,6 +119,21 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `app-json-is-valid`
- Description: Checks to see if the provided app.json file is valid
- Invoked by: Appjson extraction during deployment
- Arguments: `$APP $APP_JSON_PATH`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `app-maybe-create`
- Description: Creates an app (gated by whether this is globally enabled or not)
@@ -567,7 +582,7 @@ APP="$1"; PROPERTY="$2"
### `cron-entries`
- Description: Allows injecting cron entries into the written out scheduled cron task list. Each entry is newline delimited, and individual entries come in the form `$SCHEDULE;$FULL_COMMAND;$ARBITRARY_DATA`. Individual implementations of cron writing can decide whether and how to include these cron entries. The `ARBITRARY_DATA` includes the log file path for the basic `docker-local` cron implementation.
- Description: Allows injecting cron tasks into the written out scheduled cron task list. Each entry is newline delimited, and individual tasks come in the form `$SCHEDULE;$FULL_COMMAND;$ARBITRARY_DATA`. Individual implementations of cron writing can decide whether and how to include these cron tasks. The `ARBITRARY_DATA` includes the log file path for the basic `docker-local` cron implementation.
- Invoked by:
- Arguments: `$DOKKU_SCHEDULER`
- Example:
@@ -583,22 +598,6 @@ DOKKU_SCHEDULER="$1"
# TODO
```
### `cron-write`
- Description: Force triggers writing out cron entries
- Invoked by:
- Arguments:
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
# TODO
```
### `dependencies`
- Description: Used to install system-level dependencies.
@@ -1700,7 +1699,7 @@ curl "http://httpstat.us/200"
### `post-domains-update`
- Description: Allows you to run commands once the domain for an app has been updated. It also sends in the command that has been used. This can be "add", "clear" or "remove". The third argument will be the optional list of domains
- Invoked by: `dokku domains:add`, `dokku domains:clear`, `dokku domains:remove`, `dokku domains:set`
- Invoked by: `dokku domains:add`, `dokku domains:clear`, `dokku domains:remove`, `dokku domains:reset`, `dokku domains:set`
- Arguments: `$APP` `action name` `domains`
- Example:
@@ -2445,6 +2444,26 @@ DOKKU_SCHEDULER="$1"; APP="$2";
# TODO
```
### `scheduler-cron-write`
> [!WARNING]
> The scheduler plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
- Description: Force triggers writing out cron tasks. Arguments are optional.
- Invoked by: `ps:start`, `ps:stop`, `cron:set`
- Arguments: `$DOKKU_SCHEDULER $APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
# TODO
```
### `scheduler-deploy`
> [!WARNING]
@@ -2786,6 +2805,26 @@ DOKKU_SCHEDULER="$1"; APP="$2"; CONTAINER="$3"; TAIL="$4"; PRETTY_PRINT="$5"; NU
# TODO
```
### `scheduler-run-retire`
> [!WARNING]
> The scheduler plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
- Description: Allows you to retire containers started by the `run` command
- Invoked by: `dokku run:retire`
- Arguments: `$DOKKU_SCHEDULER $APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
DOKKU_SCHEDULER="$1"; APP="$2";
# TODO
```
### `scheduler-run-stop`
> [!WARNING]

View File

@@ -29,7 +29,7 @@ The workflow looks like this:
```shell
# having dokku-arch in ../dokku-arch
vagrant up build-arch
# wait for "==> build-arch: ==> Finished making: dokku 0.35.18-2 (Mon Feb 22 23:20:37 CET 2016)"
# wait for "==> build-arch: ==> Finished making: dokku 0.37.2-2 (Mon Feb 22 23:20:37 CET 2016)"
cd ../dokku-arch
git add PKGBUILD .SRCINFO
git commit -m 'Update to dokku 0.9.9'

View File

@@ -13,7 +13,7 @@ All pull requests have tests run against them on [GitHub Actions](https://github
If you wish to skip tests for a particular commit, e.g. documentation changes, you may add the `[ci skip]` designator to your commit message. Commits that _should_ be tested but have the above designator will not be merged.
While we do provide official packages for a variety of platforms, as our test suite currently runs on Ubuntu Noble 24.04, we only provide official installation support for that platform and the supported LTS releases of Ubuntu (currently 20.04, 22.04, and 24.04).
While we do provide official packages for a variety of platforms, as our test suite currently runs on Ubuntu Noble 24.04, we only provide official installation support for that platform and the supported LTS releases of Ubuntu (currently 22.04, and 24.04).
## Local Test Execution

View File

@@ -3,7 +3,7 @@
Pull the dokku/dokku image:
```shell
docker pull dokku/dokku:0.35.18
docker pull dokku/dokku:0.37.2
```
Next, run the image.
@@ -19,7 +19,7 @@ docker container run -d \
--publish 8443:443 \
--volume /var/lib/dokku:/mnt/dokku \
--volume /var/run/docker.sock:/var/run/docker.sock \
dokku/dokku:0.35.18
dokku/dokku:0.37.2
```
Alternatively, you can use `docker-compose.yml`:
@@ -27,7 +27,7 @@ Alternatively, you can use `docker-compose.yml`:
```yaml
services:
dokku:
image: dokku/dokku:0.35.18
image: dokku/dokku:0.37.2
container_name: dokku
network_mode: bridge
ports:
@@ -80,12 +80,12 @@ redis: https://github.com/dokku/dokku-redis.git
### Prior to Dokku start
The alternative is to build a custom docker image via a custom Dockerfile. This Dockerfile can run any `plugin:install` command. Note that the version installed at that time will be the one that persists. Below is an example Dockerfile showing this method.
The alternative is to build a custom docker image via a custom Dockerfile. This Dockerfile can run any `plugin:install` command, though the `install` trigger must be skipped via the `--skip-install-trigger`. The version installed at that time will be the one that persists. Below is an example Dockerfile showing this method.
```Dockerfile
FROM dokku/dokku:0.35.18
RUN dokku plugin:install https://github.com/dokku/dokku-postgres.git postgres
RUN dokku plugin:install https://github.com/dokku/dokku-redis.git redis
FROM dokku/dokku:0.37.2
RUN dokku plugin:install https://github.com/dokku/dokku-postgres.git --skip-install-trigger
RUN dokku plugin:install https://github.com/dokku/dokku-redis.git --skip-install-trigger
```
## SSH Key Management

View File

@@ -8,17 +8,11 @@ Dokku is an extensible, open source Platform as a Service that runs on a single
To start using Dokku, you'll need a system that meets the following minimum requirements:
- A fresh installation of any of the following operating systems:
- [Ubuntu 20.04/22.04/24.04](https://www.ubuntu.com/download)
- [Debian 11+ x64](https://www.debian.org/distrib/)
- A server with one of the following architectures
- AMD64 (alternatively known as `x86_64`), commonly used for Intel cloud servers
- ARMV8 (alternatively known as `arm64`), commonly used for Raspberry PI and AWS Graviton
To avoid memory pressure during builds or runtime of your applications, we suggest the following:
- At least 1 GB of system memory
- If your system has less than 1GB of memory, you can use [this workaround](/docs/getting-started/advanced-installation.md#vms-with-less-than-1-gb-of-memory).
- Operating Systems: [Ubuntu 22.04/24.04](https://www.ubuntu.com/download) or [Debian 11+ x64](https://www.debian.org/distrib/)
- Supported Architectures: `AMD64` (`x86_64`) and `arm64` (`armv8`)
- Minimum Memory:
- Docker Scheduler: 1GB of system memory, or [add swap memory](/docs/getting-started/advanced-installation.md#vms-with-less-than-1-gb-of-memory)
- K3s Scheduler: 2GB of system memory on every node in the cluster
Finally, we recommend attaching at least one domain name to your server. This is not required, but using a domain name will make app access easier. When connecting a domain, either a single domain or a wildcard may be associated to the server's IP.
@@ -37,8 +31,8 @@ To install the latest stable version of Dokku, you can run the following shell c
```shell
# for debian systems, installs Dokku via apt-get
wget -NP . https://dokku.com/install/v0.35.18/bootstrap.sh
sudo DOKKU_TAG=v0.35.18 bash bootstrap.sh
wget -NP . https://dokku.com/install/v0.37.2/bootstrap.sh
sudo DOKKU_TAG=v0.37.2 bash bootstrap.sh
```
The installation process takes about 5-10 minutes, depending upon internet connection speed.
@@ -49,7 +43,7 @@ Once the installation is complete, you should configure an ssh key and set your
```shell
# usually your key is already available under the current user's `~/.ssh/authorized_keys` file
cat ~/.ssh/authorized_keys | dokku ssh-keys:add admin
cat ~/.ssh/authorized_keys | sudo dokku ssh-keys:add admin
# you can use any domain you already have access to
# this domain should have an A record or CNAME pointing at your server's IP

View File

@@ -18,6 +18,8 @@ Docker releases updates periodically to their engine. We recommend reading their
Before upgrading, check the migration guides to get comfortable with new features and prepare your deployment to be upgraded.
- [Upgrading to 0.37](/docs/appendices/0.37.0-migration-guide.md)
- [Upgrading to 0.36](/docs/appendices/0.36.0-migration-guide.md)
- [Upgrading to 0.35](/docs/appendices/0.35.0-migration-guide.md)
- [Upgrading to 0.34](/docs/appendices/0.34.0-migration-guide.md)
- [Upgrading to 0.33](/docs/appendices/0.33.0-migration-guide.md)

View File

@@ -10,26 +10,26 @@
<meta name="author" content="">
<title>Dokku - The smallest PaaS implementation you've ever seen</title>
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/favicon.ico">
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Dokku">
<meta name="application-name" content="Dokku">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/browserconfig.xml">
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOitfPri4tjfHxaWutUpFmBp4vmVor" crossorigin="anonymous">
@@ -38,7 +38,7 @@
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/style.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/style.css" rel="stylesheet">
<!-- <link href="./assets/style.css" rel="stylesheet"> -->
</head>
@@ -98,7 +98,7 @@
<main class="container px-4 px-lg-5">
<div class="row">
<div class="col-lg-7">
<a class="badge-link" href="https://github.com/dokku/dokku/releases"><span class="badge py-2 d-flex fit-content"><div class="circle align-self-center me-2"></div>Latest release <span id="releaseVersion" class="ms-1">v0.35.18</span></span></a>
<a class="badge-link" href="https://github.com/dokku/dokku/releases"><span class="badge py-2 d-flex fit-content"><div class="circle align-self-center me-2"></div>Latest release <span id="releaseVersion" class="ms-1">v0.37.2</span></span></a>
<h1 class="text-white hero-heading mt-5">An open source PAAS alternative to Heroku.</h1>
<h4 class="text-white mt-5">Dokku helps you build and manage the lifecycle of applications from building to scaling.</h4>
<div class="d-flex mt-5">
@@ -125,7 +125,7 @@
</p>
<p class="line">
<span class="prompt">$</span>
<span class="command">sudo DOKKU_TAG=v0.35.18 bash bootstrap.sh</span>
<span class="command">sudo DOKKU_TAG=v0.37.2 bash bootstrap.sh</span>
</p>
<br>

View File

@@ -3,7 +3,7 @@
> [!IMPORTANT]
> New as of 0.28.0
Dokku provides integration with the [Caddy](https://caddyserver.com/) proxy service by utilizing the Docker label-based integration implemented by Caddy.
Dokku provides integration with the [Caddy](https://caddyserver.com/) proxy service by utilizing the Docker label-based integration implemented by [Caddy Docker Proxy](https://github.com/lucaslorentz/caddy-docker-proxy).
```
caddy:report [<app>] [<flag>] # Displays a caddy report for one or more apps
@@ -117,9 +117,57 @@ dokku caddy:set --global log-level DEBUG
After modifying, the Caddy container will need to be restarted.
### Label Management
The Caddy plugin allows you to add custom container labels to apps. These labels are injected into containers during deployment and can be used to configure Caddy behavior beyond what the plugin provides by default.
Refer to the upstream [caddy-docker-proxy](https://github.com/lucaslorentz/caddy-docker-proxy) documentation for more information on what labels are available.
#### Adding a label
To add a custom container label to an app, use the `caddy:labels:add` command:
```shell
dokku caddy:labels:add node-js-app caddy.directive value
```
This will add the label `caddy.directive=value` to the app's containers. After adding a label, you will need to rebuild or redeploy the app for the label to be applied to running containers.
```shell
dokku ps:rebuild node-js-app
```
#### Removing a label
To remove a custom container label from an app, use the `caddy:labels:remove` command:
```shell
dokku caddy:labels:remove node-js-app caddy.directive
```
This will remove the specified label from the app. After removing a label, you will need to rebuild or redeploy the app for the change to be applied to running containers.
```shell
dokku ps:rebuild node-js-app
```
#### Showing labels
To view all custom container labels for an app, use the `caddy:labels:show` command:
```shell
dokku caddy:labels:show node-js-app
```
To view a specific label value, provide the label name:
```shell
dokku caddy:labels:show node-js-app caddy.directive
```
### SSL Configuration
The caddy plugin only supports automatic ssl certificates from it's letsencrypt integration. Managed certificates provided by the `certs` plugin are ignored.
The caddy plugin only supports automatic ssl certificates from its letsencrypt integration. Managed certificates provided by the `certs` plugin are ignored.
#### Enabling letsencrypt integration

View File

@@ -113,6 +113,54 @@ dokku haproxy:set --global log-level DEBUG
After modifying, the Haproxy container will need to be restarted.
### Label Management
The Haproxy plugin allows you to add custom container labels to apps. These labels are injected into containers during deployment and can be used to configure Haproxy behavior beyond what the plugin provides by default.
Refer to the upstream [EasyHaproxy](https://github.com/byjg/docker-easy-haproxy) documentation for more information on what labels are available.
#### Adding a label
To add a custom container label to an app, use the `haproxy:labels:add` command:
```shell
dokku haproxy:labels:add node-js-app haproxy.directive value
```
This will add the label `haproxy.directive=value` to the app's containers. After adding a label, you will need to rebuild or redeploy the app for the label to be applied to running containers.
```shell
dokku ps:rebuild node-js-app
```
#### Removing a label
To remove a custom container label from an app, use the `haproxy:labels:remove` command:
```shell
dokku haproxy:labels:remove node-js-app haproxy.directive
```
This will remove the specified label from the app. After removing a label, you will need to rebuild or redeploy the app for the change to be applied to running containers.
```shell
dokku ps:rebuild node-js-app
```
#### Showing labels
To view all custom container labels for an app, use the `haproxy:labels:show` command:
```shell
dokku haproxy:labels:show node-js-app
```
To view a specific label value, provide the label name:
```shell
dokku haproxy:labels:show node-js-app haproxy.directive
```
### SSL Configuration
The haproxy plugin only supports automatic ssl certificates from it's letsencrypt integration. Managed certificates provided by the `certs` plugin are ignored.

View File

@@ -332,6 +332,7 @@ Changing these value globally or on a per-app basis will require rebuilding the
| keepalive-timeout | `75s` | string | Timeout (with units) during which a keep-alive client connection will stay open on the server side |
| lingering-timeout | `5s` | string | Timeout (with units) is the maximum waiting time for more client data to arrive |
| nginx-conf-sigil-path | `nginx.conf.sigil` | string | Path in the repository to the `nginx.conf.sigil` file |
| nginx-service-command | | string | Full path to an executable script or binary to invoke instead of the system's init process when interacting with nginx |
| proxy-buffer-size | `8k` (# is os pagesize) | string | Size of the buffer used for reading the first part of proxied server response |
| proxy-buffering | `on` | string | Enables or disables buffering of responses from the proxied server |
| proxy-buffers | `8 8k` | string | Number and size of the buffers used for reading the proxied server response, for a single connection |

View File

@@ -124,6 +124,54 @@ The following folders within an app repository may have `*.conf` files that will
- `openresty/http-includes/`: Injected in the `server` block serving http(s) requests for the app.
- `openresty/http-location-includes/`: Injected in the `location` block that proxies to the app in the app's respective `server` block.
### Label Management
The OpenResty plugin allows you to add custom container labels to apps. These labels are injected into containers during deployment and can be used to configure OpenResty behavior beyond what the plugin provides by default.
Refer to the upstream [openresty-docker-proxy](https://github.com/dokku/openresty-docker-proxy) documentation for more information on what labels are available.
#### Adding a label
To add a custom container label to an app, use the `openresty:labels:add` command:
```shell
dokku openresty:labels:add node-js-app openresty.directive value
```
This will add the label `openresty.directive=value` to the app's containers. After adding a label, you will need to rebuild or redeploy the app for the label to be applied to running containers.
```shell
dokku ps:rebuild node-js-app
```
#### Removing a label
To remove a custom container label from an app, use the `openresty:labels:remove` command:
```shell
dokku openresty:labels:remove node-js-app openresty.directive
```
This will remove the specified label from the app. After removing a label, you will need to rebuild or redeploy the app for the change to be applied to running containers.
```shell
dokku ps:rebuild node-js-app
```
#### Showing labels
To view all custom container labels for an app, use the `openresty:labels:show` command:
```shell
dokku openresty:labels:show node-js-app
```
To view a specific label value, provide the label name:
```shell
dokku openresty:labels:show node-js-app openresty.directive
```
### SSL Configuration
The OpenResty plugin only supports automatic ssl certificates from it's letsencrypt integration. Managed certificates provided by the `certs` plugin are ignored.

View File

@@ -127,6 +127,54 @@ dokku traefik:set --global log-level DEBUG
After modifying, the Traefik container will need to be restarted.
### Label Management
The Traefik plugin allows you to add custom container labels to apps. These labels are injected into containers during deployment and can be used to configure Traefik behavior beyond what the plugin provides by default.
Refer to the upstream [Traefik](https://doc.traefik.io/traefik/) documentation for more information on what labels are available.
#### Adding a label
To add a custom container label to an app, use the `traefik:labels:add` command:
```shell
dokku traefik:labels:add node-js-app traefik.directive value
```
This will add the label `traefik.directive=value` to the app's containers. After adding a label, you will need to rebuild or redeploy the app for the label to be applied to running containers.
```shell
dokku ps:rebuild node-js-app
```
#### Removing a label
To remove a custom container label from an app, use the `traefik:labels:remove` command:
```shell
dokku traefik:labels:remove node-js-app traefik.directive
```
This will remove the specified label from the app. After removing a label, you will need to rebuild or redeploy the app for the change to be applied to running containers.
```shell
dokku ps:rebuild node-js-app
```
#### Showing labels
To view all custom container labels for an app, use the `traefik:labels:show` command:
```shell
dokku traefik:labels:show node-js-app
```
To view a specific label value, provide the label name:
```shell
dokku traefik:labels:show node-js-app traefik.directive
```
### SSL Configuration
The traefik plugin only supports automatic ssl certificates from it's letsencrypt integration. Managed certificates provided by the `certs` plugin are ignored.

View File

@@ -158,6 +158,8 @@ At this time, the following dokku commands are used to interact with a complete
- triggers: `pre-enable-vhost`
- `domains:remove`: Removes a domain from an app.
- triggers: `post-domains-update`
- `domains:reset`: Reset app domains to global-configured domains.
- triggers: `post-domains-update`
- `domains:set`: Sets all domains for a given app.
- triggers: `post-domains-update`
- `proxy:build-config`: Builds - or rebuilds - external proxy configuration.

View File

@@ -1,8 +1,8 @@
# One-off Tasks
```
run [-e|--env KEY=VALUE] [--no-tty] <app> <cmd> # Run a command in a new container using the current app image
run:detached [-e|-env KEY=VALUE] [--force-tty] <app> <cmd> # Run a command in a new detached container using the current app image
run [-e|--env KEY=VALUE] [--no-tty] [--ttl-seconds SECONDS] <app> <cmd> # Run a command in a new container using the current app image
run:detached [-e|-env KEY=VALUE] [--force-tty] [--ttl-seconds SECONDS] <app> <cmd> # Run a command in a new detached container using the current app image
run:list [--format json|stdout] [<app>] # List all run containers for an app
run:logs <app|--container CONTAINER> [-h] [-t] [-n num] [-q] # Display recent log output for run containers
run:stop <app|--container CONTAINER> # Stops all run containers for an app or a specified run container
@@ -29,6 +29,16 @@ dokku run --env "NODE_ENV=development" --env "PATH=/custom/path" node-js-app npm
One off containers are removed at the end of process execution.
In addition, one-off containers also run for a max of 24 hours (86400 seconds) by default, after which they are reaped. This can be changed by setting the `--ttl-seconds` argument:
```shell
# runs for 10 minutes
dokku run --ttl-seconds 600 node-js-app npm run mytask
```
One-off containers that exceed their runtime are reaped every 5 minutes, so the ttl-seconds is an approximation and your app may end up running for up to 5 minutes longer than expected.
#### Running Procfile commands
The `run` command can also be used to run a command defined in the app `Procfile`:

View File

@@ -107,6 +107,38 @@ proctype: qty
web: 1
```
### Changing process management settings
The `ps` plugin provides a number of settings that can be used to managed deployments on a per-app basis. The following table outlines ones not covered elsewhere:
| Name | Description | Global Default |
|-----------------------|---------------------------------------------------|--------------------|
| `stop-timeout` | Configurable grace period given to the `docker stop` command. If a container has not stopped by this time, a `kill -9` signal or equivalent is sent in order to force-terminate the container. Both the `ps:stop` and `apps:destroy` commands *also* respect this value. If not specified, the Docker defaults for the [`docker stop` command](https://docs.docker.com/engine/reference/commandline/stop/) will be used. | `30` |
All settings can be set via the `ps:set` command. Using `stop-timeout` as an example:
```shell
dokku ps:set node-js-app stop-timeout 60
```
The default value may be set by passing an empty value for the option in question:
```shell
dokku ps:set node-js-app stop-timeout
```
Properties can also be set globally. If not set for an app, the global value will apply.
```shell
dokku ps:set --global stop-timeout 60
```
The global default value may be set by passing an empty value for the option.
```shell
dokku ps:set --global stop-timeout
```
### Defining Processes
#### Procfile

View File

@@ -6,8 +6,10 @@
```
cron:list <app> [--format json|stdout] # List scheduled cron tasks for an app
cron:report [<app>] [<flag>] # Display report about an app
cron:resume <app> <cron_id> # Resume a cron task
cron:run <app> <cron_id> [--detach] # Run a cron task on the fly
cron:set [--global|<app>] <key> <value> # Set or clear a cron property for an app
cron:suspend <app> <cron_id> # Suspend a cron task
```
## Usage
@@ -31,12 +33,17 @@ The `app.json` file for a given app can define a special `cron` key that contain
}
```
A cron entry takes the following properties:
A cron task takes the following properties:
- `command`: A command to be run within the built app image. Specified commands can also be `Procfile` entries.
- `maintenance`: A boolean value that decides whether the cron task is in maintenance and therefore executable or not.
- `schedule`: A [cron-compatible](https://en.wikipedia.org/wiki/Cron#Overview) scheduling definition upon which to run the command. Seconds are generally not supported.
- `concurrency_policy`: A string (default: `allow`), that controls whether the cron task can be run concurrently with another invocation of itself. Valid options are `allow` (allow concurrency), `forbid` (exit the new cron task if there is an existing one), `replace` (delete any existing cron task and start the new one).
Zero or more cron commands can be specified per app. Cron entries are validated after the build artifact is created but before the app is deployed, and the cron schedule is updated during the post-deploy phase.
Zero or more cron tasks can be specified per app. Cron tasks are validated after the build artifact is created but before the app is deployed, and the cron schedule is updated during the post-deploy phase.
Cron tasks can run for a maximum of 24 hours via the docker-local scheduler, after which they are reaped from the system.
See the [app.json location documentation](/docs/advanced-usage/deployment-tasks.md#changing-the-appjson-location) for more information on where to place your `app.json` file.
@@ -53,39 +60,39 @@ When running scheduled cron tasks, there are a few items to be aware of:
- Scheduled cron tasks are supported on a per-scheduler basis, and are currently only implemented by the `docker-local` scheduler.
- Tasks for _all_ apps managed by the `docker-local` scheduler are written to a single crontab file owned by the `dokku` user. The `dokku` user's crontab should be considered reserved for this purpose.
#### Specifying a MAILFROM value
> [!IMPORTANT]
> New as of 0.35.14
### Changing cron management settings
Users can specify a value for `MAILFROM` via the global `mailfrom` cron property by using the `cron:set` command.
The `cron` plugin provides a number of settings that can be used to managed deployments on a per-app basis. The following table outlines ones not covered elsewhere:
| Name | Description | Level | Global Default |
|-----------------------|----------------------------------------------------------------|-------------|----------------|
| `mailfrom` | Sets the `MAILFROM` variable in a cron file for cron reporting | Global-only | empty string |
| `maintenance` | Whether to have cron running for the app or not. | App-only | `false` |
| `mailto` | Sets the `MAILTO` variable in a cron file for cron reporting | Global-only | empty string |
All settings can be set via the `cron:set` command. Using `maintenance` as an example:
```shell
dokku cron:set --global mailfrom example@example.com
dokku cron:set node-js-app maintenance true
```
All output for individual cron runs will be sent from the specified email.
Cron emails can be reset to use the system email by running the `cron:set` command for the global `mailfrom` property with no value.
The default value may be set by passing an empty value for the option in question:
```shell
dokku cron:set --global mailfrom
dokku cron:set node-js-app maintenance
```
#### Specifying a MAILTO value
By default, cron tasks complete and do not perform any reporting. Users can specify a value for `MAILTO` via the global `mailto` cron property by using the `cron:set` command.
If a property can be set globally - such as `mailto`, use the `--global` flag. If not set for an app, the global value will apply if it exists.
```shell
dokku cron:set --global mailto example@example.com
dokku cron:set --global maintenance true
```
All output for individual cron runs will be sent to the specified email.
Cron emails can be disabled by running the `cron:set` command for the global `mailto` property with no value.
The global default value may be set by passing an empty value for the option.
```shell
dokku cron:set --global mailto
dokku cron:set --global maintenance
```
#### Listing Cron tasks
@@ -112,6 +119,37 @@ dokku cron:list node-js-app --format json
[{"id":"cGhwPT09cGhwIHRlc3QucGhwPT09QGRhaWx5","app":"node-js-app","command":"node index.js","schedule":"@daily"}]
```
To fetch global tasks, use the `--global` flag:
```shell
dokku cron:list --global
```
```
ID Schedule Command
5cruaotm4yzzpnjlsdunblj8qyjp @daily /bin/true
```
#### Suspending and resuming a specific cron task
Cron tasks can be suspended to temporarily prevent them from running, and later resumed to re-enable them. This is useful for maintenance or debugging purposes.
To suspend a specific cron task, use the `cron:suspend` command with the app name and cron ID:
```shell
dokku cron:suspend node-js-app cGhwPT09cGhwIHRlc3QucGhwPT09QGRhaWx5
```
A suspended task will not execute according to its schedule. You can verify a task is suspended by checking the `Maintenance` column in the `cron:list` output, which will show `true (task)` for suspended tasks.
To resume a suspended cron task, use the `cron:resume` command:
```shell
dokku cron:resume node-js-app cGhwPT09cGhwIHRlc3QucGhwPT09QGRhaWx5
```
Once resumed, the task will execute according to its schedule again. The cron ID can be retrieved from the `cron:list` output.
#### Executing a cron task on the fly
Cron tasks can be invoked via the `cron:run` command. This command takes an `app` argument and a `cron id` (retrievable from `cron:list` output).
@@ -207,7 +245,7 @@ For tasks that will properly resume, you _should_ use the above method, as runni
Regularly scheduled tasks can be a bit of a pain with Dokku. The following are general recommendations to follow to help ensure successful task runs.
- Use the `dokku` user in your cron entry.
- Use the `dokku` user in your cron task.
- If you do not, the `dokku` binary will attempt to execute with `sudo`, and your cron run with fail with `sudo: no tty present and no askpass program specified`.
- Add a `MAILTO` environment variable to ship cron emails to yourself.
- Add a `PATH` environment variable or specify the full path to binaries on the host.

View File

@@ -9,26 +9,26 @@
<meta name="author" content="">
<title>Dokku - {{DOC_TITLE}}</title>
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/favicon.ico">
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Dokku">
<meta name="application-name" content="Dokku">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/favicons/browserconfig.xml">
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/favicons/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
<script>
@@ -48,7 +48,7 @@
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.18/docs/assets/style.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.37.2/docs/assets/style.css" rel="stylesheet">
<!-- <link href="./assets/style.css" rel="stylesheet"> -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet">
</head>
@@ -150,6 +150,7 @@
<a href="/{{NAME}}/deployment/builders/lambda/" class="list-group-item">Lambda Builder</a>
<a href="/{{NAME}}/deployment/builders/nixpacks/" class="list-group-item">Nixpacks Builder</a>
<a href="/{{NAME}}/deployment/builders/null/" class="list-group-item">Null Builder</a>
<a href="/{{NAME}}/deployment/builders/railpack/" class="list-group-item">Railpack Builder</a>
<a href="#" class="list-group-item disabled">Deployment Methods</a>
<a href="/{{NAME}}/deployment/methods/git/" class="list-group-item">Git Deployment</a>
@@ -215,6 +216,7 @@
<a href="/{{NAME}}/deployment/continuous-integration/github-actions/" class="list-group-item">GitHub Actions</a>
<a href="/{{NAME}}/deployment/continuous-integration/gitlab-ci/" class="list-group-item">GitLab CI</a>
<a href="/{{NAME}}/deployment/continuous-integration/generic/" class="list-group-item">Generic</a>
<a href="/{{NAME}}/deployment/continuous-integration/woodpecker-ci/" class="list-group-item">Woodpecker CI</a>
<a href="#" class="list-group-item disabled">Community Contributions</a>
<a href="/{{NAME}}/community/clients/" class="list-group-item">Clients</a>

21
dokku
View File

@@ -135,6 +135,27 @@ execute_dokku_cmd() {
local script
local argv=("$@")
local -A PLUGIN_ALIASES
PLUGIN_ALIASES["docker-local"]="scheduler-docker-local"
PLUGIN_ALIASES["dockerfile"]="builder-dockerfile"
PLUGIN_ALIASES["herokuish"]="builder-herokuish"
PLUGIN_ALIASES["k3s"]="scheduler-k3s"
PLUGIN_ALIASES["lambda"]="builder-lambda"
PLUGIN_ALIASES["nixpacks"]="builder-nixpacks"
PLUGIN_ALIASES["pack"]="builder-pack"
PLUGIN_ALIASES["rails"]="builder-railpack"
local plugin_alias_source="${PLUGIN_NAME%%:*}"
local plugin_alias_target="${PLUGIN_ALIASES[$plugin_alias_source]}"
if [[ -n "$plugin_alias_target" ]]; then
PLUGIN_NAME="${PLUGIN_NAME/$plugin_alias_source/$plugin_alias_target}"
PLUGIN_CMD="${PLUGIN_CMD/$plugin_alias_source/$plugin_alias_target}"
# also replace the first argument in $@ with the new PLUGIN_NAME
shift 1
set -- "$PLUGIN_NAME" "$@"
argv=("$PLUGIN_NAME" "${argv[@]:1}")
fi
case "$PLUGIN_NAME" in
events | events:*)
local PLUGIN_NAME=${PLUGIN_NAME/events/20_events}

View File

@@ -1,4 +1,4 @@
go 1.23.0
go 1.25.1
use (
./plugins/app-json

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core standard plugin"
version = "0.35.18"
version = "0.37.2"
[plugin.config]

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core events logging plugin"
version = "0.35.18"
version = "0.37.2"
[plugin.config]

View File

@@ -8,6 +8,7 @@ import (
"strings"
"github.com/dokku/dokku/plugins/common"
"github.com/tailscale/hujson"
"k8s.io/utils/ptr"
)
@@ -25,8 +26,8 @@ var (
// AppJSON is a struct that represents an app.json file as understood by Dokku
type AppJSON struct {
// Cron is a list of cron commands to execute
Cron []CronCommand `json:"cron"`
// Cron is a list of cron tasks to execute
Cron []CronTask `json:"cron"`
// Formation is a map of process types to scale
Formation map[string]Formation `json:"formation"`
@@ -50,13 +51,19 @@ type AppJSON struct {
} `json:"scripts"`
}
// CronCommand is a struct that represents a single cron command from an app.json file
type CronCommand struct {
// CronTask is a struct that represents a single cron task from an app.json file
type CronTask struct {
// Command is the command to execute
Command string `json:"command"`
// Maintenance is whether or not the cron task is in maintenance mode
Maintenance bool `json:"maintenance"`
// Schedule is the cron schedule to execute the command on
Schedule string `json:"schedule"`
// ConcurrencyPolicy is the concurrency policy for the cron command
ConcurrencyPolicy string `json:"concurrency_policy"`
}
// Formation is a struct that represents the scale for a process from an app.json file
@@ -69,6 +76,16 @@ type Formation struct {
// MaxParallel is the maximum number of processes to start in parallel
MaxParallel *int `json:"max_parallel"`
// Service is a struct that represents how to expose the process to the network
// This only applies to non-web processes
Service *FormationService `json:"service"`
}
// FormationService is a struct that represents how to expose a process to the network
type FormationService struct {
// Exposed is whether or not the process is exposed as a service
Exposed bool `json:"exposed"`
}
// FormationAutoscaling is a struct that represents the autoscaling configuration for a process from an app.json file
@@ -200,21 +217,9 @@ func GetAppJSON(appName string) (AppJSON, error) {
return AppJSON{}, nil
}
b, err := os.ReadFile(getProcessSpecificAppJSONPath(appName))
if err != nil {
return AppJSON{}, fmt.Errorf("Cannot read app.json file: %v", err)
}
appJSONPath := getProcessSpecificAppJSONPath(appName)
if strings.TrimSpace(string(b)) == "" {
return AppJSON{}, nil
}
var appJSON AppJSON
if err = json.Unmarshal(b, &appJSON); err != nil {
return AppJSON{}, fmt.Errorf("Cannot parse app.json: %v", err)
}
return appJSON, nil
return ReadAppJSON(appJSONPath)
}
func GetAutoscalingConfig(appName string, processType string, replicas int) (FormationAutoscaling, bool, error) {
@@ -256,3 +261,28 @@ func GetAutoscalingConfig(appName string, processType string, replicas int) (For
return autoscaling, true, nil
}
// ReadAppJSON reads an app.json file from a given path
func ReadAppJSON(path string) (AppJSON, error) {
b, err := os.ReadFile(path)
if err != nil {
return AppJSON{}, fmt.Errorf("Cannot read app.json file: %v", err)
}
if strings.TrimSpace(string(b)) == "" {
return AppJSON{}, nil
}
ast, err := hujson.Parse(b)
if err != nil {
return AppJSON{}, fmt.Errorf("Cannot parse app.json as jsonc: %v", err)
}
ast.Standardize()
var appJSON AppJSON
if err = json.Unmarshal(ast.Pack(), &appJSON); err != nil {
return AppJSON{}, fmt.Errorf("Cannot parse app.json: %v", err)
}
return appJSON, nil
}

View File

@@ -133,11 +133,7 @@ func cleanupDeploymentContainer(containerID string, phase string) error {
}
func executeScript(appName string, image string, imageTag string, phase string) error {
phaseName := phase
if phase == "heroku.postdeploy" {
phaseName = "first deploy postdeploy"
}
common.LogInfo1(fmt.Sprintf("Checking for %s task", phaseName))
common.LogInfo1(fmt.Sprintf("Checking for %s task", phase))
command := ""
phaseSource := ""
if phase == "release" {
@@ -152,14 +148,14 @@ func executeScript(appName string, image string, imageTag string, phase string)
}
if command == "" {
common.LogVerbose(fmt.Sprintf("No %s task found, skipping", phaseName))
common.LogVerbose(fmt.Sprintf("No %s task found, skipping", phase))
return nil
}
if phase == "predeploy" {
common.LogVerbose(fmt.Sprintf("Executing %s task from %s: %s", phaseName, phaseSource, command))
common.LogVerbose(fmt.Sprintf("Executing %s task from %s: %s", phase, phaseSource, command))
} else {
common.LogVerbose(fmt.Sprintf("Executing %s task from %s in ephemeral container: %s", phaseName, phaseSource, command))
common.LogVerbose(fmt.Sprintf("Executing %s task from %s in ephemeral container: %s", phase, phaseSource, command))
}
isHerokuishImage := common.IsImageHerokuishBased(image, appName)
@@ -271,15 +267,15 @@ func executeScript(appName string, image string, imageTag string, phase string)
defer cleanupDeploymentContainer(containerID, phase)
if !waitForExecution(containerID) {
common.LogInfo2Quiet(fmt.Sprintf("Start of %s %s task (%s) output", appName, phaseName, containerID[0:9]))
common.LogInfo2Quiet(fmt.Sprintf("Start of %s %s task (%s) output", appName, phase, containerID[0:9]))
common.LogVerboseQuietContainerLogs(containerID)
common.LogInfo2Quiet(fmt.Sprintf("End of %s %s task (%s) output", appName, phaseName, containerID[0:9]))
return fmt.Errorf("Execution of %s task failed: %s", phaseName, command)
common.LogInfo2Quiet(fmt.Sprintf("End of %s %s task (%s) output", appName, phase, containerID[0:9]))
return fmt.Errorf("Execution of %s task failed: %s", phase, command)
}
common.LogInfo2Quiet(fmt.Sprintf("Start of %s %s task (%s) output", appName, phaseName, containerID[0:9]))
common.LogInfo2Quiet(fmt.Sprintf("Start of %s %s task (%s) output", appName, phase, containerID[0:9]))
common.LogVerboseQuietContainerLogs(containerID)
common.LogInfo2Quiet(fmt.Sprintf("End of %s %s task (%s) output", appName, phaseName, containerID[0:9]))
common.LogInfo2Quiet(fmt.Sprintf("End of %s %s task (%s) output", appName, phase, containerID[0:9]))
if phase != "predeploy" {
return nil

View File

@@ -1,11 +1,12 @@
module github.com/dokku/dokku/plugins/app-json
go 1.23.0
go 1.25.1
require (
github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
github.com/spf13/pflag v1.0.6
github.com/spf13/pflag v1.0.10
github.com/tailscale/hujson v0.0.0-20250605163823-992244df8c5a
k8s.io/utils v0.0.0-20240102154912-e7106e64919e
)
@@ -23,9 +24,10 @@ require (
github.com/pkg/errors v0.9.1 // indirect
github.com/pkg/sftp v1.13.5 // indirect
github.com/ryanuber/columnize v2.1.2+incompatible // indirect
golang.org/x/crypto v0.37.0 // indirect
golang.org/x/sync v0.13.0 // indirect
golang.org/x/sys v0.32.0 // indirect
github.com/stretchr/testify v1.8.4 // indirect
golang.org/x/crypto v0.45.0 // indirect
golang.org/x/sync v0.18.0 // indirect
golang.org/x/sys v0.38.0 // indirect
)
replace github.com/dokku/dokku/plugins/common => ../common

View File

@@ -22,8 +22,8 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/melbahja/goph v1.4.0 h1:z0PgDbBFe66lRYl3v5dGb9aFgPy0kotuQ37QOwSQFqs=
github.com/melbahja/goph v1.4.0/go.mod h1:uG+VfK2Dlhk+O32zFrRlc3kYKTlV6+BtvPWd/kK7U68=
github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y=
github.com/onsi/gomega v1.37.0/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0=
github.com/onsi/gomega v1.38.2 h1:eZCjf2xjZAqe+LeWvKb5weQ+NcPwX84kqJ0cZNxok2A=
github.com/onsi/gomega v1.38.2/go.mod h1:W2MJcYxRGV63b418Ai34Ud0hEdTVXq9NW9+Sx6uXf3k=
github.com/otiai10/copy v1.14.1 h1:5/7E6qsUMBaH5AnQ0sSLzzTg1oTECmcCmT6lvF45Na8=
github.com/otiai10/copy v1.14.1/go.mod h1:oQwrEDDOci3IM8dJF0d8+jnbfPDllW6vUjNc3DoZm9I=
github.com/otiai10/mint v1.6.3 h1:87qsV/aw1F5as1eH1zS/yqHY85ANKVMgkDrf9rcxbQs=
@@ -36,30 +36,35 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/ryanuber/columnize v2.1.2+incompatible h1:C89EOx/XBWwIXl8wm8OPJBd7kPF25UfsK2X7Ph/zCAk=
github.com/ryanuber/columnize v2.1.2+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
github.com/tailscale/hujson v0.0.0-20250605163823-992244df8c5a h1:a6TNDN9CgG+cYjaeN8l2mc4kSz2iMiCDQxPEyltUV/I=
github.com/tailscale/hujson v0.0.0-20250605163823-992244df8c5a/go.mod h1:EbW0wDK/qEUYI0A5bqq0C2kF8JTQwWONmGDBbzsxxHo=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c=
golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -70,20 +75,20 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core app-json plugin"
version = "0.35.18"
version = "0.37.2"
[plugin.config]

View File

@@ -1,10 +1,9 @@
package appjson
import (
"encoding/json"
"errors"
"fmt"
"os"
"path"
"path/filepath"
"strings"
"github.com/dokku/dokku/plugins/common"
@@ -43,105 +42,84 @@ func TriggerAppJSONGetContent(appName string) error {
return nil
}
b, err := os.ReadFile(getProcessSpecificAppJSONPath(appName))
appJSON, err := ReadAppJSON(getProcessSpecificAppJSONPath(appName))
if err != nil {
return fmt.Errorf("Cannot read app.json file: %v", err)
return err
}
content := strings.TrimSpace(string(b))
if content == "" {
fmt.Print("{}")
return nil
content, err := json.Marshal(appJSON)
if err != nil {
return err
}
fmt.Print(content)
fmt.Print(string(content))
return nil
}
// TriggerCorePostDeploy sets a property to
// allow the app to be restored on boot
// TriggerCorePostDeploy moves the extracted app.json to the app data directory
// allowing the app to be restored on boot
func TriggerCorePostDeploy(appName string) error {
existingAppJSON := getAppJSONPath(appName)
processSpecificAppJSON := fmt.Sprintf("%s.%s", existingAppJSON, os.Getenv("DOKKU_PID"))
if common.FileExists(processSpecificAppJSON) {
if err := os.Rename(processSpecificAppJSON, existingAppJSON); err != nil {
return err
}
} else if common.FileExists(fmt.Sprintf("%s.missing", processSpecificAppJSON)) {
if err := os.Remove(fmt.Sprintf("%s.missing", processSpecificAppJSON)); err != nil {
return err
}
if common.FileExists(existingAppJSON) {
if err := os.Remove(existingAppJSON); err != nil {
return err
}
}
}
return nil
return common.CorePostDeploy(common.CorePostDeployInput{
AppName: appName,
Destination: common.GetAppDataDirectory("app-json", appName),
PluginName: "app-json",
ExtractedPaths: []common.CorePostDeployPath{
{Path: "app.json", IsDirectory: false},
},
})
}
// TriggerCorePostExtract ensures that the main app.json is the one specified by app-json-path
func TriggerCorePostExtract(appName string, sourceWorkDir string) error {
destination := common.GetAppDataDirectory("app-json", appName)
appJSONPath := strings.Trim(reportComputedAppjsonpath(appName), "/")
if appJSONPath == "" {
appJSONPath = "app.json"
}
existingAppJSON := getAppJSONPath(appName)
files, err := filepath.Glob(fmt.Sprintf("%s.*", existingAppJSON))
if err != nil {
return err
}
for _, f := range files {
if err := os.Remove(f); err != nil {
validator := func(appName string, path string) error {
if !common.FileExists(path) {
return nil
}
result, err := common.CallPlugnTrigger(common.PlugnTriggerInput{
Trigger: "app-json-is-valid",
Args: []string{appName, path},
StreamStdout: true,
StreamStderr: true,
})
if err != nil {
if result.StderrContents() != "" {
return errors.New(result.StderrContents())
}
return err
}
return nil
}
processSpecificAppJSON := fmt.Sprintf("%s.%s", existingAppJSON, os.Getenv("DOKKU_PID"))
results, _ := common.CallPlugnTrigger(common.PlugnTriggerInput{
Trigger: "git-get-property",
Args: []string{appName, "source-image"},
})
appSourceImage := results.StdoutContents()
results, _ = common.CallPlugnTrigger(common.PlugnTriggerInput{
Trigger: "builder-get-property",
Args: []string{appName, "build-dir"},
})
buildDir := results.StdoutContents()
repoDefaultAppJSONPath := path.Join(sourceWorkDir, "app.json")
if appSourceImage == "" {
repoAppJSONPath := path.Join(sourceWorkDir, buildDir, appJSONPath)
if !common.FileExists(repoAppJSONPath) {
if appJSONPath != "app.json" && common.FileExists(repoDefaultAppJSONPath) {
if err := os.Remove(repoDefaultAppJSONPath); err != nil {
return err
}
}
return common.TouchFile(fmt.Sprintf("%s.missing", processSpecificAppJSON))
}
if err := common.Copy(repoAppJSONPath, processSpecificAppJSON); err != nil {
return fmt.Errorf("Unable to extract app.json: %v", err.Error())
}
if appJSONPath != "app.json" {
if err := common.Copy(repoAppJSONPath, repoDefaultAppJSONPath); err != nil {
return fmt.Errorf("Unable to move app.json into place: %v", err.Error())
}
}
} else {
if err := common.CopyFromImage(appName, appSourceImage, path.Join(buildDir, appJSONPath), processSpecificAppJSON); err != nil {
return common.TouchFile(fmt.Sprintf("%s.missing", processSpecificAppJSON))
}
}
// TODO: add validation to app.json file by ensuring it can be deserialized
return nil
return common.CorePostExtract(common.CorePostExtractInput{
AppName: appName,
BuildDir: buildDir,
Destination: destination,
PluginName: "app-json",
SourceWorkDir: sourceWorkDir,
ToExtract: []common.CorePostExtractToExtract{
{
Path: appJSONPath,
IsDirectory: false,
Name: "app.json",
Destination: "app.json",
Validator: validator,
},
},
})
}
// TriggerInstall initializes app-json directory structures

View File

@@ -1,10 +1,10 @@
module github.com/dokku/dokku/plugins/apps
go 1.23.0
go 1.25.1
require (
github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000
github.com/spf13/pflag v1.0.6
github.com/spf13/pflag v1.0.10
)
require (
@@ -21,9 +21,9 @@ require (
github.com/pkg/errors v0.9.1 // indirect
github.com/pkg/sftp v1.13.5 // indirect
github.com/ryanuber/columnize v2.1.2+incompatible // indirect
golang.org/x/crypto v0.37.0 // indirect
golang.org/x/sync v0.13.0 // indirect
golang.org/x/sys v0.32.0 // indirect
golang.org/x/crypto v0.45.0 // indirect
golang.org/x/sync v0.18.0 // indirect
golang.org/x/sys v0.38.0 // indirect
)
replace github.com/dokku/dokku/plugins/common => ../common

View File

@@ -19,8 +19,8 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/melbahja/goph v1.4.0 h1:z0PgDbBFe66lRYl3v5dGb9aFgPy0kotuQ37QOwSQFqs=
github.com/melbahja/goph v1.4.0/go.mod h1:uG+VfK2Dlhk+O32zFrRlc3kYKTlV6+BtvPWd/kK7U68=
github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y=
github.com/onsi/gomega v1.37.0/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0=
github.com/onsi/gomega v1.38.2 h1:eZCjf2xjZAqe+LeWvKb5weQ+NcPwX84kqJ0cZNxok2A=
github.com/onsi/gomega v1.38.2/go.mod h1:W2MJcYxRGV63b418Ai34Ud0hEdTVXq9NW9+Sx6uXf3k=
github.com/otiai10/copy v1.14.1 h1:5/7E6qsUMBaH5AnQ0sSLzzTg1oTECmcCmT6lvF45Na8=
github.com/otiai10/copy v1.14.1/go.mod h1:oQwrEDDOci3IM8dJF0d8+jnbfPDllW6vUjNc3DoZm9I=
github.com/otiai10/mint v1.6.3 h1:87qsV/aw1F5as1eH1zS/yqHY85ANKVMgkDrf9rcxbQs=
@@ -33,30 +33,32 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/ryanuber/columnize v2.1.2+incompatible h1:C89EOx/XBWwIXl8wm8OPJBd7kPF25UfsK2X7Ph/zCAk=
github.com/ryanuber/columnize v2.1.2+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c=
golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -67,20 +69,20 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core apps plugin"
version = "0.35.18"
version = "0.37.2"
[plugin.config]

View File

@@ -1,6 +1,7 @@
package apps
import (
"errors"
"fmt"
"os"
"time"
@@ -48,7 +49,7 @@ func TriggerInstall() error {
}
apps, err := common.UnfilteredDokkuApps()
if err != nil {
if err != nil && !errors.Is(err, common.NoAppsExist) {
return nil
}

View File

@@ -17,8 +17,6 @@ trigger-builder-dockerfile-builder-build() {
dokku_log_info1 "Building $APP from Dockerfile"
local IMAGE=$(get_app_image_name "$APP")
local DOKKU_DOCKERFILE_CACHE_BUILD=$(config_get "$APP" "DOKKU_DOCKERFILE_CACHE_BUILD")
local DOKKU_DOCKER_BUILD_OPTS=$(config_get "$APP" "DOKKU_DOCKER_BUILD_OPTS")
local DOCKER_BUILD_LABEL_ARGS=("--label=dokku" "--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.image-stage=build" "--label=com.dokku.builder-type=dockerfile" "--label=com.dokku.app-name=$APP")
pushd "$SOURCECODE_WORK_DIR" &>/dev/null
@@ -34,17 +32,221 @@ trigger-builder-dockerfile-builder-build() {
fi
plugn trigger pre-build "$BUILDER_TYPE" "$APP" "$SOURCECODE_WORK_DIR"
[[ "$DOKKU_DOCKERFILE_CACHE_BUILD" == "false" ]] && DOKKU_DOCKER_BUILD_OPTS="$DOKKU_DOCKER_BUILD_OPTS --no-cache"
local DOCKER_ARGS=$(: | plugn trigger docker-args-build "$APP" "$BUILDER_TYPE")
DOCKER_ARGS+=$(: | plugn trigger docker-args-process-build "$APP" "$BUILDER_TYPE")
DOCKER_ARGS+=" $DOKKU_GLOBAL_BUILD_ARGS"
# strip --link, --volume and -v args from DOCKER_ARGS
local DOCKER_ARGS=$(sed -e "s/^--link=[[:graph:]]\+[[:blank:]]\?//g" -e "s/^--link[[:blank:]]\?[[:graph:]]\+[[:blank:]]\?//g" -e "s/^--volume=[[:graph:]]\+[[:blank:]]\?//g" -e "s/^--volume[[:blank:]]\?[[:graph:]]\+[[:blank:]]\?//g" -e "s/^-v[[:blank:]]\?[[:graph:]]\+[[:blank:]]\?//g" <<<"$DOCKER_ARGS")
declare -a ARG_ARRAY
eval "ARG_ARRAY=($DOCKER_ARGS)"
DOCKER_ARGS=" $DOCKER_ARGS "
eval set -- "$DOCKER_ARGS"
declare -a DOCKERFILE_ARGS
while true; do
case "$1" in
--add-host)
DOCKERFILE_ARGS+=("--add-host")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--add-host=*)
DOCKERFILE_ARGS+=("--add-host" "${1#--add-host=}")
shift 1
;;
--allow)
DOCKERFILE_ARGS+=("--allow")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--allow=*)
DOCKERFILE_ARGS+=("--allow" "${1#--allow=}")
shift 1
;;
--annotation)
DOCKERFILE_ARGS+=("--annotation")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--annotation=*)
DOCKERFILE_ARGS+=("--annotation" "${1#--annotation=}")
shift 1
;;
--attest)
DOCKERFILE_ARGS+=("--attest")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--attest=*)
DOCKERFILE_ARGS+=("--attest" "${1#--attest=}")
shift 1
;;
--build-arg)
DOCKERFILE_ARGS+=("--build-arg")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--build-arg=*)
DOCKERFILE_ARGS+=("--build-arg" "${1#--build-arg=}")
shift 1
;;
--builder)
DOCKERFILE_ARGS+=("--builder")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--builder=*)
DOCKERFILE_ARGS+=("--builder" "${1#--builder=}")
shift 1
;;
--cache-from)
DOCKERFILE_ARGS+=("--cache-from")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--cache-from=*)
DOCKERFILE_ARGS+=("--cache-from" "${1#--cache-from=}")
shift 1
;;
--cache-to)
DOCKERFILE_ARGS+=("--cache-to")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--cache-to=*)
DOCKERFILE_ARGS+=("--cache-to" "${1#--cache-to=}")
shift 1
;;
--call)
DOCKERFILE_ARGS+=("--call")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--call=*)
DOCKERFILE_ARGS+=("--call" "${1#--call=}")
shift 1
;;
--cgroup-parent)
DOCKERFILE_ARGS+=("--cgroup-parent")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--cgroup-parent=*)
DOCKERFILE_ARGS+=("--cgroup-parent" "${1#--cgroup-parent=}")
shift 1
;;
--label)
DOCKERFILE_ARGS+=("--label")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--label=*)
DOCKERFILE_ARGS+=("--label" "${1#--label=}")
shift 1
;;
--network)
DOCKERFILE_ARGS+=("--network")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--network=*)
DOCKERFILE_ARGS+=("--network" "${1#--network=}")
shift 1
;;
--platform)
DOCKERFILE_ARGS+=("--platform")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--platform=*)
DOCKERFILE_ARGS+=("--platform" "${1#--platform=}")
shift 1
;;
--progress)
DOCKERFILE_ARGS+=("--progress")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--progress=*)
DOCKERFILE_ARGS+=("--progress" "${1#--progress=}")
shift 1
;;
--provenance)
DOCKERFILE_ARGS+=("--provenance")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--provenance=*)
DOCKERFILE_ARGS+=("--provenance" "${1#--provenance=}")
shift 1
;;
--sbom)
DOCKERFILE_ARGS+=("--sbom")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--sbom=*)
DOCKERFILE_ARGS+=("--sbom" "${1#--sbom=}")
shift 1
;;
--secret)
DOCKERFILE_ARGS+=("--secret")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--secret=*)
DOCKERFILE_ARGS+=("--secret" "${1#--secret=}")
shift 1
;;
--shm-size)
DOCKERFILE_ARGS+=("--shm-size")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--shm-size=*)
DOCKERFILE_ARGS+=("--shm-size" "${1#--shm-size=}")
shift 1
;;
--ssh)
DOCKERFILE_ARGS+=("--platform")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--ssh=*)
DOCKERFILE_ARGS+=("--ssh" "${1#--ssh=}")
shift 1
;;
--target)
DOCKERFILE_ARGS+=("--target")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--target=*)
DOCKERFILE_ARGS+=("--target" "${1#--target=}")
shift 1
;;
--ulimit)
DOCKERFILE_ARGS+=("--tag")
DOCKERFILE_ARGS+=("$2")
shift 2
;;
--tag=*)
DOCKERFILE_ARGS+=("--tag" "${1#--tag=}")
shift 1
;;
--check | -D | --debug | --no-cache)
DOCKERFILE_ARGS+=("$1")
shift 1
;;
*)
if [[ -n "$1" ]]; then
shift
continue
fi
break
;;
esac
done
eval "$(config_export app "$APP")"
"$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS "${ARG_ARRAY[@]}" ${DOKKU_DOCKER_BUILD_OPTS} -t $IMAGE .
"$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" "${DOCKERFILE_ARGS[@]}" --tag $IMAGE .
plugn trigger ports-set-detected "$APP" "$(fn-builder-dockerfile-get-detect-port-map "$APP" "$IMAGE" "$SOURCECODE_WORK_DIR/Dockerfile")"
if fn-plugn-trigger-exists "post-build-dockerfile"; then

View File

@@ -124,8 +124,12 @@ fn-builder-dockerfile-get-detect-port-map() {
p=${p//\/udp/}
port_map+="udp:$p:$p "
else
scheme="http"
p=${p//\/tcp/}
port_map+="http:$p:$p "
if [[ "$p" == "443" ]]; then
scheme="https"
fi
port_map+="$scheme:$p:$p "
fi
done
echo "$port_map" | xargs

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core builder-dockerfile plugin"
version = "0.35.18"
version = "0.37.2"
[plugin.config]

View File

@@ -61,7 +61,10 @@ trigger-builder-herokuish-builder-build() {
plugn trigger pre-build "$BUILDER_TYPE" "$APP" "$SOURCECODE_WORK_DIR"
local DOCKER_ARGS=$(: | plugn trigger docker-args-build "$APP" "$BUILDER_TYPE")
[[ "$DOKKU_TRACE" ]] && DOCKER_ARGS+=" --env=TRACE=true "
if [[ -n "$DOKKU_TRACE" ]]; then
DOCKER_ARGS+=" --env=TRACE=true "
DOCKER_ARGS+=" --env=BUILDPACK_XTRACE=1 "
fi
DOCKER_ARGS+=$(: | plugn trigger docker-args-process-build "$APP" "$BUILDER_TYPE")
declare -a ARG_ARRAY

View File

@@ -10,9 +10,9 @@ trigger-builder-herokuish-docker-args() {
local STDIN DOKKU_APP_TYPE DOKKU_APP_USER
STDIN=$(cat)
DOKKU_APP_TYPE=$(config_get "$APP" DOKKU_APP_TYPE || true)
DOKKU_APP_USER=$(config_get "$APP" DOKKU_APP_USER || true)
DOKKU_APP_USER=${DOKKU_APP_USER:="herokuishuser"}
DOKKU_APP_TYPE="$(plugn trigger builder-get-property "$APP" "detected" || true)"
DOKKU_APP_USER="$(config_get "$APP" DOKKU_APP_USER || true)"
DOKKU_APP_USER="${DOKKU_APP_USER:="herokuishuser"}"
if [[ "$DOKKU_APP_TYPE" == "herokuish" ]]; then
local docker_args="$STDIN --env=USER=${DOKKU_APP_USER}"

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core builder-herokuish plugin"
version = "0.35.18"
version = "0.37.2"
[plugin.config]

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core builder-lambda plugin"
version = "0.35.18"
version = "0.37.2"
[plugin.config]

View File

@@ -21,36 +21,230 @@ trigger-builder-nixpacks-builder-build() {
fi
local IMAGE=$(get_app_image_name "$APP")
local DOCKER_BUILD_LABEL_ARGS=("--label=dokku" "--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.image-stage=build" "--label=com.dokku.builder-type=dockerfile" "--label=com.dokku.app-name=$APP")
local DOCKER_BUILD_LABEL_ARGS=("--label=dokku" "--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.image-stage=build" "--label=com.dokku.builder-type=nixpacks" "--label=com.dokku.app-name=$APP")
pushd "$SOURCECODE_WORK_DIR" &>/dev/null
plugn trigger pre-build "$BUILDER_TYPE" "$APP" "$SOURCECODE_WORK_DIR"
no_cache="$(fn-builder-nixpacks-computed-no-cache "$APP")"
NIXPACKS_ARGS=""
if [[ "$no_cache" == "true" ]]; then
NIXPACKS_ARGS="$NIXPACKS_ARGS --no-cache"
fi
local DOCKER_ARGS=$(: | plugn trigger docker-args-build "$APP" "$BUILDER_TYPE")
DOCKER_ARGS+=$(: | plugn trigger docker-args-process-build "$APP" "$BUILDER_TYPE")
# strip --link, --volume and -v args from DOCKER_ARGS
local DOCKER_ARGS=$(sed -e "s/^--link=[[:graph:]]\+[[:blank:]]\?//g" -e "s/^--link[[:blank:]]\?[[:graph:]]\+[[:blank:]]\?//g" -e "s/^--volume=[[:graph:]]\+[[:blank:]]\?//g" -e "s/^--volume[[:blank:]]\?[[:graph:]]\+[[:blank:]]\?//g" -e "s/^-v[[:blank:]]\?[[:graph:]]\+[[:blank:]]\?//g" <<<"$DOCKER_ARGS")
declare -a ARG_ARRAY
eval "ARG_ARRAY=($DOCKER_ARGS)"
eval "$(config_export app "$APP" --merged)"
if [[ -f "$SOURCECODE_WORK_DIR/Procfile" ]]; then
if procfile-util exists --process-type release; then
procfile-util delete --process-type release
fi
fi
local DOCKER_ARGS=$(: | plugn trigger docker-args-build "$APP" "$BUILDER_TYPE")
DOCKER_ARGS+=$(: | plugn trigger docker-args-process-build "$APP" "$BUILDER_TYPE")
DOCKER_ARGS+=" $DOKKU_GLOBAL_BUILD_ARGS"
DOCKER_ARGS=" $DOCKER_ARGS "
eval set -- "$DOCKER_ARGS"
declare -a NIXPACKS_ARGS
while true; do
case "$1" in
-t | --tag)
NIXPACKS_ARGS+=("--tag")
NIXPACKS_ARGS+=("$2")
shift 2
;;
-t=* | --tag=*)
if [[ "$1" == "--tag=*" ]]; then
NIXPACKS_ARGS+=("--tag" "${1#--tag=}")
elif [[ "$1" == "-t=*" ]]; then
NIXPACKS_ARGS+=("--tag" "${1#-t=}")
fi
shift 1
;;
-i | --install-cmd)
NIXPACKS_ARGS+=("--install-cmd")
NIXPACKS_ARGS+=("$2")
shift 2
;;
-i=* | --install-cmd=*)
if [[ "$1" == "--install-cmd=*" ]]; then
NIXPACKS_ARGS+=("--install-cmd" "${1#--install-cmd=}")
elif [[ "$1" == "-i=*" ]]; then
NIXPACKS_ARGS+=("--install-cmd" "${1#-i=}")
fi
shift 1
;;
-l | --label)
NIXPACKS_ARGS+=("--label")
NIXPACKS_ARGS+=("$2")
shift 2
;;
-l=* | --label=*)
if [[ "$1" == "--label=*" ]]; then
NIXPACKS_ARGS+=("--label" "${1#--label=}")
elif [[ "$1" == "-l=*" ]]; then
NIXPACKS_ARGS+=("--label" "${1#-l=}")
fi
shift 1
;;
-b | --build-cmd)
NIXPACKS_ARGS+=("--build-cmd")
NIXPACKS_ARGS+=("$2")
shift 2
;;
-b=* | --build-cmd=*)
if [[ "$1" == "--build-cmd=*" ]]; then
NIXPACKS_ARGS+=("--build-cmd" "${1#--build-cmd=}")
elif [[ "$1" == "-b=*" ]]; then
NIXPACKS_ARGS+=("--build-cmd" "${1#-b=}")
fi
shift 1
;;
-s | --start-cmd)
NIXPACKS_ARGS+=("--start-cmd")
NIXPACKS_ARGS+=("$2")
shift 2
;;
-s=* | --start-cmd=*)
if [[ "$1" == "--start-cmd=*" ]]; then
NIXPACKS_ARGS+=("--start-cmd" "${1#--start-cmd=}")
elif [[ "$1" == "-s=*" ]]; then
NIXPACKS_ARGS+=("--start-cmd" "${1#-s=}")
fi
shift 1
;;
-p | --pkgs)
NIXPACKS_ARGS+=("--pkgs")
NIXPACKS_ARGS+=("$2")
shift 2
;;
-p=* | --pkgs=*)
if [[ "$1" == "--pkgs=*" ]]; then
NIXPACKS_ARGS+=("--pkgs" "${1#--pkgs=}")
elif [[ "$1" == "-p=*" ]]; then
NIXPACKS_ARGS+=("--pkgs" "${1#-p=}")
fi
shift 1
;;
-a | --apt)
NIXPACKS_ARGS+=("--apt")
NIXPACKS_ARGS+=("$2")
shift 2
;;
-a=* | --apt=*)
if [[ "$1" == "--apt=*" ]]; then
NIXPACKS_ARGS+=("--apt" "${1#--apt=}")
elif [[ "$1" == "-a=*" ]]; then
NIXPACKS_ARGS+=("--apt" "${1#-a=}")
fi
shift 1
;;
-e | --env)
NIXPACKS_ARGS+=("--env")
NIXPACKS_ARGS+=("$2")
shift 2
;;
-e=* | --env=*)
if [[ "$1" == "--env=*" ]]; then
NIXPACKS_ARGS+=("--env" "${1#--env=}")
elif [[ "$1" == "-e=*" ]]; then
NIXPACKS_ARGS+=("--env" "${1#-e=}")
fi
shift 1
;;
--platform)
NIXPACKS_ARGS+=("$1")
NIXPACKS_ARGS+=("$2")
shift 2
;;
--platform=*)
NIXPACKS_ARGS+=("$1")
NIXPACKS_ARGS+=("$2")
shift 2
;;
--cache-key)
NIXPACKS_ARGS+=("$1")
NIXPACKS_ARGS+=("$2")
shift 2
;;
--cache-key=*)
NIXPACKS_ARGS+=("$1")
NIXPACKS_ARGS+=("$2")
shift 2
;;
--incremental-cache-image)
NIXPACKS_ARGS+=("$1")
NIXPACKS_ARGS+=("$2")
shift 2
;;
--incremental-cache-image=*)
NIXPACKS_ARGS+=("$1")
NIXPACKS_ARGS+=("$2")
shift 2
;;
--libs)
NIXPACKS_ARGS+=("$1")
NIXPACKS_ARGS+=("$2")
shift 2
;;
--libs=*)
NIXPACKS_ARGS+=("$1")
NIXPACKS_ARGS+=("$2")
shift 2
;;
--cache-from)
NIXPACKS_ARGS+=("$1")
NIXPACKS_ARGS+=("$2")
shift 2
;;
--cache-from=*)
NIXPACKS_ARGS+=("$1")
NIXPACKS_ARGS+=("$2")
shift 2
;;
--docker-host)
NIXPACKS_ARGS+=("$1")
NIXPACKS_ARGS+=("$2")
shift 2
;;
--docker-host=*)
NIXPACKS_ARGS+=("$1")
NIXPACKS_ARGS+=("$2")
shift 2
;;
--add-host)
NIXPACKS_ARGS+=("$1")
NIXPACKS_ARGS+=("$2")
shift 2
;;
--add-host=*)
NIXPACKS_ARGS+=("$1")
NIXPACKS_ARGS+=("$2")
shift 2
;;
--docker-tls-verify)
NIXPACKS_ARGS+=("$1")
NIXPACKS_ARGS+=("$2")
shift 2
;;
--docker-tls-verify=*)
NIXPACKS_ARGS+=("$1")
NIXPACKS_ARGS+=("$2")
shift 2
;;
--no-cache | --inline-cache | --no-error-without-start)
NIXPACKS_ARGS+=("$1")
shift 1
;;
*)
if [[ -n "$1" ]]; then
shift
continue
fi
break
;;
esac
done
eval "$(config_export app "$APP" --merged)"
# shellcheck disable=SC2086
if ! nixpacks build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS "${ARG_ARRAY[@]}" $NIXPACKS_ARGS --name "$IMAGE" "$SOURCECODE_WORK_DIR"; then
if ! nixpacks build "${DOCKER_BUILD_LABEL_ARGS[@]}" "${NIXPACKS_ARGS[@]}" --name "$IMAGE" "$SOURCECODE_WORK_DIR"; then
dokku_log_warn "Failure building image"
return 1
fi

View File

@@ -38,9 +38,6 @@ cmd-builder-nixpacks-report-single() {
"--builder-nixpacks-computed-nixpackstoml-path: $(fn-builder-nixpacks-computed-nixpackstoml-path "$APP")"
"--builder-nixpacks-global-nixpackstoml-path: $(fn-builder-nixpacks-global-nixpackstoml-path "$APP")"
"--builder-nixpacks-nixpackstoml-path: $(fn-builder-nixpacks-nixpackstoml-path "$APP")"
"--builder-nixpacks-computed-no-cache: $(fn-builder-nixpacks-computed-no-cache "$APP")"
"--builder-nixpacks-global-no-cache: $(fn-builder-nixpacks-global-no-cache "$APP")"
"--builder-nixpacks-no-cache: $(fn-builder-nixpacks-no-cache "$APP")"
)
if [[ -z "$INFO_FLAG" ]]; then
@@ -91,26 +88,3 @@ fn-builder-nixpacks-nixpackstoml-path() {
fn-plugin-property-get "builder-nixpacks" "$APP" "nixpackstoml-path" ""
}
fn-builder-nixpacks-computed-no-cache() {
declare APP="$1"
file="$(fn-builder-nixpacks-no-cache "$APP")"
if [[ "$file" == "" ]]; then
file="$(fn-builder-nixpacks-global-no-cache "$APP")"
fi
echo "$file"
}
fn-builder-nixpacks-global-no-cache() {
declare APP="$1"
fn-plugin-property-get "builder-nixpacks" "--global" "no-cache" "false"
}
fn-builder-nixpacks-no-cache() {
declare APP="$1"
fn-plugin-property-get "builder-nixpacks" "$APP" "no-cache" ""
}

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core builder-nixpacks plugin"
version = "0.35.18"
version = "0.37.2"
[plugin.config]

View File

@@ -9,13 +9,13 @@ cmd-builder-nixpacks-set() {
declare cmd="builder-nixpacks:set"
[[ "$1" == "$cmd" ]] && shift 1
declare APP="$1" KEY="$2" VALUE="$3"
local VALID_KEYS=("nixpackstoml-path" "no-cache")
local VALID_KEYS=("nixpackstoml-path")
[[ "$APP" == "--global" ]] || verify_app_name "$APP"
[[ -z "$KEY" ]] && dokku_log_fail "No key specified"
if ! fn-in-array "$KEY" "${VALID_KEYS[@]}"; then
dokku_log_fail "Invalid key specified, valid keys include: nixpackstoml-path, no-cache"
dokku_log_fail "Invalid key specified, valid keys include: nixpackstoml-path"
fi
if [[ -n "$VALUE" ]]; then

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core builder-null plugin"
version = "0.35.18"
version = "0.37.2"
[plugin.config]

View File

@@ -18,7 +18,7 @@ trigger-builder-pack-builder-build() {
DOKKU_CNB_BUILDER="$stack"
fi
dokku_log_info1 "Building $APP from cnb stack $DOKKU_CNB_BUILDER (experimental)..."
dokku_log_info1 "Building $APP from cnb stack $DOKKU_CNB_BUILDER..."
if ! command -v "pack" &>/dev/null; then
dokku_log_fail "Missing pack, install it"
@@ -38,33 +38,261 @@ trigger-builder-pack-builder-build() {
plugn trigger pre-build "$BUILDER_TYPE" "$APP" "$SOURCECODE_WORK_DIR"
local DOCKER_ARGS=$(: | plugn trigger docker-args-build "$APP" "$BUILDER_TYPE")
[[ "$DOKKU_TRACE" ]] && DOCKER_ARGS+=" --env=TRACE=true "
DOCKER_ARGS+=$(: | plugn trigger docker-args-process-build "$APP" "$BUILDER_TYPE")
[[ "$DOKKU_TRACE" ]] && DOCKER_ARGS+=" --env=TRACE=true "
DOCKER_ARGS=" $DOCKER_ARGS "
declare -a ARG_ARRAY
eval "ARG_ARRAY=($DOCKER_ARGS)"
eval set -- "$DOCKER_ARGS"
declare -a PACK_ARGS
while true; do
case "$1" in
--volume=* | -v=*)
PACK_ARGS+=("$1")
shift
-b | --buildpack)
PACK_ARGS+=("--buildpack")
PACK_ARGS+=("$2")
shift 2
;;
-b=* | --buildpack=*)
if [[ "$1" == "--buildpack=*" ]]; then
PACK_ARGS+=("--buildpack" "${1#--buildpack=}")
elif [[ "$1" == "-b=*" ]]; then
PACK_ARGS+=("--buildpack" "${1#-b=}")
fi
shift 1
;;
-r | --buildpack-registry)
PACK_ARGS+=("--buildpack-registry")
PACK_ARGS+=("$2")
shift 2
;;
-r=* | --buildpack-registry=*)
if [[ "$1" == "--buildpack-registry=*" ]]; then
PACK_ARGS+=("--buildpack-registry" "${1#--buildpack-registry=}")
elif [[ "$1" == "-r=*" ]]; then
PACK_ARGS+=("--buildpack-registry" "${1#-r=}")
fi
shift 2
;;
-e | --env)
PACK_ARGS+=("--env")
PACK_ARGS+=("$2")
shift 2
;;
-e=* | --env=*)
if [[ "$1" == "--env=*" ]]; then
PACK_ARGS+=("--env" "${1#--env=}")
elif [[ "$1" == "-e=*" ]]; then
PACK_ARGS+=("--env" "${1#-e=}")
fi
shift 1
;;
-t | --tag)
PACK_ARGS+=("--tag")
PACK_ARGS+=("$2")
shift 2
;;
-t=* | --tag=*)
if [[ "$1" == "--tag=*" ]]; then
PACK_ARGS+=("--tag" "${1#--tag=}")
elif [[ "$1" == "-t=*" ]]; then
PACK_ARGS+=("--tag" "${1#-t=}")
fi
shift 1
;;
--volume | -v)
PACK_ARGS+=("--volume")
PACK_ARGS+=("$2")
shift 2
;;
--volume=* | -v=*)
if [[ "$1" == "--volume=*" ]]; then
PACK_ARGS+=("--volume" "${1#--volume=}")
elif [[ "$1" == "-v=*" ]]; then
PACK_ARGS+=("--volume" "${1#-v=}")
fi
shift 1
;;
--cache)
PACK_ARGS+=("--cache")
PACK_ARGS+=("$2")
shift 2
;;
--cache=*)
PACK_ARGS+=("--cache" "${1#--cache=}")
shift 1
;;
--cache-image)
PACK_ARGS+=("--cache-image")
PACK_ARGS+=("$2")
shift 2
;;
--cache-image=*)
PACK_ARGS+=("--cache-image" "${1#--cache-image=}")
shift 1
;;
--creation-time)
PACK_ARGS+=("--creation-time")
PACK_ARGS+=("$2")
shift 2
;;
--creation-time=*)
PACK_ARGS+=("--creation-time" "${1#--creation-time=}")
shift 1
;;
--env-file)
PACK_ARGS+=("--env-file")
PACK_ARGS+=("$2")
shift 2
;;
--env-file=*)
PACK_ARGS+=("--env-file" "${1#--env-file=}")
shift 1
;;
--extension)
PACK_ARGS+=("--extension")
PACK_ARGS+=("$2")
shift 2
;;
--extension=*)
PACK_ARGS+=("--extension" "${1#--extension=}")
shift 1
;;
--gid)
PACK_ARGS+=("--gid")
PACK_ARGS+=("$2")
shift 2
;;
--gid=*)
PACK_ARGS+=("--gid" "${1#--gid=}")
shift 1
;;
--insecure-registry)
PACK_ARGS+=("--insecure-registry")
PACK_ARGS+=("$2")
shift 2
;;
--insecure-registry=*)
PACK_ARGS+=("--insecure-registry" "${1#--insecure-registry=}")
shift 1
;;
--lifecycle-image)
PACK_ARGS+=("--lifecycle-image")
PACK_ARGS+=("$2")
shift 2
;;
--lifecycle-image=*)
PACK_ARGS+=("--lifecycle-image" "${1#--lifecycle-image=}")
shift 1
;;
--network)
PACK_ARGS+=("--network")
PACK_ARGS+=("$2")
shift 2
;;
--network=*)
PACK_ARGS+=("--network" "${1#--network=}")
shift 1
;;
--platform)
PACK_ARGS+=("--platform")
PACK_ARGS+=("$2")
shift 2
;;
--platform=*)
PACK_ARGS+=("--platform" "${1#--platform=}")
shift 1
;;
--post-buildpack)
PACK_ARGS+=("--post-buildpack")
PACK_ARGS+=("$2")
shift 2
;;
--post-buildpack=*)
PACK_ARGS+=("--post-buildpack" "${1#--post-buildpack=}")
shift 1
;;
--pre-buildpack)
PACK_ARGS+=("--pre-buildpack")
PACK_ARGS+=("$2")
shift 2
;;
--pre-buildpack=*)
PACK_ARGS+=("--pre-buildpack" "${1#--pre-buildpack=}")
shift 1
;;
--previous-image)
PACK_ARGS+=("--previous-image")
PACK_ARGS+=("$2")
shift 2
;;
--previous-image=*)
PACK_ARGS+=("--previous-image" "${1#--previous-image=}")
shift 1
;;
--pull-policy)
PACK_ARGS+=("--pull-policy")
PACK_ARGS+=("$2")
shift 2
;;
--pull-policy=*)
PACK_ARGS+=("--pull-policy" "${1#--pull-policy=}")
shift 1
;;
--run-image)
PACK_ARGS+=("--run-image")
PACK_ARGS+=("$2")
shift 2
;;
--run-image=*)
PACK_ARGS+=("--run-image" "${1#--run-image=}")
shift 1
;;
--uid)
PACK_ARGS+=("--uid")
PACK_ARGS+=("$2")
shift 2
;;
--uid=*)
PACK_ARGS+=("--uid" "${1#--uid=}")
shift 1
;;
--workspace)
PACK_ARGS+=("--workspace")
PACK_ARGS+=("$2")
shift 2
;;
--workspace=*)
PACK_ARGS+=("--workspace" "${1#--workspace=}")
shift 1
;;
--clear-cache | --disable-system-buildpacks | --publish | --trust-builder | --trust-extra-buildpacks | --userns-host)
PACK_ARGS+=("$1")
shift 1
;;
*)
if [[ -n "$1" ]]; then
shift
continue
fi
break
;;
esac
done
if [ -n "$BUILDPACK_URL" ]; then
PACK_ARGS+=("--builder")
PACK_ARGS+=("$BUILDPACK_URL")
elif [ -f "$SOURCECODE_WORK_DIR/.buildpacks" ]; then
while read -r buildpack; do
if [ -z "$buildpack" ]; then
continue
fi
PACK_ARGS+=("--builder")
PACK_ARGS+=("$buildpack")
done <"$SOURCECODE_WORK_DIR/.buildpacks"
fi
pack build "$IMAGE" --builder "$DOKKU_CNB_BUILDER" --path "$SOURCECODE_WORK_DIR" --default-process web "${PACK_ARGS[@]}" "${ENV_ARGS[@]}"
docker-image-labeler relabel --label=dokku --label=org.label-schema.schema-version=1.0 --label=org.label-schema.vendor=dokku --label=com.dokku.image-stage=build --label=com.dokku.builder-type=pack --label=com.dokku.app-name=$APP "$IMAGE"

View File

@@ -12,11 +12,6 @@ trigger-builder-pack-builder-detect() {
echo "pack"
return
fi
if [[ "$(config_get "$APP" DOKKU_CNB_EXPERIMENTAL || true)" == "1" ]]; then
echo "pack"
return
fi
}
trigger-builder-pack-builder-detect "$@"

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core builder-pack plugin"
version = "0.35.18"
version = "0.37.2"
[plugin.config]

View File

@@ -0,0 +1,146 @@
#!/usr/bin/env bash
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
source "$PLUGIN_AVAILABLE_PATH/builder-railpack/internal-functions"
source "$PLUGIN_AVAILABLE_PATH/config/functions"
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
trigger-builder-railpack-builder-build() {
declare desc="builder-railpack builder-build plugin trigger"
declare trigger="builder-build"
declare BUILDER_TYPE="$1" APP="$2" SOURCECODE_WORK_DIR="$3"
if [[ "$BUILDER_TYPE" != "railpack" ]]; then
return
fi
dokku_log_info1 "Building $APP from railpack"
if ! command -v "railpack" &>/dev/null; then
dokku_log_fail "Missing railpack, install it"
fi
local IMAGE=$(get_app_image_name "$APP")
local DOCKER_BUILD_LABEL_ARGS=("--label=dokku" "--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.image-stage=build" "--label=com.dokku.builder-type=railpack" "--label=com.dokku.app-name=$APP")
pushd "$SOURCECODE_WORK_DIR" &>/dev/null
plugn trigger pre-build "$BUILDER_TYPE" "$APP" "$SOURCECODE_WORK_DIR"
if [[ -f "$SOURCECODE_WORK_DIR/Procfile" ]]; then
if procfile-util exists --process-type release; then
procfile-util delete --process-type release
fi
fi
local DOCKER_ARGS=$(: | plugn trigger docker-args-build "$APP" "$BUILDER_TYPE")
DOCKER_ARGS+=$(: | plugn trigger docker-args-process-build "$APP" "$BUILDER_TYPE")
DOCKER_ARGS=" $DOCKER_ARGS "
eval set -- "$DOCKER_ARGS"
declare -a RAILPACK_ARGS
while true; do
case "$1" in
--platform)
RAILPACK_ARGS+=("--platform")
RAILPACK_ARGS+=("$2")
shift 2
;;
--platform=*)
RAILPACK_ARGS+=("--platform" "${1#--platform=}")
shift 1
;;
--progress)
RAILPACK_ARGS+=("--progress")
RAILPACK_ARGS+=("$2")
shift 2
;;
--progress=*)
RAILPACK_ARGS+=("--progress" "${1#--progress=}")
shift 1
;;
--cache-key)
RAILPACK_ARGS+=("--cache-key")
RAILPACK_ARGS+=("$2")
shift 2
;;
--cache-key=*)
RAILPACK_ARGS+=("--cache-key" "${1#--cache-key=}")
shift 1
;;
-e | --env)
RAILPACK_ARGS+=("--env")
RAILPACK_ARGS+=("$2")
shift 2
;;
-e=* | --env=*)
if [[ "$1" == "--env=*" ]]; then
RAILPACK_ARGS+=("--env" "${1#--env=}")
elif [[ "$1" == "--e=*" ]]; then
RAILPACK_ARGS+=("--env" "${1#-e=}")
fi
shift 1
;;
--previous)
RAILPACK_ARGS+=("--previous")
RAILPACK_ARGS+=("$2")
shift 2
;;
--previous=*)
RAILPACK_ARGS+=("--previous" "${1#--previous=}")
shift 1
;;
--build-cmd)
RAILPACK_ARGS+=("--build-cmd")
RAILPACK_ARGS+=("$2")
shift 2
;;
--build-cmd=*)
RAILPACK_ARGS+=("--build-cmd" "${1#--build-cmd=}")
shift 1
;;
--start-cmd)
RAILPACK_ARGS+=("--start-cmd")
RAILPACK_ARGS+=("$2")
shift 2
;;
--start-cmd=*)
RAILPACK_ARGS+=("--start-cmd" "${1#--start-cmd=}")
shift 1
;;
---show-plan | --error-missing-start)
RAILPACK_ARGS+=("$1")
shift 1
;;
*)
if [[ -n "$1" ]]; then
shift
continue
fi
break
;;
esac
done
eval "$(config_export app "$APP" --merged)"
# shellcheck disable=SC2086
if ! railpack build "${RAILPACK_ARGS[@]}" --name "$IMAGE-build" "$SOURCECODE_WORK_DIR"; then
dokku_log_warn "Failure building image"
return 1
fi
if ! suppress_output "$DOCKER_BIN" image build -f "$PLUGIN_AVAILABLE_PATH/builder-railpack/dockerfiles/builder-build.Dockerfile" --build-arg APP_IMAGE="$IMAGE-build" "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS -t "$IMAGE" "$SOURCECODE_WORK_DIR"; then
"$DOCKER_BIN" image remove "$IMAGE-build"
dokku_log_warn "Failure injecting docker labels and custom entrypoint on image"
return 1
fi
"$DOCKER_BIN" image remove "$IMAGE-build"
plugn trigger post-build "$BUILDER_TYPE" "$APP" "$SOURCECODE_WORK_DIR"
popd &>/dev/null || pushd "/tmp" >/dev/null
}
trigger-builder-railpack-builder-build "$@"

Some files were not shown because too many files have changed in this diff Show More