Compare commits

...

559 Commits

Author SHA1 Message Date
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
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
Dokku Bot
5d822fd8a9 Release 0.35.18
# History

## 0.35.18

Install/update via the bootstrap script:

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

### Bug Fixes

- #7669: @josegonzalez fix: update CID count in ps tests

### Dependencies

- #7668: @dependabot[bot] chore(deps): bump timberio/vector from 0.43.1-debian to 0.46.1-debian in /plugins/logs
- #7670: @dependabot[bot] chore(deps): bump beautifulsoup4 from 4.13.3 to 4.13.4 in /docs/_build
- #7630: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/gitsubmodules
- #7666: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.36.0 to 0.37.0 in /plugins/common
- #7618: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/.websocket.disabled
- #7620: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/dockerfile-procfile-bad
- #7622: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/dockerfile-procfile
- #7629: @dependabot[bot] chore(deps): bump express from 5.0.1 to 5.1.0 in /tests/apps/checks-root
- #7623: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/dockerfile-noexpose
- #7627: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/nodejs-express-noprocfile
- #7631: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/dockerfile-app-json-formations
- #7667: @dependabot[bot] chore(deps): bump ruby from 3.4.2 to 3.4.3 in /tests/apps/dockerfile-entrypoint

### Other

- #7661: @josegonzalez chore: bump dokku-event-listener from 0.17.0 to 0.17.2
- #7660: @josegonzalez chore: bump plugn from 0.15.3 to 0.16.0
- #7659: @josegonzalez chore: bump gliderlabs-sigil from 0.11.0 to 0.11.4
- #7656: @josegonzalez chore: bump netrc from 0.10.0 to 0.10.2
- #7655: @josegonzalez chore: bump lambda-builder from 0.8.0 to 0.9.1
- #7663: @josegonzalez chore: bump herokuish from 0.10.2 to 0.10.3
- #7662: @josegonzalez chore: bump dokku-update from 0.9.4 to 0.9.6
- #7658: @josegonzalez chore: bump sshcommand from 0.19.0 to 0.20.0
- #7657: @josegonzalez chore: bump procfile-util from 0.19.0 to 0.20.3
- #7654: @josegonzalez chore: bump docker-image-builder from 0.8.0 to 0.8.1
- #7653: @josegonzalez chore: bump docker-container-healthchecker from 0.11.0 to 0.11.5
2025-04-16 21:08:15 +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
9e7a34e950 Merge pull request #7668 from dokku/dependabot/docker/plugins/logs/timberio/vector-0.46.1-debian
chore(deps): bump timberio/vector from 0.43.1-debian to 0.46.1-debian in /plugins/logs
2025-04-16 11:45:15 -04:00
Jose Diaz-Gonzalez
bb17d06f22 Merge pull request #7670 from dokku/dependabot/pip/docs/_build/beautifulsoup4-4.13.4
chore(deps): bump beautifulsoup4 from 4.13.3 to 4.13.4 in /docs/_build
2025-04-16 11:43:45 -04:00
Jose Diaz-Gonzalez
41c86ac8b6 Merge pull request #7669 from dokku/josegonzalez-patch-1
fix: update CID count in ps tests
2025-04-16 11:43:28 -04:00
dependabot[bot]
9aba7a35be chore(deps): bump beautifulsoup4 from 4.13.3 to 4.13.4 in /docs/_build
Bumps [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) from 4.13.3 to 4.13.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-16 13:27:44 +00:00
Jose Diaz-Gonzalez
0b817f0313 fix: update CID count in ps tests
Docker updated the output of inspect so now it's there 6 times, not 7.
2025-04-15 22:35:35 -04:00
Jose Diaz-Gonzalez
eb20fff0ac Merge pull request #7630 from dokku/dependabot/npm_and_yarn/tests/apps/gitsubmodules/express-5.1.0
chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/gitsubmodules
2025-04-15 20:49:51 -04:00
Jose Diaz-Gonzalez
7975c05395 Merge pull request #7666 from dokku/dependabot/go_modules/plugins/common/golang.org/x/crypto-0.37.0
chore(deps): bump golang.org/x/crypto from 0.36.0 to 0.37.0 in /plugins/common
2025-04-15 20:47:35 -04:00
Jose Diaz-Gonzalez
1b65295161 Merge pull request #7618 from dokku/dependabot/npm_and_yarn/tests/apps/dot-websocket.disabled/express-5.1.0
chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/.websocket.disabled
2025-04-15 20:31:50 -04:00
Jose Diaz-Gonzalez
9525db0f35 Merge pull request #7620 from dokku/dependabot/npm_and_yarn/tests/apps/dockerfile-procfile-bad/express-5.1.0
chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/dockerfile-procfile-bad
2025-04-15 20:31:42 -04:00
Jose Diaz-Gonzalez
d40e28e340 Merge pull request #7622 from dokku/dependabot/npm_and_yarn/tests/apps/dockerfile-procfile/express-5.1.0
chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/dockerfile-procfile
2025-04-15 20:31:19 -04:00
Jose Diaz-Gonzalez
c288001abf Merge pull request #7629 from dokku/dependabot/npm_and_yarn/tests/apps/checks-root/express-5.1.0
chore(deps): bump express from 5.0.1 to 5.1.0 in /tests/apps/checks-root
2025-04-15 20:30:50 -04:00
Jose Diaz-Gonzalez
03b0239538 Merge pull request #7623 from dokku/dependabot/npm_and_yarn/tests/apps/dockerfile-noexpose/express-5.1.0
chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/dockerfile-noexpose
2025-04-15 19:26:38 -04:00
Jose Diaz-Gonzalez
dfff84a92c Merge pull request #7627 from dokku/dependabot/npm_and_yarn/tests/apps/nodejs-express-noprocfile/express-5.1.0
chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/nodejs-express-noprocfile
2025-04-15 19:26:04 -04:00
Jose Diaz-Gonzalez
fa4ea016b9 Merge pull request #7631 from dokku/dependabot/npm_and_yarn/tests/apps/dockerfile-app-json-formations/express-5.1.0
chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/dockerfile-app-json-formations
2025-04-15 19:25:13 -04:00
Jose Diaz-Gonzalez
cb5bba1c14 chore: bump go modules 2025-04-15 19:24:53 -04:00
dependabot[bot]
bb0dd6e358 chore(deps): bump golang.org/x/crypto in /plugins/common
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.36.0 to 0.37.0.
- [Commits](https://github.com/golang/crypto/compare/v0.36.0...v0.37.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-15 19:23:41 -04:00
Jose Diaz-Gonzalez
1234c49d13 Merge pull request #7667 from dokku/dependabot/docker/tests/apps/dockerfile-entrypoint/ruby-3.4.3
chore(deps): bump ruby from 3.4.2 to 3.4.3 in /tests/apps/dockerfile-entrypoint
2025-04-15 19:22:59 -04:00
Jose Diaz-Gonzalez
d3e6057d92 Merge pull request #7661 from dokku/josegonzalez-patch-6-2
chore: bump dokku-event-listener from 0.17.0 to 0.17.2
2025-04-15 19:22:38 -04:00
Jose Diaz-Gonzalez
66922986a2 Merge pull request #7660 from dokku/josegonzalez-patch-6-1
chore: bump plugn from 0.15.3 to 0.16.0
2025-04-15 16:46:45 -04:00
Jose Diaz-Gonzalez
04d8a37e55 Merge pull request #7659 from dokku/josegonzalez-patch-6
chore: bump gliderlabs-sigil from 0.11.0 to 0.11.4
2025-04-15 16:46:38 -04:00
Jose Diaz-Gonzalez
21796aea67 Merge pull request #7656 from dokku/josegonzalez-patch-3
chore: bump netrc from 0.10.0 to 0.10.2
2025-04-15 16:46:29 -04:00
Jose Diaz-Gonzalez
c327239c1a Merge pull request #7655 from dokku/josegonzalez-patch-2-1
chore: bump lambda-builder from 0.8.0 to 0.9.1
2025-04-15 16:46:23 -04:00
Jose Diaz-Gonzalez
13f8b029aa Merge pull request #7663 from dokku/josegonzalez-patch-8
chore: bump herokuish from 0.10.2 to 0.10.3
2025-04-15 16:33:04 -04:00
Jose Diaz-Gonzalez
45f52b7a54 Merge pull request #7662 from dokku/josegonzalez-patch-7
chore: bump dokku-update from 0.9.4 to 0.9.6
2025-04-15 16:32:56 -04:00
Jose Diaz-Gonzalez
57ea516f86 Merge pull request #7658 from dokku/josegonzalez-patch-5
chore: bump sshcommand from 0.19.0 to 0.20.0
2025-04-15 16:32:24 -04:00
Jose Diaz-Gonzalez
f89e73dc19 Merge pull request #7657 from dokku/josegonzalez-patch-4
chore: bump procfile-util from 0.19.0 to 0.20.3
2025-04-15 16:32:14 -04:00
Jose Diaz-Gonzalez
d58292fc73 Merge pull request #7654 from dokku/josegonzalez-patch-2
chore: bump docker-image-builder from 0.8.0 to 0.8.1
2025-04-15 16:31:44 -04:00
Jose Diaz-Gonzalez
8cd5b372cf Merge pull request #7653 from dokku/josegonzalez-patch-1
chore: bump docker-container-healthchecker from 0.11.0 to 0.11.5
2025-04-15 16:31:34 -04:00
dependabot[bot]
f02fd40538 chore(deps): bump timberio/vector in /plugins/logs
Bumps timberio/vector from 0.43.1-debian to 0.46.1-debian.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-15 14:08:17 +00:00
dependabot[bot]
0aa7f0297f chore(deps): bump ruby in /tests/apps/dockerfile-entrypoint
Bumps ruby from 3.4.2 to 3.4.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-15 13:56:29 +00:00
Jose Diaz-Gonzalez
f23e269bd8 chore: bump herokuish from 0.10.2 to 0.10.3 2025-04-15 04:32:42 -04:00
Jose Diaz-Gonzalez
98968e0eaf chore: bump dokku-update from 0.9.4 to 0.9.6 2025-04-15 04:32:04 -04:00
Jose Diaz-Gonzalez
7b172f6bbd chore: bump dokku-event-listener from 0.17.0 to 0.17.2 2025-04-15 04:31:21 -04:00
Jose Diaz-Gonzalez
12b340d7c5 chore: bump plugn from 0.15.3 to 0.16.0 2025-04-15 04:30:50 -04:00
Jose Diaz-Gonzalez
5b166271d3 chore: bump gliderlabs-sigil from 0.11.0 to 0.11.4 2025-04-15 04:29:04 -04:00
Jose Diaz-Gonzalez
1e6075037f chore: bump sshcommand from 0.19.0 to 0.20.0 2025-04-15 04:28:27 -04:00
Jose Diaz-Gonzalez
e057d7d5b0 chore: bump procfile-util from 0.19.0 to 0.20.3 2025-04-15 04:27:43 -04:00
Jose Diaz-Gonzalez
84a8de4574 chore: bump netrc from 0.10.0 to 0.10.2 2025-04-15 04:27:01 -04:00
Jose Diaz-Gonzalez
739caf0b8c chore: bump lambda-builder from 0.8.0 to 0.9.1 2025-04-15 04:25:54 -04:00
Jose Diaz-Gonzalez
c917bbdcae chore: bump docker-container healthchecker from 0.8.0 to 0.8.1 2025-04-15 04:24:46 -04:00
Jose Diaz-Gonzalez
5c1e61ccbb chore: bump docker-container healthchecker from 0.11.0 to 0.11.5 2025-04-15 04:23:42 -04:00
Dokku Bot
d2e138864a Release 0.35.17
# History

## 0.35.17

Install/update via the bootstrap script:

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

### Bug Fixes

- #7606: @josegonzalez fix: bump dokku version in main.bicep when bumping azure versions
- #7650: @josegonzalez fix: set the correct default ingress class for k3s clusters
- #7649: @josegonzalez fix: decrease default in-use keda resources
- #7587: @turicas Correctly name paketo chown option
- #7584: @josegonzalez Install all builder binaries in Dokku docker image
- #7580: @josegonzalez Do not set network flag when building dockerfile images
- #7575: @josegonzalez Restore the git head ref when running repo:gc
- #7574: @josegonzalez fix: do not write VHOST file if the DOKKU_ROOT directory does not exist

### New Features

- #7648: @josegonzalez feat: add ability to ship k3s container logs via vector
- #7581: @josegonzalez Allow --volume flags to be passed to pack at buildtime
- #7583: @josegonzalez Send Host header when running container checks in docker-local
- #7572: @josegonzalez Add support for setting shm-size for kubernetes deployments

### Documentation

- #7652: @josegonzalez docs: use a cid-file in the plugin example
- #7647: @closeobserve Fix some golang docblock comments
- #7586: @turicas Remove `--` from `--git-url` in plugin installation docs

### Dependencies

- #7603: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.24 to 11.0.25 in /tests/apps/java
- #7641: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.12.0 to 0.13.0 in /plugins/scheduler-docker-local
- #7639: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.36.2 to 1.37.0 in /plugins/common
- #7646: @dependabot[bot] chore(deps): bump phusion/baseimage from noble-1.0.0 to noble-1.0.2
- #7610: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.36.5 to 1.36.6 in /tests/apps/gogrpc
- #7619: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.71.0 to 1.71.1 in /tests/apps/gogrpc
- #7624: @dependabot[bot] chore(deps): bump traefik from 3.3.4 to 3.3.5 in /plugins/traefik-vhosts
- #7632: @dependabot[bot] chore(deps): bump golang from 1.24.1 to 1.24.2 in /tests/apps/go-fail-postdeploy
- #7633: @dependabot[bot] chore(deps): bump golang from 1.24.1 to 1.24.2 in /tests/apps/zombies-dockerfile-tini
- #7634: @dependabot[bot] chore(deps): bump golang from 1.24.1 to 1.24.2 in /tests/apps/go-fail-predeploy
- #7643: @dependabot[bot] chore(deps): bump python from 3.13.2-bookworm to 3.13.3-bookworm in /tests/apps/dockerfile-release
- #7635: @dependabot[bot] chore(deps): bump golang from 1.24.1 to 1.24.2 in /tests/apps/gogrpc
- #7636: @dependabot[bot] chore(deps): bump golang from 1.24.1 to 1.24.2 in /tests/apps/zombies-dockerfile-no-tini
- #7613: @dependabot[bot] chore(deps): bump pyparsing from 3.2.1 to 3.2.3 in /docs/_build
- #7625: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.8 to 9.6.11 in /docs/_build
- #7644: @dependabot[bot] chore(deps): bump python from 3.13.2-alpine to 3.13.3-alpine in /docs/_build
- #7651: @dependabot[bot] chore(deps): update markdown requirement from <3.8,>=3.2.1 to >=3.2.1,<3.9 in /docs/_build
- #7595: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 45.0.7 to 45.0.8
- #7593: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.7 to 9.6.8 in /docs/_build
- #7589: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.34.0 to 0.36.0 in /tests/apps/gogrpc
- #7588: @dependabot[bot] chore(deps): bump rack from 2.2.12 to 2.2.13 in /tests/apps/ruby
- #7570: @dependabot[bot] chore(deps): bump mvdan.cc/sh/v3 from 3.10.0 to 3.11.0 in /plugins/cron
- #7569: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.35.0 to 0.36.0 in /plugins/common
- #7568: @dependabot[bot] chore(deps): bump jinja2 from 3.1.5 to 3.1.6 in /docs/_build

### Other

- #7601: @dependabot[bot] chore(deps): bump github.com/expr-lang/expr from 1.15.8 to 1.17.0 in /plugins/scheduler-k3s
- #7602: @dependabot[bot] chore(deps): bump github.com/containerd/containerd from 1.7.20 to 1.7.27 in /plugins/scheduler-k3s
- #7637: @dependabot[bot] chore(deps): bump django from 5.0.13 to 5.0.14 in /tests/apps/dockerfile-release
- #7607: @dependabot[bot] chore(deps): bump gunicorn from 22.0.0 to 23.0.0 in /tests/apps/dockerfile-release
- #7596: @josegonzalez Drop compromisde tj-actions/changed-files from Ci
- #7582: @josegonzalez Add ability to disable vhosts for all apps
- #7576: @josegonzalez fix: properly handle NoAppsExist in network:rebuild-all and buildpacks:set
- #7571: @dependabot[bot] chore(deps): bump django from 5.0.11 to 5.0.13 in /tests/apps/dockerfile-release
2025-04-14 18:48:11 +00:00
Jose Diaz-Gonzalez
791d037220 Merge pull request #7603 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-11.0.25
chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.24 to 11.0.25 in /tests/apps/java
2025-04-14 14:42:15 -04:00
Jose Diaz-Gonzalez
cab578f7ef Merge pull request #7601 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/expr-lang/expr-1.17.0
chore(deps): bump github.com/expr-lang/expr from 1.15.8 to 1.17.0 in /plugins/scheduler-k3s
2025-04-14 14:11:46 -04:00
Jose Diaz-Gonzalez
59ab1bac26 Merge pull request #7602 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/containerd/containerd-1.7.27
chore(deps): bump github.com/containerd/containerd from 1.7.20 to 1.7.27 in /plugins/scheduler-k3s
2025-04-14 14:11:34 -04:00
Jose Diaz-Gonzalez
cfdcb037f6 Merge pull request #7606 from dokku/fix-azure-bump
fix: bump dokku version in main.bicep when bumping azure versions
2025-04-14 14:10:58 -04:00
Jose Diaz-Gonzalez
7466e7452f Merge pull request #7652 from dokku/cid-file
docs: use a cid-file in the plugin example
2025-04-14 14:10:41 -04:00
Jose Diaz-Gonzalez
701b0cdb86 docs: use a cid-file in the plugin example 2025-04-14 14:10:22 -04:00
Jose Diaz-Gonzalez
4743814033 Merge pull request #7641 from dokku/dependabot/go_modules/plugins/scheduler-docker-local/golang.org/x/sync-0.13.0
chore(deps): bump golang.org/x/sync from 0.12.0 to 0.13.0 in /plugins/scheduler-docker-local
2025-04-14 14:09:31 -04:00
Jose Diaz-Gonzalez
b36d4d3821 chore: bump go modules 2025-04-14 12:47:42 -04:00
dependabot[bot]
9ec97dab68 chore(deps): bump golang.org/x/sync in /plugins/scheduler-docker-local
Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.12.0 to 0.13.0.
- [Commits](https://github.com/golang/sync/compare/v0.12.0...v0.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 12:47:13 -04:00
Jose Diaz-Gonzalez
874a9b1dd1 Merge pull request #7639 from dokku/dependabot/go_modules/plugins/common/github.com/onsi/gomega-1.37.0
chore(deps): bump github.com/onsi/gomega from 1.36.2 to 1.37.0 in /plugins/common
2025-04-14 12:44:00 -04:00
Jose Diaz-Gonzalez
4f6450eef9 chore: bump go modules 2025-04-14 11:33:26 -04:00
dependabot[bot]
995bd926ab chore(deps): bump github.com/onsi/gomega in /plugins/common
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.36.2 to 1.37.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.36.2...v1.37.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 11:30:19 -04:00
Jose Diaz-Gonzalez
7fe6be5052 Merge pull request #7646 from dokku/dependabot/docker/phusion/baseimage-noble-1.0.2
chore(deps): bump phusion/baseimage from noble-1.0.0 to noble-1.0.2
2025-04-14 11:25:14 -04:00
Jose Diaz-Gonzalez
8cb2301501 Merge pull request #7610 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/protobuf-1.36.6
chore(deps): bump google.golang.org/protobuf from 1.36.5 to 1.36.6 in /tests/apps/gogrpc
2025-04-14 11:24:46 -04:00
Jose Diaz-Gonzalez
ec32883e46 Merge pull request #7619 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.71.1
chore(deps): bump google.golang.org/grpc from 1.71.0 to 1.71.1 in /tests/apps/gogrpc
2025-04-14 11:24:04 -04:00
dependabot[bot]
c8d0dc6ba2 chore(deps): bump express in /tests/apps/dockerfile-app-json-formations
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-14 15:23:58 +00:00
Jose Diaz-Gonzalez
84e895c56d Merge pull request #7624 from dokku/dependabot/docker/plugins/traefik-vhosts/traefik-3.3.5
chore(deps): bump traefik from 3.3.4 to 3.3.5 in /plugins/traefik-vhosts
2025-04-14 11:23:13 -04:00
Jose Diaz-Gonzalez
e8e7caa0d1 Merge pull request #7632 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.24.2
chore(deps): bump golang from 1.24.1 to 1.24.2 in /tests/apps/go-fail-postdeploy
2025-04-14 11:22:26 -04:00
Jose Diaz-Gonzalez
dbc04701b1 Merge pull request #7633 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.24.2
chore(deps): bump golang from 1.24.1 to 1.24.2 in /tests/apps/zombies-dockerfile-tini
2025-04-14 11:22:15 -04:00
Jose Diaz-Gonzalez
b37f2f36b4 Merge pull request #7634 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.24.2
chore(deps): bump golang from 1.24.1 to 1.24.2 in /tests/apps/go-fail-predeploy
2025-04-14 11:22:07 -04:00
Jose Diaz-Gonzalez
0ab96218a6 Merge pull request #7643 from dokku/dependabot/docker/tests/apps/dockerfile-release/python-3.13.3-bookworm
chore(deps): bump python from 3.13.2-bookworm to 3.13.3-bookworm in /tests/apps/dockerfile-release
2025-04-14 11:20:29 -04:00
Jose Diaz-Gonzalez
8ac5de449f Merge pull request #7635 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.24.2
chore(deps): bump golang from 1.24.1 to 1.24.2 in /tests/apps/gogrpc
2025-04-14 11:20:22 -04:00
Jose Diaz-Gonzalez
b44b55c08f Merge pull request #7636 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.24.2
chore(deps): bump golang from 1.24.1 to 1.24.2 in /tests/apps/zombies-dockerfile-no-tini
2025-04-14 11:20:13 -04:00
Jose Diaz-Gonzalez
4aca626164 Merge pull request #7637 from dokku/dependabot/pip/tests/apps/dockerfile-release/django-5.0.14
chore(deps): bump django from 5.0.13 to 5.0.14 in /tests/apps/dockerfile-release
2025-04-14 11:20:05 -04:00
Jose Diaz-Gonzalez
961bc7e92a Merge pull request #7647 from closeobserve/master
Fix some golang docblock comments
2025-04-14 11:19:18 -04:00
Jose Diaz-Gonzalez
89e8564325 Merge pull request #7613 from dokku/dependabot/pip/docs/_build/pyparsing-3.2.3
chore(deps): bump pyparsing from 3.2.1 to 3.2.3 in /docs/_build
2025-04-14 11:18:35 -04:00
Jose Diaz-Gonzalez
d1db19a441 Merge pull request #7625 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.6.11
chore(deps): bump mkdocs-material from 9.6.8 to 9.6.11 in /docs/_build
2025-04-14 11:18:27 -04:00
Jose Diaz-Gonzalez
e17733d680 Merge pull request #7644 from dokku/dependabot/docker/docs/_build/python-3.13.3-alpine
chore(deps): bump python from 3.13.2-alpine to 3.13.3-alpine in /docs/_build
2025-04-14 11:18:20 -04:00
Jose Diaz-Gonzalez
95cbe155c5 Merge pull request #7651 from dokku/dependabot/pip/docs/_build/markdown-gte-3.2.1-and-lt-3.9
chore(deps): update markdown requirement from <3.8,>=3.2.1 to >=3.2.1,<3.9 in /docs/_build
2025-04-14 11:17:30 -04:00
Jose Diaz-Gonzalez
e76aac1499 Merge pull request #7650 from dokku/k3s-default-ingress
fix: set the correct default ingress class for k3s clusters
2025-04-14 11:16:37 -04:00
Jose Diaz-Gonzalez
a5e784bfb0 Merge pull request #7649 from dokku/k3s-decrease-keda-resources
fix: decrease default in-use keda resources
2025-04-14 11:15:18 -04:00
Jose Diaz-Gonzalez
ea7de5c045 Merge pull request #7648 from dokku/k3s-vector-integration
feat: add ability to ship k3s container logs via vector
2025-04-14 11:15:05 -04:00
dependabot[bot]
5a3cd2d0c7 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.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 13:51:55 +00:00
Jose Diaz-Gonzalez
7f27af260d fix: set the correct default ingress class for k3s clusters
This was accidentally left as traefik, but we document the correct value as nginx.
2025-04-14 04:39:33 -04:00
Jose Diaz-Gonzalez
8aea3e273a fix: decrease default in-use keda resources
Keda isn't in use by everyone, yet commands significant resources. This change makes it so a 2GB server is enough to run Dokku and a couple of small apps.
2025-04-14 04:38:06 -04:00
Jose Diaz-Gonzalez
b97e8f3601 feat: add ability to ship k3s container logs via vector
If a global vector-sink property on the logs plugin is set, we will use that to configure a log sink (defaulting to console output otherwise). Note that the actual configuration still needs to be a valid DSN representing a Vector log sink.

While this does not support pinning log sinks to specific apps, it opens up integration for those who use a single k3s cluster in shared tenancy.
2025-04-14 04:35:21 -04:00
closeobserve
9e2836fe7f chore: fix some comments
Signed-off-by: closeobserve <pingcap@yahoo.com>
2025-04-13 17:46:06 +08:00
dependabot[bot]
0e470f0fee chore(deps): bump phusion/baseimage from noble-1.0.0 to noble-1.0.2
Bumps phusion/baseimage from noble-1.0.0 to noble-1.0.2.

---
updated-dependencies:
- dependency-name: phusion/baseimage
  dependency-version: noble-1.0.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-10 13:58:33 +00:00
dependabot[bot]
17edd856d3 chore(deps): bump python in /docs/_build
Bumps python from 3.13.2-alpine to 3.13.3-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-09 14:02:29 +00:00
dependabot[bot]
833a96998b chore(deps): bump python in /tests/apps/dockerfile-release
Bumps python from 3.13.2-bookworm to 3.13.3-bookworm.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-09 13:45:21 +00:00
dependabot[bot]
df0dee3269 chore(deps): bump django in /tests/apps/dockerfile-release
Bumps [django](https://github.com/django/django) from 5.0.13 to 5.0.14.
- [Commits](https://github.com/django/django/compare/5.0.13...5.0.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-02 20:21:30 +00:00
dependabot[bot]
672027dc7e chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.24.1 to 1.24.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-02 14:12:34 +00:00
dependabot[bot]
cf953a0147 chore(deps): bump golang from 1.24.1 to 1.24.2 in /tests/apps/gogrpc
Bumps golang from 1.24.1 to 1.24.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-02 13:32:16 +00:00
dependabot[bot]
f1525b7cd9 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.24.1 to 1.24.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-02 13:26:33 +00:00
dependabot[bot]
55f395b593 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.24.1 to 1.24.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-02 13:26:22 +00:00
dependabot[bot]
7d5ff0910f chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.24.1 to 1.24.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-02 13:07:01 +00:00
dependabot[bot]
92005c0fdb chore(deps): bump express in /tests/apps/gitsubmodules
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-01 14:53:07 +00:00
dependabot[bot]
b982612903 chore(deps): bump express from 5.0.1 to 5.1.0 in /tests/apps/checks-root
Bumps [express](https://github.com/expressjs/express) from 5.0.1 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/5.0.1...v5.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-01 14:28:38 +00:00
dependabot[bot]
86386450f0 chore(deps): bump express in /tests/apps/nodejs-express-noprocfile
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-01 13:55:16 +00:00
dependabot[bot]
6c979f7c2d chore(deps): bump mkdocs-material from 9.6.8 to 9.6.11 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.8 to 9.6.11.
- [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.8...9.6.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-01 13:48:01 +00:00
dependabot[bot]
7d221552ee chore(deps): bump traefik from 3.3.4 to 3.3.5 in /plugins/traefik-vhosts
Bumps traefik from 3.3.4 to 3.3.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-01 13:44:51 +00:00
dependabot[bot]
5de1cd959a chore(deps): bump express in /tests/apps/dockerfile-noexpose
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-01 13:39:03 +00:00
dependabot[bot]
598509e7cd chore(deps): bump express in /tests/apps/dockerfile-procfile
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-01 13:31:31 +00:00
dependabot[bot]
41f12df14b chore(deps): bump express in /tests/apps/dockerfile-procfile-bad
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-01 13:29:08 +00:00
dependabot[bot]
4e6dcc5f54 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.0 to 1.71.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.71.0...v1.71.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-01 13:10:51 +00:00
dependabot[bot]
cfb6980ebd chore(deps): bump express in /tests/apps/.websocket.disabled
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-01 13:07:38 +00:00
dependabot[bot]
11f94739ab chore(deps): bump pyparsing from 3.2.1 to 3.2.3 in /docs/_build
Bumps [pyparsing](https://github.com/pyparsing/pyparsing) from 3.2.1 to 3.2.3.
- [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.1...3.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-25 13:23:12 +00:00
dependabot[bot]
ed9d9e3268 chore(deps): bump google.golang.org/protobuf in /tests/apps/gogrpc
Bumps google.golang.org/protobuf from 1.36.5 to 1.36.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 15:19:09 +00:00
Jose Diaz-Gonzalez
fa55f38258 Merge pull request #7607 from dokku/dependabot/pip/tests/apps/dockerfile-release/gunicorn-23.0.0
chore(deps): bump gunicorn from 22.0.0 to 23.0.0 in /tests/apps/dockerfile-release
2025-03-22 11:38:37 -04:00
dependabot[bot]
bb575d5839 chore(deps): bump gunicorn in /tests/apps/dockerfile-release
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 22.0.0 to 23.0.0.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/22.0.0...23.0.0)

---
updated-dependencies:
- dependency-name: gunicorn
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-22 03:20:18 +00:00
Jose Diaz-Gonzalez
c4270621c9 fix: bump dokku version in main.bicep when bumping azure versions
This file autogenerates azuredeploy.json, so we need to bump it as well.
2025-03-20 03:07:52 -04:00
dependabot[bot]
152081f15d chore(deps): bump org.eclipse.jetty:jetty-servlet in /tests/apps/java
Bumps org.eclipse.jetty:jetty-servlet from 11.0.24 to 11.0.25.

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-18 13:47:45 +00:00
dependabot[bot]
80c78dab9f chore(deps): bump github.com/containerd/containerd
Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.7.20 to 1.7.27.
- [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.20...v1.7.27)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-18 00:20:25 +00:00
dependabot[bot]
3b3bdb8c5d chore(deps): bump github.com/expr-lang/expr in /plugins/scheduler-k3s
Bumps [github.com/expr-lang/expr](https://github.com/expr-lang/expr) from 1.15.8 to 1.17.0.
- [Release notes](https://github.com/expr-lang/expr/releases)
- [Commits](https://github.com/expr-lang/expr/compare/v1.15.8...v1.17.0)

---
updated-dependencies:
- dependency-name: github.com/expr-lang/expr
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-18 00:17:42 +00:00
Jose Diaz-Gonzalez
f44392f561 Merge pull request #7596 from dokku/josegonzalez-patch-1
Drop compromisde tj-actions/changed-files from Ci
2025-03-15 05:52:56 -04:00
Jose Diaz-Gonzalez
506763ad17 security: drop tj-actions/changed-files
I've manually audited our usage and it doesn't look like credentials were printed anywhere, but before they do for another PR, just remove the usage.

If this ends up failing CI, thats also fine, I'll just remove packer validation and manually run it if that file changes.
2025-03-15 05:49:57 -04:00
Jose Diaz-Gonzalez
2e012cee38 Merge pull request #7595 from dokku/dependabot/github_actions/tj-actions/changed-files-45.0.8
chore(deps): bump tj-actions/changed-files from 45.0.7 to 45.0.8
2025-03-14 08:54:43 -05:00
dependabot[bot]
61d017517a chore(deps): bump tj-actions/changed-files from 45.0.7 to 45.0.8
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 45.0.7 to 45.0.8.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v45.0.7...v45.0.8)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-14 13:09:17 +00:00
Jose Diaz-Gonzalez
be024cb372 Merge pull request #7593 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.6.8
chore(deps): bump mkdocs-material from 9.6.7 to 9.6.8 in /docs/_build
2025-03-13 17:30:54 -05:00
dependabot[bot]
17531e646b chore(deps): bump mkdocs-material from 9.6.7 to 9.6.8 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.6.7 to 9.6.8.
- [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.7...9.6.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-13 13:33:03 +00:00
Jose Diaz-Gonzalez
f3c0187fb7 Merge pull request #7589 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.36.0
chore(deps): bump golang.org/x/net from 0.34.0 to 0.36.0 in /tests/apps/gogrpc
2025-03-12 19:30:54 -05:00
dependabot[bot]
8a06e87a6c chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.34.0 to 0.36.0.
- [Commits](https://github.com/golang/net/compare/v0.34.0...v0.36.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-12 22:13:02 +00:00
Jose Diaz-Gonzalez
008d84d3e3 Merge pull request #7588 from dokku/dependabot/bundler/tests/apps/ruby/rack-2.2.13
chore(deps): bump rack from 2.2.12 to 2.2.13 in /tests/apps/ruby
2025-03-11 09:29:48 -05:00
dependabot[bot]
cf4b27d510 chore(deps): bump rack from 2.2.12 to 2.2.13 in /tests/apps/ruby
Bumps [rack](https://github.com/rack/rack) from 2.2.12 to 2.2.13.
- [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.12...v2.2.13)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-11 02:45:43 +00:00
Jose Diaz-Gonzalez
9458642eb9 Merge pull request #7582 from dokku/6967-global-vhost-disable
Add ability to disable vhosts for all apps
2025-03-10 12:46:58 -05:00
Jose Diaz-Gonzalez
c5847184c0 fix: call post-domains-update when domains are enabled/disabled for an app 2025-03-10 12:50:31 -04:00
Jose Diaz-Gonzalez
a6dd27ee7d Merge pull request #7587 from turicas/fix/docs-paketo
Correctly name paketo chown option
2025-03-10 11:38:33 -05:00
Jose Diaz-Gonzalez
70d2f24e1d feat: add ability to disable vhosts for all apps
Closes #6967
2025-03-10 11:51:53 -04:00
Álvaro Justen (@turicas)
96bb17d70c Fix paketo chown option 2025-03-10 12:50:46 -03:00
Jose Diaz-Gonzalez
0249653e17 Merge pull request #7584 from dokku/7375-install-builder-deps
Install all builder binaries in Dokku docker image
2025-03-09 23:03:58 -05:00
Jose Diaz-Gonzalez
2107b6f147 Merge pull request #7581 from dokku/7119-pack-bindings
Allow --volume flags to be passed to pack at buildtime
2025-03-09 21:13:36 -05:00
Jose Diaz-Gonzalez
a59584bb6e Merge pull request #7583 from dokku/7456-checks-host
Send Host header when running container checks in docker-local
2025-03-09 21:12:26 -05:00
Jose Diaz-Gonzalez
16ff43de75 fix: install all builder binaries in Dokku docker image
Closes #7375
2025-03-09 17:22:53 -04:00
Jose Diaz-Gonzalez
d52eb382b8 Merge pull request #7586 from turicas/fix/plugin-docs
Remove `--` from `--git-url`
2025-03-09 16:20:10 -05:00
Álvaro Justen (@turicas)
f381dd768b Remove -- from --git-url
This is the name of the argument, not an option
2025-03-09 13:24:57 -03: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
Jose Diaz-Gonzalez
8faaef4a7b feat: send Host header when running container checks in docker-local
Closes #7456
2025-03-09 07:48:16 -04:00
Jose Diaz-Gonzalez
3985fdcca4 feat: allow --volume flags to be passed to pack at buildtime
Closes #7119
2025-03-09 07:23:21 -04:00
Jose Diaz-Gonzalez
c7f35eb8a2 Merge pull request #7580 from dokku/7520-drop-network-on-dockerfile-build
Do not set network flag when building dockerfile images
2025-03-09 06:05:10 -05:00
Jose Diaz-Gonzalez
87cbbdbc9a fix: do not set network flag when building dockerfile images
The network flag is unsupported by the docker image build command under buildx (which is default now).

Closes #7520
2025-03-09 06:56:56 -04:00
Jose Diaz-Gonzalez
ed58641d41 Merge pull request #7575 from dokku/6973-restore-head-ref
Restore the git head ref when running repo:gc
2025-03-09 04:51:59 -05:00
Jose Diaz-Gonzalez
751a1a77cd Merge pull request #7576 from dokku/6815-handle-no-apps
fix: properly handle NoAppsExist in network:rebuild-all and buildpacks:set
2025-03-08 23:47:03 -06:00
Jose Diaz-Gonzalez
b4f3741ac7 fix: properly handle NoAppsExist in network:rebuild-all and buildpacks:set
Refs #6815
2025-03-08 23:49:40 -05:00
Jose Diaz-Gonzalez
da166bc537 fix: restore the git head ref when running repo:gc
When git --aggressive is run on a bare repo, it deletes all head refs. This change copies the contents into memory and then writes them out at the end of the repo:gc call.

Closes #6973
2025-03-08 23:00:53 -05:00
Jose Diaz-Gonzalez
4ffbd357ee Merge pull request #7574 from dokku/install-hostname-check
fix: do not write VHOST file if the DOKKU_ROOT directory does not exist
2025-03-08 21:35:58 -06:00
Jose Diaz-Gonzalez
6007a95683 fix: do not write VHOST file if the DOKKU_ROOT directory does not exist
This can happen when building a new docker image as the DOKKU_ROOT directory isn't mounted yet.
2025-03-08 21:10:23 -05:00
Jose Diaz-Gonzalez
07bcc67597 Merge pull request #7572 from dokku/k3s-shm-size
Add support for setting shm-size for kubernetes deployments
2025-03-06 22:50:01 -06:00
Jose Diaz-Gonzalez
c7141d7503 Merge pull request #7570 from dokku/dependabot/go_modules/plugins/cron/mvdan.cc/sh/v3-3.11.0
chore(deps): bump mvdan.cc/sh/v3 from 3.10.0 to 3.11.0 in /plugins/cron
2025-03-06 22:02:10 -06:00
Jose Diaz-Gonzalez
65dd4bc1e0 feat: set shm-size volume/volumeMounts on kubernetes deployments 2025-03-06 22:59:35 -05:00
Jose Diaz-Gonzalez
ed7ee5aacd Merge pull request #7571 from dokku/dependabot/pip/tests/apps/dockerfile-release/django-5.0.13
chore(deps): bump django from 5.0.11 to 5.0.13 in /tests/apps/dockerfile-release
2025-03-06 21:50:31 -06:00
Jose Diaz-Gonzalez
888d1d4bf3 feat: add ability to set shm-size property
This doesn't yet manage process volumes, but the scaffolding is there to allow interacting with the property.
2025-03-06 22:48:49 -05:00
Jose Diaz-Gonzalez
52c05558f9 chore: do not add an unnecessary fmt.Sprintf() 2025-03-06 22:35:56 -05:00
Jose Diaz-Gonzalez
c888ca5b58 docs: simplify the per-app deployment settings and place it all into a table 2025-03-06 22:35:34 -05:00
dependabot[bot]
d8e55f4b9b chore(deps): bump django in /tests/apps/dockerfile-release
Bumps [django](https://github.com/django/django) from 5.0.11 to 5.0.13.
- [Commits](https://github.com/django/django/compare/5.0.11...5.0.13)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-07 03:30:08 +00:00
Jose Diaz-Gonzalez
715875adf8 Merge pull request #7569 from dokku/dependabot/go_modules/plugins/common/golang.org/x/crypto-0.36.0
chore(deps): bump golang.org/x/crypto from 0.35.0 to 0.36.0 in /plugins/common
2025-03-06 21:28:41 -06:00
Jose Diaz-Gonzalez
d9d6f1e044 chore: bump go modules 2025-03-06 21:41:39 -05:00
Jose Diaz-Gonzalez
07566b6484 chore: bump go modules 2025-03-06 21:41:07 -05:00
Jose Diaz-Gonzalez
0250627b3e Merge pull request #7568 from dokku/dependabot/pip/docs/_build/jinja2-3.1.6
chore(deps): bump jinja2 from 3.1.5 to 3.1.6 in /docs/_build
2025-03-06 10:51:39 -06:00
dependabot[bot]
a8786acf0d chore(deps): bump mvdan.cc/sh/v3 from 3.10.0 to 3.11.0 in /plugins/cron
Bumps [mvdan.cc/sh/v3](https://github.com/mvdan/sh) from 3.10.0 to 3.11.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.10.0...v3.11.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-06 13:34:40 +00:00
dependabot[bot]
1d5fb5cb39 chore(deps): bump golang.org/x/crypto in /plugins/common
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.35.0 to 0.36.0.
- [Commits](https://github.com/golang/crypto/compare/v0.35.0...v0.36.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-06 13:29:40 +00:00
dependabot[bot]
5ea2712d0a chore(deps): bump jinja2 from 3.1.5 to 3.1.6 in /docs/_build
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.5 to 3.1.6.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.1.5...3.1.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-06 13:22:06 +00:00
293 changed files with 4678 additions and 2551 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

@@ -18,7 +18,11 @@ main() {
cd tmp
$GH_FOLDER/bin/gh auth login --with-token <<<"$BOT_GITHUB_API_TOKEN"
if [[ -n "$BOT_GITHUB_API_TOKEN" ]]; then
$GH_FOLDER/bin/gh auth login --with-token <<<"$BOT_GITHUB_API_TOKEN"
else
echo "BOT_GITHUB_API_TOKEN is not set, skipping gh auth login"
fi
echo "=====> Cloning quickstart templates"
rm -rf azure-quickstart-templates >/dev/null
@@ -35,15 +39,29 @@ main() {
contents="$(jq --arg VERSION "$VERSION" '.parameters.dokkuVersion.defaultValue = $VERSION' application-workloads/dokku/dokku-vm/azuredeploy.json)"
echo "${contents}" >application-workloads/dokku/dokku-vm/azuredeploy.json
# update the version in main.bicep
# the line being updated looks like this:
# param dokkuVersion string = '0.28.4'
# we need to update the value of dokkuVersion to the new version
sed -i "s/param dokkuVersion string = '[^']*'/param dokkuVersion string = '$VERSION'/" application-workloads/dokku/dokku-vm/main.bicep
echo "=====> Updating remote repository"
git add application-workloads/dokku/dokku-vm
git checkout -b dokku-$VERSION
git commit -m "Update dokku-vm dokku version to $VERSION"
git remote set-url origin "https://$BOT_GITHUB_USERNAME:$BOT_GITHUB_API_TOKEN@github.com/dokku/azure-quickstart-templates.git"
git push -f origin dokku-$VERSION
if [[ -z "$BOT_GITHUB_API_TOKEN" ]] || [[ -z "$BOT_GITHUB_USERNAME" ]]; then
echo "BOT_GITHUB_API_TOKEN or BOT_GITHUB_USERNAME is not set, skipping git remote set-url"
else
git remote set-url origin "https://$BOT_GITHUB_USERNAME:$BOT_GITHUB_API_TOKEN@github.com/dokku/azure-quickstart-templates.git"
git push -f origin dokku-$VERSION
fi
echo "=====> Creating upstream pull request"
../$GH_FOLDER/bin/gh pr create --head dokku:dokku-$VERSION --repo Azure/azure-quickstart-templates --title "Update dokku-vm dokku version to $VERSION" --body ''
if [[ -z "$BOT_GITHUB_API_TOKEN" ]] || [[ -z "$BOT_GITHUB_USERNAME" ]]; then
echo "BOT_GITHUB_API_TOKEN or BOT_GITHUB_USERNAME is not set, skipping gh pr create"
else
echo "=====> Creating upstream pull request"
../$GH_FOLDER/bin/gh pr create --head dokku:dokku-$VERSION --repo Azure/azure-quickstart-templates --title "Update dokku-vm dokku version to $VERSION" --body ''
fi
popd &>/dev/null
}

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:

View File

@@ -24,7 +24,7 @@ jobs:
skip: ${{ steps.check-commit.outputs.skip }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.sha }}
@@ -53,7 +53,7 @@ jobs:
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: set up qemu
uses: docker/setup-qemu-action@v3
@@ -87,7 +87,7 @@ jobs:
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- 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@v5
- 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@v5
- name: download packages
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: build
path: build
@@ -156,10 +156,10 @@ jobs:
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: download packages
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: build
path: build
@@ -190,10 +190,10 @@ jobs:
GITHUB_NODE_INDEX: ${{ matrix.index }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: download packages
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
name: build
path: build
@@ -230,7 +230,7 @@ jobs:
steps:
- name: download test-results
uses: actions/download-artifact@v4
uses: actions/download-artifact@v5
with:
path: test-results

View File

@@ -42,7 +42,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5
# workaround for https://github.com/github/codeql/issues/14235
- name: Remove go.work file

View File

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

View File

@@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Run hadolint
uses: hadolint/hadolint-action@54c9adbab1582c2ef04b2016b760714a4bfde3cf
# v3.0.0 => 4b5806eb9c6bee4954fc0e0cc3ad6175fc9782c1
@@ -30,7 +30,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Setup node
uses: actions/setup-node@v4
with:
@@ -47,7 +47,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Setup packer
uses: hashicorp/setup-packer@main
with:
@@ -56,15 +56,9 @@ jobs:
run: "make image/init/digitalocean"
env:
PACKER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Get changed files in the docs folder
id: changed-files-specific
uses: tj-actions/changed-files@v45.0.7
with:
files: contrib/images/digitalocean/**
- name: Run `packer validate`
env:
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
if: steps.changed-files-specific.outputs.any_changed == 'true'
run: "make image/validate/digitalocean"
shellcheck:
@@ -72,7 +66,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Run shellcheck
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38
# 1.1.0 => 94e0aab03ca135d11a35e5bfc14e6746dc56e7e9
@@ -82,7 +76,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Run shfmt
uses: luizm/action-sh-checker@17bd25a6ee188d2b91f677060038f4ba37ba14b2
# v0.5.0 => edd0e45ecff35b05f162052b50df50976c1b74fc
@@ -96,7 +90,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
uses: actions/checkout@v5
- 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@v5
with:
fetch-depth: 0
@@ -84,7 +84,7 @@ jobs:
needs: release
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5
- name: Setup packer
uses: hashicorp/setup-packer@main
@@ -120,7 +120,7 @@ jobs:
needs: release
steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5
- 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

@@ -1,4 +1,4 @@
FROM phusion/baseimage:noble-1.0.0
FROM phusion/baseimage:noble-1.0.2
CMD ["/sbin/my_init"]
@@ -16,15 +16,22 @@ RUN addgroup --gid $DOKKU_GID dokku \
COPY ./tests/dhparam.pem /tmp/dhparam.pem
COPY ./build/package/ /tmp
ENV DOKKU_INIT_SYSTEM=sv
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# hadolint ignore=DL3005,DL3008
RUN mkdir -p /etc/apt/keyrings \
&& mkdir -p /etc/apt/keyrings \
&& apt-get remove -y systemd && apt-get autoremove -y && apt-get update && apt-get install -y --no-install-recommends gpg lsb-release \
&& apt-get remove -y systemd && apt-get autoremove -y && apt-get update && apt-get -y --no-install-recommends install gpg lsb-release openssl openssh-server rsync software-properties-common \
&& curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null \
&& add-apt-repository ppa:cncf-buildpacks/pack-cli \
&& apt-get update \
&& apt-get -y --no-install-recommends install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin \
&& 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 \
&& rm -rf /tmp/nixpacks.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 \
@@ -34,8 +41,7 @@ RUN mkdir -p /etc/apt/keyrings \
&& cp /tmp/dhparam.pem /etc/nginx/dhparam.pem \
&& apt-get update \
&& apt-get upgrade -y \
&& apt-get -y --no-install-recommends --only-upgrade install openssl openssh-server \
&& DOKKU_INIT_SYSTEM=sv apt-get -y --no-install-recommends install rsync "/tmp/dokku-$(dpkg --print-architecture).deb" \
&& apt-get -y --no-install-recommends install lambda-builder "/tmp/dokku-$(dpkg --print-architecture).deb" \
&& apt-get purge -y syslog-ng-core \
&& apt-get autoremove -y \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

View File

@@ -1,5 +1,391 @@
# 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
## 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:
```shell
wget -NP . https://dokku.com/install/v0.35.18/bootstrap.sh
sudo DOKKU_TAG=v0.35.18 bash bootstrap.sh
```
### Bug Fixes
- #7669: @josegonzalez fix: update CID count in ps tests
### Dependencies
- #7668: @dependabot[bot] chore(deps): bump timberio/vector from 0.43.1-debian to 0.46.1-debian in /plugins/logs
- #7670: @dependabot[bot] chore(deps): bump beautifulsoup4 from 4.13.3 to 4.13.4 in /docs/_build
- #7630: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/gitsubmodules
- #7666: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.36.0 to 0.37.0 in /plugins/common
- #7618: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/.websocket.disabled
- #7620: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/dockerfile-procfile-bad
- #7622: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/dockerfile-procfile
- #7629: @dependabot[bot] chore(deps): bump express from 5.0.1 to 5.1.0 in /tests/apps/checks-root
- #7623: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/dockerfile-noexpose
- #7627: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/nodejs-express-noprocfile
- #7631: @dependabot[bot] chore(deps): bump express from 4.21.2 to 5.1.0 in /tests/apps/dockerfile-app-json-formations
- #7667: @dependabot[bot] chore(deps): bump ruby from 3.4.2 to 3.4.3 in /tests/apps/dockerfile-entrypoint
### Other
- #7661: @josegonzalez chore: bump dokku-event-listener from 0.17.0 to 0.17.2
- #7660: @josegonzalez chore: bump plugn from 0.15.3 to 0.16.0
- #7659: @josegonzalez chore: bump gliderlabs-sigil from 0.11.0 to 0.11.4
- #7656: @josegonzalez chore: bump netrc from 0.10.0 to 0.10.2
- #7655: @josegonzalez chore: bump lambda-builder from 0.8.0 to 0.9.1
- #7663: @josegonzalez chore: bump herokuish from 0.10.2 to 0.10.3
- #7662: @josegonzalez chore: bump dokku-update from 0.9.4 to 0.9.6
- #7658: @josegonzalez chore: bump sshcommand from 0.19.0 to 0.20.0
- #7657: @josegonzalez chore: bump procfile-util from 0.19.0 to 0.20.3
- #7654: @josegonzalez chore: bump docker-image-builder from 0.8.0 to 0.8.1
- #7653: @josegonzalez chore: bump docker-container-healthchecker from 0.11.0 to 0.11.5
## 0.35.17
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.35.17/bootstrap.sh
sudo DOKKU_TAG=v0.35.17 bash bootstrap.sh
```
### Bug Fixes
- #7606: @josegonzalez fix: bump dokku version in main.bicep when bumping azure versions
- #7650: @josegonzalez fix: set the correct default ingress class for k3s clusters
- #7649: @josegonzalez fix: decrease default in-use keda resources
- #7587: @turicas Correctly name paketo chown option
- #7584: @josegonzalez Install all builder binaries in Dokku docker image
- #7580: @josegonzalez Do not set network flag when building dockerfile images
- #7575: @josegonzalez Restore the git head ref when running repo:gc
- #7574: @josegonzalez fix: do not write VHOST file if the DOKKU_ROOT directory does not exist
### New Features
- #7648: @josegonzalez feat: add ability to ship k3s container logs via vector
- #7581: @josegonzalez Allow --volume flags to be passed to pack at buildtime
- #7583: @josegonzalez Send Host header when running container checks in docker-local
- #7572: @josegonzalez Add support for setting shm-size for kubernetes deployments
### Documentation
- #7652: @josegonzalez docs: use a cid-file in the plugin example
- #7647: @closeobserve Fix some golang docblock comments
- #7586: @turicas Remove `--` from `--git-url` in plugin installation docs
### Dependencies
- #7603: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.24 to 11.0.25 in /tests/apps/java
- #7641: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.12.0 to 0.13.0 in /plugins/scheduler-docker-local
- #7639: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.36.2 to 1.37.0 in /plugins/common
- #7646: @dependabot[bot] chore(deps): bump phusion/baseimage from noble-1.0.0 to noble-1.0.2
- #7610: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.36.5 to 1.36.6 in /tests/apps/gogrpc
- #7619: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.71.0 to 1.71.1 in /tests/apps/gogrpc
- #7624: @dependabot[bot] chore(deps): bump traefik from 3.3.4 to 3.3.5 in /plugins/traefik-vhosts
- #7632: @dependabot[bot] chore(deps): bump golang from 1.24.1 to 1.24.2 in /tests/apps/go-fail-postdeploy
- #7633: @dependabot[bot] chore(deps): bump golang from 1.24.1 to 1.24.2 in /tests/apps/zombies-dockerfile-tini
- #7634: @dependabot[bot] chore(deps): bump golang from 1.24.1 to 1.24.2 in /tests/apps/go-fail-predeploy
- #7643: @dependabot[bot] chore(deps): bump python from 3.13.2-bookworm to 3.13.3-bookworm in /tests/apps/dockerfile-release
- #7635: @dependabot[bot] chore(deps): bump golang from 1.24.1 to 1.24.2 in /tests/apps/gogrpc
- #7636: @dependabot[bot] chore(deps): bump golang from 1.24.1 to 1.24.2 in /tests/apps/zombies-dockerfile-no-tini
- #7613: @dependabot[bot] chore(deps): bump pyparsing from 3.2.1 to 3.2.3 in /docs/_build
- #7625: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.8 to 9.6.11 in /docs/_build
- #7644: @dependabot[bot] chore(deps): bump python from 3.13.2-alpine to 3.13.3-alpine in /docs/_build
- #7651: @dependabot[bot] chore(deps): update markdown requirement from <3.8,>=3.2.1 to >=3.2.1,<3.9 in /docs/_build
- #7595: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 45.0.7 to 45.0.8
- #7593: @dependabot[bot] chore(deps): bump mkdocs-material from 9.6.7 to 9.6.8 in /docs/_build
- #7589: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.34.0 to 0.36.0 in /tests/apps/gogrpc
- #7588: @dependabot[bot] chore(deps): bump rack from 2.2.12 to 2.2.13 in /tests/apps/ruby
- #7570: @dependabot[bot] chore(deps): bump mvdan.cc/sh/v3 from 3.10.0 to 3.11.0 in /plugins/cron
- #7569: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.35.0 to 0.36.0 in /plugins/common
- #7568: @dependabot[bot] chore(deps): bump jinja2 from 3.1.5 to 3.1.6 in /docs/_build
### Other
- #7601: @dependabot[bot] chore(deps): bump github.com/expr-lang/expr from 1.15.8 to 1.17.0 in /plugins/scheduler-k3s
- #7602: @dependabot[bot] chore(deps): bump github.com/containerd/containerd from 1.7.20 to 1.7.27 in /plugins/scheduler-k3s
- #7637: @dependabot[bot] chore(deps): bump django from 5.0.13 to 5.0.14 in /tests/apps/dockerfile-release
- #7607: @dependabot[bot] chore(deps): bump gunicorn from 22.0.0 to 23.0.0 in /tests/apps/dockerfile-release
- #7596: @josegonzalez Drop compromisde tj-actions/changed-files from Ci
- #7582: @josegonzalez Add ability to disable vhosts for all apps
- #7576: @josegonzalez fix: properly handle NoAppsExist in network:rebuild-all and buildpacks:set
- #7571: @dependabot[bot] chore(deps): bump django from 5.0.11 to 5.0.13 in /tests/apps/dockerfile-release
## 0.35.16
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.16/bootstrap.sh
sudo DOKKU_TAG=v0.35.16 bash bootstrap.sh
wget -NP . https://dokku.com/install/v0.36.2/bootstrap.sh
sudo DOKKU_TAG=v0.36.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], Ubuntu [22.04, 24.04]"
log-fail() {
declare desc="log fail formatter"
@@ -160,7 +160,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"; then
log-fail "Unsupported Linux distribution. Only the following versions are supported: $SUPPORTED_VERSIONS"
fi
@@ -188,7 +188,7 @@ 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

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.24.5
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

@@ -2,94 +2,94 @@
"dependencies": [
{
"name": "docker-container-healthchecker",
"version": "0.11.0",
"version": "0.14.0",
"urls": {
"amd64": "https://github.com/dokku/docker-container-healthchecker/releases/download/v0.11.0/docker-container-healthchecker-linux-amd64",
"arm64": "https://github.com/dokku/docker-container-healthchecker/releases/download/v0.11.0/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"
}
},
{
"name": "docker-image-labeler",
"version": "0.8.0",
"version": "0.8.1",
"urls": {
"amd64": "https://github.com/dokku/docker-image-labeler/releases/download/v0.8.0/docker-image-labeler-linux-amd64",
"arm64": "https://github.com/dokku/docker-image-labeler/releases/download/v0.8.0/docker-image-labeler-linux-arm64"
"amd64": "https://github.com/dokku/docker-image-labeler/releases/download/v0.8.1/docker-image-labeler-linux-amd64",
"arm64": "https://github.com/dokku/docker-image-labeler/releases/download/v0.8.1/docker-image-labeler-linux-arm64"
}
},
{
"name": "lambda-builder",
"version": "0.8.0",
"version": "0.9.1",
"urls": {
"amd64": "https://github.com/dokku/lambda-builder/releases/download/v0.8.0/lambda-builder-linux-amd64",
"arm64": "https://github.com/dokku/lambda-builder/releases/download/v0.8.0/lambda-builder-linux-arm64"
"amd64": "https://github.com/dokku/lambda-builder/releases/download/v0.9.1/lambda-builder-linux-amd64",
"arm64": "https://github.com/dokku/lambda-builder/releases/download/v0.9.1/lambda-builder-linux-arm64"
}
},
{
"name": "netrc",
"version": "0.10.0",
"version": "0.10.2",
"urls": {
"amd64": "https://github.com/dokku/netrc/releases/download/v0.10.0/netrc-linux-amd64",
"arm64": "https://github.com/dokku/netrc/releases/download/v0.10.0/netrc-linux-arm64"
"amd64": "https://github.com/dokku/netrc/releases/download/v0.10.2/netrc-linux-amd64",
"arm64": "https://github.com/dokku/netrc/releases/download/v0.10.2/netrc-linux-arm64"
}
},
{
"name": "procfile-util",
"version": "0.19.0",
"version": "0.20.3",
"urls": {
"amd64": "https://github.com/dokku/procfile-util/releases/download/v0.19.0/procfile-util-linux-amd64",
"arm64": "https://github.com/dokku/procfile-util/releases/download/v0.19.0/procfile-util-linux-arm64"
"amd64": "https://github.com/dokku/procfile-util/releases/download/v0.20.3/procfile-util-linux-amd64",
"arm64": "https://github.com/dokku/procfile-util/releases/download/v0.20.3/procfile-util-linux-arm64"
}
},
{
"name": "sshcommand",
"version": "0.19.0",
"version": "0.20.0",
"urls": {
"amd64": "https://github.com/dokku/sshcommand/releases/download/v0.19.0/sshcommand",
"arm64": "https://github.com/dokku/sshcommand/releases/download/v0.19.0/sshcommand"
"amd64": "https://github.com/dokku/sshcommand/releases/download/v0.20.0/sshcommand",
"arm64": "https://github.com/dokku/sshcommand/releases/download/v0.20.0/sshcommand"
}
}
],
"predependencies": [
{
"name": "gliderlabs-sigil",
"version": "0.11.0",
"version": "0.11.4",
"urls": {
"amd64": "https://github.com/gliderlabs/sigil/releases/download/v0.11.0/sigil-linux-amd64",
"arm64": "https://github.com/gliderlabs/sigil/releases/download/v0.11.0/sigil-linux-arm64"
"amd64": "https://github.com/gliderlabs/sigil/releases/download/v0.11.4/sigil-linux-amd64",
"arm64": "https://github.com/gliderlabs/sigil/releases/download/v0.11.4/sigil-linux-arm64"
}
},
{
"name": "plugn",
"version": "0.15.3",
"version": "0.16.0",
"urls": {
"amd64": "https://github.com/dokku/plugn/releases/download/v0.15.3/plugn-linux-amd64",
"arm64": "https://github.com/dokku/plugn/releases/download/v0.15.3/plugn-linux-arm64"
"amd64": "https://github.com/dokku/plugn/releases/download/v0.16.0/plugn-linux-amd64",
"arm64": "https://github.com/dokku/plugn/releases/download/v0.16.0/plugn-linux-arm64"
}
}
],
"recommendations": [
{
"name": "dokku-event-listener",
"version": "0.17.0",
"version": "0.17.2",
"urls": {
"amd64": "https://github.com/dokku/dokku-event-listener/releases/download/v0.17.0/dokku-event-listener-linux-amd64",
"arm64": "https://github.com/dokku/dokku-event-listener/releases/download/v0.17.0/dokku-event-listener-linux-arm64"
"amd64": "https://github.com/dokku/dokku-event-listener/releases/download/v0.17.2/dokku-event-listener-linux-amd64",
"arm64": "https://github.com/dokku/dokku-event-listener/releases/download/v0.17.2/dokku-event-listener-linux-arm64"
}
},
{
"name": "dokku-update",
"version": "0.9.4",
"version": "0.9.6",
"urls": {
"amd64": "https://github.com/dokku/dokku-update/releases/download/v0.9.4/dokku-update",
"arm64": "https://github.com/dokku/dokku-update/releases/download/v0.9.4/dokku-update"
"amd64": "https://github.com/dokku/dokku-update/releases/download/v0.9.6/dokku-update",
"arm64": "https://github.com/dokku/dokku-update/releases/download/v0.9.6/dokku-update"
}
},
{
"name": "herokuish",
"version": "0.10.2",
"version": "0.11.0",
"urls": {
"amd64": "https://github.com/gliderlabs/herokuish/releases/download/v0.10.2/herokuish_0.10.2_linux_x86_64.tgz",
"arm64": "https://github.com/gliderlabs/herokuish/releases/download/v0.10.2/herokuish_0.10.2_linux_x86_64.tgz"
"amd64": "https://github.com/gliderlabs/herokuish/releases/download/v0.11.0/herokuish_0.11.0_linux_x86_64.tgz",
"arm64": "https://github.com/gliderlabs/herokuish/releases/download/v0.11.0/herokuish_0.11.0_linux_x86_64.tgz"
}
}
]

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

@@ -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"
@@ -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

2
debian/control vendored
View File

@@ -1,5 +1,5 @@
Package: dokku
Version: 0.35.16
Version: 0.36.2
Section: web
Priority: optional
Architecture: amd64

View File

@@ -1 +1 @@
dokku ALL=NOPASSWD:SETENV:/usr/bin/docker,/usr/bin/docker-container-healthchecker,/usr/bin/docker-image-labeler,/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/pack

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
FROM python:3.13.2-alpine
FROM python:3.13.7-alpine
WORKDIR /usr/src/app

View File

@@ -1,23 +1,23 @@
beautifulsoup4==4.13.3
beautifulsoup4==4.13.4
click==8.1.8
ghp-import==2.1.0
importlib-metadata==8.6.1
Jinja2==3.1.5
Markdown>=3.2.1,<3.8
importlib-metadata==8.7.0
Jinja2==3.1.6
Markdown>=3.2.1,<3.9
MarkupSafe==3.0.2
mergedeep==1.3.4
mkdocs==1.6.1
mkdocs-exclude==1.0.2
mkdocs-material==9.6.7
mkdocs-material==9.6.17
mkdocs-material-extensions==1.3.1
packaging==24.2
Pygments==2.19.1
pymdown-extensions==10.14.3
pyparsing==3.2.1
packaging==25.0
Pygments==2.19.2
pymdown-extensions==10.16.1
pyparsing==3.2.3
python-dateutil==2.9.0.post0
PyYAML==6.0.2
pyyaml_env_tag==0.1
pyyaml_env_tag==1.1
six==1.17.0
soupsieve==2.6
soupsieve==2.7
watchdog==6.0.0
zipp==3.21.0
zipp==3.23.0

View File

@@ -74,8 +74,8 @@ By default, permissions are set for usage with Herokuish buildpacks. These permi
- This is used for apps deployed with Buildpacks via Herokuish.
- `--chown heroku`: Use `1000:1000` as the folder permissions.
- This is used for apps deployed with Cloud Native Buildpacks using the `heroku/builder` builder.
- `--chown packeto`: Use `2000:2000` as the folder permissions.
- This is used for apps deployed with Cloud Native Buildpacks using the `cloudfoundry/cnb` or `packeto` builders.
- `--chown paketo`: Use `2000:2000` as the folder permissions.
- This is used for apps deployed with Cloud Native Buildpacks using the `cloudfoundry/cnb` or `paketo` builders.
- `--chown root`: Use `0:0` as the folder permissions.
- This is used for containers that run their processes as root, as is typical for most Dockerfile or Docker image deploys.
- `--chown false`: Skips the `chown` call.

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] # 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.16 enabled dokku core standard plugin
20_events 0.35.16 enabled dokku core events logging plugin
app-json 0.35.16 enabled dokku core app-json plugin
apps 0.35.16 enabled dokku core apps plugin
build-env 0.35.16 enabled dokku core build-env plugin
buildpacks 0.35.16 enabled dokku core buildpacks plugin
certs 0.35.16 enabled dokku core certificate management plugin
checks 0.35.16 enabled dokku core checks plugin
common 0.35.16 enabled dokku core common plugin
config 0.35.16 enabled dokku core config plugin
docker-options 0.35.16 enabled dokku core docker-options plugin
domains 0.35.16 enabled dokku core domains plugin
enter 0.35.16 enabled dokku core enter plugin
git 0.35.16 enabled dokku core git plugin
logs 0.35.16 enabled dokku core logs plugin
network 0.35.16 enabled dokku core network plugin
nginx-vhosts 0.35.16 enabled dokku core nginx-vhosts plugin
plugin 0.35.16 enabled dokku core plugin plugin
proxy 0.35.16 enabled dokku core proxy plugin
ps 0.35.16 enabled dokku core ps plugin
repo 0.35.16 enabled dokku core repo plugin
resource 0.35.16 enabled dokku core resource plugin
scheduler-docker-local 0.35.16 enabled dokku core scheduler-docker-local plugin
shell 0.35.16 enabled dokku core shell plugin
ssh-keys 0.35.16 enabled dokku core ssh-keys plugin
storage 0.35.16 enabled dokku core storage plugin
tags 0.35.16 enabled dokku core tags plugin
tar 0.35.16 enabled dokku core tar plugin
trace 0.35.16 enabled dokku core trace plugin
00_dokku-standard 0.36.2 enabled dokku core standard plugin
20_events 0.36.2 enabled dokku core events logging plugin
app-json 0.36.2 enabled dokku core app-json plugin
apps 0.36.2 enabled dokku core apps plugin
build-env 0.36.2 enabled dokku core build-env plugin
buildpacks 0.36.2 enabled dokku core buildpacks plugin
certs 0.36.2 enabled dokku core certificate management plugin
checks 0.36.2 enabled dokku core checks plugin
common 0.36.2 enabled dokku core common plugin
config 0.36.2 enabled dokku core config plugin
docker-options 0.36.2 enabled dokku core docker-options plugin
domains 0.36.2 enabled dokku core domains plugin
enter 0.36.2 enabled dokku core enter plugin
git 0.36.2 enabled dokku core git plugin
logs 0.36.2 enabled dokku core logs plugin
network 0.36.2 enabled dokku core network plugin
nginx-vhosts 0.36.2 enabled dokku core nginx-vhosts plugin
plugin 0.36.2 enabled dokku core plugin plugin
proxy 0.36.2 enabled dokku core proxy plugin
ps 0.36.2 enabled dokku core ps plugin
repo 0.36.2 enabled dokku core repo plugin
resource 0.36.2 enabled dokku core resource plugin
scheduler-docker-local 0.36.2 enabled dokku core scheduler-docker-local plugin
shell 0.36.2 enabled dokku core shell plugin
ssh-keys 0.36.2 enabled dokku core ssh-keys plugin
storage 0.36.2 enabled dokku core storage plugin
tags 0.36.2 enabled dokku core tags plugin
tar 0.36.2 enabled dokku core tar plugin
trace 0.36.2 enabled dokku core trace plugin
```
> [!WARNING]

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

@@ -9,7 +9,7 @@
```json
{
"crons": [
"cron": [
{
"command": "echo 'hello'",
"schedule": "0 1 * * *"

View File

@@ -2,10 +2,10 @@
<browserconfig>
<msapplication>
<tile>
<square70x70logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.16/docs/assets/favicons/mstile-70x70.png"/>
<square150x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.16/docs/assets/favicons/mstile-150x150.png"/>
<square310x310logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.16/docs/assets/favicons/mstile-310x310.png"/>
<wide310x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.16/docs/assets/favicons/mstile-310x150.png"/>
<square70x70logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.2/docs/assets/favicons/mstile-70x70.png"/>
<square150x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.2/docs/assets/favicons/mstile-150x150.png"/>
<square310x310logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.2/docs/assets/favicons/mstile-310x310.png"/>
<wide310x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.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.16\/docs\/assets\/favicons\/android-chrome-36x36.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.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.16\/docs\/assets\/favicons\/android-chrome-48x48.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.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.16\/docs\/assets\/favicons\/android-chrome-72x72.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.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.16\/docs\/assets\/favicons\/android-chrome-96x96.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.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.16\/docs\/assets\/favicons\/android-chrome-144x144.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.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.16\/docs\/assets\/favicons\/android-chrome-192x192.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.36.2\/docs\/assets\/favicons\/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image\/png",
"density": "4.0"

View File

@@ -32,6 +32,7 @@
"0.32.4",
"0.33.9",
"0.34.9",
"0.35.16"
"0.35.20",
"0.36.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
```
@@ -33,7 +34,7 @@ If an FQDN such as `dokku.org` is used as the application name, the global virtu
You can optionally override this in a plugin by implementing the `nginx-hostname` plugin trigger. If the `nginx-hostname` plugin has no output, the normal hostname algorithm will be executed. See the [plugin trigger documentation](/docs/development/plugin-triggers.md#nginx-hostname) for more information.
## Disabling VHOSTS
## Enabling and disabling VHOSTS
If desired, it is possible to disable vhosts with the domains plugin.
@@ -41,8 +42,21 @@ If desired, it is possible to disable vhosts with the domains plugin.
dokku domains:disable node-js-app
```
Vhosts can also be disabled for all apps:
```shell
dokku domains:disable --all
```
On subsequent deploys, the nginx virtualhost will be discarded. This is useful when deploying internal-facing services that should not be publicly routeable. As of 0.4.0, nginx will still be configured to proxy your app on some random high port. This allows internal services to maintain the same port between deployments. You may change this port by setting `DOKKU_PROXY_PORT` and/or `DOKKU_PROXY_SSL_PORT` (for services configured to use SSL.)
To re-enable, run the `domains:enable` subcommand:
```shell
dokku domains:enable node-js-app
dokku domains:enable --all
```
The domains plugin allows you to specify custom domains for applications. This plugin is aware of any ssl certificates that are imported via `certs:add`. Be aware that disabling domains (with `domains:disable`) will override any custom domains.
```shell
@@ -62,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

@@ -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,9 +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 |

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

@@ -134,110 +134,43 @@ When attaching an worker or server node, the K3s plugin will look at the IP asso
dokku scheduler-k3s:set --global network-interface eth1
```
### Changing deploy timeouts
### Changing deployment settings
By default, app deploys will timeout after 300s. To customize this value, set the `deploy-timeout` property via `scheduler-k3s:set`:
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:
| 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` |
| `shm-size` | Default shared memory size for pods | Kubernetes default |
All settings can be set via the `scheduler-k3s:set` command. Using `deploy-timeout` as an example:
```shell
dokku scheduler-k3s:set node-js-app deploy-timeout 60s
```
The default value may be set by passing an empty value for the option:
The default value may be set by passing an empty value for the option in question:
```shell
dokku scheduler-k3s:set node-js-app deploy-timeout
```
The `deploy-timeout` property can also be set globally. The global default is `300s`.
Properties can also be set globally. If not set for an app, the global value will apply.
```shell
dokku scheduler-k3s:set --global deploy-timeout 60s
```
The default value may be set by passing an empty value for the option.
The global default value may be set by passing an empty value for the option.
```shell
dokku scheduler-k3s:set --global deploy-timeout
```
### Customizing the namespace
By default, app deploys will run against the `default` Kubernetes namespace. To customize this value, set the `namespace` property via `scheduler-k3s:set`:
```shell
dokku scheduler-k3s:set node-js-app namespace lollipop
```
The default value may be set by passing an empty value for the option:
```shell
dokku scheduler-k3s:set node-js-app namespace
```
The `namespace` property can also be set globally. The global default is `default`.
```shell
dokku scheduler-k3s:set --global namespace 60s
```
The default value may be set by passing an empty value for the option.
```shell
dokku scheduler-k3s:set --global namespace
```
### Enabling rollback on failure
By default, app deploys do not rollback on failure. To enable this functionality, set the `rollback-on-failure` property via `scheduler-k3s:set`:
```shell
dokku scheduler-k3s:set node-js-app rollback-on-failure true
```
The default value may be set by passing an empty value for the option:
```shell
dokku scheduler-k3s:set node-js-app rollback-on-failure
```
The `rollback-on-failure` property can also be set globally. The global default is `false`.
```shell
dokku scheduler-k3s:set --global rollback-on-failure false
```
The default value may be set by passing an empty value for the option.
```shell
dokku scheduler-k3s:set --global rollback-on-failure
```
### Using image pull secrets
When authenticating against a registry via `registry:login`, the scheduler-k3s plugin will authenticate all servers in the cluster against the registry specified. If desired, an image pull secret can be used instead. To customize this value, set the `image-pull-secrets` property via `scheduler-k3s:set`:
```shell
dokku scheduler-k3s:set node-js-app image-pull-secrets lollipop
```
The default value may be set by passing an empty value for the option:
```shell
dokku scheduler-k3s:set node-js-app image-pull-secrets
```
The `image-pull-secrets` property can also be set globally. The global default is empty string, and k3s will use Dokku's locally configured `~/.docker/config.json` for any private registry pulls.
```shell
dokku scheduler-k3s:set --global image-pull-secrets 60s
```
The default value may be set by passing an empty value for the option.
```shell
dokku scheduler-k3s:set --global image-pull-secrets
```
### SSL Certificates
#### Enabling letsencrypt integration
@@ -433,7 +366,6 @@ dokku scheduler-k3s:ensure-charts
Once the chart is configured, an `http` trigger can be specified like so:
```json
{
"formation": {
@@ -529,6 +461,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]
@@ -583,7 +539,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
@@ -599,7 +554,7 @@ dokku scheduler-k3s:ensure-charts --force
Alternatively, a comma separated list of chart names can be specified to only force install the specified charts:
```shell
dokku scheduler-k3s:ensure-charts --force --chart-names cert-manager
dokku scheduler-k3s:ensure-charts --charts cert-manager
```
## Scheduler Interface
@@ -643,7 +598,19 @@ The following Dokku functionality is not implemented at this time.
### Logging support
App logs for the `logs` command are fetched by Dokku from running containers via the `kubectl` cli. Persisting logs via Vector is not implemented at this time. Users may choose to configure the Vector Kubernetes integration directly by following [this guide](https://vector.dev/docs/setup/installation/platforms/kubernetes/).
App logs for the `logs` command are fetched by Dokku from running containers via the Kubernetes api. While the `k3s` scheduler does not integrate with the `logs:vector-*` subcommands, it does respect the global `vector-sink` logs property. When that property is set, the `scheduler-k3s:ensure-charts` command can be utilized to reconfigure vector to ship kubernetes logs to the provided sink.
To setup log shipping, configure the global `vector-sink` property for the `logs` plugin.. Note that this can be run before _or_ after the `scheduler-k3s:ensure-charts` command - if run before, the `scheduler-k3s:ensure-charts` subcommand will pick up the value.
```shell
dokku logs:set --global vector-sink "console://?encoding[codec]=json"
```
Next, run the `scheduler-k3s:ensure-charts` command with the `vector` chart to force the `k3s` scheduler to reconfigure vector with the specified sink:
```shell
dokku scheduler-k3s:ensure-charts --charts vector
```
### 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)
@@ -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:
@@ -2051,7 +2050,9 @@ CMD="cat > gm && \
dpkg -s graphicsmagick &>/dev/null || \
(apt-get update -qq && apt-get -qq -y --no-install-recommends install graphicsmagick && apt-get clean)"
CID=$(docker run $DOKKU_GLOBAL_RUN_ARGS -i -a stdin $IMAGE /bin/bash -c "$CMD")
CID_FILE=/tmp/cid-file
docker run $DOKKU_GLOBAL_RUN_ARGS -i -a stdin --cidfile /tmp/cid-file "$IMAGE" /bin/bash -c "$CMD"
CID="$(cat "$CID_FILE")"
test $(docker wait $CID) -eq 0
DOCKER_COMMIT_LABEL_ARGS=("--change" "LABEL org.label-schema.schema-version=1.0" "--change" "LABEL org.label-schema.vendor=dokku" "--change" "LABEL com.dokku.app-name=$APP")
docker commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" $CID $IMAGE >/dev/null
@@ -2443,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 entries. 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]
@@ -2588,6 +2609,7 @@ DOKKU_SCHEDULER="$1"; APP="$2";
> [!WARNING]
> The scheduler plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
- Description: Allows you to run scheduler commands when retrieving failed container logs
- Invoked by: `dokku nginx:access-logs` and `dokku nginx:error-logs`
- Arguments: `$DOKKU_SCHEDULER $APP $PROXY_TYPE $LOG_TYPE $TAIL $NUM_LINES`

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.16-2 (Mon Feb 22 23:20:37 CET 2016)"
# wait for "==> build-arch: ==> Finished making: dokku 0.36.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.16
docker pull dokku/dokku:0.36.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.16
dokku/dokku:0.36.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.16
image: dokku/dokku:0.36.2
container_name: dokku
network_mode: bridge
ports:
@@ -83,7 +83,7 @@ redis: https://github.com/dokku/dokku-redis.git
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.
```Dockerfile
FROM dokku/dokku:0.35.16
FROM dokku/dokku:0.36.2
RUN dokku plugin:install https://github.com/dokku/dokku-postgres.git postgres
RUN dokku plugin:install https://github.com/dokku/dokku-redis.git redis
```

View File

@@ -9,7 +9,7 @@ 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)
- [Ubuntu 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
@@ -37,8 +37,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.16/bootstrap.sh
sudo DOKKU_TAG=v0.35.16 bash bootstrap.sh
wget -NP . https://dokku.com/install/v0.36.2/bootstrap.sh
sudo DOKKU_TAG=v0.36.2 bash bootstrap.sh
```
The installation process takes about 5-10 minutes, depending upon internet connection speed.

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.16/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.16/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.16/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.16/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.16/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.16/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.16/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.16/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.16/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.16/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.16/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.16/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.16/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.16/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.16/docs/assets/favicons/favicon.ico">
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.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.36.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.36.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.36.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.36.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.36.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.36.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.36.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.36.2/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.2/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.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.36.2/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.2/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.2/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.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.16/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.16/docs/assets/favicons/browserconfig.xml">
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.2/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.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.16/docs/assets/style.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.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.16</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.36.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.16 bash bootstrap.sh</span>
<span class="command">sudo DOKKU_TAG=v0.36.2 bash bootstrap.sh</span>
</p>
<br>

View File

@@ -117,6 +117,16 @@ dokku caddy:set --global log-level DEBUG
After modifying, the Caddy container will need to be restarted.
### Changing the label key for the app
The default label key for the app is `caddy`. This can be changed by setting the `label-key` property:
```shell
dokku caddy:set node-js-app label-key caddy_0
```
This will update the app's label key to `caddy_0`. The label key is used to identify the app in the Caddy configuration. If you change the label key, you will need to restart or rebuild the app to apply the updates.
### SSL Configuration
The caddy 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 |
@@ -487,7 +488,7 @@ See the [customizing hostnames documentation](/docs/configuration/domains.md#cus
### Disabling VHOSTS
See the [disabling vhosts documentation](/docs/configuration/domains.md#disabling-vhosts) for more information on how to disable domain usage for your app.
See the [enabling and disabling vhosts documentation](/docs/configuration/domains.md#enabling-and-disabling-vhosts) for more information on how to disable domain usage for your app.
### SSL Configuration

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

@@ -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

@@ -53,39 +53,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

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.16/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.16/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.16/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.16/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.16/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.16/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.16/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.16/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.16/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.16/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.16/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.16/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.16/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.16/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.16/docs/assets/favicons/favicon.ico">
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.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.36.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.36.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.36.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.36.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.36.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.36.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.36.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.36.2/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.2/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.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.36.2/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.2/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.2/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.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.16/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.35.16/docs/assets/favicons/browserconfig.xml">
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.2/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.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.16/docs/assets/style.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.36.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>
@@ -215,6 +215,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>

View File

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

View File

@@ -2,8 +2,10 @@
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
if [[ ! -f "$DOKKU_ROOT/VHOST" ]]; then
[[ $(dig +short "$(hostname -f)") ]] && hostname -f >"$DOKKU_ROOT/VHOST"
if [[ ! -f "$DOKKU_ROOT/VHOST" ]] && [[ -n "$(dig +short "$(hostname -f)")" ]]; then
if [[ -d "$DOKKU_ROOT" ]] || [[ -L "$DOKKU_ROOT" ]]; then
hostname -f >"$DOKKU_ROOT/VHOST"
fi
fi
dokku_path="$(command -v dokku)"

View File

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

View File

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

View File

@@ -200,21 +200,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 +244,22 @@ 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
}
var appJSON AppJSON
if err = json.Unmarshal(b, &appJSON); err != nil {
return AppJSON{}, fmt.Errorf("Cannot parse app.json: %v", err)
}
return appJSON, nil
}

View File

@@ -1,11 +1,11 @@
module github.com/dokku/dokku/plugins/app-json
go 1.23.0
go 1.24.5
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.7
k8s.io/utils v0.0.0-20240102154912-e7106e64919e
)
@@ -23,9 +23,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.35.0 // indirect
golang.org/x/sync v0.12.0 // indirect
golang.org/x/sys v0.30.0 // indirect
golang.org/x/crypto v0.41.0 // indirect
golang.org/x/sync v0.16.0 // indirect
golang.org/x/sys v0.35.0 // indirect
)
replace github.com/dokku/dokku/plugins/common => ../common

View File

@@ -5,8 +5,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
@@ -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.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
github.com/onsi/gomega v1.38.0 h1:c/WX+w8SLAinvuKKQFh77WEucCnPk4j2OTUr7lt7BeY=
github.com/onsi/gomega v1.38.0/go.mod h1:OcXcwId0b9QsE7Y49u+BTrL4IdKOBOKnD6VQNTJEB6o=
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,8 +36,8 @@ 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.7 h1:vN6T9TfwStFPFM5XzjsvmzZkLuaLX+HS+0SeFLRgU6M=
github.com/spf13/pflag v1.0.7/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=
@@ -46,20 +46,20 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
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.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs=
golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ=
golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4=
golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc=
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.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
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.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
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 +70,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.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
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.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4=
golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw=
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.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
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.16"
version = "0.36.2"
[plugin.config]

View File

@@ -1,10 +1,9 @@
package appjson
import (
"errors"
"fmt"
"os"
"path"
"path/filepath"
"strings"
"github.com/dokku/dokku/plugins/common"
@@ -58,90 +57,70 @@ func TriggerAppJSONGetContent(appName string) error {
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.24.5
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.7
)
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.35.0 // indirect
golang.org/x/sync v0.12.0 // indirect
golang.org/x/sys v0.30.0 // indirect
golang.org/x/crypto v0.41.0 // indirect
golang.org/x/sync v0.16.0 // indirect
golang.org/x/sys v0.35.0 // indirect
)
replace github.com/dokku/dokku/plugins/common => ../common

View File

@@ -4,8 +4,8 @@ github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
@@ -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.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
github.com/onsi/gomega v1.38.0 h1:c/WX+w8SLAinvuKKQFh77WEucCnPk4j2OTUr7lt7BeY=
github.com/onsi/gomega v1.38.0/go.mod h1:OcXcwId0b9QsE7Y49u+BTrL4IdKOBOKnD6VQNTJEB6o=
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,8 +33,8 @@ 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.7 h1:vN6T9TfwStFPFM5XzjsvmzZkLuaLX+HS+0SeFLRgU6M=
github.com/spf13/pflag v1.0.7/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=
@@ -43,20 +43,20 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
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.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs=
golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ=
golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4=
golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc=
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.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
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.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
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 +67,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.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
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.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4=
golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw=
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.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
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.16"
version = "0.36.2"
[plugin.config]

View File

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

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.16"
version = "0.36.2"
[plugin.config]

View File

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

View File

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

View File

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

View File

@@ -37,7 +37,35 @@ trigger-builder-pack-builder-build() {
fi
plugn trigger pre-build "$BUILDER_TYPE" "$APP" "$SOURCECODE_WORK_DIR"
pack build "$IMAGE" --builder "$DOKKU_CNB_BUILDER" --path "$SOURCECODE_WORK_DIR" --default-process web "${ENV_ARGS[@]}"
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")
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
;;
--volume | -v)
PACK_ARGS+=("--volume")
PACK_ARGS+=("$2")
shift 2
;;
*)
break
;;
esac
done
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"
# ensure we have a port mapping

View File

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

View File

@@ -1,5 +1,5 @@
SUBCOMMANDS = subcommands/report subcommands/set
TRIGGERS = triggers/builder-detect triggers/builder-get-property triggers/builder-image-is-cnb triggers/builder-image-is-herokuish triggers/core-post-extract triggers/install triggers/post-app-clone-setup triggers/post-app-rename-setup triggers/post-delete triggers/report
TRIGGERS = triggers/builder-detect triggers/builder-get-property triggers/builder-image-is-cnb triggers/builder-image-is-herokuish triggers/builder-set-property triggers/core-post-extract triggers/install triggers/post-app-clone-setup triggers/post-app-rename-setup triggers/post-delete triggers/report
BUILD = commands subcommands triggers
PLUGIN_NAME = builder

View File

@@ -4,6 +4,7 @@ var (
// DefaultProperties is a map of all valid builder properties with corresponding default property values
DefaultProperties = map[string]string{
"selected": "",
"detected": "",
"build-dir": "",
}

View File

@@ -1,10 +1,10 @@
module github.com/dokku/dokku/plugins/builder
go 1.23.0
go 1.24.5
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.7
)
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.35.0 // indirect
golang.org/x/sync v0.12.0 // indirect
golang.org/x/sys v0.30.0 // indirect
golang.org/x/crypto v0.41.0 // indirect
golang.org/x/sync v0.16.0 // indirect
golang.org/x/sys v0.35.0 // indirect
)
replace github.com/dokku/dokku/plugins/common => ../common

View File

@@ -4,8 +4,8 @@ github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
@@ -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.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
github.com/onsi/gomega v1.38.0 h1:c/WX+w8SLAinvuKKQFh77WEucCnPk4j2OTUr7lt7BeY=
github.com/onsi/gomega v1.38.0/go.mod h1:OcXcwId0b9QsE7Y49u+BTrL4IdKOBOKnD6VQNTJEB6o=
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,8 +33,8 @@ 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.7 h1:vN6T9TfwStFPFM5XzjsvmzZkLuaLX+HS+0SeFLRgU6M=
github.com/spf13/pflag v1.0.7/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=
@@ -43,20 +43,20 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
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.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs=
golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ=
golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4=
golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc=
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.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
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.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
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 +67,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.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
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.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4=
golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw=
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.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
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 builder plugin"
version = "0.35.16"
version = "0.36.2"
[plugin.config]

View File

@@ -14,6 +14,7 @@ func ReportSingleApp(appName string, format string, infoFlag string) error {
"--builder-computed-selected": reportComputedSelected,
"--builder-global-selected": reportGlobalSelected,
"--builder-selected": reportSelected,
"--builder-detected": reportDetected,
"--builder-computed-build-dir": reportComputedBuildDir,
"--builder-global-build-dir": reportGlobalBuildDir,
"--builder-build-dir": reportBuildDir,
@@ -43,6 +44,10 @@ func reportGlobalSelected(appName string) string {
return common.PropertyGet("builder", "--global", "selected")
}
func reportDetected(appName string) string {
return common.PropertyGet("builder", appName, "detected")
}
func reportSelected(appName string) string {
return common.PropertyGet("builder", appName, "selected")
}

View File

@@ -33,6 +33,11 @@ func main() {
appName := flag.Arg(0)
image := flag.Arg(1)
err = builder.TriggerBuilderImageIsHerokuish(appName, image)
case "builder-set-property":
appName := flag.Arg(0)
property := flag.Arg(1)
value := flag.Arg(2)
err = builder.TriggerBuilderSetProperty(appName, property, value)
case "core-post-extract":
appName := flag.Arg(0)
sourceWorkDir := flag.Arg(1)

View File

@@ -30,6 +30,11 @@ func CommandReport(appName string, format string, infoFlag string) error {
// CommandSet set or clear a builder property for an app
func CommandSet(appName string, property string, value string) error {
if property == "detected" {
common.LogWarn("detected is a read-only property")
return nil
}
common.CommandPropertySet("builder", appName, property, value, DefaultProperties, GlobalProperties)
return nil
}

View File

@@ -27,14 +27,23 @@ func TriggerBuilderDetect(appName string) error {
// TriggerBuilderGetProperty writes the builder key to stdout for a given app container
func TriggerBuilderGetProperty(appName string, key string) error {
if key != "selected" && key != "build-dir" {
return errors.New("Invalid logs property specified")
if _, ok := DefaultProperties[key]; !ok {
return errors.New("Invalid builder property specified")
}
fmt.Println(common.PropertyGet("builder", appName, key))
return nil
}
// TriggerBuilderSetProperty writes the builder key to stdout for a given app container
func TriggerBuilderSetProperty(appName string, key string, value string) error {
if _, ok := DefaultProperties[key]; !ok {
return errors.New("Invalid builder property specified")
}
return common.PropertyWrite("builder", appName, key, value)
}
// TriggerBuilderImageIsCNB prints true if an image is cnb based, false otherwise
func TriggerBuilderImageIsCNB(appName string, image string) error {
if common.IsImageCnbBased(image) {
@@ -99,7 +108,30 @@ func TriggerInstall() error {
return fmt.Errorf("Unable to install the builder plugin: %s", err.Error())
}
_, err := common.CallPlugnTrigger(common.PlugnTriggerInput{
apps, err := common.UnfilteredDokkuApps()
if err != nil {
return nil
}
for _, appName := range apps {
if common.PropertyExists("builder", appName, "detected") {
continue
}
results, err := common.CallPlugnTrigger(common.PlugnTriggerInput{
Trigger: "config-get",
Args: []string{appName, "DOKKU_APP_TYPE"},
})
if err != nil {
return err
}
if results.StdoutContents() != "" {
common.PropertyWrite("builder", appName, "detected", results.StdoutContents())
}
}
_, err = common.CallPlugnTrigger(common.PlugnTriggerInput{
Trigger: "install-builder-prune",
})

View File

@@ -1,10 +1,10 @@
module github.com/dokku/dokku/plugins/buildpacks
go 1.23.0
go 1.24.5
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.7
)
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.35.0 // indirect
golang.org/x/sync v0.12.0 // indirect
golang.org/x/sys v0.30.0 // indirect
golang.org/x/crypto v0.41.0 // indirect
golang.org/x/sync v0.16.0 // indirect
golang.org/x/sys v0.35.0 // indirect
)
replace github.com/dokku/dokku/plugins/common => ../common

View File

@@ -4,8 +4,8 @@ github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
@@ -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.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
github.com/onsi/gomega v1.38.0 h1:c/WX+w8SLAinvuKKQFh77WEucCnPk4j2OTUr7lt7BeY=
github.com/onsi/gomega v1.38.0/go.mod h1:OcXcwId0b9QsE7Y49u+BTrL4IdKOBOKnD6VQNTJEB6o=
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,8 +33,8 @@ 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.7 h1:vN6T9TfwStFPFM5XzjsvmzZkLuaLX+HS+0SeFLRgU6M=
github.com/spf13/pflag v1.0.7/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=
@@ -43,20 +43,20 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
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.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs=
golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ=
golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4=
golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc=
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.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
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.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
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 +67,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.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
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.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4=
golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw=
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.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
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 buildpacks plugin"
version = "0.35.16"
version = "0.36.2"
[plugin.config]

View File

@@ -162,7 +162,7 @@ func CommandSetProperty(appName string, property string, value string) error {
}
apps, err := common.DokkuApps()
if err != nil {
if err != nil && !errors.Is(err, common.NoAppsExist) {
return err
}
for _, app := range apps {

View File

@@ -1 +1 @@
FROM lucaslorentz/caddy-docker-proxy:2.9
FROM lucaslorentz/caddy-docker-proxy:2.10

View File

@@ -133,7 +133,9 @@ cmd-caddy-start() {
fn-plugin-property-write "caddy" "--global" "proxy-status" "started"
fn-caddy-template-compose-file "$TMP_COMPOSE_FILE"
"$DOCKER_BIN" compose -f "$TMP_COMPOSE_FILE" -p caddy up -d --quiet-pull
if ! "$PLUGIN_CORE_AVAILABLE_PATH/common/common" compose-up "caddy" "$TMP_COMPOSE_FILE"; then
return 1
fi
}
cmd-caddy-stop() {
@@ -150,5 +152,7 @@ cmd-caddy-stop() {
fn-plugin-property-write "caddy" "--global" "proxy-status" "stopped"
fn-caddy-template-compose-file "$TMP_COMPOSE_FILE"
"$DOCKER_BIN" compose -f "$TMP_COMPOSE_FILE" -p caddy down --remove-orphans
if ! "$PLUGIN_CORE_AVAILABLE_PATH/common/common" compose-down "caddy" "$TMP_COMPOSE_FILE"; then
return 1
fi
}

View File

@@ -8,7 +8,7 @@ trigger-caddy-vhosts-docker-args-process-deploy() {
declare desc="nginx-vhosts core-post-deploy plugin trigger"
declare trigger="docker-args-process-deploy"
declare APP="$1" IMAGE_SOURCE_TYPE="$2" IMAGE_TAG="$3" PROC_TYPE="$4" CONTAINER_INDEX="$5"
local app_domains caddy_domains is_app_listening letsencrypt_email output proxy_container_port proxy_host_port port_map proxy_scheme proxy_schemes scheme tls_internal
local app_domains caddy_domains is_app_listening letsencrypt_email output proxy_container_port proxy_host_port port_map proxy_scheme proxy_schemes scheme tls_internal label_key
local proxy_container_http_port proxy_container_http_port_candidate proxy_host_http_port_candidate
local proxy_container_https_port proxy_container_https_port_candidate proxy_host_https_port_candidate
local STDIN=$(cat)
@@ -88,13 +88,14 @@ trigger-caddy-vhosts-docker-args-process-deploy() {
if [[ -n "$is_app_listening" ]] && [[ -n "$caddy_domains" ]]; then
has_443_mapping=false
tls_internal="$(fn-caddy-tls-internal)"
label_key="$(fn-caddy-label-key "$APP")"
if [[ -n "$proxy_container_https_port" ]] || [[ -n "$proxy_container_https_port_candidate" ]]; then
has_443_mapping=true
fi
ssl_warning_mapping="https:443"
if [[ "$tls_internal" == "true" ]]; then
output="--label caddy.tls=internal"
output="--label ${label_key}.tls=internal"
if [[ "$has_443_mapping" == "false" ]]; then
ssl_warning_mapping="http:80"
proxy_host_https_port_candidate="$proxy_host_http_port_candidate"
@@ -105,7 +106,7 @@ trigger-caddy-vhosts-docker-args-process-deploy() {
scheme="http"
if [[ -n "$letsencrypt_email" ]] && [[ "$has_443_mapping" == "true" ]]; then
output="--label 'caddy=${caddy_domains}'"
output="--label '${label_key}=${caddy_domains}'"
scheme="https"
if [[ -z "$proxy_container_https_port" ]]; then
warning_scheme="$(awk -F ':' '{ print $1 }' <<<"$ssl_warning_mapping")"
@@ -114,17 +115,17 @@ trigger-caddy-vhosts-docker-args-process-deploy() {
proxy_container_https_port="$proxy_container_https_port_candidate"
fi
output="$output --label \"caddy.reverse_proxy={{ upstreams $proxy_container_https_port }}\""
output="$output --label \"${label_key}.reverse_proxy={{ upstreams $proxy_container_https_port }}\""
elif [[ -n "$proxy_container_http_port" ]] || [[ -n "$proxy_container_http_port_candidate" ]]; then
caddy_domains="${caddy_domains//, /:80, }"
output="--label 'caddy=${caddy_domains}:80'"
output="--label '${label_key}=${caddy_domains}:80'"
if [[ -z "$proxy_container_http_port" ]]; then
dokku_log_warn "Warning: http:80 port mapping not found"
dokku_log_warn "Utilizing first http port mapping, http:$proxy_host_http_port_candidate:$proxy_container_http_port_candidate"
proxy_container_http_port="$proxy_container_http_port_candidate"
fi
output="$output --label \"caddy.reverse_proxy={{ upstreams $proxy_container_http_port }}\""
output="$output --label \"${label_key}.reverse_proxy={{ upstreams $proxy_container_http_port }}\""
fi
fi

View File

@@ -71,3 +71,8 @@ fn-caddy-tls-internal() {
declare APP="$1"
fn-plugin-property-get-default "caddy" "$APP" "tls-internal" "false"
}
fn-caddy-label-key() {
declare APP="$1"
fn-plugin-property-get-default "caddy" "$APP" "label-key" "caddy"
}

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core caddy-vhosts plugin"
version = "0.35.16"
version = "0.36.2"
[plugin.config]

View File

@@ -9,13 +9,13 @@ cmd-caddy-set() {
declare cmd="caddy:set"
[[ "$1" == "$cmd" ]] && shift 1
declare APP="$1" KEY="$2" VALUE="$3"
local VALID_KEYS=("image" "letsencrypt-email" "letsencrypt-server" "log-level" "polling-interval" "tls-internal")
local VALID_KEYS=("image" "letsencrypt-email" "letsencrypt-server" "log-level" "polling-interval" "label-key" "tls-internal")
local GLOBAL_KEYS=("image" "letsencrypt-email" "letsencrypt-server" "log-level" "polling-interval")
[[ -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: image letsencrypt-email letsencrypt-server log-level polling-interval tls-internal"
dokku_log_fail "Invalid key specified, valid keys include: image letsencrypt-email letsencrypt-server log-level polling-interval label-key tls-internal"
fi
if ! fn-in-array "$KEY" "${GLOBAL_KEYS[@]}"; then

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core certificate management plugin"
version = "0.35.16"
version = "0.36.2"
[plugin.config]

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core checks plugin"
version = "0.35.16"
version = "0.36.2"
[plugin.config]

View File

@@ -14,6 +14,7 @@ import (
"strings"
"unicode"
"github.com/otiai10/copy"
"github.com/ryanuber/columnize"
"golang.org/x/sync/errgroup"
)
@@ -74,6 +75,298 @@ func CommandUsage(helpHeader string, helpContent string) {
fmt.Println(columnize.Format(content, config))
}
// CorePostDeployPath is a file or directory that was extracted
type CorePostDeployPath struct {
// IsDirectory is whether the source is a directory
IsDirectory bool
// Path is the name of the file or directory
Path string
}
// CorePostDeployInput is the input for the CorePostDeploy function
type CorePostDeployInput struct {
// AppName is the name of the app
AppName string
// Destination is the destination directory
Destination string
// PluginName is the name of the plugin that is deploying the file or directory
PluginName string
// ExtractedPaths is the list of paths that were extracted
ExtractedPaths []CorePostDeployPath
}
// CorePostDeploy moves extracted paths to the destination directory
// and removes any existing files or directories that were not extracted
//
// CorePostDeploy(CorePostDeployInput{
// AppName: "my-app",
// Destination: "/var/lib/dokku/data/my-app",
// ExtractedPaths: []CorePostDeployPath{
// {Name: "app.json", IsDirectory: false},
// {Name: "kustomization", IsDirectory: true},
// },
// })
func CorePostDeploy(input CorePostDeployInput) error {
if input.PluginName == "" {
return fmt.Errorf("Missing required PluginName in CorePostDeploy")
}
if input.AppName == "" {
return fmt.Errorf("Missing required AppName in CorePostDeploy for plugin %v", input.PluginName)
}
if input.Destination == "" {
return fmt.Errorf("Missing required Destination in CorePostDeploy for plugin %v", input.PluginName)
}
for i, extractedPath := range input.ExtractedPaths {
if extractedPath.Path == "" {
return fmt.Errorf("Missing required Name in CorePostDeploy for index %v for plugin %v", i, input.PluginName)
}
existingPath := filepath.Join(input.Destination, extractedPath.Path)
processSpecificPath := fmt.Sprintf("%s.%s", existingPath, os.Getenv("DOKKU_PID"))
if extractedPath.IsDirectory {
if DirectoryExists(processSpecificPath) {
if err := os.RemoveAll(existingPath); err != nil {
return err
}
if err := os.Rename(processSpecificPath, existingPath); err != nil {
return err
}
} else if DirectoryExists(fmt.Sprintf("%s.missing", processSpecificPath)) {
if err := os.RemoveAll(fmt.Sprintf("%s.missing", processSpecificPath)); err != nil {
return err
}
if DirectoryExists(existingPath) {
if err := os.RemoveAll(existingPath); err != nil {
return err
}
}
}
} else {
if FileExists(processSpecificPath) {
if err := os.Rename(processSpecificPath, existingPath); err != nil {
return err
}
} else if FileExists(fmt.Sprintf("%s.missing", processSpecificPath)) {
if err := os.Remove(fmt.Sprintf("%s.missing", processSpecificPath)); err != nil {
return err
}
if FileExists(existingPath) {
if err := os.Remove(existingPath); err != nil {
return err
}
}
}
}
}
return nil
}
// CorePostExtractValidator is a function that validates the file or directory
type CorePostExtractValidator func(appName string, path string) error
// CorePostExtractToExtract is a file or directory to extract
type CorePostExtractToExtract struct {
// Destination is an optional alias destination path
// If not provided, the Path will be used as the destination
Destination string
// IsDirectory is whether the source is a directory
IsDirectory bool
// Name is the common name of the file or directory to extract
Name string
// Path is the path to the file or directory to extract
Path string
// Validator is a function that validates the file or directory
Validator CorePostExtractValidator
}
// CorePostExtractInput is the input for the CorePostExtract function
type CorePostExtractInput struct {
// AppName is the name of the app
AppName string
// BuildDir is the optional build directory to extract from
BuildDir string
// DestinationDir is the destination directory
Destination string
// PluginName is the name of the plugin that is extracting the file or directory
PluginName string
// SourceWorkDir is the source work directory
SourceWorkDir string
// ToExtract is a list of files or directories to extract
ToExtract []CorePostExtractToExtract
}
// CorePostExtract extracts files or directories from a source work directory to a destination directory
//
// CorePostExtract(CorePostExtractInput{
// AppName: "my-app",
// SourceWorkDir: "/tmp/my-app-source",
// Destination: "/var/lib/dokku/data/my-app",
// ToExtract: []CorePostExtractToExtract{
// {Path: "app2.json", IsDirectory: false, Name: "app.json"},
// {Path: "config/kustomize", IsDirectory: true, Destination: "kustomization"},
// },
// })
func CorePostExtract(input CorePostExtractInput) error {
if input.PluginName == "" {
return fmt.Errorf("Missing required PluginName in CorePostExtract")
}
if input.AppName == "" {
return fmt.Errorf("Missing required AppName in CorePostExtract for plugin %v", input.PluginName)
}
if input.Destination == "" {
return fmt.Errorf("Missing required Destination in CorePostExtract for plugin %v", input.PluginName)
}
if input.SourceWorkDir == "" {
return fmt.Errorf("Missing required SourceWorkDir in CorePostExtract for plugin %v", input.PluginName)
}
results, _ := CallPlugnTrigger(PlugnTriggerInput{
Trigger: "git-get-property",
Args: []string{input.AppName, "source-image"},
})
sourceImage := results.StdoutContents()
for i, toExtract := range input.ToExtract {
if toExtract.Name == "" {
return fmt.Errorf("Name is required for index %v in CorePostExtract for plugin %v", i, input.PluginName)
}
if toExtract.Path == "" {
return fmt.Errorf("Path is required for index %v in CorePostExtract for plugin %v", i, input.PluginName)
}
if toExtract.Destination == "" {
toExtract.Destination = toExtract.Path
}
sourcePath := filepath.Join(input.SourceWorkDir, toExtract.Path)
repoDefaultSourcePath := filepath.Join(input.SourceWorkDir, toExtract.Name)
imageSourcePath := toExtract.Path
if input.BuildDir != "" {
sourcePath = filepath.Join(input.SourceWorkDir, input.BuildDir, toExtract.Path)
repoDefaultSourcePath = filepath.Join(input.SourceWorkDir, input.BuildDir, toExtract.Name)
imageSourcePath = filepath.Join(input.BuildDir, toExtract.Path)
}
destination := filepath.Join(input.Destination, toExtract.Destination)
processSpecificDestination := fmt.Sprintf("%s.%s", destination, os.Getenv("DOKKU_PID"))
missingDestination := fmt.Sprintf("%s.missing", processSpecificDestination)
files, err := filepath.Glob(fmt.Sprintf("%s.*", destination))
if err != nil {
return err
}
for _, f := range files {
if err := os.Remove(f); err != nil {
return err
}
}
// ignore if the path is empty
if toExtract.Path == "" {
if err := TouchFile(missingDestination); err != nil {
return err
}
continue
}
if sourceImage == "" {
// ignore if the file does not exist
if toExtract.IsDirectory {
if !DirectoryExists(sourcePath) {
if sourcePath != repoDefaultSourcePath && DirectoryExists(repoDefaultSourcePath) {
if err := os.RemoveAll(repoDefaultSourcePath); err != nil {
return fmt.Errorf("Unable to remove existing %v: %s", toExtract.Name, err.Error())
}
}
if err := TouchFile(missingDestination); err != nil {
return err
}
continue
}
if err := Copy(sourcePath, processSpecificDestination); err != nil {
return fmt.Errorf("Unable to extract %v from %v: %s", toExtract.Name, toExtract.Path, err.Error())
}
if sourcePath != repoDefaultSourcePath {
if err := Copy(sourcePath, repoDefaultSourcePath); err != nil {
return fmt.Errorf("Unable to move %v into place: %s", toExtract.Name, err.Error())
}
}
} else {
if !FileExists(sourcePath) {
// delete the existing file if the user tried to override it with a non-existent file
if sourcePath != repoDefaultSourcePath && FileExists(repoDefaultSourcePath) {
if err := os.Remove(repoDefaultSourcePath); err != nil {
return err
}
}
if err := TouchFile(missingDestination); err != nil {
return err
}
continue
}
if err := Copy(sourcePath, processSpecificDestination); err != nil {
return fmt.Errorf("Unable to extract %v from %v: %v", toExtract.Name, toExtract.Path, err.Error())
}
if sourcePath != repoDefaultSourcePath {
// ensure the file in the repo is the same as the one the user specified
if err := copy.Copy(sourcePath, repoDefaultSourcePath); err != nil {
return fmt.Errorf("Unable to move %v into place: %v", toExtract.Name, err.Error())
}
}
}
} else {
if toExtract.IsDirectory {
if err := CopyDirFromImage(input.AppName, sourceImage, imageSourcePath, processSpecificDestination); err != nil {
return TouchFile(missingDestination)
}
} else {
if err := CopyFromImage(input.AppName, sourceImage, imageSourcePath, processSpecificDestination); err != nil {
return TouchFile(missingDestination)
}
}
}
// validate the file
if toExtract.Validator != nil {
if err := toExtract.Validator(input.AppName, processSpecificDestination); err != nil {
return err
}
}
}
return nil
}
// EnvWrap wraps a func with a setenv call and resets the value at the end
func EnvWrap(fn func() error, environ map[string]string) error {
oldEnviron := map[string]string{}
@@ -578,7 +871,7 @@ func SuppressOutput(f errfunc) error {
os.Stdout = rescueStdout
if err != nil {
fmt.Printf(string(out[:]))
fmt.Print(string(out[:]))
}
return err

View File

@@ -11,6 +11,63 @@ import (
"time"
)
// ComposeUpInput is the input for the ComposeUp function
type ComposeUpInput struct {
ProjectName string
ComposeFile string
}
// ComposeUp executes a docker compose up command
func ComposeUp(input ComposeUpInput) error {
result, err := CallExecCommand(ExecCommandInput{
Command: DockerBin(),
Args: []string{
"compose",
"--file", input.ComposeFile,
"--project-name", input.ProjectName,
"up",
"--detach",
"--quiet-pull",
},
StreamStdio: true,
WorkingDirectory: "/tmp",
})
if err != nil || result.ExitCode != 0 {
return fmt.Errorf("Unable to start compose project: %s", result.Stderr)
}
return nil
}
// ComposeDownInput is the input for the ComposeDown function
type ComposeDownInput struct {
ProjectName string
ComposeFile string
}
// ComposeDown executes a docker compose down command
func ComposeDown(input ComposeDownInput) error {
result, err := CallExecCommand(ExecCommandInput{
Command: DockerBin(),
Args: []string{
"compose",
"--file", input.ComposeFile,
"--project-name", input.ProjectName,
"down",
"--remove-orphans",
},
StreamStdio: true,
WorkingDirectory: "/tmp",
})
if err != nil || result.ExitCode != 0 {
return fmt.Errorf("Unable to stop %s: %s", input.ProjectName, result.Stderr)
}
return nil
}
// ContainerIsRunning checks to see if a container is running
func ContainerIsRunning(containerID string) bool {
b, err := DockerInspect(containerID, "'{{.State.Running}}'")
@@ -94,6 +151,98 @@ func ContainerWaitTilReady(containerID string, timeout time.Duration) error {
return nil
}
// CopyDirFromImage copies a directory from named image to destination
func CopyDirFromImage(appName string, image string, source string, destination string) error {
if !VerifyImage(image) {
return fmt.Errorf("Invalid docker image for copying content")
}
if !IsAbsPath(source) {
workDir := GetWorkingDir(appName, image)
if workDir != "" {
source = fmt.Sprintf("%s/%s", workDir, source)
}
}
tmpDir, err := os.MkdirTemp("", fmt.Sprintf("dokku-%s-%s", MustGetEnv("DOKKU_PID"), "CopyFromImage"))
if err != nil {
return fmt.Errorf("Error creating temporary directory: %v", err)
}
defer func() {
if err := os.RemoveAll(tmpDir); err != nil {
LogWarn(fmt.Sprintf("Error removing temporary directory %s: %v\n", tmpDir, err))
}
}()
globalRunArgs := MustGetEnv("DOKKU_GLOBAL_RUN_ARGS")
createLabelArgs := []string{"--label", fmt.Sprintf("com.dokku.app-name=%s", appName), globalRunArgs}
containerID, err := DockerContainerCreate(image, createLabelArgs)
if err != nil {
return fmt.Errorf("Unable to create temporary container: %v", err)
}
defer ContainerRemove(containerID)
// docker cp exits with status 1 when run as non-root user when it tries to chown the file
// after successfully copying the file. Thus, we suppress stderr.
// ref: https://github.com/dotcloud/docker/issues/3986
result, err := CallExecCommand(ExecCommandInput{
Command: DockerBin(),
Args: []string{"container", "cp", "--quiet", fmt.Sprintf("%s:%s", containerID, source), tmpDir},
})
if err != nil {
return fmt.Errorf("Unable to copy file %s from image: %w", source, err)
}
if result.ExitCode != 0 {
return fmt.Errorf("Unable to copy file %s from image: %v", source, result.StderrContents())
}
if !DirectoryExists(tmpDir) {
return fmt.Errorf("Unable to copy file %s from image: %v", source, result.StderrContents())
}
files, err := os.ReadDir(tmpDir)
if err != nil {
return fmt.Errorf("Unable to read temporary directory: %v", err)
}
for _, file := range files {
if file.IsDir() {
continue
}
sourceFile := fmt.Sprintf("%s/%s", tmpDir, file.Name())
destinationFile := fmt.Sprintf("%s/%s", destination, file.Name())
// workaround when owner is root. seems to only happen when running inside docker
CallExecCommand(ExecCommandInput{
Command: "dos2unix",
Args: []string{"-l", "-n", sourceFile, destinationFile},
}) // nolint: errcheck
// add trailing newline for certain places where file parsing depends on it
result, err = CallExecCommand(ExecCommandInput{
Command: "tail",
Args: []string{"-c1", destination},
})
if err != nil || result.ExitCode != 0 {
return fmt.Errorf("Unable to append trailing newline to copied file: %v", result.Stderr)
}
if result.Stdout != "" {
f, err := os.OpenFile(destination, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
return err
}
defer f.Close()
if _, err := f.WriteString("\n"); err != nil {
return fmt.Errorf("Unable to append trailing newline to copied file: %v", err)
}
}
}
return nil
}
// CopyFromImage copies a file from named image to destination
func CopyFromImage(appName string, image string, source string, destination string) error {
if !VerifyImage(image) {

View File

@@ -50,6 +50,9 @@ type ExecCommandInput struct {
// Sudo runs the command with sudo -n -u root
Sudo bool
// WorkingDirectory is the working directory to run the command in
WorkingDirectory string
}
// ExecCommandResponse is the response for the ExecCommand function
@@ -134,6 +137,10 @@ func CallExecCommandWithContext(ctx context.Context, input ExecCommandInput) (Ex
DisableStdioBuffer: input.DisableStdioBuffer,
}
if input.WorkingDirectory != "" {
cmd.Cwd = input.WorkingDirectory
}
if os.Getenv("DOKKU_TRACE") == "1" {
argsSt := ""
if len(cmd.Args) > 0 {

View File

@@ -488,7 +488,6 @@ parse_args() {
copy_from_image() {
declare desc="copy file from named image to destination"
declare IMAGE="$1" SRC_FILE="$2" DST_FILE="$3"
local WORK_DIR=""
if ! "$PLUGIN_CORE_AVAILABLE_PATH/common/common" copy-from-image "$APP" "$IMAGE" "$SRC_FILE" "$DST_FILE"; then
return 1
@@ -498,56 +497,8 @@ copy_from_image() {
copy_dir_from_image() {
declare desc="copy a directory from named image to destination"
declare IMAGE="$1" SRC_DIR="$2" DST_DIR="$3"
local WORK_DIR=""
local DOCKER_CREATE_LABEL_ARGS="--label=com.dokku.app-name=$APP"
if verify_image "$IMAGE"; then
if ! is_abs_path "$SRC_DIR"; then
if is_image_cnb_based "$IMAGE"; then
WORKDIR="/workspace"
elif is_image_herokuish_based "$IMAGE" "$APP"; then
WORKDIR="/app"
else
WORKDIR="$("$DOCKER_BIN" image inspect --format '{{.Config.WorkingDir}}' "$IMAGE")"
fi
if [[ -n "$WORKDIR" ]]; then
SRC_DIR="${WORKDIR}/${SRC_DIR}"
fi
fi
TMP_DIR_COMMAND_OUTPUT=$(mktemp -d "/tmp/dokku-${DOKKU_PID}-${FUNCNAME[0]}.XXXXXX")
trap "rm -rf '$TMP_DIR_COMMAND_OUTPUT' &>/dev/null || true" RETURN
local CID=$("$DOCKER_BIN" container create "${DOCKER_CREATE_LABEL_ARGS[@]}" $DOKKU_GLOBAL_RUN_ARGS "$IMAGE")
"$DOCKER_BIN" container cp "$CID:$SRC_DIR" "$TMP_DIR_COMMAND_OUTPUT" 2>/dev/null || true
"$DOCKER_BIN" container rm --force "$CID" &>/dev/null
plugn trigger scheduler-register-retired "$APP" "$CID"
# docker cp exits with status 1 when run as non-root user when it tries to chown the file
# after successfully copying the file. Thus, we suppress stderr.
# ref: https://github.com/dotcloud/docker/issues/3986
if [[ ! -d "$TMP_DIR_COMMAND_OUTPUT" ]]; then
return 1
fi
pushd "$TMP_DIR_COMMAND_OUTPUT" >/dev/null
for filename in *; do
if [[ ! -f "$TMP_DIR_COMMAND_OUTPUT/$filename" ]]; then
continue
fi
# workaround for CHECKS file when owner is root. seems to only happen when running inside docker
dos2unix -l <"$TMP_DIR_COMMAND_OUTPUT/$filename" >"$DST_DIR/$filename"
# add trailing newline for certain places where file parsing depends on it
if [[ "$(tail -c1 "$DST_DIR/$filename")" != "" ]]; then
echo "" >>"$DST_DIR/$filename"
fi
done
popd &>/dev/null || pushd "/tmp" >/dev/null
else
if ! "$PLUGIN_CORE_AVAILABLE_PATH/common/common" copy-dir-from-image "$APP" "$IMAGE" "$SRC_DIR" "$DST_DIR"; then
return 1
fi
}
@@ -719,7 +670,7 @@ dokku_receive() {
IMAGE_SOURCE_TYPE="pack"
fi
DOKKU_QUIET_OUTPUT=1 config_set --no-restart "$APP" DOKKU_APP_TYPE="$IMAGE_SOURCE_TYPE"
plugn trigger builder-set-property "$APP" "detected" "$IMAGE_SOURCE_TYPE"
if ! dokku_build "$APP" "$IMAGE_SOURCE_TYPE" "$TMP_WORK_DIR"; then
return 1
fi

View File

@@ -1,22 +1,22 @@
module github.com/dokku/dokku/plugins/common
go 1.23.0
go 1.24.5
require (
github.com/alexellis/go-execute/v2 v2.2.1
github.com/fatih/color v1.18.0
github.com/hashicorp/go-multierror v1.1.1
github.com/melbahja/goph v1.4.0
github.com/onsi/gomega v1.36.2
github.com/onsi/gomega v1.38.0
github.com/otiai10/copy v1.14.1
github.com/ryanuber/columnize v2.1.2+incompatible
github.com/spf13/pflag v1.0.6
golang.org/x/crypto v0.35.0
golang.org/x/sync v0.12.0
github.com/spf13/pflag v1.0.7
golang.org/x/crypto v0.41.0
golang.org/x/sync v0.16.0
)
require (
github.com/google/go-cmp v0.6.0 // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/hashicorp/errwrap v1.0.0 // indirect
github.com/kr/fs v0.1.0 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
@@ -24,8 +24,8 @@ require (
github.com/otiai10/mint v1.6.3 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/pkg/sftp v1.13.5 // indirect
golang.org/x/net v0.33.0 // indirect
golang.org/x/sys v0.30.0 // indirect
golang.org/x/text v0.22.0 // indirect
golang.org/x/net v0.42.0 // indirect
golang.org/x/sys v0.35.0 // indirect
golang.org/x/text v0.28.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

View File

@@ -8,10 +8,10 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg=
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 h1:BHT72Gu3keYf3ZEu2J0b1vyeLSOYI8bm5wbJM/8yDe8=
github.com/google/pprof v0.0.0-20250403155104-27863c87afa6/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA=
github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
@@ -25,10 +25,10 @@ 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/ginkgo/v2 v2.22.1 h1:QW7tbJAUDyVDVOM5dFa7qaybo+CRfR7bemlQUN6Z8aM=
github.com/onsi/ginkgo/v2 v2.22.1/go.mod h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPlnj4a1xM=
github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
github.com/onsi/ginkgo/v2 v2.23.4 h1:ktYTpKJAVZnDT4VjxSbiBenUjmlL/5QkBEocaWXiQus=
github.com/onsi/ginkgo/v2 v2.23.4/go.mod h1:Bt66ApGPBFzHyR+JO10Zbt0Gsp4uWxu5mIOTusL46e8=
github.com/onsi/gomega v1.38.0 h1:c/WX+w8SLAinvuKKQFh77WEucCnPk4j2OTUr7lt7BeY=
github.com/onsi/gomega v1.38.0/go.mod h1:OcXcwId0b9QsE7Y49u+BTrL4IdKOBOKnD6VQNTJEB6o=
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=
@@ -41,30 +41,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.7 h1:vN6T9TfwStFPFM5XzjsvmzZkLuaLX+HS+0SeFLRgU6M=
github.com/spf13/pflag v1.0.7/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.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs=
go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8=
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.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs=
golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ=
golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4=
golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc=
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.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
golang.org/x/net v0.42.0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs=
golang.org/x/net v0.42.0/go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8=
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.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
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=
@@ -75,25 +77,25 @@ 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.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
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.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4=
golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw=
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.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
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=
golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8=
golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw=
golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0=
golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

View File

@@ -108,6 +108,17 @@ func IsAbsPath(path string) bool {
return strings.HasPrefix(path, "/")
}
// IsSymlink returns true if the path is a symlink
// if lstat fails, it returns false
func IsSymlink(path string) bool {
info, err := os.Lstat(path)
if err != nil {
return false
}
return info.Mode()&os.ModeSymlink == os.ModeSymlink
}
// ListFilesWithPrefix lists files within a given path that have a given prefix
func ListFilesWithPrefix(path string, prefix string) []string {
names, err := os.ReadDir(path)
@@ -152,7 +163,7 @@ func ReadFirstLine(filename string) (text string) {
return
}
// SetPermissionsInput is the input struct for SetPermissions
// SetPermissionInput is the input struct for SetPermissions
type SetPermissionInput struct {
Filename string
GroupName string
@@ -195,26 +206,36 @@ func SetPermissions(input SetPermissionInput) error {
return os.Chown(input.Filename, uid, gid)
}
// TouchDir creates an empty directory at the specified path
func TouchDir(filename string) error {
mode := os.FileMode(0700)
return os.MkdirAll(filename, mode)
}
// TouchFile creates an empty file at the specified path
func TouchFile(filename string) error {
mode := os.FileMode(0600)
file, err := os.OpenFile(filename, os.O_RDWR|os.O_CREATE|os.O_TRUNC, mode)
if err != nil {
return err
return fmt.Errorf("Error opening file %v for creation: %v", filename, err)
}
defer file.Close()
if err := file.Chmod(mode); err != nil {
return err
return fmt.Errorf("Error setting chown for new file %v: %v", filename, err)
}
return SetPermissions(SetPermissionInput{
if err := SetPermissions(SetPermissionInput{
Filename: filename,
Mode: mode,
})
}); err != nil {
return fmt.Errorf("Error setting permissions for new file %v: %v", filename, err)
}
return nil
}
// WriteSliceToFile writes a slice of strings to a file
// WriteSliceToFileInput writes a slice of strings to a file
type WriteSliceToFileInput struct {
Filename string
GroupName string

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core common plugin"
version = "0.35.16"
version = "0.36.2"
[plugin.config]

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