Compare commits

...

1145 Commits

Author SHA1 Message Date
Dokku Bot
3f47aaea03 Release 0.34.2
# History

## 0.34.2

Install/update via the bootstrap script:

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

### Bug Fixes

- #6779: @josegonzalez Add --global flag to ps:set
- #6778: @josegonzalez Popd out of tmp directory after a git push-based deployment
- #6777: @josegonzalez Use correct function name in openresty:report output

### Documentation

- #6781: @josegonzalez Update builder management docs to warn that globally setting a builder will force all apps to use that builder
- #6780: @josegonzalez Clarify ssh-keys commands to run when adding ssh keys in docker-based installation

### Other

- #6776: @josegonzalez Use a long git sha in the git:report output
2024-03-31 09:39:45 +00:00
Jose Diaz-Gonzalez
ec30ca12f0 Merge pull request #6781 from dokku/6759-builder-global-selected
Update builder management docs to warn that globally setting a builder will force all apps to use that builder
2024-03-28 23:53:44 -04:00
Jose Diaz-Gonzalez
eed8a240b6 docs: update builder management docs to warn that globally setting a builder will force all apps to use that builder
Closes #6759
2024-03-28 23:53:11 -04:00
Jose Diaz-Gonzalez
87c4627ff9 Merge pull request #6780 from dokku/6730-ssh-keys-docker-docs
Clarify ssh-keys commands to run when adding ssh keys in docker-based installation
2024-03-28 23:41:32 -04:00
Jose Diaz-Gonzalez
a6cad2cca4 docs: clarify ssh-keys commands to run when adding ssh keys in docker-based installation
Closes #6730
2024-03-28 23:41:10 -04:00
Jose Diaz-Gonzalez
092d6a2da4 Merge pull request #6779 from dokku/6755-ps-set-global
Add --global flag to ps:set
2024-03-28 22:42:26 -04:00
Jose Diaz-Gonzalez
4cfd22f498 Merge pull request #6778 from dokku/6771-handle-directory-removal
Popd out of tmp directory after a git push-based deployment
2024-03-28 22:34:34 -04:00
Jose Diaz-Gonzalez
53437289f3 Merge pull request #6776 from dokku/6770-long-git-sha
Use a long git sha in the git:report output
2024-03-28 21:36:48 -04:00
Jose Diaz-Gonzalez
31002c1029 Merge pull request #6777 from dokku/6765-fix-func-name
Use correct function name in openresty:report output
2024-03-28 21:36:24 -04:00
Jose Diaz-Gonzalez
2516c79264 fix: add --global flag to ps:set
Closes #6755
2024-03-28 21:16:04 -04:00
Jose Diaz-Gonzalez
d2cf2e7b91 fix: popd out of tmp directory after a git push-based deployment
Without this, we end up with PWD issues as the tmp directory is removed automatically after a build.

Closes #6771
2024-03-28 20:53:31 -04:00
Jose Diaz-Gonzalez
19a5235ec6 fix: use correct function name in openresty:report output
Closes #6765
2024-03-28 20:24:21 -04:00
Jose Diaz-Gonzalez
c4c3edc167 feat: use a long git sha in the git:report output
The previous method sometimes truncated the sha, depending on how the app was deployed. Using the long sha will ensure that the value is stable, regardless of the deployment method.

Closes #6770
2024-03-28 20:22:39 -04:00
Dokku Bot
0a1f787310 Release 0.34.1
# History

## 0.34.1

Install/update via the bootstrap script:

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

### Bug Fixes

- #6775: @josegonzalez Ensure files get created with the correct permissions when building with herokuish
- #6739: @AndrewKvalheim Dereference annotated git tags when deploying via git:sync
- #6743: @testwill Fix typo in app-json output

### New Features

- #6768: @josegonzalez Migrate away from transitional packages

### Documentation

- #6763: @iloveitaly Add docker-compose example to installation docs
- #6757: @josegonzalez Add documentation issue template
- #6742: @josegonzalez Remove trailing whitespace from history doc

### Dependencies

- #6772: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 43.0.1 to 44.0.0
- #6766: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.14 to 9.5.15 in /docs/_build
- #6744: @dependabot[bot] chore(deps): bump github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible in /plugins/scheduler-k3s
- #6754: @dependabot[bot] chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/dockerfile-app-json-formations
- #6745: @dependabot[bot] chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/nodejs-express
- #6746: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 43.0.0 to 43.0.1
- #6747: @dependabot[bot] chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/.websocket.disabled
- #6748: @dependabot[bot] chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/nodejs-express-noprocfile
- #6749: @dependabot[bot] chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/nodejs-express-noappjson
- #6750: @dependabot[bot] chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/dockerfile-procfile-bad
- #6751: @dependabot[bot] chore(deps): bump importlib-metadata from 7.0.2 to 7.1.0 in /docs/_build
- #6752: @dependabot[bot] chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/dockerfile-procfile
- #6753: @dependabot[bot] chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/gitsubmodules
- #6741: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.31.1 to 1.32.0 in /plugins/common
- #6740: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.31.1 to 1.32.0 in /plugins/config
2024-03-29 00:10:49 +00:00
Jose Diaz-Gonzalez
f4b1ce259a Merge pull request #6775 from dokku/better-herokuish-perms
Ensure files get created with the correct permissions when building with herokuish
2024-03-28 20:09:33 -04:00
Jose Diaz-Gonzalez
d5d2826773 chore: update herokuish 2024-03-28 18:23:41 -04:00
Jose Diaz-Gonzalez
8265517a96 fix: ensure files get created with the correct permissions when building with herokuish
This will allow us to skip more chown operations - and hopefully eventually drop them completely.
2024-03-28 17:09:59 -04:00
Jose Diaz-Gonzalez
ef043e2941 Merge pull request #6772 from dokku/dependabot/github_actions/tj-actions/changed-files-44.0.0
chore(deps): bump tj-actions/changed-files from 43.0.1 to 44.0.0
2024-03-27 12:29:26 -04:00
dependabot[bot]
1abca18683 chore(deps): bump tj-actions/changed-files from 43.0.1 to 44.0.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 43.0.1 to 44.0.0.
- [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/v43.0.1...v44.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-27 14:02:20 +00:00
Jose Diaz-Gonzalez
580ce20d77 Merge pull request #6768 from dokku/remove-transitional-packages
Migrate away from transitional packages
2024-03-26 18:36:30 -04:00
Jose Diaz-Gonzalez
4a1a2a326a feat: migrate away from transitional packages
Several of the packages being installed were actually transitional packages, that is, the package itself is either a complete no-op (since the package is already installed), or else the package only exists to depend on another package of a new name (to support people who are running older operating systems).

For the former, we can drop the dependency entirely, and for the latter we should use the new package name directly.
2024-03-26 17:19:41 -04:00
Jose Diaz-Gonzalez
e2d51bfeb3 Merge pull request #6766 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.5.15
chore(deps): bump mkdocs-material from 9.5.14 to 9.5.15 in /docs/_build
2024-03-26 00:35:25 -04:00
dependabot[bot]
1a727772c8 chore(deps): bump mkdocs-material from 9.5.14 to 9.5.15 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.14 to 9.5.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.5.14...9.5.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-25 13:25:37 +00:00
Jose Diaz-Gonzalez
ffd821c5b0 Merge pull request #6763 from iloveitaly/docker-compose
docs: adding docker-compose example
2024-03-24 19:38:58 -04:00
Michael Bianco
f6167a0452 docs: adding docker-compose example 2024-03-24 07:02:04 -06:00
Jose Diaz-Gonzalez
c98fe7b06b Merge pull request #6739 from AndrewKvalheim/plugins/git/sync/annotated-tag
Dereference annotated tags
2024-03-23 19:27:40 -04:00
Jose Diaz-Gonzalez
d6d785ccc7 Merge pull request #6743 from testwill/typo
Fix typo in app-json output
2024-03-23 19:26:29 -04:00
Jose Diaz-Gonzalez
9fcd41f349 Merge pull request #6744 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/docker/docker-24.0.9incompatible
chore(deps): bump github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible in /plugins/scheduler-k3s
2024-03-23 19:25:02 -04:00
Jose Diaz-Gonzalez
56a3d9f9e8 Merge pull request #6754 from dokku/dependabot/npm_and_yarn/tests/apps/dockerfile-app-json-formations/express-4.19.1
chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/dockerfile-app-json-formations
2024-03-23 19:24:49 -04:00
Jose Diaz-Gonzalez
d7b04e32b4 docs: remove required field from issue template 2024-03-23 19:21:59 -04:00
Jose Diaz-Gonzalez
a74d2ea2aa Merge pull request #6745 from dokku/dependabot/npm_and_yarn/tests/apps/nodejs-express/express-4.19.1
chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/nodejs-express
2024-03-23 19:17:33 -04:00
Jose Diaz-Gonzalez
aadded8913 Merge pull request #6746 from dokku/dependabot/github_actions/tj-actions/changed-files-43.0.1
chore(deps): bump tj-actions/changed-files from 43.0.0 to 43.0.1
2024-03-23 19:16:46 -04:00
Jose Diaz-Gonzalez
61d5406c4c Merge pull request #6747 from dokku/dependabot/npm_and_yarn/tests/apps/dot-websocket.disabled/express-4.19.1
chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/.websocket.disabled
2024-03-23 19:16:39 -04:00
Jose Diaz-Gonzalez
55527222ed Merge pull request #6748 from dokku/dependabot/npm_and_yarn/tests/apps/nodejs-express-noprocfile/express-4.19.1
chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/nodejs-express-noprocfile
2024-03-23 19:16:32 -04:00
Jose Diaz-Gonzalez
bf7388377c Merge pull request #6749 from dokku/dependabot/npm_and_yarn/tests/apps/nodejs-express-noappjson/express-4.19.1
chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/nodejs-express-noappjson
2024-03-23 19:16:24 -04:00
Jose Diaz-Gonzalez
8633110155 Merge pull request #6750 from dokku/dependabot/npm_and_yarn/tests/apps/dockerfile-procfile-bad/express-4.19.1
chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/dockerfile-procfile-bad
2024-03-23 19:16:17 -04:00
Jose Diaz-Gonzalez
74a9a0f7d6 Merge pull request #6751 from dokku/dependabot/pip/docs/_build/importlib-metadata-7.1.0
chore(deps): bump importlib-metadata from 7.0.2 to 7.1.0 in /docs/_build
2024-03-23 19:16:11 -04:00
Jose Diaz-Gonzalez
5739df650e Merge pull request #6752 from dokku/dependabot/npm_and_yarn/tests/apps/dockerfile-procfile/express-4.19.1
chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/dockerfile-procfile
2024-03-23 19:16:05 -04:00
Jose Diaz-Gonzalez
e3cfaab92b Merge pull request #6753 from dokku/dependabot/npm_and_yarn/tests/apps/gitsubmodules/express-4.19.1
chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/gitsubmodules
2024-03-23 19:15:57 -04:00
Jose Diaz-Gonzalez
d33da92e1f chore: remove extra whitespace 2024-03-23 19:15:42 -04:00
Jose Diaz-Gonzalez
91b9c66e2d Merge pull request #6757 from dokku/josegonzalez-patch-1
Add documentation issue template
2024-03-23 19:15:07 -04:00
Jose Diaz-Gonzalez
d953b578ec docs: add documentation issue template 2024-03-23 19:14:45 -04:00
dependabot[bot]
1e392582f6 chore(deps): bump express in /tests/apps/dockerfile-app-json-formations
Bumps [express](https://github.com/expressjs/express) from 4.18.3 to 4.19.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.3...4.19.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 13:44:35 +00:00
dependabot[bot]
0145fb2358 chore(deps): bump express in /tests/apps/gitsubmodules
Bumps [express](https://github.com/expressjs/express) from 4.18.3 to 4.19.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.3...4.19.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 13:36:38 +00:00
dependabot[bot]
272f2a7e42 chore(deps): bump express in /tests/apps/dockerfile-procfile
Bumps [express](https://github.com/expressjs/express) from 4.18.3 to 4.19.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.3...4.19.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 13:34:44 +00:00
dependabot[bot]
fad22e433b chore(deps): bump importlib-metadata from 7.0.2 to 7.1.0 in /docs/_build
Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 7.0.2 to 7.1.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/v7.0.2...v7.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 13:25:00 +00:00
dependabot[bot]
a1caa4b916 chore(deps): bump express in /tests/apps/dockerfile-procfile-bad
Bumps [express](https://github.com/expressjs/express) from 4.18.3 to 4.19.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.3...4.19.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 13:20:01 +00:00
dependabot[bot]
9439e0414c chore(deps): bump express in /tests/apps/nodejs-express-noappjson
Bumps [express](https://github.com/expressjs/express) from 4.18.3 to 4.19.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.3...4.19.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 13:17:13 +00:00
dependabot[bot]
f7d85c57d0 chore(deps): bump express in /tests/apps/nodejs-express-noprocfile
Bumps [express](https://github.com/expressjs/express) from 4.18.3 to 4.19.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.3...4.19.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 13:14:07 +00:00
dependabot[bot]
602169e4e0 chore(deps): bump express in /tests/apps/.websocket.disabled
Bumps [express](https://github.com/expressjs/express) from 4.18.3 to 4.19.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.3...4.19.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 13:10:15 +00:00
dependabot[bot]
2352dde73b chore(deps): bump tj-actions/changed-files from 43.0.0 to 43.0.1
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 43.0.0 to 43.0.1.
- [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/v43.0.0...v43.0.1)

---
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>
2024-03-21 13:05:54 +00:00
dependabot[bot]
51e8a30304 chore(deps): bump express in /tests/apps/nodejs-express
Bumps [express](https://github.com/expressjs/express) from 4.18.3 to 4.19.1.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.3...4.19.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 13:03:16 +00:00
dependabot[bot]
48ac2278d9 chore(deps): bump github.com/docker/docker in /plugins/scheduler-k3s
Bumps [github.com/docker/docker](https://github.com/docker/docker) from 24.0.7+incompatible to 24.0.9+incompatible.
- [Release notes](https://github.com/docker/docker/releases)
- [Commits](https://github.com/docker/docker/compare/v24.0.7...v24.0.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-20 17:29:46 +00:00
guoguangwu
dbd4ebac86 fix: typo
Signed-off-by: guoguangwu <guoguangwug@gmail.com>
2024-03-20 14:32:22 +08:00
Jose Diaz-Gonzalez
731181f14b Merge pull request #6741 from dokku/dependabot/go_modules/plugins/common/github.com/onsi/gomega-1.32.0
chore(deps): bump github.com/onsi/gomega from 1.31.1 to 1.32.0 in /plugins/common
2024-03-19 12:44:27 -04:00
Jose Diaz-Gonzalez
37e5855620 Merge pull request #6742 from dokku/josegonzalez-patch-1
Remove trailing whitespace from history doc
2024-03-19 12:43:15 -04:00
Jose Diaz-Gonzalez
3664ee75ea Merge pull request #6740 from dokku/dependabot/go_modules/plugins/config/github.com/onsi/gomega-1.32.0
chore(deps): bump github.com/onsi/gomega from 1.31.1 to 1.32.0 in /plugins/config
2024-03-19 12:43:04 -04:00
Jose Diaz-Gonzalez
6b5cbc4a43 docs: remove trailing whitespace from history doc 2024-03-19 12:40:29 -04:00
dependabot[bot]
f5c1fa56e5 chore(deps): bump github.com/onsi/gomega in /plugins/common
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.31.1 to 1.32.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.31.1...v1.32.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-19 13:35:04 +00:00
dependabot[bot]
9247331d5d chore(deps): bump github.com/onsi/gomega in /plugins/config
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.31.1 to 1.32.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.31.1...v1.32.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-19 13:11:04 +00:00
Andrew Kvalheim
f64cf3bdfa fix: dereference annotated tags
refs/heads/master cannot be updated to an annotated tag per se; the rev
given must first be resolved to a commit. ^{commit} recursively
dereferences the rev until a commit is found.

Resolves #6737 and test failure:

    # bats --filter annotated-tag tests/unit/git_3.bats
    git_3.bats
     ✗ (git) git:sync existing [--no-build annotated-tag]
       fatal: update_ref failed for ref 'refs/heads/master': cannot update ref 'refs/heads/master': trying to write non-commit object 6399bed673f513332f3d5d99e777e0262f42404c to branch 'refs/heads/master'
2024-03-18 17:30:19 -07:00
Dokku Bot
ca312fe8f7 Release 0.34.0
# History

## 0.34.0

Install/update via the bootstrap script:

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

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

### Bug Fixes

- #6724: @josegonzalez Correctly check if a repository has code or not in git plugin
- #6721: @josegonzalez Correct issue where cron properties cannot be retrieved if global
- #6720: @josegonzalez Add nginx-property binary to gitignore
- #6708: @josegonzalez Correctly handle quoted spaces over ssh
- #6707: @josegonzalez Correct issue where removing by index failed due to incorrect input validation
- #6705: @josegonzalez Ensure we cleanup the data directory on app deletion
- #6703: @josegonzalez Use copytruncate in logrotate commands

### New Features

- #6725: @josegonzalez Warn when publish ports if scaling up or zero downtime is enabled
- #6719: @josegonzalez Add a make target to copy the dokku binary over
- #6717: @josegonzalez Add ability to only build synced repo if there are changes
- #6715: @josegonzalez Add disk utilization to report output
- #6704: @josegonzalez Switch the default k3s routing layer from traefik to nginx

### Removals

- #6700: @josegonzalez Remove priority property from traefik plugin

### Refactors

- #6714: @josegonzalez Use CallPlugnTrigger instead of PlugnTriggerSetup
- #6713: @josegonzalez Use CallPlugnTrigger instead of PlugnTrigger
- #6712: @josegonzalez Use CallPlugnTrigger instead of PlugnTriggerOutput
- #6711: @josegonzalez Use CallPlugnTrigger instead of PlugnTriggerOutputAsString
- #6681: @josegonzalez Migrate to single ingress per app/domain combination when using nginx for k3s proxying
- #6156: @josegonzalez Migrate the app deploy lock to the data directory

### Documentation

- #6738: @josegonzalez Update migration guide for 0.34.x
- #6731: @strugee Clarify alternate proxy support status

### Dependencies

- #6736: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.13 to 9.5.14 in /docs/_build
- #6729: @dependabot[bot] chore(deps): update markdown requirement from <3.6,>=3.2.1 to >=3.2.1,<3.7 in /docs/_build
- #6728: @dependabot[bot] chore(deps): bump zipp from 3.17.0 to 3.18.1 in /docs/_build
- #6727: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.1.0 to 43.0.0
- #6723: @dependabot[bot] chore(deps): bump zipp from 3.17.0 to 3.18.0 in /docs/_build
- #6722: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.1.0 to 43.0.0
- #6710: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /plugins/scheduler-k3s
- #6709: @dependabot[bot] chore(deps): bump zipp from 3.17.0 to 3.18.0 in /docs/_build

### Other

- #6718: @josegonzalez Write current process id to all acquired lock files
- #6706: @josegonzalez Remove git:unlock command
- #6650: @bastianh Do not expose all containers via traefik by default
- #6632: @josegonzalez Simplify file ownership in the container by setting the process ownership during the build process
- #6630: @josegonzalez Remove unused code for copying cache directories
2024-03-18 20:16:12 +00:00
Jose Diaz-Gonzalez
df8dd766b6 Merge pull request #6738 from dokku/josegonzalez-patch-1
Update migration guide for 0.34.x
2024-03-18 15:58:05 -04:00
Jose Diaz-Gonzalez
565f736a14 docs: update migration guide for 0.34.x 2024-03-18 15:57:40 -04:00
Jose Diaz-Gonzalez
79d9076383 Merge pull request #6736 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.5.14
chore(deps): bump mkdocs-material from 9.5.13 to 9.5.14 in /docs/_build
2024-03-18 15:49:29 -04:00
dependabot[bot]
e1d67f795d chore(deps): bump mkdocs-material from 9.5.13 to 9.5.14 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.13 to 9.5.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.5.13...9.5.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 19:48:53 +00:00
Jose Diaz-Gonzalez
32f13dcc9b Merge pull request #6701 from dokku/0.34-release
Release 0.34.0
2024-03-18 15:48:08 -04:00
Jose Diaz-Gonzalez
2274eeafda Merge pull request #6731 from strugee/patch-1
Clarify alternate proxy support status
2024-03-18 14:29:43 -04:00
AJ Jordan
4d22ccda78 Clarify alternate proxy support status 2024-03-17 16:34:30 -04:00
Jose Diaz-Gonzalez
c533700f73 Merge pull request #6728 from dokku/dependabot/pip/docs/_build/zipp-3.18.1
chore(deps): bump zipp from 3.17.0 to 3.18.1 in /docs/_build
2024-03-15 11:39:11 -04:00
Jose Diaz-Gonzalez
f42596ad5d Merge branch '0.34-release' into dependabot/pip/docs/_build/zipp-3.18.1 2024-03-15 11:38:58 -04:00
Jose Diaz-Gonzalez
0c5887cc64 Merge pull request #6729 from dokku/dependabot/pip/docs/_build/markdown-gte-3.2.1-and-lt-3.7
chore(deps): update markdown requirement from <3.6,>=3.2.1 to >=3.2.1,<3.7 in /docs/_build
2024-03-15 11:38:43 -04:00
Jose Diaz-Gonzalez
2119268ebc Merge pull request #6727 from dokku/dependabot/github_actions/tj-actions/changed-files-43.0.0
chore(deps): bump tj-actions/changed-files from 42.1.0 to 43.0.0
2024-03-15 11:38:38 -04:00
Jose Diaz-Gonzalez
be9a608d3f Merge pull request #6725 from dokku/4662-warn-on-published-port 2024-03-15 09:43:55 -04:00
dependabot[bot]
ca893cdc4d 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.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-15 13:28:18 +00:00
dependabot[bot]
0ab4e2bc99 chore(deps): bump zipp from 3.17.0 to 3.18.1 in /docs/_build
Bumps [zipp](https://github.com/jaraco/zipp) from 3.17.0 to 3.18.1.
- [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.17.0...v3.18.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-15 13:28:06 +00:00
dependabot[bot]
9a7c8cdaf6 chore(deps): bump tj-actions/changed-files from 42.1.0 to 43.0.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 42.1.0 to 43.0.0.
- [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/v42.1.0...v43.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-15 13:08:19 +00:00
Jose Diaz-Gonzalez
c9b9c2ab25 chore: run shfmt 2024-03-14 15:02:57 -04:00
Jose Diaz-Gonzalez
6e3631afeb fix: correct warning placement and update tests to account for parallel's behavior 2024-03-14 14:59:49 -04:00
Jose Diaz-Gonzalez
36ade1ecd0 tests: add test for port publishing warning 2024-03-14 14:07:15 -04:00
Jose Diaz-Gonzalez
43c255436d feat: warn when publish ports if scaling up or zero downtime is enabled
Closes #4662
2024-03-14 11:53:57 -04:00
Jose Diaz-Gonzalez
a759b03739 Merge pull request #6724 from dokku/git-fix-empty-repo-check
Correctly check if a repository has code or not in git plugin
2024-03-14 10:52:17 -04:00
Jose Diaz-Gonzalez
4b0699023c Merge pull request #6718 from dokku/bashpid-in-cron
Write current process id to all acquired lock files
2024-03-14 10:21:32 -04:00
Jose Diaz-Gonzalez
991b6fdae0 Merge pull request #6723 from dokku/dependabot/pip/docs/_build/zipp-3.18.0
chore(deps): bump zipp from 3.17.0 to 3.18.0 in /docs/_build
2024-03-14 10:13:15 -04:00
Jose Diaz-Gonzalez
159b01e5f8 Merge pull request #6722 from dokku/dependabot/github_actions/tj-actions/changed-files-43.0.0
chore(deps): bump tj-actions/changed-files from 42.1.0 to 43.0.0
2024-03-14 10:12:48 -04:00
Jose Diaz-Gonzalez
efc35ab104 fix: correctly check if a repository has code or not in git plugin 2024-03-14 10:09:14 -04:00
dependabot[bot]
8c6736824d chore(deps): bump zipp from 3.17.0 to 3.18.0 in /docs/_build
Bumps [zipp](https://github.com/jaraco/zipp) from 3.17.0 to 3.18.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.17.0...v3.18.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-14 13:29:19 +00:00
dependabot[bot]
dcd85f577e chore(deps): bump tj-actions/changed-files from 42.1.0 to 43.0.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 42.1.0 to 43.0.0.
- [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/v42.1.0...v43.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-14 13:24:12 +00:00
Jose Diaz-Gonzalez
89cff8957f fix: do not unset variables unless re-running as dokku user 2024-03-14 08:18:48 -04:00
Jose Diaz-Gonzalez
83b89453a5 feat: write current process id to all acquired lock files
This allows us to check on what process created a lock.

Additionally, we now always have a DOKKU_PID value, even when running in cron (which does not have access to BASH_PID.
2024-03-14 08:18:35 -04:00
Jose Diaz-Gonzalez
5553da1be1 Merge pull request #6721 from dokku/cron-fix-global
Correct issue where cron properties cannot be retrieved if global
2024-03-14 08:17:33 -04:00
Jose Diaz-Gonzalez
41b0898db9 fix: correct issue where cron properties cannot be retrieved if global 2024-03-14 08:16:55 -04:00
Jose Diaz-Gonzalez
5a5531bce3 Merge pull request #6720 from dokku/nginx-gitignore
Add nginx-property binary to gitignore
2024-03-14 08:16:23 -04:00
Jose Diaz-Gonzalez
54e1b973a6 fix: add nginx-property binary to gitignore 2024-03-14 08:15:40 -04:00
Jose Diaz-Gonzalez
9597943b6b Merge pull request #6719 from dokku/copydokku
feat: add a make target to copy the dokku binary over
2024-03-14 08:06:14 -04:00
Jose Diaz-Gonzalez
e98cbe93cf feat: add a make target to copy the dokku binary over
This is helpful when in local development. While rare, sometimes the dokku binary needs to have some changes applied.
2024-03-14 08:05:50 -04:00
Jose Diaz-Gonzalez
2f2d4f5dd6 Merge pull request #6717 from dokku/6242-git-sync-build-if-changes
Add ability to only build synced repo if there are changes
2024-03-14 07:28:35 -04:00
Jose Diaz-Gonzalez
5d24b10144 chore: run shfmt 2024-03-14 06:10:52 -04:00
Jose Diaz-Gonzalez
58772984cd tests: check that the ref has been updated to the correct value 2024-03-14 05:28:37 -04:00
Jose Diaz-Gonzalez
4de97a1094 feat: add ability to only build synced repo if there are changes
Closes #6242
2024-03-14 04:42:28 -04:00
Jose Diaz-Gonzalez
e470a880f9 Merge pull request #6713 from dokku/6422-remove-plugin-trigger
Use CallPlugnTrigger instead of PlugnTrigger
2024-03-14 04:41:21 -04:00
Jose Diaz-Gonzalez
4bae815f82 chore: remove codeskyblue/go-sh
It has been replaced with alexellis/go-execute.
2024-03-14 03:14:22 -04:00
Jose Diaz-Gonzalez
005eb2e11b fix: detect the error twice
How the output is streamed changed a bit so we need to change the bats test

This will go back to zero if we ever re-implement how the container up starts for the docker-local scheduler.
2024-03-14 03:13:06 -04:00
Jose Diaz-Gonzalez
bb5ab0a777 refactor: use CallPlugnTrigger instead of PlugnTrigger
Refs #6422
2024-03-14 03:11:37 -04:00
Jose Diaz-Gonzalez
ea609801b5 chore: remove unused plugn code 2024-03-14 03:11:37 -04:00
Jose Diaz-Gonzalez
a7c90c42cb Merge pull request #6714 from dokku/6422-remove-plugin-trigger-setup
Use CallPlugnTrigger instead of PlugnTriggerSetup
2024-03-14 03:11:27 -04:00
Jose Diaz-Gonzalez
54e324a4bc Merge pull request #6715 from dokku/5764-df-report
Add disk utilization to report output
2024-03-14 02:41:21 -04:00
Jose Diaz-Gonzalez
e641fae3c9 feat: add disk utilization to report output
Closes #5764
2024-03-14 02:40:08 -04:00
Jose Diaz-Gonzalez
c277f529a0 refactor: use CallPlugnTrigger instead of PlugnTriggerSetup
Refs #6422
2024-03-14 02:26:01 -04:00
Jose Diaz-Gonzalez
68a280e0b6 Merge pull request #6712 from dokku/6422-remove-plugin-trigger-output
Use CallPlugnTrigger instead of PlugnTriggerOutput
2024-03-14 01:53:38 -04:00
Jose Diaz-Gonzalez
2fd6767e5a Merge pull request #6711 from dokku/6422-remove-plugin-trigger-output-as-string
Use CallPlugnTrigger instead of PlugnTriggerOutputAsString
2024-03-14 01:37:02 -04:00
Jose Diaz-Gonzalez
0d26a90bf6 Merge pull request #6630 from dokku/cleanup-cache-dir-code
Remove unused code for copying cache directories
2024-03-14 01:20:28 -04:00
Jose Diaz-Gonzalez
cdff4ae867 refactor: use CallPlugnTrigger instead of PlugnTriggerOutput
Refs #6422
2024-03-14 01:18:28 -04:00
Jose Diaz-Gonzalez
f34fd277b3 refactor: use CallPlugnTrigger instead of PlugnTriggerOutputAsString
Refs #6422
2024-03-14 00:46:55 -04:00
Jose Diaz-Gonzalez
0ea9e7aa42 fix: copy over all phase files during an app rename or clone 2024-03-14 00:26:18 -04:00
Jose Diaz-Gonzalez
1cc8b3723d fix: drop extra phase argument 2024-03-14 00:26:18 -04:00
Jose Diaz-Gonzalez
e0409caf75 fix: ensure env vars are copied over when cloning or renaming an app 2024-03-14 00:26:18 -04:00
Jose Diaz-Gonzalez
883809f35e fix: properly rewrite domains when renaming an app 2024-03-14 00:26:18 -04:00
Jose Diaz-Gonzalez
c26a49bb4e tests: add tests for config and docker options
These two are also still stored in the app repo directory and not copied over as properties, so would be susceptible to not having the code copied over.
2024-03-14 00:26:18 -04:00
Jose Diaz-Gonzalez
135497afda chore: remove unused code for copying cache directories
This code no longer is necessary as cache directories are mounted from volumes instead of disk.
2024-03-14 00:26:18 -04:00
Jose Diaz-Gonzalez
a9933c7f02 Merge pull request #6708 from dokku/2322-spaces-over-ssh
Correctly handle quoted spaces over ssh
2024-03-13 23:53:46 -04:00
Jose Diaz-Gonzalez
ff18061987 fix: correctly prepend argument to passed ssh args 2024-03-13 22:43:49 -04:00
Jose Diaz-Gonzalez
6d07fea704 fix: correct expansion issue 2024-03-13 22:21:05 -04:00
Jose Diaz-Gonzalez
e43927a69e tests: add a test for argument handling 2024-03-13 22:21:05 -04:00
Jose Diaz-Gonzalez
ca55f58446 refactor: move plugin test helper functions to test_helper.bash 2024-03-13 22:21:05 -04:00
Jose Diaz-Gonzalez
cf742bb3e0 chore: run shfmt 2024-03-13 22:21:05 -04:00
Jose Diaz-Gonzalez
79bce7d2d5 fix: use dollar sign 2024-03-13 22:21:04 -04:00
Jose Diaz-Gonzalez
e50b941cee fix: correct arg parsing for git commands 2024-03-13 22:21:04 -04:00
Jose Diaz-Gonzalez
91c8e62da5 refactor: reparse the original ssh command in the hopes of keeping array arguments in place 2024-03-13 22:21:04 -04:00
Jose Diaz-Gonzalez
dc20a38756 fix: use old method for calling the git plugin 2024-03-13 22:21:04 -04:00
Jose Diaz-Gonzalez
34768ca5b4 fix: set exit_code variable 2024-03-13 22:21:04 -04:00
Jose Diaz-Gonzalez
5d8ccee919 fix: disable filename globbing for all commands
This will allow spaces in arguments when interacting with Dokku over ssh.

Refs #2322
2024-03-13 22:21:04 -04:00
Jose Diaz-Gonzalez
4d07ac6d6b Merge pull request #6710 from dokku/dependabot/go_modules/plugins/scheduler-k3s/google.golang.org/protobuf-1.33.0
chore(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /plugins/scheduler-k3s
2024-03-13 22:11:01 -04:00
dependabot[bot]
b026103ae2 chore(deps): bump google.golang.org/protobuf in /plugins/scheduler-k3s
Bumps google.golang.org/protobuf from 1.32.0 to 1.33.0.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-13 23:41:15 +00:00
Jose Diaz-Gonzalez
b78431a800 Merge pull request #6709 from dokku/dependabot/pip/docs/_build/zipp-3.18.0
chore(deps): bump zipp from 3.17.0 to 3.18.0 in /docs/_build
2024-03-13 10:26:35 -04:00
dependabot[bot]
e6f964bec1 chore(deps): bump zipp from 3.17.0 to 3.18.0 in /docs/_build
Bumps [zipp](https://github.com/jaraco/zipp) from 3.17.0 to 3.18.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.17.0...v3.18.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-13 13:40:19 +00:00
Jose Diaz-Gonzalez
c53d21c834 Merge pull request #6706 from dokku/6690-git-unlock
Remove git:unlock command
2024-03-13 09:09:22 -04:00
Jose Diaz-Gonzalez
a78a865752 Merge pull request #6707 from dokku/6657-remove-by-index
Correct issue where removing by index failed due to incorrect input validation
2024-03-13 09:09:00 -04:00
Jose Diaz-Gonzalez
a1790d674c fix: use correct variable 2024-03-13 07:48:01 -04:00
Jose Diaz-Gonzalez
795d4941ee chore: rename test files 2024-03-13 07:47:54 -04:00
Jose Diaz-Gonzalez
9cb54950fc fix: correct issue where removing by index failed due to incorrect input validation
Closes #6657
2024-03-13 06:53:05 -04:00
Jose Diaz-Gonzalez
50958fc448 refactor: remove git:unlock command
This is no longer necessary with improvements elsewhere in Dokku.
2024-03-13 06:24:30 -04:00
Jose Diaz-Gonzalez
4bd64dfd7b Merge pull request #6704 from dokku/k3s-default-nginx
Switch the default k3s routing layer from traefik to nginx
2024-03-13 05:39:26 -04:00
Jose Diaz-Gonzalez
eaf641f9e3 Merge pull request #6705 from dokku/6690-git-data-dir-cleanup
Ensure we cleanup the data directory on app deletion
2024-03-13 05:39:17 -04:00
Jose Diaz-Gonzalez
10468ce47d fix: ensure we cleanup the data directory on app deletion
Also use a variable for the clone root dir.
2024-03-13 05:37:06 -04:00
Jose Diaz-Gonzalez
55461f0149 feat: switch the default k3s routing layer from traefik to nginx
The ingress-nginx ingress implementation is the standard ingress in the Kubernetes community, and it doesn't make sense for us to stray from that just to utilize the k3s default.

In the future, we might drop k3s, but this works well for now.
2024-03-13 04:50:18 -04:00
Jose Diaz-Gonzalez
eb9a75496c Merge pull request #6703 from dokku/logrotate-perms
Use copytruncate in logrotate commands
2024-03-13 01:52:20 -04:00
Jose Diaz-Gonzalez
76dd78e441 chore: run shfmt 2024-03-13 01:51:16 -04:00
Jose Diaz-Gonzalez
87a008c86b Merge pull request #6632 from dokku/remove-disable-chown
Simplify file ownership in the container by setting the process ownership during the build process
2024-03-13 01:44:39 -04:00
Jose Diaz-Gonzalez
64cc239d5b fix: use copytruncate in logrotate commands
While using create is more correct, logs in Dokku are considered ephemeral, and thus shouldn't be considered subject to the more comprehensive log retention standards one might require out of a logging system.

By switching to copytruncate, we can ensure that logs mounted from within containers do not have that matched the old settings (closes #6633) and cases where the log file is written by a user other than the one specified in the old logrotate settings (closes #4000).
2024-03-12 23:49:49 -04:00
Jose Diaz-Gonzalez
c8afdb553d Merge pull request #6700 from dokku/traefik-remove-priority
Remove traefik priority functionality
2024-03-12 23:29:49 -04:00
Dokku Bot
1d2549e7d7 Release 0.33.9
# History

## 0.33.9

Install/update via the bootstrap script:

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

### Bug Fixes

- #6695: @josegonzalez Do not attempt to install both k3s and traefik
- #6687: @josegonzalez Correct issue where ClusterTriggerAuthentication objects were filtered based on prefix
- #6686: @josegonzalez Validate input for the autoscaling-auth:set command
- #6678: @josegonzalez Handle case where most builders didn't detect amd64 images on arm64
- #6677: @josegonzalez Handle case where keda isn't installed properly
- #6676: @josegonzalez Drop extra logging call from app-json plugin
- #6674: @josegonzalez Remove systemd reverse dependency by dropping software-properties-common

### New Features

- #6698: @josegonzalez Upgrade ingress-nginx
- #6588: @taraszka Add extra tags to every image dokku push when push-extra-tags are set
- #6680: @josegonzalez Wait until helm charts are installed before marking a deploy as failed or completed

### Documentation

- #6699: @josegonzalez Add a placeholder migration guide for 0.33.0
- #6682: @josegonzalez Fix reference to formation key in autoscaling example

### Tests

- #6696: @josegonzalez Run k3s tests with a specified server ip
- #6679: @josegonzalez Split out k3s tests to speed up ci

### Dependencies

- #6697: @dependabot[bot] chore(deps): bump timberio/vector from 0.36.0-debian to 0.36.1-debian in /plugins/logs
- #6685: @dependabot[bot] chore(deps): bump github.com/go-jose/go-jose/v3 from 3.0.1 to 3.0.3 in /plugins/scheduler-k3s
- #6692: @dependabot[bot] chore(deps): bump packaging from 23.2 to 24.0 in /docs/_build
- #6693: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.7 to 42.1.0
- #6689: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.6 to 42.0.7
- #6683: @dependabot[bot] chore(deps): bump importlib-metadata from 7.0.1 to 7.0.2 in /docs/_build
- #6684: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.5 to 42.0.6
2024-03-13 03:24:14 +00:00
Jose Diaz-Gonzalez
681dc93ad9 feat: disable setuidgid as the app is already running as the correct user 2024-03-12 22:27:42 -04:00
Jose Diaz-Gonzalez
dd26850854 chore: double-quote 2024-03-12 22:27:42 -04:00
Jose Diaz-Gonzalez
68d05b230d refactor: simplify file ownership in the container by setting the process ownership during the build process
Rather than require a heavy chown operation across various paths, just chown the files already in the built image during the release process. This ensures we can skip not-only the chown process during the container start that herokuish injects, but also the one that Dokku runs which modifies mounted container paths as well during the pre-deploy.

Note that users will need to ensure any mounted volumes don't have permissions reset by other processes or containers won't be able to access them.
2024-03-12 22:27:39 -04:00
Jose Diaz-Gonzalez
0d6bde2eff Merge pull request #6156 from dokku/migrate-lock-path
Migrate the app deploy lock to the data directory
2024-03-12 22:24:55 -04:00
Jose Diaz-Gonzalez
b9d3390289 Merge pull request #6650 from bastianh/expose_by_default
Do not expose all containers via traefik by default
2024-03-12 22:24:20 -04:00
Jose Diaz-Gonzalez
d2b167d6ad Merge pull request #6681 from dokku/k3s-ingress-per-domain
Migrate to single ingress per app/domain combination
2024-03-12 22:22:45 -04:00
Jose Diaz-Gonzalez
ee08b8c0fd chore: remove traefik priority functionality
Setting a priority appears to cause minor outages in certain cases, so we should just avoid setting it on behalf of users and allow them to set this directly.
2024-03-12 22:21:16 -04:00
Jose Diaz-Gonzalez
791d91d937 Merge pull request #6699 from dokku/josegonzalez-patch-1
Add a placeholder migration guide for 0.33.0
2024-03-12 22:18:59 -04:00
Jose Diaz-Gonzalez
a411661ecb docs: add a reference to the 0.33.x placeholder migration guide 2024-03-12 22:18:52 -04:00
Jose Diaz-Gonzalez
08e968b15e docs: add a placeholder migration guide for 0.33.0 2024-03-12 22:17:33 -04:00
Jose Diaz-Gonzalez
1bc63001db Merge pull request #6698 from dokku/k3s-upgrade-ingress
Upgrade ingress-nginx
2024-03-12 22:08:34 -04:00
Jose Diaz-Gonzalez
aff6ab8902 chore: upgrade ingress-nginx 2024-03-12 21:07:19 -04:00
Jose Diaz-Gonzalez
455c59a4b7 Merge pull request #6588 from ipp-net/feature/add-latest-tag
add extra tags to every image dokku push when push-extra-tags are set
2024-03-12 20:52:18 -04:00
Jose Diaz-Gonzalez
eb1f842254 Merge pull request #6680 from dokku/k3s-wait-timeout
Wait until helm charts are installed before marking a deploy as failed or completed
2024-03-12 20:40:59 -04:00
Jose Diaz-Gonzalez
d1e3f51df3 Merge pull request #6697 from dokku/dependabot/docker/plugins/logs/timberio/vector-0.36.1-debian
chore(deps): bump timberio/vector from 0.36.0-debian to 0.36.1-debian in /plugins/logs
2024-03-12 20:40:12 -04:00
dependabot[bot]
d9297f2534 chore(deps): bump timberio/vector in /plugins/logs
Bumps timberio/vector from 0.36.0-debian to 0.36.1-debian.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-12 13:16:13 +00:00
Jose Diaz-Gonzalez
c840fc5f9e feat: wait until helm charts are installed before marking a deploy as failed or completed
This ensures applications are actually up vs giving a false sense of security to users about the state of their applications.
2024-03-12 08:39:22 -04:00
Jose Diaz-Gonzalez
77d9594c09 fix: use annotation to check for ingress method 2024-03-12 07:57:20 -04:00
Jose Diaz-Gonzalez
7c61b53cc8 Merge pull request #6695 from dokku/k3s-respect-ingress
Do not attempt to install both k3s and traefik
2024-03-12 07:55:42 -04:00
Jose Diaz-Gonzalez
b976cc60d2 Merge pull request #6696 from dokku/k3s-bats-arguments
Run k3s tests with a specified server ip
2024-03-12 07:55:32 -04:00
Jose Diaz-Gonzalez
a90c441095 tests: run tests with a specified server ip 2024-03-12 06:30:21 -04:00
Jose Diaz-Gonzalez
ac2ea7597e fix: use correct variable name 2024-03-12 06:11:28 -04:00
Jose Diaz-Gonzalez
d68eacced4 fix: do not attempt to install both k3s and traefik 2024-03-12 06:08:05 -04:00
Jose Diaz-Gonzalez
25469845e1 fix: correct testcase for metabase deploy 2024-03-12 05:06:36 -04:00
Jose Diaz-Gonzalez
d4b484a33a fix: replace existing port-map ingress objects with domain ingress objects
Domains cannot be reused across ingress objects, and port maps are a function of a domain, so the inversion here makes most sense (at the cost of some downtime when migrating.
2024-03-12 03:55:40 -04:00
Jose Diaz-Gonzalez
59958181e4 tests: add initial test for exposed dockerfile port 2024-03-11 23:32:19 -04:00
Jose Diaz-Gonzalez
92139a0cd3 Merge pull request #6685 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/go-jose/go-jose/v3-3.0.3
chore(deps): bump github.com/go-jose/go-jose/v3 from 3.0.1 to 3.0.3 in /plugins/scheduler-k3s
2024-03-11 23:29:09 -04:00
Jose Diaz-Gonzalez
0e1c3d5fc0 Merge pull request #6687 from dokku/k3s-cluster-autoscaling
Correct issue where ClusterTriggerAuthentication objects were filtered based on prefix
2024-03-11 23:29:01 -04:00
Jose Diaz-Gonzalez
7df3e6241b Merge pull request #6692 from dokku/dependabot/pip/docs/_build/packaging-24.0
chore(deps): bump packaging from 23.2 to 24.0 in /docs/_build
2024-03-11 23:28:47 -04:00
Jose Diaz-Gonzalez
0dad6a0e58 Merge pull request #6693 from dokku/dependabot/github_actions/tj-actions/changed-files-42.1.0
chore(deps): bump tj-actions/changed-files from 42.0.7 to 42.1.0
2024-03-11 23:28:37 -04:00
dependabot[bot]
131567ba6d chore(deps): bump tj-actions/changed-files from 42.0.7 to 42.1.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 42.0.7 to 42.1.0.
- [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/v42.0.7...v42.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-11 13:21:43 +00:00
dependabot[bot]
67273e1db0 chore(deps): bump packaging from 23.2 to 24.0 in /docs/_build
Bumps [packaging](https://github.com/pypa/packaging) from 23.2 to 24.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/23.2...24.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-11 13:15:05 +00:00
Jose Diaz-Gonzalez
5184704a31 Merge pull request #6689 from dokku/dependabot/github_actions/tj-actions/changed-files-42.0.7
chore(deps): bump tj-actions/changed-files from 42.0.6 to 42.0.7
2024-03-11 05:30:42 -04:00
Krzysztof Taraszka
c4c961bef1 add bats test for push-extra-tags 2024-03-10 16:46:59 +01:00
dependabot[bot]
60865c21d7 chore(deps): bump tj-actions/changed-files from 42.0.6 to 42.0.7
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 42.0.6 to 42.0.7.
- [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/v42.0.6...v42.0.7)

---
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>
2024-03-08 13:40:36 +00:00
Jose Diaz-Gonzalez
bfe552ee43 Merge pull request #6686 from dokku/k3s-autoscaling-validation
Validate input for the autoscaling-auth:set command
2024-03-08 06:21:23 -05:00
Jose Diaz-Gonzalez
0134cd98d0 fix: correct issue where ClusterTriggerAuthentication objects were filtered based on prefix
The prefix no longer matters since they are global to the cluster.
2024-03-08 05:23:58 -05:00
Jose Diaz-Gonzalez
8f5a834cf0 fix: validate input for the autoscaling-auth:set command 2024-03-08 05:17:49 -05:00
Jose Diaz-Gonzalez
4d18c8d9d9 Merge pull request #6683 from dokku/dependabot/pip/docs/_build/importlib-metadata-7.0.2
chore(deps): bump importlib-metadata from 7.0.1 to 7.0.2 in /docs/_build
2024-03-07 18:07:58 -05:00
Jose Diaz-Gonzalez
78c1b1af5b Merge pull request #6684 from dokku/dependabot/github_actions/tj-actions/changed-files-42.0.6
chore(deps): bump tj-actions/changed-files from 42.0.5 to 42.0.6
2024-03-07 18:07:45 -05:00
dependabot[bot]
e6a4bf81a1 chore(deps): bump github.com/go-jose/go-jose/v3
Bumps [github.com/go-jose/go-jose/v3](https://github.com/go-jose/go-jose) from 3.0.1 to 3.0.3.
- [Release notes](https://github.com/go-jose/go-jose/releases)
- [Changelog](https://github.com/go-jose/go-jose/blob/v3.0.3/CHANGELOG.md)
- [Commits](https://github.com/go-jose/go-jose/compare/v3.0.1...v3.0.3)

---
updated-dependencies:
- dependency-name: github.com/go-jose/go-jose/v3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-07 23:04:01 +00:00
dependabot[bot]
ac38c9058c chore(deps): bump tj-actions/changed-files from 42.0.5 to 42.0.6
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 42.0.5 to 42.0.6.
- [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/v42.0.5...v42.0.6)

---
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>
2024-03-07 13:58:12 +00:00
dependabot[bot]
2b7da4a79d chore(deps): bump importlib-metadata from 7.0.1 to 7.0.2 in /docs/_build
Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 7.0.1 to 7.0.2.
- [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/v7.0.1...v7.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-07 13:48:50 +00:00
Jose Diaz-Gonzalez
202d4ed042 Merge pull request #6682 from dokku/josegonzalez-patch-1
Fix reference to formation key in autoscaling example
2024-03-06 22:01:40 -05:00
Jose Diaz-Gonzalez
628b68c0e2 docs: fix reference to formation key in autoscaling example
The key is singular, not plural, following the standard set by heroku.
2024-03-06 22:01:25 -05:00
Jose Diaz-Gonzalez
daf86d0e8d Merge pull request #6679 from dokku/k3s-split-tests
Split out k3s tests to speed up ci
2024-03-06 20:17:54 -05:00
Jose Diaz-Gonzalez
ff6e7937b7 Merge pull request #6678 from dokku/arm64-all-builders
Handle case where most builders didn't detect amd64 images on arm64
2024-03-06 19:58:24 -05:00
Jose Diaz-Gonzalez
4e92e33395 chore: run shfmt 2024-03-06 19:54:52 -05:00
Jose Diaz-Gonzalez
2a21524a4a tests: split out k3s tests to speed up ci 2024-03-06 19:02:53 -05:00
Jose Diaz-Gonzalez
87bde84115 fix: handle case where most builders didn't detect amd64 images on arm64
Images would build but then fail to be tagged, causing deployment problems on arm64 architectures for a small number of images.

Also fix a minor issue in the nixpacks builder that caused any pre-release-builder triggers that consumed the image to get an empty string instead.
2024-03-06 19:02:08 -05:00
Jose Diaz-Gonzalez
caaf19f5a3 Merge pull request #6677 from dokku/wrap-missing-helm-chart
Handle case where keda isn't installed properly
2024-03-06 18:43:26 -05:00
Jose Diaz-Gonzalez
b054143319 Merge pull request #6676 from dokku/drop-extra-logging
Drop extra logging call from app-json plugin
2024-03-06 18:43:21 -05:00
Jose Diaz-Gonzalez
f2892208c1 fix: handle case where keda isn't installed properly
If keda is not installed, warn the user that it isn't installed and ignore the rest.

Ignoring the error here is fine as it gives the user context but doesn't block a deploy.
2024-03-06 17:55:45 -05:00
Jose Diaz-Gonzalez
38ca3eac1c chore: drop extra logging call from app-json plugin 2024-03-06 17:44:22 -05:00
Jose Diaz-Gonzalez
fd0ac54e7e Merge pull request #6674 from dokku/remove-systemd-dependency
Remove systemd reverse dependency by dropping software-properties-common
2024-03-06 12:34:21 -05:00
Dokku Bot
1eeaa781a0 Release 0.33.8
# History

## 0.33.8

Install/update via the bootstrap script:

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

### Bug Fixes

- #6675: @josegonzalez Remove the need for executing crontab as root
- #6660: @josegonzalez Handle case where systemctl isn't in /usr/bin
- #6659: @josegonzalez Add missing cron:set command
- #6658: @josegonzalez Execute go get/build with mod in readonly mode
- #6642: @josegonzalez Use correct annotations key for the ingress chart
- #6631: @josegonzalez Correctly use cache volume for herokuish builds
- #6629: @josegonzalez Use smaller reference to image pull secrets in secret naming
- #6628: @josegonzalez Ensure non-web processes do not attempt to perform web logic in k3s templates
- #6623: @josegonzalez Do not allow reusing the same scheme:host-port mappings when setting ports
- #6624: @taraszka Install jq in vagrant vm
- #6614: @josegonzalez Correct issue where --force-tty was not properly supported by run:detached calls

### New Features

- #6673: @josegonzalez Add image version as label to built images
- #6640: @josegonzalez Add initial support for injecting keda addons
- #6662: @josegonzalez Allow limiting letsencrypt to certain domains when using openresty as a proxy
- #6643: @josegonzalez Add ability to add extra labels
- #6639: @josegonzalez Add support for setting underscores-in-headers for nginx, openresty, and k3s
- #6634: @josegonzalez feat: install keda addon in k3s cluster
- #6616: @josegonzalez Ensure referenced images get updated by dependabot
- #6613: @josegonzalez Add a helper binary to deploy a test app for local development

### Refactors

- #6644: @josegonzalez Only apply the cluster issuers helm chart when setting letsencrypt properties
- #6641: @josegonzalez Rename image pull secrets to standardize on secret naming pattern
- #6626: @josegonzalez Copy code into initial base image via docker build

### Documentation

- #6656: @holamendi Fix typo in builder management docs
- #6652: @Calyhre Added dokku-mdns to list of community plugins
- #6649: @undercontr Added detach flag to Docker installation documentation

### Dependencies

- #6671: @josegonzalez Update dokku dependencies
- #6672: @dependabot[bot] chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/go-fail-predeploy
- #6670: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.62.0 to 1.62.1 in /tests/apps/gogrpc
- #6669: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /tests/apps/gogrpc
- #6668: @dependabot[bot] chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/zombies-dockerfile-tini
- #6667: @dependabot[bot] chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/gogrpc
- #6664: @dependabot[bot] chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/go-fail-postdeploy
- #6666: @dependabot[bot] chore(deps): bump pyparsing from 3.1.1 to 3.1.2 in /docs/_build
- #6665: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.12 to 9.5.13 in /docs/_build
- #6663: @dependabot[bot] chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/zombies-dockerfile-no-tini
- #6661: @josegonzalez Bump go modules
- #6654: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.7 to 10.7.1 in /docs/_build
- #6653: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.20.0 to 0.21.0 in /plugins/common
- #6651: @dependabot[bot] chore(deps): bump python-dateutil from 2.9.0 to 2.9.0.post0 in /docs/_build
- #6648: @dependabot[bot] chore(deps): bump python-dateutil from 2.8.2 to 2.9.0 in /docs/_build
- #6645: @dependabot[bot] chore(deps): bump rack from 2.2.8 to 2.2.8.1 in /tests/apps/ruby
- #6646: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.11 to 9.5.12 in /docs/_build
- #6638: @josegonzalez chore: bump go modules
- #6635: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.4 to 42.0.5
- #6636: @dependabot[bot] chore(deps): bump timberio/vector from 0.36.X-debian to 0.36.0-debian in /plugins/logs
- #6637: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.19.0 to 0.20.0 in /plugins/common
- #6619: @dependabot[bot] chore(deps): bump traefik from v2.10 to 2.11 in /plugins/traefik-vhosts
- #6622: @josegonzalez chore(deps): bump timberio/vector from 0.35.X-debian to 0.36.X-debian in /plugins/logs
- #6618: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.10 to 9.5.11 in /docs/_build
- #6621: @dependabot[bot] chore(deps): bump byjg/easy-haproxy from 4.3.0 to 4.4.0 in /plugins/haproxy-vhosts
- #6610: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.14.1 to 3.14.2 in /plugins/scheduler-k3s
2024-03-06 16:40:18 +00:00
Jose Diaz-Gonzalez
c4ccf57495 hack: attempt not touching Dockerfile to see if this fixes the issue 2024-03-06 11:38:42 -05:00
Jose Diaz-Gonzalez
7b61baddfd Merge pull request #6675 from dokku/remove-sudo-crontab
Remove the need for executing crontab as root
2024-03-06 11:37:52 -05:00
Jose Diaz-Gonzalez
5148600ea0 chore: remove systemd reverse dependency by dropping software-properties-common
Through some random machinations, software-properties-common now has a dependency on systemd. This breaks the built docker image as plugins will think systemd is available, so `dokku plugin:install --core` will reference that over sv.

Since we don't manage ppas in Dokku anymore - the only use was for an nginx ppa so we could use a newer Nginx - this can be safely removed.

Also remove some other stuff related to systemd that aren't required anymore.
2024-03-06 10:59:42 -05:00
Jose Diaz-Gonzalez
9fca7cf7d7 tests: fix test for new behavior 2024-03-06 10:58:29 -05:00
Jose Diaz-Gonzalez
2bc79032cf Merge pull request #6671 from dokku/update-deps
Update dokku dependencies
2024-03-06 09:46:15 -05:00
Jose Diaz-Gonzalez
08cf35aa36 fix: remove the need for executing crontab as root
This was done by design previously - to fix an issue with RHEL not allowing running crontab as the current user - but is no longer necessary with the removal of non-Debian platform support.
2024-03-06 09:36:48 -05:00
Jose Diaz-Gonzalez
67331cd206 Merge pull request #6672 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.22.1
chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/go-fail-predeploy
2024-03-06 09:16:38 -05:00
Jose Diaz-Gonzalez
1a31b5ce06 Merge pull request #6670 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.62.1
chore(deps): bump google.golang.org/grpc from 1.62.0 to 1.62.1 in /tests/apps/gogrpc
2024-03-06 09:15:51 -05:00
Jose Diaz-Gonzalez
8ba12f2d1b Merge pull request #6669 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/protobuf-1.33.0
chore(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /tests/apps/gogrpc
2024-03-06 09:15:45 -05:00
Jose Diaz-Gonzalez
68c76268ef Merge pull request #6668 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.22.1
chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/zombies-dockerfile-tini
2024-03-06 09:15:37 -05:00
Jose Diaz-Gonzalez
fd5d491cd5 Merge pull request #6667 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.22.1
chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/gogrpc
2024-03-06 09:14:57 -05:00
Jose Diaz-Gonzalez
45b193a79c Merge pull request #6664 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.22.1
chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/go-fail-postdeploy
2024-03-06 09:14:37 -05:00
Jose Diaz-Gonzalez
2a4fee3497 Merge pull request #6666 from dokku/dependabot/pip/docs/_build/pyparsing-3.1.2
chore(deps): bump pyparsing from 3.1.1 to 3.1.2 in /docs/_build
2024-03-06 09:14:13 -05:00
Jose Diaz-Gonzalez
c87d709239 Merge pull request #6665 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.5.13
chore(deps): bump mkdocs-material from 9.5.12 to 9.5.13 in /docs/_build
2024-03-06 09:13:40 -05:00
Jose Diaz-Gonzalez
15517742f5 Merge pull request #6673 from dokku/image-version
Add image version as label to built images
2024-03-06 09:09:53 -05:00
Jose Diaz-Gonzalez
d5168088b8 feat: add image version as label to built images 2024-03-06 09:09:20 -05:00
dependabot[bot]
008618d19e chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.22.0 to 1.22.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-06 14:09:10 +00:00
Jose Diaz-Gonzalez
e1575b599f chore: update dokku dependencies 2024-03-06 09:02:15 -05:00
dependabot[bot]
d0be83b536 chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.62.0 to 1.62.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.62.0...v1.62.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>
2024-03-06 13:41:40 +00:00
dependabot[bot]
eeca6c9650 chore(deps): bump google.golang.org/protobuf in /tests/apps/gogrpc
Bumps google.golang.org/protobuf from 1.32.0 to 1.33.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-06 13:41:27 +00:00
dependabot[bot]
248699b314 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.22.0 to 1.22.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-06 13:40:23 +00:00
dependabot[bot]
ae5c3ab677 chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/gogrpc
Bumps golang from 1.22.0 to 1.22.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-06 13:22:18 +00:00
dependabot[bot]
7fe0b42d3e chore(deps): bump pyparsing from 3.1.1 to 3.1.2 in /docs/_build
Bumps [pyparsing](https://github.com/pyparsing/pyparsing) from 3.1.1 to 3.1.2.
- [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.1.1...pyparsing_3.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-06 13:21:23 +00:00
dependabot[bot]
4311574ee8 chore(deps): bump mkdocs-material from 9.5.12 to 9.5.13 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.12 to 9.5.13.
- [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.5.12...9.5.13)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-06 13:21:17 +00:00
dependabot[bot]
f5ff8d8026 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.22.0 to 1.22.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-06 13:18:16 +00:00
Jose Diaz-Gonzalez
da77104f89 Merge pull request #6663 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.22.1 2024-03-06 08:15:20 -05:00
dependabot[bot]
7ff2deac4a chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.22.0 to 1.22.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-06 13:05:22 +00:00
Jose Diaz-Gonzalez
342f636bf9 Merge pull request #6640 from dokku/k3s-keda-addon 2024-03-06 05:39:28 -05:00
Jose Diaz-Gonzalez
2986b95945 Merge pull request #6662 from dokku/openresty-domain-limit
Allow limiting letsencrypt to certain domains when using openresty as a proxy
2024-03-06 05:14:31 -05:00
Jose Diaz-Gonzalez
22ba40a2d4 tests: correct issues in referencing the app name within tests 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
3fa1cdc938 tests: add test for keda triggers 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
7c58bbf792 feat: setup cluster trigger authentication objects 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
6b74cd1d6b feat: implement autoscaling-auth:report 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
5b0bc0b132 fix: ensure the trigger type is properly set when handling global autoscaling auth objects 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
ba7a4d85b6 chore: document k3s autoscaling 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
9bba7843c1 fix: add labels subcommand to scheduler-k3s documentation 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
25ad302ed2 refactor: use enum to represent authentication type 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
75eeb99a42 fix: pin to older version of godotenv
The newer version is pulled by something in k3s and somehow is - probably through workspace magic - pulled into the config plugin tests. We pin to the older version since parsing changed at some point, which will cause issues for users.

A future update should move this to the latest version and cause a BC break, but for now lets pin as expected.
2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
c0f01c58d6 feat: add initial support for interacting with ClusterTriggerAuthentication objects
These will be provisioned to the keda namespace and referenced by Triggers if they exist (as a fallback to app-specific values).
2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
94125ce787 chore: make secrets optional 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
8c9db01006 chore: add keda dependency
We need this in order to list keda objects that might exist in the api.
2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
14f0e2fb72 refactor: use const for prefix 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
3bd61d8c7f feat: add command to add or remove auth configurations 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
0cb47f1c54 fix: include app name and use shorter prefix 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
f23cdffe49 feat: associate matching authentication info to a given autoscaler 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
b3b3a93789 fix: correct associated name 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
042495bcd6 fix: ensure keda auth secrets are written out 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
4ddd341184 feat: add initial support for keda authentication 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
8add9b4b13 fix: ensure the ScaledObject resource is not created if the capability does not exist 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
46f11cb239 feat: implement replacements 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
b7ff696507 feat: add initial support for injecting keda addons 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
3242073e84 Merge pull request #6660 from dokku/systemctl-alt
Handle case where systemctl isn't in /usr/bin
2024-03-06 03:39:03 -05:00
Jose Diaz-Gonzalez
4347d665ba Merge pull request #6659 from dokku/6655-cron-set
Add missing cron:set command
2024-03-06 03:35:38 -05:00
Jose Diaz-Gonzalez
4cbb3d7d9e Merge pull request #6658 from dokku/go-mod-readonly
Execute go get/build with mod in readonly mode
2024-03-06 03:35:27 -05:00
Jose Diaz-Gonzalez
b8c67329ff feat: allow limiting letsencrypt to certain domains when using openresty as a proxy 2024-03-06 03:31:51 -05:00
Jose Diaz-Gonzalez
a1bd258f99 Merge pull request #6661 from dokku/bump-modules
Bump go modules
2024-03-06 03:27:16 -05:00
Jose Diaz-Gonzalez
0108dfcda5 chore: bump go modules 2024-03-06 03:26:50 -05:00
Jose Diaz-Gonzalez
db3cfe441c fix: handle case where systemctl isn't in /usr/bin
In most cases, it should be there, but it appears that system upgrades from Ubuntu 16.04 sometimes do not have usr-merge setup. As such, we need to fallback to the /bin/systemctl path if it exists.
2024-03-06 02:02:13 -05:00
Jose Diaz-Gonzalez
c36f23b072 fix: add missing cron:set command
The code existed but somehow it wasn't exposed as a command.

Closes #6655
2024-03-06 01:56:25 -05:00
Jose Diaz-Gonzalez
d346a347a0 fix: execute go get/build with mod in readonly mode
This will avoid issues where a build or test will inadvertently update dependencies, causing drift between what is in code and what is being tested/run.
2024-03-06 01:52:06 -05:00
Jose Diaz-Gonzalez
66623ba2af Merge pull request #6654 from dokku/dependabot/pip/docs/_build/pymdown-extensions-10.7.1
chore(deps): bump pymdown-extensions from 10.7 to 10.7.1 in /docs/_build
2024-03-06 01:12:36 -05:00
Jose Diaz-Gonzalez
b0fc8df99f Merge pull request #6653 from dokku/dependabot/go_modules/plugins/common/golang.org/x/crypto-0.21.0
chore(deps): bump golang.org/x/crypto from 0.20.0 to 0.21.0 in /plugins/common
2024-03-06 01:12:31 -05:00
Jose Diaz-Gonzalez
f5e18e193a Merge pull request #6656 from holamendi/patch-1 2024-03-05 12:44:52 -05:00
Pablo
8a5953d911 Update builder-management.md 2024-03-05 18:23:45 +01:00
dependabot[bot]
997661ac08 chore(deps): bump pymdown-extensions from 10.7 to 10.7.1 in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.7 to 10.7.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.7...10.7.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-05 14:01:31 +00:00
dependabot[bot]
b69be6c267 chore(deps): bump golang.org/x/crypto in /plugins/common
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.20.0 to 0.21.0.
- [Commits](https://github.com/golang/crypto/compare/v0.20.0...v0.21.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>
2024-03-05 13:50:16 +00:00
Jose Diaz-Gonzalez
fe993ac14c Merge pull request #6651 from dokku/dependabot/pip/docs/_build/python-dateutil-2.9.0.post0
chore(deps): bump python-dateutil from 2.9.0 to 2.9.0.post0 in /docs/_build
2024-03-04 18:54:28 -05:00
Jose Diaz-Gonzalez
fe2029dd0f Merge pull request #6652 from Calyhre/patch-1
Added dokku-mdns to list of community plugins
2024-03-04 18:54:20 -05:00
Charley DAVID
96f88c2b1f Update plugins.md 2024-03-04 17:26:08 +01:00
dependabot[bot]
433a6bb5a1 chore(deps): bump python-dateutil in /docs/_build
Bumps [python-dateutil](https://github.com/dateutil/dateutil) from 2.9.0 to 2.9.0.post0.
- [Release notes](https://github.com/dateutil/dateutil/releases)
- [Changelog](https://github.com/dateutil/dateutil/blob/master/NEWS)
- [Commits](https://github.com/dateutil/dateutil/compare/2.9.0...2.9.0.post0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-04 13:40:27 +00:00
Bastian Hoyer
b94f6cd9d0 set exposedByDefault to false in traefik to only expose docker containers that are enabled by label 2024-03-03 08:24:44 +01:00
Jose Diaz-Gonzalez
b09f8658ec Merge pull request #6643 from dokku/k3s-labels
Add ability to add extra labels
2024-03-02 17:09:16 -05:00
Jose Diaz-Gonzalez
b9757ebe61 Merge pull request #6649 from undercontr/patch-1
adding detach flag on Docker installation documentation
2024-03-02 17:09:01 -05:00
Önder ALKAN
0a14f61778 Update docker.md 2024-03-02 22:59:30 +03:00
Jose Diaz-Gonzalez
df858a2566 fix: correct test for job annotations 2024-03-01 17:46:42 -05:00
Jose Diaz-Gonzalez
5e53207009 fix: ensure we pass global labels 2024-03-01 17:42:24 -05:00
Jose Diaz-Gonzalez
45fbb7546f fix: pull labels, not annotations 2024-03-01 17:42:24 -05:00
Jose Diaz-Gonzalez
433c4299f1 fix: use all: prefix instead of pattern to include files with underscores as a prefix
Golang patterns don't match hidden files because of legacy reasons, so we need to use a different manner of inclusion.
2024-03-01 17:42:24 -05:00
Jose Diaz-Gonzalez
d8946edf91 feat: add support for manipulating labels
Closes #6625
2024-03-01 17:42:24 -05:00
Jose Diaz-Gonzalez
7203f0a6d7 refactor: move annotations subcommand to correct location 2024-03-01 17:42:24 -05:00
Jose Diaz-Gonzalez
7a5bd7ee0f refactor: use a helper function for printing out both labels and annotations 2024-03-01 17:42:24 -05:00
Jose Diaz-Gonzalez
065d4ef828 Merge pull request #6648 from dokku/dependabot/pip/docs/_build/python-dateutil-2.9.0
chore(deps): bump python-dateutil from 2.8.2 to 2.9.0 in /docs/_build
2024-03-01 17:06:38 -05:00
dependabot[bot]
2e931c8771 chore(deps): bump python-dateutil from 2.8.2 to 2.9.0 in /docs/_build
Bumps [python-dateutil](https://github.com/dateutil/dateutil) from 2.8.2 to 2.9.0.
- [Release notes](https://github.com/dateutil/dateutil/releases)
- [Changelog](https://github.com/dateutil/dateutil/blob/master/NEWS)
- [Commits](https://github.com/dateutil/dateutil/compare/2.8.2...2.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-01 13:55:24 +00:00
Jose Diaz-Gonzalez
007bf743df Merge pull request #6644 from dokku/k3s-cluster-issuers
Only apply the cluster issuers helm chart when setting letsencrypt properties
2024-02-29 23:06:17 -05:00
Jose Diaz-Gonzalez
a6d95af3e5 Merge pull request #6645 from dokku/dependabot/bundler/tests/apps/ruby/rack-2.2.8.1
chore(deps): bump rack from 2.2.8 to 2.2.8.1 in /tests/apps/ruby
2024-02-29 23:05:54 -05:00
Jose Diaz-Gonzalez
c3f7542656 Merge pull request #6646 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.5.12
chore(deps): bump mkdocs-material from 9.5.11 to 9.5.12 in /docs/_build
2024-02-29 23:05:48 -05:00
dependabot[bot]
4120d0e655 chore(deps): bump mkdocs-material from 9.5.11 to 9.5.12 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.11 to 9.5.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.5.11...9.5.12)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-29 13:30:25 +00:00
dependabot[bot]
3807366c11 chore(deps): bump rack from 2.2.8 to 2.2.8.1 in /tests/apps/ruby
Bumps [rack](https://github.com/rack/rack) from 2.2.8 to 2.2.8.1.
- [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.8...v2.2.8.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-29 01:37:25 +00:00
Jose Diaz-Gonzalez
377cfc7f59 refactor: only apply the cluster issuers helm chart when setting properties
Otherwise, we're constantly re-installing the same helm chart during deploys, leading to longer deploys.
2024-02-28 17:16:32 -05:00
Jose Diaz-Gonzalez
9ffd5ada71 Merge pull request #6642 from dokku/k3s-ingress-global-annotations
Use correct annotations key for the ingress chart
2024-02-28 11:40:47 -05:00
Jose Diaz-Gonzalez
a1eda40ffd Merge pull request #6641 from dokku/k3s-image-pull-secrets-rename
Rename image pull secrets to standardize on secret naming pattern
2024-02-28 00:40:13 -05:00
Jose Diaz-Gonzalez
7c376d3e6d refactor: rename image pull secrets to standardize on secret naming pattern 2024-02-27 18:25:16 -05:00
Jose Diaz-Gonzalez
0c2307095d fix: use correct annotations key for the ingress chart 2024-02-27 18:24:12 -05:00
Jose Diaz-Gonzalez
ba8859561f Merge pull request #6639 from dokku/6627-underscore-in-headers
Add support for setting underscores-in-headers for nginx, openresty, and k3s
2024-02-27 15:35:31 -05:00
Jose Diaz-Gonzalez
1c7a68c3f9 tests: update test 2024-02-27 14:19:53 -05:00
Jose Diaz-Gonzalez
4b0aec26b6 tests: update tests to account for off being the value used elsewhere 2024-02-27 13:51:28 -05:00
Jose Diaz-Gonzalez
f20d08e49e fix: use correct snippet 2024-02-27 13:49:44 -05:00
Jose Diaz-Gonzalez
b99c25f090 feat: add support for setting underscores-in-headers for nginx, openresty, and k3s
Closes #6627
2024-02-27 13:49:44 -05:00
Jose Diaz-Gonzalez
c2bc469d53 Merge pull request #6638 from dokku/bump-modules
chore: bump go modules
2024-02-27 12:56:28 -05:00
Jose Diaz-Gonzalez
ffdffd235f chore: bump go modules 2024-02-27 11:11:33 -05:00
Jose Diaz-Gonzalez
1798664b0f Merge pull request #6635 from dokku/dependabot/github_actions/tj-actions/changed-files-42.0.5
chore(deps): bump tj-actions/changed-files from 42.0.4 to 42.0.5
2024-02-27 11:11:01 -05:00
Jose Diaz-Gonzalez
a149a83230 Merge pull request #6636 from dokku/dependabot/docker/plugins/logs/timberio/vector-0.36.0-debian
chore(deps): bump timberio/vector from 0.36.X-debian to 0.36.0-debian in /plugins/logs
2024-02-27 11:10:51 -05:00
Jose Diaz-Gonzalez
fff23771d2 Merge pull request #6637 from dokku/dependabot/go_modules/plugins/common/golang.org/x/crypto-0.20.0
chore(deps): bump golang.org/x/crypto from 0.19.0 to 0.20.0 in /plugins/common
2024-02-27 11:09:33 -05:00
dependabot[bot]
b4ec460e68 chore(deps): bump golang.org/x/crypto in /plugins/common
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.19.0 to 0.20.0.
- [Commits](https://github.com/golang/crypto/compare/v0.19.0...v0.20.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>
2024-02-27 13:38:36 +00:00
dependabot[bot]
bc2c780016 chore(deps): bump timberio/vector in /plugins/logs
Bumps timberio/vector from 0.36.X-debian to 0.36.0-debian.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 14:05:52 +00:00
dependabot[bot]
ec262481fc chore(deps): bump tj-actions/changed-files from 42.0.4 to 42.0.5
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 42.0.4 to 42.0.5.
- [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/v42.0.4...v42.0.5)

---
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>
2024-02-26 13:38:53 +00:00
Jose Diaz-Gonzalez
220038c0b8 Merge pull request #6634 from dokku/k3s-keda-addon
feat: install keda addon in k3s cluster
2024-02-25 21:32:05 -05:00
Jose Diaz-Gonzalez
5ae9ad46b4 feat: install keda addon in k3s cluster 2024-02-25 20:34:29 -05:00
Jose Diaz-Gonzalez
3af7dfcd8e Merge pull request #6631 from dokku/herokuish-cache
Correctly use cache volume for herokuish builds
2024-02-25 17:59:46 -05:00
Krzysztof Taraszka
52b095d7ac fix CI 2024-02-25 22:36:21 +01:00
Jose Diaz-Gonzalez
c7e1f2d380 fix: update test to fix case where intermediate containers are now immediately removed 2024-02-25 16:12:07 -05:00
Jose Diaz-Gonzalez
18c54d39c0 fix: remove tests that are no longer applicable 2024-02-25 16:06:17 -05:00
Jose Diaz-Gonzalez
1c917a4c44 fix: remove reference to cache dir 2024-02-25 15:54:31 -05:00
Jose Diaz-Gonzalez
b7788ab862 fix: correctly use cache volume for herokuish builds
Rather than try to mount a directory into the container and use a symlink, directly mount the volume in.

Note that this requires deleting the task container prior to continuing in order to ensure the volume isn't still mounted prior to other tasks being executed.
2024-02-25 15:52:34 -05:00
Jose Diaz-Gonzalez
63a5fe429f Merge pull request #6629 from dokku/k3s-image-pull-secrets-short
Use smaller reference to image pull secrets in secret naming
2024-02-25 15:48:59 -05:00
Jose Diaz-Gonzalez
fb3ef64a9d Merge pull request #6628 from dokku/k3s-optional-mappings
Ensure non-web processes do not attempt to perform web logic in k3s templates
2024-02-25 15:06:45 -05:00
Krzysztof Taraszka
dfa7409486 ah, right, this is not used here 2024-02-25 20:44:56 +01:00
Krzysztof Taraszka
ea51db27a2 Merge remote-tracking branch 'origin/master' into feature/add-latest-tag 2024-02-25 20:37:47 +01:00
Krzysztof Taraszka
58fd25ebf4 fun() wrapper is not necessary; removed imagesToRemove array 2024-02-25 20:34:34 +01:00
Krzysztof Taraszka
00925b6c09 use common.RemoveImages 2024-02-25 20:10:04 +01:00
Jose Diaz-Gonzalez
ab674072bc fix: use smaller reference to image pull secrets in secret naming
This fixes an issue where the secret name is too long in tests where the generated test app name includes a uuid.
2024-02-25 14:00:28 -05:00
Jose Diaz-Gonzalez
55c85fb6aa fix: ensure non-web processes do not attempt to perform web logic in k3s templates 2024-02-25 13:58:30 -05:00
Jose Diaz-Gonzalez
ae092a9ef3 Merge pull request #6626 from dokku/copy-source-via-image
Copy code into initial base image via docker build
2024-02-25 13:51:20 -05:00
Jose Diaz-Gonzalez
d89202e168 Merge pull request #6623 from dokku/269-unique-ports
Do not allow reusing the same scheme:host-port mappings when setting ports
2024-02-25 13:47:13 -05:00
Krzysztof Taraszka
54f74cccd0 anonymous func to run defer in a block 2024-02-25 18:46:45 +01:00
Jose Diaz-Gonzalez
2c47284b31 refactor: copy code into initial base image via docker build
The previous method used an ephemeral container, which was slightly more convoluted and required cleanup. The new method also allows us to set an initial WORKDIR, which is useful for ensuring 'docker exec' works as expected.
2024-02-25 12:40:03 -05:00
Jose Diaz-Gonzalez
a2209eeee7 fix: ensure we raise errors when setting ports 2024-02-25 12:13:06 -05:00
Krzysztof Taraszka
5af90b76a3 s/false/empty/g 2024-02-25 17:38:27 +01:00
Jose Diaz-Gonzalez
6cc46c3ad1 Merge pull request #6619 from dokku/dependabot/docker/plugins/traefik-vhosts/traefik-2.11
chore(deps): bump traefik from v2.10 to 2.11 in /plugins/traefik-vhosts
2024-02-25 11:27:00 -05:00
Jose Diaz-Gonzalez
7b0089261f Merge pull request #6624 from ipp-net/bugfix/fix-Vagrant-bootstrap-process
add jq
2024-02-25 11:26:30 -05:00
Krzysztof Taraszka
61e9b57fb6 add jq 2024-02-25 17:24:10 +01:00
Krzysztof Taraszka
07417af819 this will go to a separate PR 2024-02-25 17:20:42 +01:00
Jose Diaz-Gonzalez
ba3ad4a9ab fix: do not allow reusing the same scheme:host-port mappings when setting ports
This doesn't make sense as a port can't be listened to twice on the same domain, so instead we should just fail immediately if someone attempts to perform this action.

Refs dokku/dokku-letsencrypt#269
2024-02-25 11:11:23 -05:00
Krzysztof Taraszka
23a27d9fb7 add documentation for push-extra-tags option 2024-02-25 16:48:33 +01:00
Jose Diaz-Gonzalez
b14779f44a Merge pull request #6622 from dokku/josegonzalez-patch-1
chore(deps): bump timberio/vector from 0.35.X-debian to 0.36.X-debian in /plugins/logs
2024-02-25 10:39:52 -05:00
Krzysztof Taraszka
2ad1572080 whops, remove my DEBUG print 2024-02-25 16:26:24 +01:00
Jose Diaz-Gonzalez
412c841860 Merge pull request #6618 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.5.11
chore(deps): bump mkdocs-material from 9.5.10 to 9.5.11 in /docs/_build
2024-02-25 10:24:47 -05:00
Jose Diaz-Gonzalez
20dbfb6b17 fix: use full patch version 2024-02-25 10:24:40 -05:00
Jose Diaz-Gonzalez
6976e9fbcf Merge pull request #6621 from dokku/dependabot/docker/plugins/haproxy-vhosts/byjg/easy-haproxy-4.4.0
chore(deps): bump byjg/easy-haproxy from 4.3.0 to 4.4.0 in /plugins/haproxy-vhosts
2024-02-25 10:23:02 -05:00
Krzysztof Taraszka
881d16ea90 Untag extra image tag 2024-02-25 15:23:27 +01:00
Jose Diaz-Gonzalez
7e69ddda7b chore(deps): bump timberio/vector from 0.35.X-debian to 0.36.X-debian in /plugins/logs 2024-02-25 02:09:44 -05:00
dependabot[bot]
bf2a8b4893 chore(deps): bump byjg/easy-haproxy in /plugins/haproxy-vhosts
Bumps byjg/easy-haproxy from 4.3.0 to 4.4.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-25 07:06:30 +00:00
dependabot[bot]
cc45955992 chore(deps): bump traefik from v2.10 to 2.11 in /plugins/traefik-vhosts
Bumps traefik from v2.10 to 2.11.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-25 07:05:59 +00:00
dependabot[bot]
7f50a3df72 chore(deps): bump mkdocs-material from 9.5.10 to 9.5.11 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.10 to 9.5.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.5.10...9.5.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>
2024-02-25 07:04:39 +00:00
Jose Diaz-Gonzalez
8f8ed5773f Merge pull request #6616 from dokku/dockerfile-dependency
Ensure referenced images get updated by dependabot
2024-02-25 02:03:25 -05:00
Jose Diaz-Gonzalez
3eb9e8d7f6 Merge pull request #6614 from dokku/6606-tty-handling
Correct issue where --force-tty was not properly supported by run:detached calls
2024-02-25 01:10:23 -05:00
Jose Diaz-Gonzalez
1c0bd39d42 feat: ensure referenced images get updated by dependabot
Dokku uses a few external images for various bits of functionality, but these must be manually updated every so often due to being referenced in code.

By moving the references to Dockerfiles, we can take advantage of dependabot to issue automatic PRs when they are out of date.
2024-02-25 00:54:11 -05:00
Jose Diaz-Gonzalez
798b176985 fix: correct issue where --force-tty was not properly supported by run:detached calls
Closes #6606
2024-02-25 00:02:06 -05:00
Jose Diaz-Gonzalez
808b27bf8f Merge pull request #6613 from dokku/deploy-test-app
Add a helper binary to deploy a test app for local development
2024-02-24 23:46:33 -05:00
Jose Diaz-Gonzalez
a75c464614 feat: add a helper binary to deploy a test app for local development 2024-02-24 23:46:15 -05:00
Jose Diaz-Gonzalez
2a65e25ccf Merge pull request #6610 from dokku/dependabot/go_modules/plugins/scheduler-k3s/helm.sh/helm/v3-3.14.2
chore(deps): bump helm.sh/helm/v3 from 3.14.1 to 3.14.2 in /plugins/scheduler-k3s
2024-02-24 18:19:17 -05:00
dependabot[bot]
253ebc17f3 chore(deps): bump helm.sh/helm/v3 in /plugins/scheduler-k3s
Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.14.1 to 3.14.2.
- [Release notes](https://github.com/helm/helm/releases)
- [Commits](https://github.com/helm/helm/compare/v3.14.1...v3.14.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-22 19:37:40 +00:00
Dokku Bot
27f33b0a19 Release 0.33.7
# History

## 0.33.7

Install/update via the bootstrap script:

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

### Bug Fixes

- #6608: @josegonzalez Fix issue with setting k3s resource values and lower the initial default values
- #6607: @josegonzalez Call sed in unbuffered form to ensure log output is streamed to stdout
- #6600: @josegonzalez Use correct label key for worker nodes
- #6593: @josegonzalez Remove extra trailing newline to fix govet issue

### New Features

- #6595: @josegonzalez Add ability for users to specify alternative kubeconfig and kubecontext

### Refactors

- #6594: @josegonzalez Remove all calls to common.NewShellCmd
- #6592: @josegonzalez Remove all calls to common.NewShellCmdWithArgs
- #6591: @josegonzalez Always capture stdout/stderr when executing subprocesses
- #6590: @josegonzalez Remove all direct usage of go-sh outside of plugin trigger setup

### Dependencies

- #6609: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.61.1 to 1.62.0 in /tests/apps/gogrpc
- #6604: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.9 to 9.5.10 in /docs/_build
- #6603: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.2 to 42.0.4
- #6601: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.13.3 to 3.14.1 in /plugins/scheduler-k3s
- #6596: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.61.0 to 1.61.1 in /tests/apps/gogrpc
2024-02-22 18:14:04 +00:00
Jose Diaz-Gonzalez
6b6736d97a Merge pull request #6609 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.62.0
chore(deps): bump google.golang.org/grpc from 1.61.1 to 1.62.0 in /tests/apps/gogrpc
2024-02-22 13:12:40 -05:00
Jose Diaz-Gonzalez
898fc3324b Merge pull request #6595 from dokku/cluster-config
Add ability for users to specify alternative kubeconfig and kubecontext
2024-02-22 08:47:32 -05:00
dependabot[bot]
ae81abedd6 chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.61.1 to 1.62.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.61.1...v1.62.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-22 13:13:43 +00:00
Jose Diaz-Gonzalez
8670dbab78 fix: ignore case where k3s isn't installed anymore when stopping services 2024-02-22 07:54:32 -05:00
Jose Diaz-Gonzalez
23fe19faaa fix: bypass deletion error if k3s is the configured scheduler and it isn't installed 2024-02-22 07:42:15 -05:00
Jose Diaz-Gonzalez
72067fcfd2 feat: add ability for users to specify alternative kubeconfig and kubecontext
This will provide the possibility for users to talk to existing kubernetes clusters, thereby removing one of the biggest reasons for having the old scheduler-kubernetes plugin around.
2024-02-22 07:42:15 -05:00
Jose Diaz-Gonzalez
7d85e213be Merge pull request #6608 from dokku/k3s-resources
Fix issue with setting k3s resource values and lower the initial default values
2024-02-22 07:30:10 -05:00
Jose Diaz-Gonzalez
93323bd0ff feat: add ability to clear out default values
Also add some tests
2024-02-22 06:55:02 -05:00
Jose Diaz-Gonzalez
193b1d8103 fix: set lower cpu/memory requests 2024-02-21 18:31:46 -05:00
Jose Diaz-Gonzalez
14eb60160c fix: avoid setting empty cpu/memory requests 2024-02-21 18:30:48 -05:00
Jose Diaz-Gonzalez
0bd785e04e feat: add logging to command plugn trigger output when executed with trace mode on 2024-02-21 18:15:37 -05:00
Jose Diaz-Gonzalez
3843ac2de2 fix: do not print command directly and instead use LogWarn to send to stdout
If we use the standard logging method from go-execute, any subprocess calls through plugn may capture the wrong output due to handling stdout.
2024-02-21 18:15:11 -05:00
Jose Diaz-Gonzalez
05c48430c5 fix: correct issue where resource values were ignored 2024-02-21 18:13:47 -05:00
Jose Diaz-Gonzalez
20a9e3a61f Merge pull request #6607 from dokku/6602-unbuffered-logs
Call sed in unbuffered form to ensure log output is streamed to stdout
2024-02-21 16:49:04 -05:00
Jose Diaz-Gonzalez
a894c03043 fix: call sed in unbuffered form to ensure log output is streamed to stdout
The new exec callers somehow setup the environment differently, causing sed to not properly detect that it should run in unbuffered form. This change forces sed to run in unbuffered mode.

Closes #6602
2024-02-21 15:19:45 -05:00
Jose Diaz-Gonzalez
c4b3cc9639 Merge pull request #6604 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.5.10
chore(deps): bump mkdocs-material from 9.5.9 to 9.5.10 in /docs/_build
2024-02-20 14:52:16 -05:00
Jose Diaz-Gonzalez
5d805481a2 Merge pull request #6603 from dokku/dependabot/github_actions/tj-actions/changed-files-42.0.4
chore(deps): bump tj-actions/changed-files from 42.0.2 to 42.0.4
2024-02-20 14:52:10 -05:00
dependabot[bot]
d786c5dcd8 chore(deps): bump mkdocs-material from 9.5.9 to 9.5.10 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.9 to 9.5.10.
- [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.5.9...9.5.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-19 13:42:20 +00:00
dependabot[bot]
eba8c0b262 chore(deps): bump tj-actions/changed-files from 42.0.2 to 42.0.4
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 42.0.2 to 42.0.4.
- [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/v42.0.2...v42.0.4)

---
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>
2024-02-19 13:31:28 +00:00
Jose Diaz-Gonzalez
96afb713b7 Merge pull request #6601 from dokku/dependabot/go_modules/plugins/scheduler-k3s/helm.sh/helm/v3-3.14.1
chore(deps): bump helm.sh/helm/v3 from 3.13.3 to 3.14.1 in /plugins/scheduler-k3s
2024-02-17 06:18:32 -05:00
dependabot[bot]
5e03ad1dd0 chore(deps): bump helm.sh/helm/v3 in /plugins/scheduler-k3s
Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.13.3 to 3.14.1.
- [Release notes](https://github.com/helm/helm/releases)
- [Commits](https://github.com/helm/helm/compare/v3.13.3...v3.14.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-15 15:39:56 +00:00
Jose Diaz-Gonzalez
3b29081885 Merge pull request #6600 from dokku/k3s-fix-labels
Use correct label key for worker nodes
2024-02-14 21:53:18 -05:00
Jose Diaz-Gonzalez
0b145e01f0 fix: use correct label key for worker nodes 2024-02-14 21:52:11 -05:00
Krzysztof Taraszka
dff13a8f1b push based on push-extra-tags list of tags 2024-02-14 18:29:49 +01:00
Krzysztof Taraszka
c8897f42e4 jq is missing in current bento Ubuntu image 2024-02-14 18:27:42 +01:00
Jose Diaz-Gonzalez
f0707bd368 Merge pull request #6596 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.61.1
chore(deps): bump google.golang.org/grpc from 1.61.0 to 1.61.1 in /tests/apps/gogrpc
2024-02-14 11:55:03 -05:00
dependabot[bot]
eded4f6df6 chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.61.0 to 1.61.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.61.0...v1.61.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>
2024-02-14 13:48:34 +00:00
Jose Diaz-Gonzalez
f49e7ff722 Merge pull request #6594 from dokku/6422-remove-new-shell
Remove all calls to common.NewShellCmd
2024-02-14 03:51:30 -05:00
Jose Diaz-Gonzalez
2d4c71add6 fix: stream both stdout and stderr 2024-02-14 00:33:20 -05:00
Jose Diaz-Gonzalez
8158f6aea0 fix: ignore case where crontab does not exist for user 2024-02-13 01:23:36 -05:00
Jose Diaz-Gonzalez
44dd933638 refactor: remove all calls to common.NewShellCmd
At this point, the only usage of go-sh should be by plugin trigger calls.
2024-02-13 01:09:24 -05:00
Jose Diaz-Gonzalez
24b32432e6 Merge pull request #6593 from dokku/golangci-lint
Remove extra trailing newline to fix govet issue
2024-02-12 23:30:10 -05:00
Jose Diaz-Gonzalez
a8c488f249 Merge pull request #6592 from dokku/6422-remove-new-shell
refactor: remove all calls to common.NewShellCmdWithArgs
2024-02-12 22:13:58 -05:00
Jose Diaz-Gonzalez
d99f0f0a93 Merge pull request #6591 from dokku/6422-more-sh-cleanup
Always capture stdout/stderr when executing subprocesses
2024-02-12 22:13:47 -05:00
Jose Diaz-Gonzalez
fe262a3a3c chore: remove extra trailing newline 2024-02-12 21:43:45 -05:00
Jose Diaz-Gonzalez
d8401a4d86 refactor: remove all calls to common.NewShellCmdWithArgs 2024-02-12 20:58:51 -05:00
Jose Diaz-Gonzalez
3c6cc68086 refactor: capture output by default
This is almost certainly the correct default for Dokku. While it's a BC break and might cause an increase in memory usage, the api is mostly internal and therefore this is safe to use.
2024-02-12 20:28:31 -05:00
Jose Diaz-Gonzalez
047a3c00f5 chore: remove default false values when calling CallExecCommand 2024-02-12 20:07:43 -05:00
Jose Diaz-Gonzalez
8b9dcd2242 Merge pull request #6590 from dokku/6422-remove-direct-sh-calls
Remove all direct usage of go-sh outside of plugin trigger setup
2024-02-12 20:03:05 -05:00
Jose Diaz-Gonzalez
8a940c6e47 chore: remove all direct usage of go-sh outside of plugin trigger setup
The new way is to use CallExecCommand instead.
2024-02-12 19:29:16 -05:00
Dokku Bot
688ee518af Release 0.33.6
# History

## 0.33.6

Install/update via the bootstrap script:

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

### Bug Fixes

- #6589: @josegonzalez Use image pull secrets instead of registries.yaml to reference private repositories when deploying via k3s
- #6581: @josegonzalez Fix issues in tls handling when deploying via k3s
- #6582: @josegonzalez Correctly handle extra whitespace in scale file contents
- #6390: @renweibo Prefer systemctl over sv when both exist while restarting nginx
- #6579: @josegonzalez Ensure k3s can be installed with taints

### New Features

- #6585: @josegonzalez Add more context to errors in fetching cron entries
- #6583: @josegonzalez Add WithContext functions for all subprocess-related code

### Refactors

- #6584: @josegonzalez Use new CallExecCommand when checking to see how help is being called

### Dependencies

- #6586: @dependabot[bot] chore(deps): bump mvdan.cc/sh/v3 from 3.7.0 to 3.8.0 in /plugins/cron
- #6587: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.8 to 9.5.9 in /docs/_build
- #6381: @dependabot[bot] chore(deps): bump actions/upload-artifact from 3 to 4
- #6578: @josegonzalez Bump go modules

### Other

- #6576: @Tashows Allow creating a detached container with TTY enabled for attaching remote terminal
2024-02-12 22:56:50 +00:00
Jose Diaz-Gonzalez
2e326b718e Merge pull request #6589 from dokku/k3s-image-pull-secrets
Use image pull secrets instead of registries.yaml to reference private repositories when deploying via k3s
2024-02-12 17:54:49 -05:00
Jose Diaz-Gonzalez
1ae2df52f5 fix: use image pull secrets instead of registries.yaml to reference private repositories
While this will now more or less require a local docker login - which can be overridden by setting the image-pull-secrets property - this ensures every deploy has a valid context.

One annoying thing is that the secret is per-app vs global, meaning that if the secret must be rotated, all apps need to be redeployed. A future change can fix that by deploying a global secret, or if folks really desire, this can be done by setting the image-pull-secrets property on the app/globally.
2024-02-12 17:15:37 -05:00
Jose Diaz-Gonzalez
91151cf375 Merge pull request #6581 from dokku/tls-handling
Fix issues in tls handling when deploying via k3s
2024-02-12 16:38:39 -05:00
Jose Diaz-Gonzalez
3c5f95ff18 chore: update dependencies 2024-02-12 16:28:57 -05:00
Jose Diaz-Gonzalez
53dc81d873 Merge pull request #6586 from dokku/dependabot/go_modules/plugins/cron/mvdan.cc/sh/v3-3.8.0
chore(deps): bump mvdan.cc/sh/v3 from 3.7.0 to 3.8.0 in /plugins/cron
2024-02-12 16:20:20 -05:00
Jose Diaz-Gonzalez
f80151bb3a Merge pull request #6587 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.5.9
chore(deps): bump mkdocs-material from 9.5.8 to 9.5.9 in /docs/_build
2024-02-12 16:18:21 -05:00
dependabot[bot]
62e85cc752 chore(deps): bump mkdocs-material from 9.5.8 to 9.5.9 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.8 to 9.5.9.
- [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.5.8...9.5.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-12 14:03:15 +00:00
Krzysztof Taraszka
b6cf0ac410 add latest tag to every latest image dokku push 2024-02-12 14:29:34 +01:00
dependabot[bot]
e6c17059f9 chore(deps): bump mvdan.cc/sh/v3 from 3.7.0 to 3.8.0 in /plugins/cron
Bumps [mvdan.cc/sh/v3](https://github.com/mvdan/sh) from 3.7.0 to 3.8.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.7.0...v3.8.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>
2024-02-12 13:20:58 +00:00
Jose Diaz-Gonzalez
d12eff3fe4 Merge pull request #6585 from dokku/cron-errors
Add more context to errors in fetching cron entries
2024-02-12 03:11:23 -05:00
Jose Diaz-Gonzalez
f74b306c8c Merge pull request #6584 from dokku/6422-update-help
fix: use new CallExecCommand when checking to see how help is being called
2024-02-12 02:38:49 -05:00
Jose Diaz-Gonzalez
22e1bb6466 feat: add more context to errors in fetching cron entries 2024-02-12 02:37:43 -05:00
Jose Diaz-Gonzalez
abbc13cb85 fix: ensure the ingress class is properly set for certificate usage
Without this, switching to nginx ingress fails as the cluster issuer isn't properly configured
2024-02-12 01:31:39 -05:00
Jose Diaz-Gonzalez
433eb26f3c feat: always skip the https ingress/ingress-route/deployment port entry if there is a corresponding http entry
Also inject the corresponding entries as necessary
2024-02-12 01:31:39 -05:00
Jose Diaz-Gonzalez
bfccf60a37 refactor: simplify tls handling by always redirecting 2024-02-12 01:31:39 -05:00
Jose Diaz-Gonzalez
50239b056c fix: use new CallExecCommand when checking to see how help is being called
This is part of ongoing work to remove usage of the depreated NewShellCmd.
2024-02-12 00:55:16 -05:00
Jose Diaz-Gonzalez
541eb1a1bc Merge pull request #6583 from dokku/6422-context-wrappers
Add WithContext functions for all subprocess-related code
2024-02-12 00:37:57 -05:00
Jose Diaz-Gonzalez
bcf25ba5cd feat: add WithContext functions for all subprocess-related code
Also deprecate the existing subprocess calls.
2024-02-11 23:04:20 -05:00
Jose Diaz-Gonzalez
03df28af87 Merge pull request #6582 from dokku/ps-cleanup
Correctly handle extra whitespace in scale file contents
2024-02-11 22:48:15 -05:00
Jose Diaz-Gonzalez
f5018ce70f chore: fix shfmt issue 2024-02-11 22:02:36 -05:00
Jose Diaz-Gonzalez
a5a05c2c44 chore: update procfile-util dependency
Also run formatting against the file.
2024-02-11 22:01:20 -05:00
Jose Diaz-Gonzalez
3adb7b615a feat: add test for scale formatting issues 2024-02-11 21:56:18 -05:00
Jose Diaz-Gonzalez
31abd7e31e chore: always sort returned formations 2024-02-11 21:12:25 -05:00
Jose Diaz-Gonzalez
0102d219f3 refactor: do not ever return duplicate entries when getting formations 2024-02-11 21:12:15 -05:00
Jose Diaz-Gonzalez
701f18a69c fix: ensure splitting only ever returns at most two parts 2024-02-11 21:11:40 -05:00
Jose Diaz-Gonzalez
66f46de2fd fix: ensure each entry in a process type has whitespace removed 2024-02-11 21:06:28 -05:00
Jose Diaz-Gonzalez
ab1f8bfd30 chore: remove unused code in ps plugin 2024-02-11 21:03:50 -05:00
Jose Diaz-Gonzalez
6f82879a43 Merge pull request #6390 from renweibo/master
Prefer systemctl over sv when both exist while restarting nginx
2024-02-11 20:20:39 -05:00
Jose Diaz-Gonzalez
e263db6b9c Merge pull request #6381 from dokku/dependabot/github_actions/actions/upload-artifact-4
chore(deps): bump actions/upload-artifact from 3 to 4
2024-02-11 20:07:34 -05:00
Jose Diaz-Gonzalez
321500a577 Merge pull request #6576 from Tashows/run_attachable
Create detached container with TTY enabled for attaching remote terminal.
2024-02-11 19:31:11 -05:00
Jose Diaz-Gonzalez
20c231a206 chore: update actions used in composite action 2024-02-11 19:20:02 -05:00
Jose Diaz-Gonzalez
44d03dc81d fix: remove systemctl from built docker image
Systemd does not run within the container and so this should be a safe operation as all systemctl commands otherwise fail.
2024-02-11 19:10:03 -05:00
Jose Diaz-Gonzalez
4b4e20a5a9 chore: update download-artifact action as well 2024-02-11 18:56:08 -05:00
Tasos Maschalidis
95c049609f Exit if both --force-tty and --no-tty are set 2024-02-11 13:54:10 +02:00
Jose Diaz-Gonzalez
89d13b80f1 Merge pull request #6579 from dokku/taint-tests
Ensure k3s can be installed with taints
2024-02-11 05:17:57 -05:00
Tasos Maschalidis
a62cb1de8f Handle --force-tty flag in fn-run 2024-02-11 11:50:34 +02:00
Tasos Maschalidis
180cc6204b Update fn-help-content to add --force-tty usage 2024-02-11 11:47:19 +02:00
Jose Diaz-Gonzalez
e452b9308f fix: ensure k3s can be installed with taints 2024-02-11 04:38:58 -05:00
Jose Diaz-Gonzalez
ac77f01d83 Merge pull request #6578 from dokku/bump-modules
Bump go modules
2024-02-11 03:25:36 -05:00
Jose Diaz-Gonzalez
03b72ec684 chore: bump go modules 2024-02-11 02:49:00 -05:00
Tasos Maschalidis
f574c1d0a3 Handle DOKKU_FORCE_TTY in has_tty function 2024-02-11 00:57:44 +02:00
Dokku Bot
596d785fe4 Release 0.33.5
# History

## 0.33.5

Install/update via the bootstrap script:

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

### Bug Fixes

- #6574: @josegonzalez Correct indentation when configuring https on a k3s app

### Documentation

- #6575: @josegonzalez Remove reference to web ui from digitalocean install documentation

### Dependencies

- #6573: @dependabot[bot] chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/go-fail-postdeploy
- #6569: @dependabot[bot] chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/go-fail-predeploy
- #6570: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.18.0 to 0.19.0 in /plugins/common
- #6571: @dependabot[bot] chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/zombies-dockerfile-tini
- #6572: @dependabot[bot] chore(deps): bump python from 3.12.1-alpine to 3.12.2-alpine in /docs/_build
2024-02-09 20:02:30 +00:00
Jose Diaz-Gonzalez
db476d3b51 chore: run shfmt 2024-02-09 14:53:45 -05:00
Jose Diaz-Gonzalez
f0c6f45596 fix: correctly namespace the lock file 2024-02-09 14:38:43 -05:00
Jose Diaz-Gonzalez
b7a3ef2f8a fix: use correct path for lock 2024-02-09 14:34:32 -05:00
Jose Diaz-Gonzalez
e61421b53b refactor: migrate the app deploy lock to the data directory
This removes it from the app path, hopefully making backups a bit easier to perform.
2024-02-09 14:34:32 -05:00
Jose Diaz-Gonzalez
4b480ae964 Merge pull request #6575 from dokku/6389-do-docs
Remove reference to web ui from digitalocean install documentation
2024-02-09 14:05:05 -05:00
Jose Diaz-Gonzalez
301fb7ac85 docs: remove reference to web ui from digitalocean install documentation
Closes #6389
2024-02-09 14:04:46 -05:00
Jose Diaz-Gonzalez
8fb330836e Merge pull request #6574 from dokku/josegonzalez-patch-1
Correct indentation when configuring https on a k3s app
2024-02-09 13:54:28 -05:00
Jose Diaz-Gonzalez
af7e720d2a fix: correct indentation when configuring https on an app 2024-02-09 13:40:00 -05:00
Jose Diaz-Gonzalez
f3bf6a2143 Merge pull request #6573 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.22.0
chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/go-fail-postdeploy
2024-02-08 21:01:15 -05:00
Jose Diaz-Gonzalez
cac5a3ce05 Merge pull request #6569 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.22.0
chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/go-fail-predeploy
2024-02-08 20:42:23 -05:00
Jose Diaz-Gonzalez
8ce4948f1b Merge pull request #6570 from dokku/dependabot/go_modules/plugins/common/golang.org/x/crypto-0.19.0
chore(deps): bump golang.org/x/crypto from 0.18.0 to 0.19.0 in /plugins/common
2024-02-08 20:42:15 -05:00
Jose Diaz-Gonzalez
193f310031 Merge pull request #6571 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.22.0
chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/zombies-dockerfile-tini
2024-02-08 20:42:08 -05:00
Jose Diaz-Gonzalez
f39c3bd910 Merge pull request #6572 from dokku/dependabot/docker/docs/_build/python-3.12.2-alpine
chore(deps): bump python from 3.12.1-alpine to 3.12.2-alpine in /docs/_build
2024-02-08 20:42:01 -05:00
dependabot[bot]
05a34322ab chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.21.6 to 1.22.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-08 13:51:27 +00:00
dependabot[bot]
3c4902bf16 chore(deps): bump python in /docs/_build
Bumps python from 3.12.1-alpine to 3.12.2-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-08 13:27:59 +00:00
dependabot[bot]
3b0439a45f chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.21.6 to 1.22.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-08 13:27:23 +00:00
dependabot[bot]
4295192ab6 chore(deps): bump golang.org/x/crypto in /plugins/common
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.18.0 to 0.19.0.
- [Commits](https://github.com/golang/crypto/compare/v0.18.0...v0.19.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>
2024-02-08 13:19:35 +00:00
dependabot[bot]
1f57c51f4e chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.21.6 to 1.22.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-08 13:07:13 +00:00
Dokku Bot
ccf713c104 Release 0.33.4
# History

## 0.33.4

Install/update via the bootstrap script:

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

### Bug Fixes

- #6564: @josegonzalez Ignore link and volume flags for nixpacks builds
- #6563: @josegonzalez Wait until initial k3s node is ready before installing manifests
- #6561: @josegonzalez Index the process map to ensure the correct config is pulled
- #6560: @josegonzalez Skip app stop/delete when k3s is not installed
- #6559: @josegonzalez Check errors when writing properties
- #6556: @josegonzalez Respect the release namespace when creating resources for a k3s deploy

### New Features

- #6562: @josegonzalez Add support for specifying annotations on kubernetes resources
- #6555: @josegonzalez Add support for app-specific service accounts when deploying via k3s
- #6546: @josegonzalez Install kubectx and kubens helper binaries when setting up a k3s cluster

### Refactors

- #6558: @josegonzalez Use type-specific functions for writing contents to a file
- #6557: @josegonzalez Consolidate property fetching for nginx plugin into golang codebase
- #6536: @josegonzalez Manage vector container via compose

### Documentation

- #6545: @josegonzalez Migrate markdown doc rewriting into mkdocs hooks

### Tests

- #6554: @josegonzalez Fix issue where CI cannot install docker-buildx-plugin

### Dependencies

- #6568: @dependabot[bot] chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/gogrpc
- #6567: @dependabot[bot] chore(deps): bump watchdog from 3.0.0 to 4.0.0 in /docs/_build
- #6566: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.7 to 9.5.8 in /docs/_build
- #6565: @dependabot[bot] chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/zombies-dockerfile-no-tini
- #6551: @dependabot[bot] chore(deps): bump flask from 3.0.1 to 3.0.2 in /tests/apps/multi
- #6552: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.6 to 9.5.7 in /docs/_build
- #6553: @dependabot[bot] chore(deps): bump markupsafe from 2.1.4 to 2.1.5 in /docs/_build
- #6550: @dependabot[bot] chore(deps): bump flask from 3.0.1 to 3.0.2 in /tests/apps/python-flask
- #6548: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.19 to 11.0.20 in /tests/apps/java

### Other

- #6547: @josegonzalez Add support for nginx as a k3s ingress implementation
2024-02-07 21:38:43 +00:00
Jose Diaz-Gonzalez
bc4c25dccf Merge pull request #6547 from dokku/proxy-implementation 2024-02-07 16:12:22 -05:00
Jose Diaz-Gonzalez
cd4f9db95b fix: use annotation instead of location snippet 2024-02-07 13:15:16 -05:00
Jose Diaz-Gonzalez
4cc52179b5 Merge pull request #6568 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.22.0 2024-02-07 12:26:54 -05:00
Jose Diaz-Gonzalez
ceaab97d99 Merge pull request #6567 from dokku/dependabot/pip/docs/_build/watchdog-4.0.0 2024-02-07 12:26:42 -05:00
Jose Diaz-Gonzalez
a8c1e8a88a Merge pull request #6566 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.5.8 2024-02-07 12:26:27 -05:00
Jose Diaz-Gonzalez
2432ad49a5 Merge pull request #6565 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.22.0 2024-02-07 12:26:15 -05:00
dependabot[bot]
814953358b chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/gogrpc
Bumps golang from 1.21.6 to 1.22.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-07 14:00:18 +00:00
dependabot[bot]
0adaa90fbd chore(deps): bump watchdog from 3.0.0 to 4.0.0 in /docs/_build
Bumps [watchdog](https://github.com/gorakhargosh/watchdog) from 3.0.0 to 4.0.0.
- [Release notes](https://github.com/gorakhargosh/watchdog/releases)
- [Changelog](https://github.com/gorakhargosh/watchdog/blob/master/changelog.rst)
- [Commits](https://github.com/gorakhargosh/watchdog/compare/v3.0.0...v4.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-07 13:57:46 +00:00
dependabot[bot]
8576a1280a chore(deps): bump mkdocs-material from 9.5.7 to 9.5.8 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.7 to 9.5.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.5.7...9.5.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>
2024-02-07 13:57:42 +00:00
dependabot[bot]
6692beae11 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.21.6 to 1.22.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-07 13:33:43 +00:00
Jose Diaz-Gonzalez
41a89bbb5d feat: add a test for ingress-nginx support 2024-02-07 02:20:49 -05:00
Jose Diaz-Gonzalez
afb4b50bb3 docs: document how to switch to nginx 2024-02-07 02:20:37 -05:00
Jose Diaz-Gonzalez
03ae424a27 fix: ensure map keys are unique 2024-02-07 00:01:57 -05:00
Jose Diaz-Gonzalez
e9986b5775 chore: unsort flags 2024-02-06 23:02:55 -05:00
Jose Diaz-Gonzalez
980979ef87 feat: properly handle nginx annotation merging 2024-02-06 22:48:22 -05:00
Jose Diaz-Gonzalez
7dbd9adc33 fix: set log mount dir to /var/log/nginx 2024-02-06 22:12:54 -05:00
Jose Diaz-Gonzalez
416a119904 feat: pull nginx properties as ingress annotations 2024-02-06 22:12:54 -05:00
Jose Diaz-Gonzalez
1af36b609d feat: add resource-specific annotations to ingress objects 2024-02-06 22:12:41 -05:00
Jose Diaz-Gonzalez
5674a29211 feat: add ability to use ingress-nginx for routing instead of traefik 2024-02-06 21:19:51 -05:00
Jose Diaz-Gonzalez
b35d6df67c feat: add support for displaying error logs 2024-02-06 21:19:14 -05:00
Jose Diaz-Gonzalez
81286a0673 feat: add ability to install nginx instead of traefik 2024-02-06 21:19:14 -05:00
Jose Diaz-Gonzalez
ea4767f2d8 Merge pull request #6564 from dokku/6416-nixpacks-no-link
Ignore link and volume flags for nixpacks builds
2024-02-06 17:27:54 -05:00
Jose Diaz-Gonzalez
4c0359bb28 Merge pull request #6562 from dokku/k3s-annotations
Add support for specifying annotations on kubernetes resources
2024-02-06 17:27:35 -05:00
Jose Diaz-Gonzalez
a59480f97d fix: ignore link and volume flags for nixpacks builds
Closes #6416
2024-02-06 17:27:10 -05:00
Jose Diaz-Gonzalez
bacfbe328b tests: set KUBECONFIG for kubectl commands 2024-02-06 16:33:55 -05:00
Jose Diaz-Gonzalez
e7a3766e60 tests: use correct namespace for image repo 2024-02-06 15:32:50 -05:00
Jose Diaz-Gonzalez
8711a1c801 fix: force set the kubectl path when running kubectl commands 2024-02-06 14:39:48 -05:00
Jose Diaz-Gonzalez
f5f583b12b feat: add support for specifying annotations
As the command contains a colon, it must be handled in the commands binary as opposed to subcommands.

Also include a simple bats test.
2024-02-06 13:54:53 -05:00
Jose Diaz-Gonzalez
8b2f37feea Merge pull request #6563 from dokku/wait-for-init
Wait until initial k3s node is ready before installing manifests
2024-02-06 13:53:54 -05:00
Jose Diaz-Gonzalez
408acbe14e feat: wait until initial k3s node is ready before installing manifests 2024-02-06 13:53:34 -05:00
Jose Diaz-Gonzalez
e08e1df026 Merge pull request #6561 from dokku/process-index
Index the process map to ensure the correct config is pulled
2024-02-06 05:16:56 -05:00
Jose Diaz-Gonzalez
77d5a27fda Merge pull request #6560 from dokku/josegonzalez-patch-2
Skip app stop/delete when k3s is not installed
2024-02-06 05:16:40 -05:00
Jose Diaz-Gonzalez
79c0caaa7b Merge pull request #6559 from dokku/josegonzalez-patch-1
Check errors when writing properties
2024-02-06 05:13:00 -05:00
Jose Diaz-Gonzalez
d7ff8552d1 fix: index the process map to ensure the correct config is pulled
Without this change, certain generated process names - like those for a cron job - may be incorrectly handled when indexing the process map.
2024-02-06 04:41:14 -05:00
Jose Diaz-Gonzalez
96e79487b9 fix: skip app stop/delete when k3s is not installed 2024-02-06 04:38:04 -05:00
Jose Diaz-Gonzalez
ea55071751 feat: check errors when writing files 2024-02-06 04:36:11 -05:00
Jose Diaz-Gonzalez
4abd1f6b24 Merge pull request #6558 from dokku/write-to-file
Use type-specific functions for writing contents to a file
2024-02-06 02:44:14 -05:00
Jose Diaz-Gonzalez
5e1089973e refactor: use type-specific functions for writing contents to a file 2024-02-06 01:39:44 -05:00
Jose Diaz-Gonzalez
666f953715 Merge pull request #6557 from dokku/nginx-go-properties
Consolidate property fetching for nginx plugin into golang codebase
2024-02-06 01:15:15 -05:00
Jose Diaz-Gonzalez
d4b445985b refactor: consolidate property fetching for nginx plugin into golang codebase
Also update the documentation to include docs for all properties.
2024-02-06 00:42:48 -05:00
Jose Diaz-Gonzalez
6625846ecc Merge pull request #6555 from dokku/service-account
Add support for app-specific service accounts when deploying via k3s
2024-02-05 17:18:20 -05:00
Jose Diaz-Gonzalez
1689ddd6d3 Merge pull request #6556 from dokku/k3s-namespace
Respect the release namespace when creating resources for a k3s deploy
2024-02-05 16:51:15 -05:00
Jose Diaz-Gonzalez
fe8b7ec451 Merge pull request #6551 from dokku/dependabot/pip/tests/apps/multi/flask-3.0.2
chore(deps): bump flask from 3.0.1 to 3.0.2 in /tests/apps/multi
2024-02-05 16:50:44 -05:00
Jose Diaz-Gonzalez
31a73e4dab Merge pull request #6552 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.5.7
chore(deps): bump mkdocs-material from 9.5.6 to 9.5.7 in /docs/_build
2024-02-05 16:50:30 -05:00
Jose Diaz-Gonzalez
238535be0c fix: respect the release namespace when creating resources for a k3s deploy 2024-02-05 16:50:00 -05:00
Jose Diaz-Gonzalez
d02c04c2a5 feat: add support for app-specific service accounts when deploying via k3s
Service accounts must still be bound to a role, but this ensures apps do not get access to the default service account.
2024-02-05 16:47:57 -05:00
Jose Diaz-Gonzalez
ff319428bf Merge pull request #6553 from dokku/dependabot/pip/docs/_build/markupsafe-2.1.5
chore(deps): bump markupsafe from 2.1.4 to 2.1.5 in /docs/_build
2024-02-05 16:32:51 -05:00
Jose Diaz-Gonzalez
41f5283b1a Merge pull request #6550 from dokku/dependabot/pip/tests/apps/python-flask/flask-3.0.2
chore(deps): bump flask from 3.0.1 to 3.0.2 in /tests/apps/python-flask
2024-02-05 16:32:25 -05:00
dependabot[bot]
e30650a620 chore(deps): bump mkdocs-material from 9.5.6 to 9.5.7 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.6 to 9.5.7.
- [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.5.6...9.5.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 20:27:06 +00:00
dependabot[bot]
2e57199318 chore(deps): bump flask from 3.0.1 to 3.0.2 in /tests/apps/multi
Bumps [flask](https://github.com/pallets/flask) from 3.0.1 to 3.0.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.0.1...3.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 20:27:03 +00:00
dependabot[bot]
976be62a1b chore(deps): bump markupsafe from 2.1.4 to 2.1.5 in /docs/_build
Bumps [markupsafe](https://github.com/pallets/markupsafe) from 2.1.4 to 2.1.5.
- [Release notes](https://github.com/pallets/markupsafe/releases)
- [Changelog](https://github.com/pallets/markupsafe/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/markupsafe/compare/2.1.4...2.1.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 20:26:57 +00:00
dependabot[bot]
7d37466750 chore(deps): bump flask from 3.0.1 to 3.0.2 in /tests/apps/python-flask
Bumps [flask](https://github.com/pallets/flask) from 3.0.1 to 3.0.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.0.1...3.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 20:26:52 +00:00
Jose Diaz-Gonzalez
5b922a93c7 Merge pull request #6548 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-11.0.20
chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.19 to 11.0.20 in /tests/apps/java
2024-02-05 15:26:24 -05:00
Jose Diaz-Gonzalez
2703101068 Merge pull request #6554 from dokku/fix-test-runs
Fix issue where CI cannot install docker-buildx-plugin
2024-02-05 15:26:13 -05:00
Jose Diaz-Gonzalez
28532a56a9 tests: fix issue where CI cannot install docker-buildx-plugin 2024-02-05 14:59:20 -05:00
dependabot[bot]
dce37fa140 chore(deps): bump org.eclipse.jetty:jetty-servlet in /tests/apps/java
Bumps org.eclipse.jetty:jetty-servlet from 11.0.19 to 11.0.20.

---
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>
2024-02-01 13:35:44 +00:00
Jose Diaz-Gonzalez
3d99ea63bd Merge pull request #6536 from dokku/vector-via-compose
Manage vector container via compose
2024-01-30 10:23:45 -05:00
Jose Diaz-Gonzalez
60d9a3ca34 Merge pull request #6546 from dokku/kubens-kubectx
Install kubectx and kubens helper binaries when setting up a k3s cluster
2024-01-30 08:02:28 -05:00
Jose Diaz-Gonzalez
06429a384e feat: install kubectx and kubens 2024-01-30 08:01:42 -05:00
Jose Diaz-Gonzalez
a277c5da1b refactor: allow setting more options when changing permissions on a file
Rather than hardcoding paths, just allow them to be options.
2024-01-30 07:31:02 -05:00
Jose Diaz-Gonzalez
6622de5998 Merge pull request #6545 from dokku/docs-cleanup
Migrate markdown doc rewriting into mkdocs hooks
2024-01-30 06:55:15 -05:00
Jose Diaz-Gonzalez
0c83356542 refactor: move docs rewrite into mkdocs hooks
This will ensure `mkdocs build` does not rewrite content, making contribution easier.
2024-01-30 06:53:14 -05:00
Jose Diaz-Gonzalez
b333334e72 chore: use new github-style admonition 2024-01-30 06:50:24 -05:00
Jose Diaz-Gonzalez
f287f32682 docs: allow hooks file to be added to docker builds 2024-01-29 13:20:02 -05:00
Dokku Bot
aff753ca67 Release 0.33.3
# History

## 0.33.3

Install/update via the bootstrap script:

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

### Bug Fixes

- #6542: @josegonzalez Drop -- when calling dokku run for cron-tab templating

### Documentation

- #6543: @josegonzalez Add support for badge shortcodes in documentation
2024-01-29 17:54:35 +00:00
Jose Diaz-Gonzalez
0de2f3401c Merge pull request #6543 from dokku/shortcodes
Add support for badge shortcodes in documentation
2024-01-29 12:51:51 -05:00
Jose Diaz-Gonzalez
08d817d4a1 Merge pull request #6542 from dokku/6541-cron-template
Drop -- when calling dokku run for cron-tab templating
2024-01-29 12:51:42 -05:00
Jose Diaz-Gonzalez
cf0623407c docs: add support for badge shortcodes in documentation
This will allow us to add little icons to various parts of the docs to denote when something is for a particular scheduler only.
2024-01-29 12:43:38 -05:00
Jose Diaz-Gonzalez
8ffb693105 fix: drop -- when calling dokku run for cron-tab templating
Closes #6541
2024-01-29 12:26:38 -05:00
Dokku Bot
2e66cee50f Release 0.33.2
# History

## 0.33.2

Install/update via the bootstrap script:

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

### Bug Fixes

- #6535: @josegonzalez Properly fetch default vector image if none is passed
- #6533: @josegonzalez Ensure all k3s traefik middleware resources are scoped to the process
- #6524: @josegonzalez Ensure all copied files always have line endings converted to unix-style

### New Features

- #6537: @josegonzalez Add the dokku logo as the chart icon
- #6527: @josegonzalez Upgrade vector image to 0.35.x
- #6534: @josegonzalez Allow specifying an ingress class via chart value

### Documentation

- #6530: @josegonzalez Fix indentation on letsencrypt sections for k3s scheduler docs

### Tests

- #6532: @josegonzalez Correct issues in tests for vector image log property

### Dependencies

- #6540: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.5 to 9.5.6 in /docs/_build
- #6538: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.1 to 42.0.2
- #6528: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.0 to 42.0.1
- #6529: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.31.0 to 1.32.0 in /tests/apps/gogrpc

### Other

- #6526: @josegonzalez Allow setting the vector image as a global property
2024-01-29 14:20:48 +00:00
Jose Diaz-Gonzalez
61f1a23238 Merge pull request #6540 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.5.6
chore(deps): bump mkdocs-material from 9.5.5 to 9.5.6 in /docs/_build
2024-01-29 09:18:55 -05:00
dependabot[bot]
d8dc566b35 chore(deps): bump mkdocs-material from 9.5.5 to 9.5.6 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.5 to 9.5.6.
- [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.5.5...9.5.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-29 13:26:35 +00:00
Jose Diaz-Gonzalez
8ee12eaf5c Merge pull request #6538 from dokku/dependabot/github_actions/tj-actions/changed-files-42.0.2
chore(deps): bump tj-actions/changed-files from 42.0.1 to 42.0.2
2024-01-29 07:16:44 -05:00
dependabot[bot]
fb1420f78f chore(deps): bump tj-actions/changed-files from 42.0.1 to 42.0.2
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 42.0.1 to 42.0.2.
- [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/v42.0.1...v42.0.2)

---
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>
2024-01-26 13:45:24 +00:00
Jose Diaz-Gonzalez
ee2e5c426d Merge pull request #6537 from dokku/chart-icon
Add the dokku logo as the chart icon
2024-01-26 06:56:27 -05:00
Jose Diaz-Gonzalez
029e1f5f48 feat: add the dokku logo as the chart icon 2024-01-26 06:55:46 -05:00
Jose Diaz-Gonzalez
c49322bd34 feat: manage vector container via compose
Using compose instead of manual docker calls allows folks to customize the vector container by using a custom compose.yml template file. This opens us up to more customizations while aligning container management with how we do other external containers (such as for the proxy plugins).

Refs #5784
2024-01-26 06:46:18 -05:00
Jose Diaz-Gonzalez
3dc917253b Merge pull request #6527 from dokku/upgrade-vector
Upgrade vector image to 0.35.x
2024-01-26 05:21:48 -05:00
Jose Diaz-Gonzalez
ed152ccd83 feat: upgrade vector image to 0.35.x
This is backwards compatible for Dokku's usage, so should be fine to ship.
2024-01-26 04:24:04 -05:00
Jose Diaz-Gonzalez
584be40776 Merge pull request #6535 from dokku/fix-vector-start
Properly fetch default vector image if none is passed
2024-01-26 04:23:18 -05:00
Jose Diaz-Gonzalez
a4a90e3c76 fix: properly fetch default vector image if none is passed 2024-01-26 04:14:28 -05:00
Jose Diaz-Gonzalez
21a59d7f96 Merge pull request #6534 from dokku/ingress-class-setting
Allow specifying an ingress class via chart value
2024-01-26 03:29:18 -05:00
Jose Diaz-Gonzalez
f5182aa553 feat: allow specifying an ingress class via chart value
While Dokku currently only supports traefik, providing this setting will allow swapping out the ingress to another fairly easily.
2024-01-26 03:23:34 -05:00
Jose Diaz-Gonzalez
928d35ee77 Merge pull request #6533 from dokku/process-specific-traefik-middleware
Ensure all k3s traefik middleware resources are scoped to the process
2024-01-26 01:41:09 -05:00
Jose Diaz-Gonzalez
d031f569fc Merge pull request #6532 from dokku/fix-tests
Correct issues in tests for vector image log property
2024-01-26 01:39:23 -05:00
Jose Diaz-Gonzalez
5b8e8b91e3 fix: ensure all k3s traefik middleware resources are scoped to the process
While we currently only create the middleware for the web process, scoping it by process will allow us to expand this in the future.
2024-01-26 01:38:29 -05:00
Jose Diaz-Gonzalez
e2c6cf2527 Merge pull request #6528 from dokku/dependabot/github_actions/tj-actions/changed-files-42.0.1
chore(deps): bump tj-actions/changed-files from 42.0.0 to 42.0.1
2024-01-26 01:11:31 -05:00
Jose Diaz-Gonzalez
d90135fce6 Merge pull request #6529 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/protobuf-1.32.0
chore(deps): bump google.golang.org/protobuf from 1.31.0 to 1.32.0 in /tests/apps/gogrpc
2024-01-26 01:11:24 -05:00
Jose Diaz-Gonzalez
baad9ec79d fix: correct issues in tests for vector image log property 2024-01-26 01:10:41 -05:00
Jose Diaz-Gonzalez
27703e23cf Merge pull request #6530 from dokku/josegonzalez-patch-1
Fix indentation on letsencrypt sections for k3s scheduler docs
2024-01-25 12:46:55 -05:00
Jose Diaz-Gonzalez
af1b2ba450 docs: fix indentation on letsencrypt sections for k3s scheduler docs 2024-01-25 12:46:31 -05:00
dependabot[bot]
58182f6d38 chore(deps): bump google.golang.org/protobuf in /tests/apps/gogrpc
Bumps google.golang.org/protobuf from 1.31.0 to 1.32.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-25 13:54:52 +00:00
dependabot[bot]
02329b53f6 chore(deps): bump tj-actions/changed-files from 42.0.0 to 42.0.1
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 42.0.0 to 42.0.1.
- [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/v42.0.0...v42.0.1)

---
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>
2024-01-25 13:37:23 +00:00
Jose Diaz-Gonzalez
6843b2ae06 Merge pull request #6526 from dokku/6440-vector-image
Allow setting the vector image as a global property
2024-01-25 04:27:49 -05:00
Jose Diaz-Gonzalez
aa05a95243 feat: allow setting the vector image as a global property 2024-01-25 04:26:57 -05:00
Jose Diaz-Gonzalez
c496f8abd6 Merge pull request #6524 from dokku/6490-dos2unix-copy
Ensure all copied files always have line endings converted to unix-style
2024-01-25 00:37:01 -05:00
Jose Diaz-Gonzalez
b6425ab431 fix: ensure all copied files always have line endings converted to unix-style
Closes #6490
2024-01-24 23:54:10 -05:00
Dokku Bot
9ac76dec2f Release 0.33.1
# History

## 0.33.1

Install/update via the bootstrap script:

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

### Bug Fixes

- #6520: @josegonzalez Guard against missing healthcheck config
- #6519: @josegonzalez Use correct name for cluster-issuers helm chart

### Refactors

- #6521: @josegonzalez Install traefik via helm chart directly to avoid issues where traefik silently fails installation

### Dependencies

- #6523: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.4 to 9.5.5 in /docs/_build
- #6522: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.60.1 to 1.61.0 in /tests/apps/gogrpc
2024-01-25 03:15:18 +00:00
Jose Diaz-Gonzalez
ea95d71e56 Merge pull request #6523 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.5.5
chore(deps): bump mkdocs-material from 9.5.4 to 9.5.5 in /docs/_build
2024-01-24 21:40:21 -05:00
Jose Diaz-Gonzalez
b1334c7406 Merge pull request #6522 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.61.0
chore(deps): bump google.golang.org/grpc from 1.60.1 to 1.61.0 in /tests/apps/gogrpc
2024-01-24 21:40:02 -05:00
dependabot[bot]
44e3d38d45 chore(deps): bump mkdocs-material from 9.5.4 to 9.5.5 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.4 to 9.5.5.
- [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.5.4...9.5.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-24 13:58:25 +00:00
dependabot[bot]
ef20b22f54 chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.60.1 to 1.61.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.60.1...v1.61.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-24 13:42:02 +00:00
Jose Diaz-Gonzalez
2be6a1724b Merge pull request #6521 from dokku/standalone-traefik-install
Install traefik via helm chart directly to avoid issues where traefik silently fails installation
2024-01-24 05:02:28 -05:00
Jose Diaz-Gonzalez
ea55db2747 refactor: install traefik via helm chart directly to avoid issues where traefik silently fails installation 2024-01-24 03:58:39 -05:00
Jose Diaz-Gonzalez
e164f8393a Merge pull request #6520 from dokku/healthcheck-fixes
Guard against missing healthcheck config
2024-01-24 02:40:18 -05:00
Jose Diaz-Gonzalez
1d99e0bc6e fix: guard against missing healthcheck config
Also add support for liveness and readiness probes.
2024-01-24 02:39:39 -05:00
Jose Diaz-Gonzalez
a64e9514ee Merge pull request #6519 from dokku/fix-cluster-issuers-name
Use correct name for cluster-issuers helm chart
2024-01-24 02:33:01 -05:00
Jose Diaz-Gonzalez
578afc0ef7 fix: use correct name for cluster-issuers 2024-01-24 02:19:21 -05:00
Dokku Bot
6fec401ded Release 0.33.0
# History

## 0.33.0

Install/update via the bootstrap script:

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

### Bug Fixes

- #6466: @josegonzalez Use correct key for migrating global scheduler configuration on upgrade
- #6450: @josegonzalez Always set -- on docker run commands internally to avoid parsing flags on specified commands
- #6447: @josegonzalez Propagate arm64 build support for development builds
- #6445: @josegonzalez Do not strip whitespace when displaying a file for debugging purposes
- #6442: @josegonzalez Ignore go.work when bumping modules
- #6427: @josegonzalez Add missing gitignore entry for app-json trigger

### New Features

- #6500: @josegonzalez Add support for custom user namespaces when creating persistent storage directories
- #6492: @josegonzalez Add support for multierror when exiting triggers
- #6491: @josegonzalez Add wrappers for exec and ssh commands
- #6489: @josegonzalez Disable flag parsing for dokku enter
- #6469: @josegonzalez Allow generating an ssh deploy key via the git plugin
- #6468: @josegonzalez Implement global support for setting proxy type
- #6467: @josegonzalez Add ability to customize the registry repo with a template
- #6464: @josegonzalez Create helper function for exposing a docker image's working directory
- #6462: @josegonzalez Ensure ps:stop has a proper cli header
- #6460: @josegonzalez Add a post-registry-login trigger
- #6459: @josegonzalez Alias common registry names to docker.io
- #6457: @josegonzalez Add the ability to specify the output format when listing ports
- #6452: @josegonzalez Add alternative implementation for calling plugin triggers
- #6446: @josegonzalez Add support for global-only environment properties
- #6443: @josegonzalez Add support for exposing healthchecks in the AppJson struct
- #6435: @josegonzalez Implement native k3s scheduler support
- #6433: @josegonzalez Add go.work.sum to gitignore
- #6432: @josegonzalez Upgrade golang to 1.21.6
- #6430: @josegonzalez Reformat devcontainer file
- #6428: @josegonzalez Add ms-azuretools.vscode-docker to devcontainer setup
- #6313: @josegonzalez Set the platform flag in order to run amd64 images on arm64 deploy targets

### Refactors

- #6448: @josegonzalez Return an int32 for scale count
- #6444: @josegonzalez Allow setting a custom mode when writing a slice to a file

### Documentation

- #6517: @josegonzalez Remove k3s tutorial from documentation
- #6516: @josegonzalez Note that the external kubernetes plugin is deprecated
- #6515: @josegonzalez Replace the kubernetes plugin with k3s in the documentation
- #6514: @josegonzalez Add notes on k3s replacement of the scheduler-kubernetes plugin
- #6461: @josegonzalez Add documentation for implementing scheduler-related commands
- #6458: @josegonzalez Add docblocks to appjson structs
- #6420: @aochagavia Fix typo in zero downtime documentation

### Tests

- #6465: @josegonzalez Update haproxy tests so they pass
- #6449: @josegonzalez Run ci on ubuntu 22.04
- #6431: @josegonzalez Add golanglint-ci testing support

### Dependencies

- #6513: @dependabot[bot] chore(deps): bump github.com/containerd/containerd from 1.7.6 to 1.7.11 in /plugins/scheduler-k3s
- #6512: @josegonzalez Update github.com/gonsi/gomega golang dependency
- #6511: @josegonzalez Update crypto and sys golang dependencies
- #6494: @dependabot[bot] chore(deps): bump markupsafe from 2.1.3 to 2.1.4 in /docs/_build
- #6482: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.3 to 9.5.4 in /docs/_build
- #6478: @dependabot[bot] chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/zombies-dockerfile-tini
- #6456: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.29.1 to 1.60.1 in /tests/apps/gogrpc
- #6454: @dependabot[bot] chore(deps): bump flask from 3.0.0 to 3.0.1 in /tests/apps/python-flask
- #6455: @dependabot[bot] chore(deps): bump flask from 3.0.0 to 3.0.1 in /tests/apps/multi
- #6453: @josegonzalez Remove ignored dependency from dependabot
- #6451: @josegonzalez Update go modules
- #6439: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.30.0 to 1.31.0 in /plugins/config
- #6438: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.30.0 to 1.31.0 in /plugins/common
- #6437: @dependabot[bot] chore(deps): bump beautifulsoup4 from 4.12.2 to 4.12.3 in /docs/_build
- #6436: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 41.1.1 to 42.0.0
- #6425: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 41.0.1 to 41.1.1
- #6424: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.3 to 9.5.4 in /docs/_build
- #6421: @josegonzalez chore: bump golang.org/x/sync from 0.5.0 to 0.6.0
- #6419: @dependabot[bot] chore(deps): bump jinja2 from 3.1.2 to 3.1.3 in /docs/_build
- #6418: @dependabot[bot] chore(deps): bump jinja2 from 3.1.2 to 3.1.3 in /tests/apps/python-flask
- #6415: @dependabot[bot] chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/go-fail-postdeploy
- #6414: @dependabot[bot] chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/gogrpc
- #6413: @dependabot[bot] chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/go-fail-predeploy
- #6412: @dependabot[bot] chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/zombies-dockerfile-no-tini
- #6411: @dependabot[bot] chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/zombies-dockerfile-tini
- #6410: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.19.0 to 0.20.0 in /tests/apps/gogrpc
- #6406: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.5.0 to 0.6.0 in /plugins/scheduler-docker-local

### Other

- #6463: @josegonzalez Use exported function from appjson module instead of manually parsing
- #6429: @josegonzalez Use go.work for development purposes
2024-01-23 17:55:18 +00:00
Jose Diaz-Gonzalez
a644908fbf fix: add missing help output 2024-01-23 12:52:08 -05:00
Jose Diaz-Gonzalez
b56495b367 docs: clarify that a rebuild is required 2024-01-23 11:47:50 -05:00
Jose Diaz-Gonzalez
4f26913e44 Merge pull request #6517 from dokku/josegonzalez-patch-1
Remove k3s tutorial from documentation
2024-01-23 11:38:47 -05:00
Jose Diaz-Gonzalez
bbf9febe30 docs: remove k3s tutorial from documentation
This belongs in the tutorial section
2024-01-23 11:38:33 -05:00
Jose Diaz-Gonzalez
54a12c9c89 Merge pull request #6516 from dokku/josegonzalez-patch-1
Note that the external kubernetes plugin is deprecated
2024-01-23 11:12:09 -05:00
Jose Diaz-Gonzalez
2cd8e1e61e Note that the external kubernetes plugin is deprecated
This was never in the core and thus doesn't need to be called out.
2024-01-23 11:11:35 -05:00
Jose Diaz-Gonzalez
ca33c437d3 Merge pull request #6515 from dokku/josegonzalez-patch-1
Replace the kubernetes plugin with k3s in the documentation
2024-01-23 11:09:15 -05:00
Jose Diaz-Gonzalez
ef63b28804 chore: replace the kubernetes plugin with k3s 2024-01-23 11:08:56 -05:00
Jose Diaz-Gonzalez
5958179d86 Merge pull request #6514 from dokku/josegonzalez-patch-1
docs: add notes on k3s replacement of the scheduler-kubernetes plugin
2024-01-23 11:08:37 -05:00
Jose Diaz-Gonzalez
67ef6f98ab docs: add notes on k3s replacement of the scheduler-kubernetes plugin 2024-01-23 11:07:46 -05:00
Jose Diaz-Gonzalez
7025968b74 Merge pull request #6513 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/containerd/containerd-1.7.11
chore(deps): bump github.com/containerd/containerd from 1.7.6 to 1.7.11 in /plugins/scheduler-k3s
2024-01-23 10:46:49 -05:00
dependabot[bot]
3d4005b3e6 chore(deps): bump github.com/containerd/containerd
Bumps [github.com/containerd/containerd](https://github.com/containerd/containerd) from 1.7.6 to 1.7.11.
- [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.6...v1.7.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-23 15:45:05 +00:00
Jose Diaz-Gonzalez
5d8fdb31db Merge pull request #6512 from dokku/update-go-gomega
Update github.com/gonsi/gomega golang dependencies
2024-01-23 10:43:49 -05:00
Jose Diaz-Gonzalez
552d08ea88 chore: update gonsi/gomega golang dependencies 2024-01-23 10:43:18 -05:00
Jose Diaz-Gonzalez
790f087800 Merge pull request #6478 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.21.6
chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/zombies-dockerfile-tini
2024-01-23 10:41:03 -05:00
Jose Diaz-Gonzalez
dda8aed1e2 Merge pull request #6482 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.5.4
chore(deps): bump mkdocs-material from 9.5.3 to 9.5.4 in /docs/_build
2024-01-23 10:40:38 -05:00
Jose Diaz-Gonzalez
0f3538f158 Merge pull request #6494 from dokku/dependabot/pip/docs/_build/markupsafe-2.1.4
chore(deps): bump markupsafe from 2.1.3 to 2.1.4 in /docs/_build
2024-01-23 10:40:31 -05:00
Jose Diaz-Gonzalez
82835e03a2 Merge pull request #6511 from dokku/update-go-crypto
Update crypto and sys golang dependencies
2024-01-23 10:40:09 -05:00
Jose Diaz-Gonzalez
569105d479 chore: update crypto and sys golang dependencies 2024-01-23 10:39:39 -05:00
Jose Diaz-Gonzalez
68d61fba0b fix: set correct version on plugin 2024-01-23 10:38:01 -05:00
dependabot[bot]
51e2676c3b chore(deps): bump markupsafe from 2.1.3 to 2.1.4 in /docs/_build
Bumps [markupsafe](https://github.com/pallets/markupsafe) from 2.1.3 to 2.1.4.
- [Release notes](https://github.com/pallets/markupsafe/releases)
- [Changelog](https://github.com/pallets/markupsafe/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/markupsafe/compare/2.1.3...2.1.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-23 15:37:27 +00:00
Jose Diaz-Gonzalez
dc1d9fe92f Merge pull request #6470 from dokku/0.33-release
Release 0.33.0
2024-01-23 10:33:59 -05:00
Jose Diaz-Gonzalez
c53e7330b5 Merge pull request #6435 from dokku/k3s-support
Implement native k3s scheduler support
2024-01-23 10:31:07 -05:00
Jose Diaz-Gonzalez
ee23dac2f3 fix: respect the namespace 2024-01-23 10:16:40 -05:00
Jose Diaz-Gonzalez
6707e5f1eb feat: add redirect to https when both an http and https port mapping match 2024-01-23 09:45:20 -05:00
Jose Diaz-Gonzalez
56ee889295 chore: note that the cluster-issuer is managed by dokku 2024-01-23 09:32:52 -05:00
Jose Diaz-Gonzalez
c1b3c73096 chore: drop unnecessary key 2024-01-23 09:32:41 -05:00
Jose Diaz-Gonzalez
1f35575a2a fix: use the container port as the target to fix an issue where kubernetes will remove duplicate containerPort entries with different names 2024-01-23 08:59:44 -05:00
Jose Diaz-Gonzalez
d8fcabdf40 fix: always route to http instead of https
Otherwise, we're assuming the app pod is going to handle https requests and not the ingress
2024-01-23 08:10:16 -05:00
Jose Diaz-Gonzalez
7b2484962b fix: set tls field on ingress-route 2024-01-23 07:59:14 -05:00
Jose Diaz-Gonzalez
1d07801f3c fix: set ttl property at correct level for cronjobs 2024-01-23 07:25:51 -05:00
Jose Diaz-Gonzalez
cf7d35601d fix: delete the temporary helm chart on disk 2024-01-23 07:25:42 -05:00
Jose Diaz-Gonzalez
99f20a962e refactor: rename helm chart to app name 2024-01-23 07:25:28 -05:00
Jose Diaz-Gonzalez
25925c0ae2 chore: remove logging from inside helm client 2024-01-23 07:25:18 -05:00
Jose Diaz-Gonzalez
4a7db5ce24 feat: apply the cluster issuers on every app deploy
This ensures we can always get certificates regardless of what app gets deployed with whatever configuration.
2024-01-23 07:25:03 -05:00
Jose Diaz-Gonzalez
c8f5ad9029 fix: correct issues in certificate generation 2024-01-23 06:18:25 -05:00
Jose Diaz-Gonzalez
a9e6e96697 feat: implement scheduler-k3s:report 2024-01-23 05:01:23 -05:00
Jose Diaz-Gonzalez
cc62bc080b fix: use correct field for comparison 2024-01-23 04:55:38 -05:00
Jose Diaz-Gonzalez
fbbc967e8d chore: add todo 2024-01-23 04:55:24 -05:00
Jose Diaz-Gonzalez
a0811c2cb3 fix: move field to correct location 2024-01-23 04:42:20 -05:00
Jose Diaz-Gonzalez
57e76e29d1 fix: correct the scope on the token 2024-01-23 04:25:41 -05:00
Jose Diaz-Gonzalez
ff849cd4f8 fix: touch the known hosts file earlier 2024-01-23 04:25:25 -05:00
Jose Diaz-Gonzalez
204517074b fix: allow setting a custom ip address as the ip pf the dokku server
This will provide the ability to override cases where the detected ip address is invalid for whatever reason.
2024-01-23 03:26:32 -05:00
Jose Diaz-Gonzalez
c6838b645e chore: update go mod 2024-01-23 03:21:21 -05:00
Jose Diaz-Gonzalez
56f25c4855 fix: ensure the known_hosts file exists before attempting to ssh onto a server 2024-01-23 03:21:05 -05:00
Jose Diaz-Gonzalez
1e559f20e5 refactor: use helper function to get process resources 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
2336063ca2 refactor: move templating into pseudo-generated helm chart
The previous mechanism of constructing the helm chart was pretty obnoxious due to needing to have some things in the object and some in template files that were appended afterwards. This change simplifies that by using template files per type with minimal replacements.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
75539273e3 docs: update documentation 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
2eb346d50d fix: allow setting letsencrypt-server globally 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
001ae3c83b fix: set default value for rollback-on-failure 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
b1802547ae feat: add letsencrypt support 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
62c8cb770e feat: add support for global properties 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
22f27ea2d3 fix: add missing newline 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
661dfbbf51 chore: ignore yaml files in scheduler-k3s plugin 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
29760e8ecd feat: add support to tls for ingress-route
If tls is enabled on the process, we create add the https entrypoint and also add the requisite tls secret-name
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
63a6e9087f feat: create tls certificate if tls is enabled and the app has domains 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
b0485495e4 refactor: make domains a helm value
This will allow updating domains on the fly
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
01ec08fd79 refactor: simplify port string 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
2bee070e78 chore: unify context handling 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
2619c3db08 fix: ensure critical addons come up when the node is tainted
Rather than taint on `node-role.kubernetes.io/master=true:NoSchedule`, we check for `CriticalAddonsOnly=true:NoSchedule` and taint on that.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
b64c3a1859 chore: add missing import 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
3d6225406d chore: rename input variable 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
3ddfd2bc7d feat: install cert-manager 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
f7acbb1e7c refactor: place all required manifests in a single location
This will make it easier for us to apply the installs.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
e4a74366ba chore: move around structs to be closer to the functions using them 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
309256955d feat: label the k3s server nodes as capable of fronting traffic
The idea here is that only k3s nodes can/should handle certificate requests. While users may wish to force these onto dedicated lb nodes in the future, at least for now, separating app workloads with routing seems like an okay trade-off.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
0730647af7 feat: implement :cluster-list and :cluster-remove
These - and the existing :cluster-add command - do not require root.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
d494e01c7b chore: update error message 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
33a3e6a2fc chore: drop unused node label 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
3375474a4c feat: copy the registry file to all remote hosts 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
a354210f67 fix: treat the registry file as a pointer 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
09ca1f1299 fix: correct issue with file copygin 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
707c22eae7 chore: update docs concerning network requests 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
78bc2849cb feat: add longhorn 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
68fef56403 docs: remove note about syncing with traefik 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
34b06d488f fix: add missing makefile and dokku entries for uninstall and cluster-add 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
b85bc49f03 docs: update k3s documentation 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
a1428ceb74 fix: do not set a static token and generate one as needed 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
69e9511666 feat: implement cluster joining for server and worker nodes
Different options get applied to each depending on what is needed for the role.

This also updates how we initialize the cluster to better support how metrics exposure and cross-server networking.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
af3009f0da chore: bump go modules 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
632b26905a feat: use common labels instead of custom ones 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
9cd0644883 refactor: fix issues with pod entering
- ensure we always wait for the specific pod we want to be ready
- enter the default container if none is specified
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
5c4e1dfc39 fix: do not attempt to uninstall a chart that isn't available 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
86da40ba19 feat: add default-container annotation everywhere 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
cee47b4836 fix: do not try and override image repo 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
e6d372f963 docs: reference image repo templating and git key generation for setup 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
dce900588e chore: revert -- change 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
ceae555e43 docs: revert docs 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
84ef557c93 docs: remove now incorrect docs 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
4650585ded fix: pull pass from env var 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
27b82f77a3 fix: drop duplicate 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
5449c35dbe fix: correct path to registry config and update go.mod 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
e13561ec4d refactor: move registry path to const 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
a90f6bdee8 docs: remove need to add --
This is done transparently now by Dokku, so no need to have a bc-break
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
599692446e docs: update what is supported 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
8762bede07 feat: implement healthcheck support 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
da4771e6e4 fix: uninstall in foreground 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
997f04afae chore: document that flag parsing should be stopped via -- 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
ba714c189f fix: do not parse flags 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
7bce908c2d fix: properly set the command for herokuish apps 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
cb62ab02f4 fix: add missing post-deploy triggers 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
c2b78bb2d7 feat: implement run:list 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
e4855941fe feat: allow for stable cron names
The cron id is too long to store in the cronjob, so we generate a short identifier and look that up each time on deploy to ensure stability across time.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
297853781f refactor: move all k8s code behind client
Also fix an issue where attaching to pods fails in rare cases
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
1c5505f78b refactor: move functions around and ensure we respect local versions of golang dependencies 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
9d27ff39da refactor: only delete the helm chart in the scheduler-post-delete hook 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
10e3bac24c docs: remove references to docker-local 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
966ce76122 docs: add a note saying multi-cluster work isn't yet implemented 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
bb8fd39e80 chore: drop extra debugging for one-off jobs 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
277df036e9 feat: implement default resource limits for cron tasks 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
0127f836fa feat: implement cron jobs 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
3f7e1d161a chore: remove unused docker args code 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
8b8444fb1f feat: implement run and run:detached
This utilizes a Kubernetes Job to start a pod in order to take advantage of completed Job cleanup in Kubernetes. It also properly handles interactivity by ensuring the container has a TTY.

Note that there is currently no provision for parsing docker arguments and translating them into their Kubernetes equivalents.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
6b85374857 feat: implement scheduler-k3s:show-config 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
a2504fadd2 chore: add a note about stopping nginx 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
1e11ec3911 fix: setup all port maps correctly on service 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
2911218816 feat: add an annotations everywhere to ensure folks know what is managed by dokku 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
dfa7d0f78c feat: mark created namespaces as managed by dokku 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
46b6f446fd feat: implement ps:stop for k3s scheduler
This simply scales down processes.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
8a719a2880 docs: update docs to point out unsupported functionality 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
3137c457fa fix: kill log tailing properly on ctrl+c 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
57b62f51d3 refactor: update log streaming so plugin triggers don't get abandoned on ctrl-c
We now propagate a cancellable context object on a new plugin trigger call that allows for signals to work as expected.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
9c891563c3 feat: implement logs command for kubernetes 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
c2d1f80bc4 feat: implement app deletion 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
55d7a4a1a0 docs: document that enter is implemented 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
737f54a5c7 feat: implement dokku enter for k8s scheduler 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
6fb03eda4e feat: implement most of deployments
The big feature missing from deployments today is healthchecks, which require extra parsing of the app.json format since the healthchecks there aren't immediately serializable to kubernetes deployment healthchecks.

Other smaller missing functionality from the existing OSS kubernetes scheduler are:

- The ability to set custom pod annotations
- The ability to set custom deployment annotations
- The ability to mount volumes

Exposing these pieces of functionality will come at a later date, if at all.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
6c234c66a3 fix: guard the initialize call if k3s is already installed 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
7101d1bf7b fix: close the file before attempting to write it
Also remove the unnecessary sleep call
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
f377c23403 feat: setup k3s registry automatically on registry login 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
65d840e4bc chore: stub out post-registry-login 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
ec538ce1c5 feat: implement scheduler-k3s:initialize 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
d6824c44c7 fix: correct plugin name 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
523d7bcf9e chore: bump golang.org/x/sync from 0.5.0 to 0.6.0 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
3821d22b93 chore: write go.sum file 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
a80c73fb2c feat: create skeleton of k3s plugin 2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
3bf677ff9b Merge pull request #6500 from dokku/3454-chown-add
Add support for custom user namespaces when creating persistent storage directories
2024-01-23 02:50:39 -05:00
Jose Diaz-Gonzalez
7381cf74c6 feat: add support for custom user namespaces when creating persistent storage directories
Closes #3454
2024-01-23 02:25:11 -05:00
Jose Diaz-Gonzalez
cb558c1a19 Merge pull request #6492 from dokku/multierror-logging
Add support for multierror when exiting triggers
2024-01-20 06:58:21 -05:00
Jose Diaz-Gonzalez
6908177095 feat: add support for multierror when exiting triggers 2024-01-20 06:57:48 -05:00
Jose Diaz-Gonzalez
d40b264a40 Merge pull request #6491 from dokku/exec-ssh-tasks
Add wrappers for exec and ssh commands
2024-01-20 05:27:30 -05:00
Jose Diaz-Gonzalez
b6d3749f51 feat: add sftp implementation 2024-01-20 05:26:37 -05:00
Jose Diaz-Gonzalez
0cf26ac994 feat: add wrappers for exec and ssh commands 2024-01-20 05:05:35 -05:00
Jose Diaz-Gonzalez
e2056e296b Merge pull request #6489 from dokku/disable-flag-parsing-for-enter
Disable flag parsing for dokku enter
2024-01-19 20:26:20 -05:00
Jose Diaz-Gonzalez
83b0cf4065 fix: always set -- on docker exec commands internally to avoid parsing flags on specified commands 2024-01-19 20:02:20 -05:00
Jose Diaz-Gonzalez
1172ac4653 Merge pull request #6468 from dokku/global-proxy-type
Implement global support for setting proxy type
2024-01-19 08:39:46 -05:00
Jose Diaz-Gonzalez
dc39e5c0f3 Merge pull request #6467 from dokku/registry-repo-template
Add ability to customize the registry repo with a template
2024-01-19 08:39:01 -05:00
Jose Diaz-Gonzalez
2e0f1ac89a Merge pull request #6469 from dokku/git-deploy-key
Allow generating an ssh deploy key via the git plugin
2024-01-19 07:24:13 -05:00
Jose Diaz-Gonzalez
4fc3ab4b7a fix: reverse the expected proxy type 2024-01-19 07:15:36 -05:00
Jose Diaz-Gonzalez
213f9400ec Merge pull request #6456 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.60.1
chore(deps): bump google.golang.org/grpc from 1.29.1 to 1.60.1 in /tests/apps/gogrpc
2024-01-19 06:44:32 -05:00
dependabot[bot]
44c8d69096 chore(deps): bump mkdocs-material from 9.5.3 to 9.5.4 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.3 to 9.5.4.
- [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.5.3...9.5.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-19 11:42:37 +00:00
dependabot[bot]
d711c729cf chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.21.5 to 1.21.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-19 11:42:27 +00:00
Jose Diaz-Gonzalez
874f2dfaf4 feat: set the platform flag in order to run amd64 images on arm64 deploy targets
This allows folks to use herokuish, pack, and lambda built-images on arm64 servers.

Closes #6312
2024-01-19 06:37:48 -05:00
Jose Diaz-Gonzalez
7fbb86093b feat: implement global support for setting proxy type 2024-01-19 06:31:19 -05:00
Jose Diaz-Gonzalez
ec65d97139 feat: allow generating an ssh deploy key via the git plugin
While this might not seem super intuitive, the key is mostly related to git management, not the ssh-keys we currently use to add/remove access to push to dokku.
2024-01-19 06:30:30 -05:00
Jose Diaz-Gonzalez
214dc9b69a feat: add ability to customize the registry repo with a template 2024-01-19 06:29:32 -05:00
Jose Diaz-Gonzalez
ea28367689 Merge pull request #6466 from dokku/josegonzalez-patch-1
Use correct key for migrating global scheduler configuration on upgrade
2024-01-19 06:24:46 -05:00
Jose Diaz-Gonzalez
69e79b227d fix: use correct key for migrating global scheduler configuration on upgrade 2024-01-19 06:24:18 -05:00
Jose Diaz-Gonzalez
ab735333c6 fix: update the test 2024-01-19 03:51:21 -05:00
Jose Diaz-Gonzalez
6c6d016f1b chore: update gogrpc codebase from upstream 2024-01-19 03:14:39 -05:00
dependabot[bot]
43775d7b91 chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.29.1 to 1.60.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.29.1...v1.60.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-19 02:28:30 -05:00
Jose Diaz-Gonzalez
ab51247e3a Merge pull request #6465 from dokku/fix-haproxy-tests
Update haproxy tests so they pass
2024-01-19 02:27:52 -05:00
Jose Diaz-Gonzalez
464019f439 tests: sleep for a bit before testing haproxy 2024-01-19 02:09:55 -05:00
Jose Diaz-Gonzalez
193798b9e6 debug: check on all hosts 2024-01-18 23:49:06 -05:00
Jose Diaz-Gonzalez
f0c7985970 fix: update haproxy tests so they pass 2024-01-18 22:47:07 -05:00
Jose Diaz-Gonzalez
d656d185ce Merge pull request #6464 from dokku/docker-workdir
Create helper function for exposing a docker image's working directory
2024-01-18 22:38:58 -05:00
Jose Diaz-Gonzalez
68fd65b25f feat: create helper function for exposing a docker image's working directory 2024-01-18 22:38:37 -05:00
Jose Diaz-Gonzalez
c72ed428a4 Merge pull request #6463 from dokku/cron-appjson
refactor: use exported function from appjson module instead of manually parsing
2024-01-18 22:35:33 -05:00
Jose Diaz-Gonzalez
94926d141f refactor: use exported function from appjson module instead of manually parsing
Also add some missing docblocks.
2024-01-18 22:35:12 -05:00
Jose Diaz-Gonzalez
7984a8d9a0 Merge pull request #6462 from dokku/ps-header
Ensure ps:stop has a proper cli header
2024-01-18 22:31:54 -05:00
Jose Diaz-Gonzalez
2acc492906 chore: ensure ps:stop has a proper cli header 2024-01-18 22:31:41 -05:00
Jose Diaz-Gonzalez
fb851e3e51 Merge pull request #6461 from dokku/scheduler-docs
Add documentation for implementing scheduler-related commands
2024-01-18 22:30:06 -05:00
Jose Diaz-Gonzalez
49d98eb1f2 docs: add documentation for implementing scheduler-related commands 2024-01-18 22:29:52 -05:00
Jose Diaz-Gonzalez
6dadfde948 Merge pull request #6460 from dokku/post-registry-login
Add a post-registry-login trigger
2024-01-18 22:25:50 -05:00
Jose Diaz-Gonzalez
98d0a95ae6 feat: add a post-registry-login trigger
This allows other plugins to execute commands after a registry has been authenticated against.
2024-01-18 22:25:23 -05:00
Jose Diaz-Gonzalez
d89e2ba2bb fix: ensure we default to stdout format 2024-01-18 22:19:02 -05:00
Jose Diaz-Gonzalez
199e29cc15 Merge pull request #6454 from dokku/dependabot/pip/tests/apps/python-flask/flask-3.0.1
chore(deps): bump flask from 3.0.0 to 3.0.1 in /tests/apps/python-flask
2024-01-18 22:13:15 -05:00
Jose Diaz-Gonzalez
c4984cd4f8 Merge pull request #6455 from dokku/dependabot/pip/tests/apps/multi/flask-3.0.1
chore(deps): bump flask from 3.0.0 to 3.0.1 in /tests/apps/multi
2024-01-18 22:12:56 -05:00
Jose Diaz-Gonzalez
428ad046c6 Merge pull request #6459 from dokku/registry-alias
Alias common registry names to docker.io
2024-01-18 22:11:28 -05:00
Jose Diaz-Gonzalez
4aa13bdf47 feat: alias common registry names to docker.io 2024-01-18 22:10:58 -05:00
Jose Diaz-Gonzalez
4cc44dc5d9 Merge pull request #6458 from dokku/app-json-dockblock
Add docblocks to appjson structs
2024-01-18 22:08:56 -05:00
Jose Diaz-Gonzalez
7a94b10266 feat: add docblocks to appjson structs 2024-01-18 22:08:40 -05:00
Jose Diaz-Gonzalez
215c135487 Merge pull request #6457 from dokku/ports-get-format
Add the ability to specify the output format when listing ports
2024-01-18 22:01:52 -05:00
Jose Diaz-Gonzalez
78d24ead09 feat: add the ability to specify the output format when listing ports 2024-01-18 22:00:53 -05:00
Jose Diaz-Gonzalez
44054ac993 Merge pull request #6452 from dokku/6422-go-execute
Add alternative implementation for calling plugin triggers
2024-01-18 21:58:33 -05:00
dependabot[bot]
66466f6d7c chore(deps): bump flask from 3.0.0 to 3.0.1 in /tests/apps/python-flask
Bumps [flask](https://github.com/pallets/flask) from 3.0.0 to 3.0.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.0.0...3.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-19 02:53:15 +00:00
dependabot[bot]
57224f16df chore(deps): bump flask from 3.0.0 to 3.0.1 in /tests/apps/multi
Bumps [flask](https://github.com/pallets/flask) from 3.0.0 to 3.0.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.0.0...3.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-19 02:53:15 +00:00
Jose Diaz-Gonzalez
276ae4ea10 Merge pull request #6453 from dokku/josegonzalez-patch-1
Remove ignored dependency from dependabot
2024-01-18 21:52:45 -05:00
Jose Diaz-Gonzalez
f47c767736 chore: remove ignored dependency from dependabot 2024-01-18 21:52:26 -05:00
Jose Diaz-Gonzalez
1a5e17bd68 feat: add alternative implementation for calling plugin triggers
Refs #6422
2024-01-18 21:47:07 -05:00
Jose Diaz-Gonzalez
e093b04511 Merge pull request #6450 from dokku/disable-flag-parsing
Always set -- on docker run commands internally to avoid parsing flags on specified commands
2024-01-18 21:42:34 -05:00
Jose Diaz-Gonzalez
a3ae54a977 Merge pull request #6449 from dokku/ci-on-22
Run ci on ubuntu 22.04
2024-01-18 21:18:08 -05:00
Jose Diaz-Gonzalez
badb73a8de Merge pull request #6451 from dokku/update-go-modules
Update go modules
2024-01-18 21:15:39 -05:00
Jose Diaz-Gonzalez
33f532e022 chore: update go modules 2024-01-18 21:15:04 -05:00
Jose Diaz-Gonzalez
5ffbcf24de fix: always set -- on docker run commands internally to avoid parsing flags on specified commands 2024-01-18 21:00:42 -05:00
Jose Diaz-Gonzalez
59f74cbccf Merge pull request #6444 from dokku/write-to-slice-custom-mode
Allow setting a custom mode when writing a slice to a file
2024-01-18 20:53:58 -05:00
Jose Diaz-Gonzalez
698979983f Merge pull request #6448 from dokku/scale-int32
Return an int32 for scale count
2024-01-18 20:47:02 -05:00
Jose Diaz-Gonzalez
ca23e42e23 Merge pull request #6447 from dokku/propagate-arch
Propagate arm64 build support for development builds
2024-01-18 20:46:44 -05:00
Jose Diaz-Gonzalez
8947060fab Merge pull request #6446 from dokku/global-only-properties
Add support for global-only environment properties
2024-01-18 20:46:24 -05:00
Jose Diaz-Gonzalez
1549f84aa4 Merge pull request #6445 from dokku/cat-file-exact
Do not strip whitespace when displaying a file for debugging purposes
2024-01-18 20:46:06 -05:00
Jose Diaz-Gonzalez
7a54f13da1 tests: run ci on ubuntu 22.04 2024-01-18 20:13:24 -05:00
Jose Diaz-Gonzalez
7cbfb3c750 Merge pull request #6439 from dokku/dependabot/go_modules/plugins/config/github.com/onsi/gomega-1.31.0
chore(deps): bump github.com/onsi/gomega from 1.30.0 to 1.31.0 in /plugins/config
2024-01-18 19:51:35 -05:00
Jose Diaz-Gonzalez
6ae406609c Merge pull request #6438 from dokku/dependabot/go_modules/plugins/common/github.com/onsi/gomega-1.31.0
chore(deps): bump github.com/onsi/gomega from 1.30.0 to 1.31.0 in /plugins/common
2024-01-18 19:51:28 -05:00
Jose Diaz-Gonzalez
37acfca459 Merge pull request #6443 from dokku/healthcheck-exposure
Add support for exposing healthchecks in the AppJson struct
2024-01-18 19:50:49 -05:00
Jose Diaz-Gonzalez
6bcb4a016d refactor: return an int32 for scale count 2024-01-18 19:23:57 -05:00
Jose Diaz-Gonzalez
eb6a0dc71d fix: propagate arm64 build support for development builds 2024-01-18 19:19:53 -05:00
Jose Diaz-Gonzalez
580d2dc3ee feat: add support for global-only environment properties
If a property is only specified globally, it would otherwise be caught later in the check for valid properties.
2024-01-18 19:16:13 -05:00
Jose Diaz-Gonzalez
8cc822eed0 fix: do not strip whitespace when displaying a file for debugging purposes 2024-01-18 19:13:44 -05:00
Jose Diaz-Gonzalez
3f96a250a2 Merge pull request #6436 from dokku/dependabot/github_actions/tj-actions/changed-files-42.0.0
chore(deps): bump tj-actions/changed-files from 41.1.1 to 42.0.0
2024-01-18 19:12:29 -05:00
Jose Diaz-Gonzalez
d971bb31d7 Merge pull request #6437 from dokku/dependabot/pip/docs/_build/beautifulsoup4-4.12.3
chore(deps): bump beautifulsoup4 from 4.12.2 to 4.12.3 in /docs/_build
2024-01-18 19:12:21 -05:00
Jose Diaz-Gonzalez
fb73474675 refactor: allow setting a custom mode when writing a slice to a file 2024-01-18 19:11:53 -05:00
Jose Diaz-Gonzalez
4294694be3 feat: add support for exposing healthchecks in the AppJson struct 2024-01-18 19:05:14 -05:00
Jose Diaz-Gonzalez
d4da8aea84 Merge pull request #6442 from dokku/dev-bump-modules
Ignore go.work when bumping modules
2024-01-18 18:59:39 -05:00
Jose Diaz-Gonzalez
35357abc86 fix: ignore go.work when bumping modules 2024-01-18 18:59:22 -05:00
dependabot[bot]
eb1b8b0f9b chore(deps): bump github.com/onsi/gomega in /plugins/config
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.30.0 to 1.31.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.30.0...v1.31.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 14:01:34 +00:00
dependabot[bot]
5007ca1812 chore(deps): bump github.com/onsi/gomega in /plugins/common
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.30.0 to 1.31.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.30.0...v1.31.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 13:37:02 +00:00
dependabot[bot]
a97f18c85d chore(deps): bump beautifulsoup4 from 4.12.2 to 4.12.3 in /docs/_build
Bumps [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) from 4.12.2 to 4.12.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 13:13:57 +00:00
dependabot[bot]
cca5060725 chore(deps): bump tj-actions/changed-files from 41.1.1 to 42.0.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 41.1.1 to 42.0.0.
- [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/v41.1.1...v42.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 13:05:47 +00:00
Jose Diaz-Gonzalez
fe5e5c7d9a Merge pull request #6433 from dokku/josegonzalez-patch-1
Add go.work.sum to gitignore
2024-01-17 02:55:13 -05:00
Jose Diaz-Gonzalez
a69454d683 chore: gitignore go.work.sum
This will change over time and is probably not worth committing.
2024-01-17 02:54:55 -05:00
Jose Diaz-Gonzalez
53fd5fd475 Merge pull request #6432 from dokku/josegonzalez-patch-1
Upgrade golang to 1.21.6
2024-01-17 02:40:34 -05:00
Jose Diaz-Gonzalez
2fdfa65532 fix: correct lint errors 2024-01-17 02:40:18 -05:00
Jose Diaz-Gonzalez
d0acaa827d feat: upgrade golang to 1.21.6 2024-01-17 02:30:19 -05:00
Jose Diaz-Gonzalez
214fd95c98 Merge pull request #6431 from dokku/josegonzalez-patch-1
Add golanglint-ci testing support
2024-01-17 02:28:47 -05:00
Jose Diaz-Gonzalez
bdee495a0a feat: add golangci-lint to the development environment 2024-01-17 02:28:36 -05:00
Jose Diaz-Gonzalez
b8329d76ec tests: add support for running golangci-lint automatically
The plugin paths must be computed at execution because not all plugins contain golang code.
2024-01-17 02:28:11 -05:00
Jose Diaz-Gonzalez
3a47e5f54d feat: add golangci-lint file 2024-01-17 02:26:05 -05:00
Jose Diaz-Gonzalez
555bcbaf1f Merge pull request #6429 from dokku/josegonzalez-patch-1
feat: use go.work for development purposes
2024-01-17 02:20:59 -05:00
Jose Diaz-Gonzalez
3a333551e5 Merge pull request #6430 from dokku/josegonzalez-patch-2
chore: reformat devcontainer file
2024-01-17 02:20:46 -05:00
Jose Diaz-Gonzalez
823a83fed8 chore: reformat devcontainer file 2024-01-17 02:20:26 -05:00
Jose Diaz-Gonzalez
af9dc4604a fix: remove go.work file earlier 2024-01-17 01:58:37 -05:00
Jose Diaz-Gonzalez
9b4a376f68 fix: delete go.work file to resolve codeql issue
CodeQL doesn't currently support go.work files. See https://github.com/github/codeql/issues/14235 for details.
2024-01-17 01:51:11 -05:00
Jose Diaz-Gonzalez
b1a7032e9f fix: correct format of go version in go.work file 2024-01-17 01:40:32 -05:00
Jose Diaz-Gonzalez
85918a9f99 chore: disable go workfiles during builds 2024-01-17 01:27:06 -05:00
Jose Diaz-Gonzalez
066dc29549 fix: drop missing plugin from go.work file 2024-01-17 01:22:25 -05:00
Jose Diaz-Gonzalez
ddfedfa018 chore: drop installing go modules via go get
This is no longer necessary with the introduction of the go.work file.
2024-01-17 01:22:07 -05:00
Jose Diaz-Gonzalez
e4d0b2ca22 feat: use go.work for development purposes
This makes it so we don't have to fake download dependencies for development, allowing for a better experience in your local editor.
2024-01-17 01:21:22 -05:00
Jose Diaz-Gonzalez
2ccb07f509 Merge pull request #6428 from dokku/josegonzalez-patch-1
Add ms-azuretools.vscode-docker to devcontainer setup
2024-01-17 01:14:29 -05:00
Jose Diaz-Gonzalez
422ac72fa4 feat: add ms-azuretools.vscode-docker to devcontainer setup 2024-01-17 01:14:13 -05:00
Jose Diaz-Gonzalez
598ff6a734 Merge pull request #6424 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.5.4
chore(deps): bump mkdocs-material from 9.5.3 to 9.5.4 in /docs/_build
2024-01-17 01:12:33 -05:00
Jose Diaz-Gonzalez
ff70a98852 Merge pull request #6425 from dokku/dependabot/github_actions/tj-actions/changed-files-41.1.1
chore(deps): bump tj-actions/changed-files from 41.0.1 to 41.1.1
2024-01-17 01:12:25 -05:00
Jose Diaz-Gonzalez
9cf0dc01a4 Merge pull request #6427 from dokku/josegonzalez-patch-1
Add missing gitignore entry for app-json trigger
2024-01-17 01:12:09 -05:00
Jose Diaz-Gonzalez
f209adea69 fix: add missing ignore for app-json trigger 2024-01-17 01:11:50 -05:00
dependabot[bot]
8ec29abc9e chore(deps): bump tj-actions/changed-files from 41.0.1 to 41.1.1
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 41.0.1 to 41.1.1.
- [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/v41.0.1...v41.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-15 13:43:22 +00:00
dependabot[bot]
cb7203c0ed chore(deps): bump mkdocs-material from 9.5.3 to 9.5.4 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.3 to 9.5.4.
- [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.5.3...9.5.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-15 13:05:42 +00:00
Jose Diaz-Gonzalez
928c388f10 Merge pull request #6421 from dokku/bump-sync
chore: bump golang.org/x/sync from 0.5.0 to 0.6.0
2024-01-11 23:36:30 -05:00
Jose Diaz-Gonzalez
1533e149fc chore: bump golang.org/x/sync from 0.5.0 to 0.6.0 2024-01-11 23:01:50 -05:00
Jose Diaz-Gonzalez
82434256ff Merge pull request #6406 from dokku/dependabot/go_modules/plugins/scheduler-docker-local/golang.org/x/sync-0.6.0
chore(deps): bump golang.org/x/sync from 0.5.0 to 0.6.0 in /plugins/scheduler-docker-local
2024-01-11 23:00:06 -05:00
Jose Diaz-Gonzalez
1da537ac4d Merge pull request #6411 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.21.6
chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/zombies-dockerfile-tini
2024-01-11 22:55:41 -05:00
Jose Diaz-Gonzalez
200d67cfc1 Merge pull request #6410 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.20.0
chore(deps): bump golang.org/x/net from 0.19.0 to 0.20.0 in /tests/apps/gogrpc
2024-01-11 22:55:22 -05:00
Jose Diaz-Gonzalez
0cc46e1b54 Merge pull request #6412 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.21.6
chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/zombies-dockerfile-no-tini
2024-01-11 22:54:51 -05:00
Jose Diaz-Gonzalez
276b23a14b Merge pull request #6413 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.21.6
chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/go-fail-predeploy
2024-01-11 22:54:45 -05:00
Jose Diaz-Gonzalez
745c16db94 Merge pull request #6414 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.21.6
chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/gogrpc
2024-01-11 22:54:38 -05:00
Jose Diaz-Gonzalez
41499c640a Merge pull request #6415 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.21.6
chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/go-fail-postdeploy
2024-01-11 22:54:32 -05:00
Jose Diaz-Gonzalez
5867c029f6 Merge pull request #6418 from dokku/dependabot/pip/tests/apps/python-flask/jinja2-3.1.3
chore(deps): bump jinja2 from 3.1.2 to 3.1.3 in /tests/apps/python-flask
2024-01-11 22:54:25 -05:00
Jose Diaz-Gonzalez
4f3b9b64e3 Merge pull request #6419 from dokku/dependabot/pip/docs/_build/jinja2-3.1.3
chore(deps): bump jinja2 from 3.1.2 to 3.1.3 in /docs/_build
2024-01-11 22:54:19 -05:00
Jose Diaz-Gonzalez
2f5760a680 Merge pull request #6420 from aochagavia/patch-2
Fix typo in zero downtime documentation
2024-01-11 22:53:45 -05:00
Adolfo Ochagavía
99add3359a Fix typo in documentation 2024-01-11 15:09:23 +01:00
dependabot[bot]
9b51b76d98 chore(deps): bump jinja2 from 3.1.2 to 3.1.3 in /docs/_build
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.2 to 3.1.3.
- [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.2...3.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-11 13:50:14 +00:00
dependabot[bot]
59bc4b38cc chore(deps): bump jinja2 from 3.1.2 to 3.1.3 in /tests/apps/python-flask
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.2 to 3.1.3.
- [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.2...3.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-11 13:40:46 +00:00
dependabot[bot]
745b8e8e5c chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.21.5 to 1.21.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-10 13:43:34 +00:00
dependabot[bot]
b13b035cd7 chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/gogrpc
Bumps golang from 1.21.5 to 1.21.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-10 13:42:07 +00:00
dependabot[bot]
659e415f43 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.21.5 to 1.21.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-10 13:41:09 +00:00
dependabot[bot]
39d4b2d5d0 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.21.5 to 1.21.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-10 13:31:05 +00:00
dependabot[bot]
f46a03518d chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.21.5 to 1.21.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-10 13:23:33 +00:00
dependabot[bot]
f2d7d897fd chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.19.0 to 0.20.0.
- [Commits](https://github.com/golang/net/compare/v0.19.0...v0.20.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-09 13:41:58 +00:00
Dokku Bot
145b4d7dda Release 0.32.4
# History

## 0.32.4

Install/update via the bootstrap script:

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

### Bug Fixes

- #6407: @josegonzalez Upgrade ruby to fix the release process
- #6394: @josegonzalez Scope the delete of symlinked plugins in debian post-install to the plugin folders

### Refactors

- #6388: @Juneezee Replace deprecated `io/ioutil` functions

### Documentation

- #6385: @josegonzalez Fix docblock entries for properties in plugins
- #6384: @josegonzalez Cleanup some markdown in documentation
- #6365: @josegonzalez Split out archive/image deployment docs into their own file

### Tests

- #6408: @josegonzalez Add options to the release workflow
- #6359: @josegonzalez Update buildpack api for test buildpack

### Dependencies

- #6399: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.5 to 10.7 in /docs/_build
- #6398: @dependabot[bot] chore(deps): bump sinatra from 3.1.0 to 3.2.0 in /tests/apps/ruby
- #6395: @dependabot[bot] chore(deps): bump ruby from 3.2.2 to 3.3.0 in /tests/apps/dockerfile-entrypoint
- #6391: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.2 to 9.5.3 in /docs/_build
- #6392: @dependabot[bot] chore(deps): bump importlib-metadata from 7.0.0 to 7.0.1 in /docs/_build
- #6393: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 40.2.3 to 41.0.1
- #6387: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.18 to 11.0.19 in /tests/apps/java
- #6386: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 40.2.2 to 40.2.3
- #6377: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 40.2.1 to 40.2.2
- #6380: @dependabot[bot] chore(deps): bump github/codeql-action from 2 to 3
- #6379: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.1 to 9.5.2 in /docs/_build
- #6378: @dependabot[bot] chore(deps): bump python from 3.12.0-alpine to 3.12.1-alpine in /docs/_build
- #6376: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.14 to 9.5.1 in /docs/_build
- #6371: @dependabot[bot] chore(deps): bump golang from 1.21.4 to 1.21.5 in /tests/apps/gogrpc
- #6369: @dependabot[bot] chore(deps): bump golang from 1.21.4 to 1.21.5 in /tests/apps/zombies-dockerfile-tini
- #6368: @dependabot[bot] chore(deps): bump golang from 1.21.4 to 1.21.5 in /tests/apps/zombies-dockerfile-no-tini
- #6367: @dependabot[bot] chore(deps): bump importlib-metadata from 6.8.0 to 7.0.0 in /docs/_build
- #6366: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 40.2.0 to 40.2.1
- #6370: @dependabot[bot] chore(deps): bump golang from 1.21.4 to 1.21.5 in /tests/apps/go-fail-predeploy
- #6372: @dependabot[bot] chore(deps): bump golang from 1.21.4 to 1.21.5 in /tests/apps/go-fail-postdeploy
- #6373: @dependabot[bot] chore(deps): bump actions/setup-python from 4 to 5
- #6364: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.18.0 to 0.19.0 in /tests/apps/gogrpc
- #6361: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.4 to 10.5 in /docs/_build
- #6362: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.12 to 9.4.14 in /docs/_build
- #6360: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 40.1.1 to 40.2.0
- #6357: @dependabot[bot] chore(deps): bump mkdocs-material-extensions from 1.3 to 1.3.1 in /docs/_build
- #6355: @dependabot[bot] chore(deps): bump pygments from 2.16.1 to 2.17.2 in /docs/_build
- #6358: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.8 to 9.4.12 in /docs/_build
- #6348: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.3.1 to 10.4 in /docs/_build
2024-01-07 09:24:09 +00:00
Jose Diaz-Gonzalez
d8cad25271 Merge pull request #6408 from dokku/release-options
Add options to the release workflow
2024-01-07 02:10:35 -05:00
Jose Diaz-Gonzalez
940f872113 feat: add options to the release workflow
This will make it easier to choose a release type.
2024-01-07 02:10:15 -05:00
Jose Diaz-Gonzalez
115b152ec6 Merge pull request #6407 from dokku/fix-release
Upgrade ruby to fix the release process
2024-01-07 02:04:17 -05:00
Jose Diaz-Gonzalez
9bc9f1f5ce fix: upgrade ruby to fix the release process
Without this, package_cloud doesn't get installed due to an issue with the domain_name pacakge requiring Ruby 2.7.
2024-01-07 02:03:25 -05:00
Jose Diaz-Gonzalez
1547674de3 Merge pull request #6399 from dokku/dependabot/pip/docs/_build/pymdown-extensions-10.7
chore(deps): bump pymdown-extensions from 10.5 to 10.7 in /docs/_build
2024-01-07 00:37:09 -05:00
Jose Diaz-Gonzalez
b0153f7e6b Merge pull request #6398 from dokku/dependabot/bundler/tests/apps/ruby/sinatra-3.2.0
chore(deps): bump sinatra from 3.1.0 to 3.2.0 in /tests/apps/ruby
2024-01-07 00:37:02 -05:00
Jose Diaz-Gonzalez
09363fdc33 Merge pull request #6395 from dokku/dependabot/docker/tests/apps/dockerfile-entrypoint/ruby-3.3.0
chore(deps): bump ruby from 3.2.2 to 3.3.0 in /tests/apps/dockerfile-entrypoint
2024-01-07 00:36:53 -05:00
Jose Diaz-Gonzalez
81e3024999 Merge pull request #6394 from dokku/scoped-postinst-delete
Scope the delete of symlinked plugins in debian post-install to the plugin folders
2024-01-07 00:36:37 -05:00
dependabot[bot]
c3e0f33739 chore(deps): bump golang.org/x/sync in /plugins/scheduler-docker-local
Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.5.0 to 0.6.0.
- [Commits](https://github.com/golang/sync/compare/v0.5.0...v0.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-05 13:58:06 +00:00
dependabot[bot]
3670120404 chore(deps): bump pymdown-extensions from 10.5 to 10.7 in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.5 to 10.7.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.5...10.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-01 13:10:14 +00:00
dependabot[bot]
333212b091 chore(deps): bump sinatra from 3.1.0 to 3.2.0 in /tests/apps/ruby
Bumps [sinatra](https://github.com/sinatra/sinatra) from 3.1.0 to 3.2.0.
- [Changelog](https://github.com/sinatra/sinatra/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sinatra/sinatra/compare/v3.1.0...v3.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-01 13:03:18 +00:00
dependabot[bot]
b6456c07ce chore(deps): bump ruby in /tests/apps/dockerfile-entrypoint
Bumps ruby from 3.2.2 to 3.3.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-27 13:11:24 +00:00
Jose Diaz-Gonzalez
5b2b4d6ee5 Merge pull request #6388 from Juneezee/refactor/deprecate-ioutil
Replace deprecated `io/ioutil` functions
2023-12-25 14:30:27 -05:00
Jose Diaz-Gonzalez
66c46fc8ff Merge pull request #6391 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.5.3
chore(deps): bump mkdocs-material from 9.5.2 to 9.5.3 in /docs/_build
2023-12-25 14:29:57 -05:00
Jose Diaz-Gonzalez
ae2e0d4d2f Merge pull request #6392 from dokku/dependabot/pip/docs/_build/importlib-metadata-7.0.1
chore(deps): bump importlib-metadata from 7.0.0 to 7.0.1 in /docs/_build
2023-12-25 14:29:51 -05:00
Jose Diaz-Gonzalez
e8a70c14ee Merge pull request #6393 from dokku/dependabot/github_actions/tj-actions/changed-files-41.0.1
chore(deps): bump tj-actions/changed-files from 40.2.3 to 41.0.1
2023-12-25 14:29:44 -05:00
Jose Diaz-Gonzalez
314521cbca fix: scope the delete of symlinked plugins in debian post-install to the plugin folders
Previously, we would try and traverse the entire dokku lib directory, causing extremely slow updates for installations with lots of data. This would also potentially cause issues for anyone using symlinks in their data directories.

Instead, just remove symlinks in the plugin directories.
2023-12-25 14:29:11 -05:00
dependabot[bot]
d6a24f678e chore(deps): bump tj-actions/changed-files from 40.2.3 to 41.0.1
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 40.2.3 to 41.0.1.
- [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/v40.2.3...v41.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-25 13:18:02 +00:00
dependabot[bot]
bebae24d2f chore(deps): bump importlib-metadata from 7.0.0 to 7.0.1 in /docs/_build
Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 7.0.0 to 7.0.1.
- [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/v7.0.0...v7.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-25 13:07:28 +00:00
dependabot[bot]
ab3e009823 chore(deps): bump mkdocs-material from 9.5.2 to 9.5.3 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.2 to 9.5.3.
- [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.5.2...9.5.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-25 13:07:23 +00:00
renweibo
ff2d60003d fix problem when sv and systemctl exists at the same time in ubuntu, core command related dokku nginx plugin will fail.
This will happend when an ubuntu server upgrade from early version.
2023-12-22 23:08:10 +08:00
Eng Zer Jun
1d186a5a81 refactor(plugins): replace deprecated io/ioutil functions
The io/ioutil package has been deprecated as of Go 1.16 [1]. This commit
replaces the existing io/ioutil functions with their new definitions in
io and os packages.

[1]: https://golang.org/doc/go1.16#ioutil
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2023-12-22 01:59:22 +08:00
Jose Diaz-Gonzalez
e6953d60e9 Merge pull request #6387 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-11.0.19
chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.18 to 11.0.19 in /tests/apps/java
2023-12-21 00:08:40 -05:00
Jose Diaz-Gonzalez
f8f52c1af0 Merge pull request #6386 from dokku/dependabot/github_actions/tj-actions/changed-files-40.2.3
chore(deps): bump tj-actions/changed-files from 40.2.2 to 40.2.3
2023-12-21 00:08:33 -05:00
dependabot[bot]
03d156c994 chore(deps): bump org.eclipse.jetty:jetty-servlet in /tests/apps/java
Bumps [org.eclipse.jetty:jetty-servlet](https://github.com/jetty/jetty.project) from 11.0.18 to 11.0.19.
- [Release notes](https://github.com/jetty/jetty.project/releases)
- [Commits](https://github.com/jetty/jetty.project/compare/jetty-11.0.18...jetty-11.0.19)

---
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>
2023-12-20 13:13:42 +00:00
dependabot[bot]
3fc24bf1e3 chore(deps): bump tj-actions/changed-files from 40.2.2 to 40.2.3
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 40.2.2 to 40.2.3.
- [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/v40.2.2...v40.2.3)

---
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>
2023-12-19 13:35:14 +00:00
Jose Diaz-Gonzalez
400a87868f Merge pull request #6385 from dokku/docblock-fix
Fix docblock entries for properties in plugins
2023-12-19 00:34:54 -05:00
Jose Diaz-Gonzalez
f6a3db9c6d docs: fix docblock entries for properties in plugins 2023-12-19 00:34:33 -05:00
Jose Diaz-Gonzalez
52bfbcdc3d Merge pull request #6384 from dokku/docs-cleanup
docs: cleanup some markdown in documentation
2023-12-18 23:48:05 -05:00
Jose Diaz-Gonzalez
785ffc0e8e docs: cleanup some markdown in documentation 2023-12-18 23:47:49 -05:00
Jose Diaz-Gonzalez
3ffa5927b3 Merge pull request #6377 from dokku/dependabot/github_actions/tj-actions/changed-files-40.2.2
chore(deps): bump tj-actions/changed-files from 40.2.1 to 40.2.2
2023-12-18 23:35:50 -05:00
Jose Diaz-Gonzalez
2f8a7d894b Merge pull request #6380 from dokku/dependabot/github_actions/github/codeql-action-3
chore(deps): bump github/codeql-action from 2 to 3
2023-12-18 23:34:15 -05:00
Jose Diaz-Gonzalez
27f80a7bd2 Merge pull request #6379 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.5.2
chore(deps): bump mkdocs-material from 9.5.1 to 9.5.2 in /docs/_build
2023-12-18 23:34:07 -05:00
Jose Diaz-Gonzalez
0a4b6ebbc7 Merge pull request #6378 from dokku/dependabot/docker/docs/_build/python-3.12.1-alpine
chore(deps): bump python from 3.12.0-alpine to 3.12.1-alpine in /docs/_build
2023-12-18 23:33:57 -05:00
dependabot[bot]
88b7290261 chore(deps): bump actions/upload-artifact from 3 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-15 13:42:55 +00:00
dependabot[bot]
a7cac343d1 chore(deps): bump github/codeql-action from 2 to 3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-14 13:14:15 +00:00
dependabot[bot]
dc8c3c3b39 chore(deps): bump mkdocs-material from 9.5.1 to 9.5.2 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.1 to 9.5.2.
- [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.5.1...9.5.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-12 13:06:46 +00:00
dependabot[bot]
9b0ca017b5 chore(deps): bump python in /docs/_build
Bumps python from 3.12.0-alpine to 3.12.1-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-11 13:18:32 +00:00
dependabot[bot]
e8f803d5d8 chore(deps): bump tj-actions/changed-files from 40.2.1 to 40.2.2
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 40.2.1 to 40.2.2.
- [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/v40.2.1...v40.2.2)

---
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>
2023-12-11 13:09:26 +00:00
Jose Diaz-Gonzalez
f31e24768d Merge pull request #6376 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.5.1
chore(deps): bump mkdocs-material from 9.4.14 to 9.5.1 in /docs/_build
2023-12-09 13:37:13 -05:00
dependabot[bot]
03c51e6e36 chore(deps): bump mkdocs-material from 9.4.14 to 9.5.1 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.14 to 9.5.1.
- [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.4.14...9.5.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-08 13:31:40 +00:00
Jose Diaz-Gonzalez
11a2c547a5 Merge pull request #6371 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.21.5
chore(deps): bump golang from 1.21.4 to 1.21.5 in /tests/apps/gogrpc
2023-12-07 01:16:57 -05:00
Jose Diaz-Gonzalez
f3a564497c Merge pull request #6369 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.21.5
chore(deps): bump golang from 1.21.4 to 1.21.5 in /tests/apps/zombies-dockerfile-tini
2023-12-07 01:16:47 -05:00
Jose Diaz-Gonzalez
5c0c48f23e Merge pull request #6368 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.21.5
chore(deps): bump golang from 1.21.4 to 1.21.5 in /tests/apps/zombies-dockerfile-no-tini
2023-12-07 01:16:39 -05:00
Jose Diaz-Gonzalez
357b88e43c Merge pull request #6367 from dokku/dependabot/pip/docs/_build/importlib-metadata-7.0.0
chore(deps): bump importlib-metadata from 6.8.0 to 7.0.0 in /docs/_build
2023-12-07 01:16:33 -05:00
Jose Diaz-Gonzalez
1c0ca34d12 Merge pull request #6366 from dokku/dependabot/github_actions/tj-actions/changed-files-40.2.1
chore(deps): bump tj-actions/changed-files from 40.2.0 to 40.2.1
2023-12-07 01:16:26 -05:00
Jose Diaz-Gonzalez
58cd5cf67c Merge pull request #6370 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.21.5
chore(deps): bump golang from 1.21.4 to 1.21.5 in /tests/apps/go-fail-predeploy
2023-12-07 01:16:16 -05:00
Jose Diaz-Gonzalez
924361a6a0 Merge pull request #6372 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.21.5
chore(deps): bump golang from 1.21.4 to 1.21.5 in /tests/apps/go-fail-postdeploy
2023-12-07 01:15:58 -05:00
Jose Diaz-Gonzalez
07cdf04b9c Merge pull request #6373 from dokku/dependabot/github_actions/actions/setup-python-5
chore(deps): bump actions/setup-python from 4 to 5
2023-12-07 01:15:46 -05:00
dependabot[bot]
dda38faab9 chore(deps): bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-06 13:53:43 +00:00
dependabot[bot]
7710dc453c chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.21.4 to 1.21.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-06 13:42:12 +00:00
dependabot[bot]
bad19bff6b chore(deps): bump golang from 1.21.4 to 1.21.5 in /tests/apps/gogrpc
Bumps golang from 1.21.4 to 1.21.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-06 13:41:29 +00:00
dependabot[bot]
e4fe5cf232 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.21.4 to 1.21.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-06 13:23:46 +00:00
dependabot[bot]
cb793d1dd4 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.21.4 to 1.21.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-06 13:16:38 +00:00
dependabot[bot]
e8d3bfd264 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.21.4 to 1.21.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-06 13:08:34 +00:00
dependabot[bot]
555f207637 chore(deps): bump importlib-metadata from 6.8.0 to 7.0.0 in /docs/_build
Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 6.8.0 to 7.0.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/v6.8.0...v7.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 13:27:55 +00:00
dependabot[bot]
6a2287714c chore(deps): bump tj-actions/changed-files from 40.2.0 to 40.2.1
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 40.2.0 to 40.2.1.
- [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/v40.2.0...v40.2.1)

---
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>
2023-12-04 13:14:03 +00:00
Jose Diaz-Gonzalez
9f2132ac8f docs: cleanup doc header 2023-12-03 02:51:09 -05:00
Jose Diaz-Gonzalez
8df335fbd9 docs: correct link 2023-12-02 17:00:09 -05:00
Jose Diaz-Gonzalez
1809b3ca06 Merge pull request #6365 from dokku/deploy-docs
Split out archive/image deployment docs into their own file
2023-12-02 16:46:51 -05:00
Jose Diaz-Gonzalez
29a4679ed5 Merge pull request #6364 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.19.0
chore(deps): bump golang.org/x/net from 0.18.0 to 0.19.0 in /tests/apps/gogrpc
2023-12-02 16:46:31 -05:00
Jose Diaz-Gonzalez
46f310ceea docs: split out archive/image deployment docs into their own file 2023-12-02 16:45:56 -05:00
dependabot[bot]
261a8e53ed chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.18.0 to 0.19.0.
- [Commits](https://github.com/golang/net/compare/v0.18.0...v0.19.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-28 13:53:52 +00:00
Jose Diaz-Gonzalez
9c7205c301 Merge pull request #6361 from dokku/dependabot/pip/docs/_build/pymdown-extensions-10.5
chore(deps): bump pymdown-extensions from 10.4 to 10.5 in /docs/_build
2023-11-27 10:58:26 -05:00
Jose Diaz-Gonzalez
af835370d2 Merge pull request #6362 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.4.14
chore(deps): bump mkdocs-material from 9.4.12 to 9.4.14 in /docs/_build
2023-11-27 10:58:11 -05:00
Jose Diaz-Gonzalez
4d24d7f6af Merge pull request #6360 from dokku/dependabot/github_actions/tj-actions/changed-files-40.2.0
chore(deps): bump tj-actions/changed-files from 40.1.1 to 40.2.0
2023-11-27 10:57:58 -05:00
dependabot[bot]
e0bbef23e7 chore(deps): bump mkdocs-material from 9.4.12 to 9.4.14 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.12 to 9.4.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.4.12...9.4.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 13:42:42 +00:00
dependabot[bot]
8eb497f835 chore(deps): bump pymdown-extensions from 10.4 to 10.5 in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.4 to 10.5.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.4...10.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 13:42:33 +00:00
dependabot[bot]
1c807a8f0c chore(deps): bump tj-actions/changed-files from 40.1.1 to 40.2.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 40.1.1 to 40.2.0.
- [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/v40.1.1...v40.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 13:36:31 +00:00
Jose Diaz-Gonzalez
b12c25f72d Merge pull request #6359 from dokku/josegonzalez-patch-1
Update buildpack api for test buildpack
2023-11-25 18:32:49 -05:00
Jose Diaz-Gonzalez
343032fcf8 chore: update command 2023-11-25 03:43:16 -05:00
Jose Diaz-Gonzalez
463601fb1c fix: update command 2023-11-25 03:42:59 -05:00
Jose Diaz-Gonzalez
20ee524067 chore: remove deprecated stacks 2023-11-25 03:41:36 -05:00
Jose Diaz-Gonzalez
2e22f49898 chore: drop deprecated 2023-11-25 03:41:21 -05:00
Jose Diaz-Gonzalez
d301f68b90 Merge pull request #6357 from dokku/dependabot/pip/docs/_build/mkdocs-material-extensions-1.3.1
chore(deps): bump mkdocs-material-extensions from 1.3 to 1.3.1 in /docs/_build
2023-11-24 19:42:29 -05:00
Jose Diaz-Gonzalez
ab6efcfcda chore: update buildpack api for test buildpack 2023-11-24 19:42:18 -05:00
Jose Diaz-Gonzalez
619d898051 chore: update buildpack api for test buildpack 2023-11-24 19:41:26 -05:00
dependabot[bot]
1e3f130432 chore(deps): bump mkdocs-material-extensions in /docs/_build
Bumps [mkdocs-material-extensions](https://github.com/facelessuser/mkdocs-material-extensions) from 1.3 to 1.3.1.
- [Release notes](https://github.com/facelessuser/mkdocs-material-extensions/releases)
- [Changelog](https://github.com/facelessuser/mkdocs-material-extensions/blob/master/changelog.md)
- [Commits](https://github.com/facelessuser/mkdocs-material-extensions/compare/1.3...1.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-25 00:39:43 +00:00
Jose Diaz-Gonzalez
1983feaba5 Merge pull request #6355 from dokku/dependabot/pip/docs/_build/pygments-2.17.2
chore(deps): bump pygments from 2.16.1 to 2.17.2 in /docs/_build
2023-11-24 19:39:25 -05:00
Jose Diaz-Gonzalez
0e8e2fcc8e Merge pull request #6358 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.4.12
chore(deps): bump mkdocs-material from 9.4.8 to 9.4.12 in /docs/_build
2023-11-24 19:39:07 -05:00
dependabot[bot]
17170fbb82 chore(deps): bump mkdocs-material from 9.4.8 to 9.4.12 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.8 to 9.4.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.4.8...9.4.12)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-24 13:42:46 +00:00
dependabot[bot]
c589c184ba chore(deps): bump pygments from 2.16.1 to 2.17.2 in /docs/_build
Bumps [pygments](https://github.com/pygments/pygments) from 2.16.1 to 2.17.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.16.1...2.17.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-22 13:30:00 +00:00
Jose Diaz-Gonzalez
eab5ad191f Merge pull request #6348 from dokku/dependabot/pip/docs/_build/pymdown-extensions-10.4
chore(deps): bump pymdown-extensions from 10.3.1 to 10.4 in /docs/_build
2023-11-13 15:55:14 -05:00
dependabot[bot]
d219f82bf1 chore(deps): bump pymdown-extensions from 10.3.1 to 10.4 in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.3.1 to 10.4.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.3.1...10.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 13:35:16 +00:00
Dokku Bot
d753dd0d31 Release 0.32.3
# History

## 0.32.3

Install/update via the bootstrap script:

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

### Bug Fixes

- #6345: @josegonzalez Use updated pre-build trigger for builder-herokuish

### New Features

- #6346: @josegonzalez Update all go modules and add a command to bump modules

### Documentation

- #6339: @nschlemm Fixed link to vector sink documentation
- #6314: @josegonzalez Remove reference to DOKKU_SCHEDULER environment variable in favor of scheduler:set
- #6317: @edmorley Replace deprecated builder reference in persistent-storage.md
- #6325: @josegonzalez Add documentation on openresty includes

### Dependencies

- #6343: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.17.0 to 0.18.0 in /tests/apps/gogrpc
- #6338: @dependabot[bot] chore(deps): bump golang from 1.21.3 to 1.21.4 in /tests/apps/go-fail-postdeploy
- #6337: @dependabot[bot] chore(deps): bump golang from 1.21.3 to 1.21.4 in /tests/apps/gogrpc
- #6336: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 40.0.2 to 40.1.1
- #6335: @dependabot[bot] chore(deps): bump golang from 1.21.3 to 1.21.4 in /tests/apps/go-fail-predeploy
- #6334: @dependabot[bot] chore(deps): bump golang from 1.21.3 to 1.21.4 in /tests/apps/zombies-dockerfile-tini
- #6333: @dependabot[bot] chore(deps): bump golang from 1.21.3 to 1.21.4 in /tests/apps/zombies-dockerfile-no-tini
- #6328: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.7 to 9.4.8 in /docs/_build
- #6320: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.17 to 11.0.18 in /tests/apps/java
- #6318: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.6 to 9.4.7 in /docs/_build
- #6322: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 40.0.0 to 40.0.2
- #6323: @dependabot[bot] chore(deps): bump django from 4.1.10 to 4.1.13 in /tests/apps/dockerfile-release

### Other

- #6315: @josegonzalez Correct key in dependency file to fix docker-container-healthchecker installs on local arm64 servers
2023-11-13 01:25:57 +00:00
Jose Diaz-Gonzalez
2a0c8b7cd9 Merge pull request #6345 from dokku/rename-deprecated-trigger
Use updated pre-build trigger for builder-herokuish
2023-11-12 19:32:50 -05:00
Jose Diaz-Gonzalez
c20ed1ba6c Merge pull request #6346 from dokku/update-go-mod
Update all go modules and add a command to bump modules
2023-11-12 19:32:11 -05:00
Jose Diaz-Gonzalez
5e9cb3f157 feat: update all go modules and add a command to bump modules 2023-11-12 19:31:53 -05:00
Jose Diaz-Gonzalez
247591af8e Merge pull request #6343 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.18.0
chore(deps): bump golang.org/x/net from 0.17.0 to 0.18.0 in /tests/apps/gogrpc
2023-11-12 13:57:18 -05:00
Jose Diaz-Gonzalez
6cb5baf6b4 Merge pull request #6339 from nschlemm/patch-1
Fixed link to vector sink documentation
2023-11-12 13:57:08 -05:00
Jose Diaz-Gonzalez
091993e3d9 Merge pull request #6338 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.21.4
chore(deps): bump golang from 1.21.3 to 1.21.4 in /tests/apps/go-fail-postdeploy
2023-11-12 13:56:51 -05:00
Jose Diaz-Gonzalez
8869bbac21 Merge pull request #6337 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.21.4
chore(deps): bump golang from 1.21.3 to 1.21.4 in /tests/apps/gogrpc
2023-11-12 13:56:42 -05:00
Jose Diaz-Gonzalez
909eb33ca5 Merge pull request #6336 from dokku/dependabot/github_actions/tj-actions/changed-files-40.1.1
chore(deps): bump tj-actions/changed-files from 40.0.2 to 40.1.1
2023-11-12 13:56:31 -05:00
Jose Diaz-Gonzalez
4ef96e8e33 Merge pull request #6335 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.21.4
chore(deps): bump golang from 1.21.3 to 1.21.4 in /tests/apps/go-fail-predeploy
2023-11-12 13:56:08 -05:00
Jose Diaz-Gonzalez
cf420fe16e Merge pull request #6334 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.21.4
chore(deps): bump golang from 1.21.3 to 1.21.4 in /tests/apps/zombies-dockerfile-tini
2023-11-12 13:55:54 -05:00
Jose Diaz-Gonzalez
20d93752a1 Merge pull request #6333 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.21.4
chore(deps): bump golang from 1.21.3 to 1.21.4 in /tests/apps/zombies-dockerfile-no-tini
2023-11-12 13:55:43 -05:00
Jose Diaz-Gonzalez
ca678f9282 Merge pull request #6328 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.4.8
chore(deps): bump mkdocs-material from 9.4.7 to 9.4.8 in /docs/_build
2023-11-12 13:55:26 -05:00
Jose Diaz-Gonzalez
6f9012064f fix: use updated pre-build trigger for builder-herokuish 2023-11-12 13:54:21 -05:00
dependabot[bot]
59b3a5e715 chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.17.0 to 0.18.0.
- [Commits](https://github.com/golang/net/compare/v0.17.0...v0.18.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-09 13:35:32 +00:00
Nikolaus Schlemm
19739509ea Fixed link to vector sink documentation 2023-11-09 10:51:47 +01:00
dependabot[bot]
dc52683166 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.21.3 to 1.21.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-08 14:06:52 +00:00
dependabot[bot]
a16a14d308 chore(deps): bump golang from 1.21.3 to 1.21.4 in /tests/apps/gogrpc
Bumps golang from 1.21.3 to 1.21.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-08 13:55:55 +00:00
dependabot[bot]
459ee7dbb6 chore(deps): bump tj-actions/changed-files from 40.0.2 to 40.1.1
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 40.0.2 to 40.1.1.
- [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/v40.0.2...v40.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-08 13:45:26 +00:00
dependabot[bot]
7549a56473 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.21.3 to 1.21.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-08 13:41:12 +00:00
dependabot[bot]
5f6665e29c chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.21.3 to 1.21.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-08 13:40:55 +00:00
dependabot[bot]
2148dc54a4 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.21.3 to 1.21.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-08 13:09:48 +00:00
dependabot[bot]
6c529410de chore(deps): bump mkdocs-material from 9.4.7 to 9.4.8 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.7 to 9.4.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.4.7...9.4.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>
2023-11-06 13:25:22 +00:00
Jose Diaz-Gonzalez
87a76c667e Merge pull request #6314 from dokku/update-scheduler-set-references
Remove reference to DOKKU_SCHEDULER environment variable in favor of scheduler:set
2023-11-03 04:19:25 -04:00
Jose Diaz-Gonzalez
39c850144c Merge pull request #6315 from dokku/fix-arm64-dependency-link
Correct key in dependency file to fix docker-container-healthchecker installs on local arm64 servers
2023-11-03 04:19:07 -04:00
Jose Diaz-Gonzalez
5a9509c0bf Merge pull request #6317 from edmorley/patch-1
Replace deprecated builder reference in persistent-storage.md
2023-11-03 04:18:36 -04:00
Jose Diaz-Gonzalez
7baed4184e Merge pull request #6320 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-11.0.18
chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.17 to 11.0.18 in /tests/apps/java
2023-11-03 04:18:18 -04:00
Jose Diaz-Gonzalez
894bb06555 Merge pull request #6318 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.4.7
chore(deps): bump mkdocs-material from 9.4.6 to 9.4.7 in /docs/_build
2023-11-03 04:18:06 -04:00
Jose Diaz-Gonzalez
7ba838486f Merge pull request #6322 from dokku/dependabot/github_actions/tj-actions/changed-files-40.0.2
chore(deps): bump tj-actions/changed-files from 40.0.0 to 40.0.2
2023-11-03 04:17:52 -04:00
Jose Diaz-Gonzalez
49b8657f3d Merge pull request #6323 from dokku/dependabot/pip/tests/apps/dockerfile-release/django-4.1.13
chore(deps): bump django from 4.1.10 to 4.1.13 in /tests/apps/dockerfile-release
2023-11-03 04:17:42 -04:00
Jose Diaz-Gonzalez
b24452f2ff Merge pull request #6325 from dokku/josegonzalez-patch-1
Add documentation on openresty includes
2023-11-03 04:17:29 -04:00
Jose Diaz-Gonzalez
6cac8d2c45 docs: add documentation on openresty includes 2023-11-03 04:17:17 -04:00
Dokku Bot
ba57919dfe Release 0.32.2
# History

## 0.32.2

Install/update via the bootstrap script:

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

### New Features

- #6324: @josegonzalez Update openresty image to 0.6.0

### Documentation

- #6316: @holamendi Fix docs app-exists plugin trigger description

### Dependencies

- #6307: @dependabot[bot] chore(deps): bump luizm/action-sh-checker from 0.7.0 to 0.8.0
- #6308: @dependabot[bot] chore(deps): bump werkzeug from 3.0.0 to 3.0.1 in /tests/apps/python-flask
- #6310: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.28.1 to 1.29.0 in /plugins/config
- #6311: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.2.4 to 40.0.0
2023-11-03 07:03:44 +00:00
Jose Diaz-Gonzalez
29f53da0bb Merge pull request #6324 from dokku/josegonzalez-patch-1
Update openresty image to 0.6.0
2023-11-03 03:02:12 -04:00
Jose Diaz-Gonzalez
9bcf9191fb chore: update openresty image to 0.6.0 2023-11-03 03:01:44 -04:00
dependabot[bot]
822ac2214c chore(deps): bump django in /tests/apps/dockerfile-release
Bumps [django](https://github.com/django/django) from 4.1.10 to 4.1.13.
- [Commits](https://github.com/django/django/compare/4.1.10...4.1.13)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-02 21:41:46 +00:00
dependabot[bot]
98a81f215e chore(deps): bump tj-actions/changed-files from 40.0.0 to 40.0.2
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 40.0.0 to 40.0.2.
- [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/v40.0.0...v40.0.2)

---
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>
2023-11-01 13:05:01 +00:00
dependabot[bot]
0372a5b250 chore(deps): bump org.eclipse.jetty:jetty-servlet in /tests/apps/java
Bumps [org.eclipse.jetty:jetty-servlet](https://github.com/eclipse/jetty.project) from 11.0.17 to 11.0.18.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.17...jetty-11.0.18)

---
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>
2023-10-31 13:30:18 +00:00
dependabot[bot]
f5ee946e74 chore(deps): bump mkdocs-material from 9.4.6 to 9.4.7 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.6 to 9.4.7.
- [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.4.6...9.4.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-30 13:17:40 +00:00
Ed Morley
e6747e8357 Replace deprecated builder reference in persistent-storage.md
Since the `heroku/buildpacks:*` builders are deprecated in favour of `heroku/builder`.
2023-10-30 12:31:11 +00:00
Jose Diaz-Gonzalez
5f8b1e0ff0 Merge pull request #6316 from holamendi/docs-plugin-trigger-app-exists
Fix docs app-exists plugin trigger description
2023-10-28 23:56:34 +00:00
Pablo
7b209b01f0 docs: Fix app-exists plugin trigger description 2023-10-28 11:20:19 +02:00
Jose Diaz-Gonzalez
8961a1efd2 fix: correct key in dependency file to fix docker-container-healthchecker installs on local arm64 servers 2023-10-27 23:04:25 -04:00
Jose Diaz-Gonzalez
fe72bd47d1 docs: remove reference to DOKKU_SCHEDULER environment variable in favor of scheduler:set 2023-10-27 23:03:28 -04:00
Jose Diaz-Gonzalez
fb92be97a2 Merge pull request #6307 from dokku/dependabot/github_actions/luizm/action-sh-checker-0.8.0
chore(deps): bump luizm/action-sh-checker from 0.7.0 to 0.8.0
2023-10-27 23:57:27 +00:00
Jose Diaz-Gonzalez
c1fbe29803 Merge pull request #6308 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-3.0.1
chore(deps): bump werkzeug from 3.0.0 to 3.0.1 in /tests/apps/python-flask
2023-10-27 23:57:14 +00:00
Jose Diaz-Gonzalez
62a1e7c546 Merge pull request #6310 from dokku/dependabot/go_modules/plugins/config/github.com/onsi/gomega-1.29.0
chore(deps): bump github.com/onsi/gomega from 1.28.1 to 1.29.0 in /plugins/config
2023-10-27 23:57:05 +00:00
Jose Diaz-Gonzalez
0312203e01 Merge pull request #6311 from dokku/dependabot/github_actions/tj-actions/changed-files-40.0.0
chore(deps): bump tj-actions/changed-files from 39.2.4 to 40.0.0
2023-10-27 23:56:53 +00:00
dependabot[bot]
a408a01deb chore(deps): bump tj-actions/changed-files from 39.2.4 to 40.0.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39.2.4 to 40.0.0.
- [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/v39.2.4...v40.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-26 13:58:18 +00:00
dependabot[bot]
0822394c76 chore(deps): bump github.com/onsi/gomega in /plugins/config
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.28.1 to 1.29.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.28.1...v1.29.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-26 13:40:54 +00:00
Dokku Bot
99da35e6d2 Release 0.32.1
# History

## 0.32.1

Install/update via the bootstrap script:

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

### Bug Fixes

- #6286: @josegonzalez Remove trailing quote on openresty letsencrypt email
- #6287: @josegonzalez Recursively delete old custom openresty includes

### New Features

- #6303: @josegonzalez feat: add the ability to specify location-block includes

### Documentation

- #6288: @josegonzalez Add missing link to nixpacks builder

### Dependencies

- #6306: @dependabot[bot] chore(deps): bump org.apache.maven.plugins:maven-dependency-plugin from 3.6.0 to 3.6.1 in /tests/apps/java
- #6301: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.28.0 to 1.28.1 in /plugins/config
- #6304: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.2.3 to 39.2.4
- #6305: @dependabot[bot] chore(deps): bump actions/setup-node from 3 to 4
- #6297: @dependabot[bot] chore(deps): bump node from 20-alpine to 21-alpine in /tests/apps/dockerfile-procfile
- #6292: @dependabot[bot] chore(deps): bump node from 20-alpine to 21-alpine in /tests/apps/dockerfile-procfile-bad
- #6293: @dependabot[bot] chore(deps): bump node from 20-alpine to 21-alpine in /tests/apps/dockerfile
- #6294: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.3 to 10.3.1 in /docs/_build
- #6295: @dependabot[bot] chore(deps): bump node from 20-alpine to 21-alpine in /tests/apps/dockerfile-app-json-formations
- #6296: @dependabot[bot] chore(deps): bump node from 20-alpine to 21-alpine in /tests/apps/dockerfile-noexpose
- #6289: @dependabot[bot] chore(deps): bump mkdocs-material-extensions from 1.2 to 1.3 in /docs/_build
- #6290: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.2.2 to 39.2.3
2023-10-25 18:08:12 +00:00
dependabot[bot]
c2675dc6a6 chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/3.0.0...3.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-25 13:49:21 +00:00
dependabot[bot]
7b2c7ef598 chore(deps): bump luizm/action-sh-checker from 0.7.0 to 0.8.0
Bumps [luizm/action-sh-checker](https://github.com/luizm/action-sh-checker) from 0.7.0 to 0.8.0.
- [Release notes](https://github.com/luizm/action-sh-checker/releases)
- [Commits](76ab0b22e1...c6edb3de93)

---
updated-dependencies:
- dependency-name: luizm/action-sh-checker
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-25 13:40:09 +00:00
Jose Diaz-Gonzalez
0cf6abe851 Merge pull request #6306 from dokku/dependabot/maven/tests/apps/java/org.apache.maven.plugins-maven-dependency-plugin-3.6.1
chore(deps): bump org.apache.maven.plugins:maven-dependency-plugin from 3.6.0 to 3.6.1 in /tests/apps/java
2023-10-24 23:52:27 +00:00
Jose Diaz-Gonzalez
fb15db11a7 Merge pull request #6301 from dokku/dependabot/go_modules/plugins/config/github.com/onsi/gomega-1.28.1
chore(deps): bump github.com/onsi/gomega from 1.28.0 to 1.28.1 in /plugins/config
2023-10-24 23:52:13 +00:00
Jose Diaz-Gonzalez
0c4d4ff7e2 Merge pull request #6304 from dokku/dependabot/github_actions/tj-actions/changed-files-39.2.4
chore(deps): bump tj-actions/changed-files from 39.2.3 to 39.2.4
2023-10-24 23:40:42 +00:00
Jose Diaz-Gonzalez
a4d1e7350a Merge pull request #6305 from dokku/dependabot/github_actions/actions/setup-node-4
chore(deps): bump actions/setup-node from 3 to 4
2023-10-24 23:39:36 +00:00
dependabot[bot]
ad152a5f8b chore(deps): bump org.apache.maven.plugins:maven-dependency-plugin
Bumps [org.apache.maven.plugins:maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) from 3.6.0 to 3.6.1.
- [Commits](https://github.com/apache/maven-dependency-plugin/compare/maven-dependency-plugin-3.6.0...maven-dependency-plugin-3.6.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-24 13:26:47 +00:00
dependabot[bot]
747e9fca12 chore(deps): bump actions/setup-node from 3 to 4
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-24 13:18:43 +00:00
dependabot[bot]
43d86f7846 chore(deps): bump tj-actions/changed-files from 39.2.3 to 39.2.4
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39.2.3 to 39.2.4.
- [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/v39.2.3...v39.2.4)

---
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>
2023-10-24 13:18:36 +00:00
Jose Diaz-Gonzalez
0a9e0d18e9 Merge pull request #6303 from dokku/openresty-location-includes 2023-10-24 00:46:06 -04:00
Jose Diaz-Gonzalez
2ac0e1ee29 fix: properly pass p arg 2023-10-23 23:20:17 -04:00
Jose Diaz-Gonzalez
32d0390215 feat: add the ability to specify location-block includes 2023-10-23 20:11:40 -04:00
dependabot[bot]
c7f6597624 chore(deps): bump github.com/onsi/gomega in /plugins/config
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.28.0 to 1.28.1.
- [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.28.0...v1.28.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 14:14:56 +00:00
Jose Diaz-Gonzalez
a5319827c5 Merge pull request #6297 from dokku/dependabot/docker/tests/apps/dockerfile-procfile/node-21-alpine 2023-10-22 21:46:50 -04:00
Jose Diaz-Gonzalez
d0c4ce0a63 Merge pull request #6292 from dokku/dependabot/docker/tests/apps/dockerfile-procfile-bad/node-21-alpine 2023-10-22 21:46:33 -04:00
dependabot[bot]
75e1f72d8d chore(deps): bump node in /tests/apps/dockerfile-procfile
Bumps node from 20-alpine to 21-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 01:46:33 +00:00
Jose Diaz-Gonzalez
056e9301d6 Merge pull request #6293 from dokku/dependabot/docker/tests/apps/dockerfile/node-21-alpine 2023-10-22 21:46:24 -04:00
dependabot[bot]
9bcff32879 chore(deps): bump node in /tests/apps/dockerfile-procfile-bad
Bumps node from 20-alpine to 21-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 01:46:17 +00:00
Jose Diaz-Gonzalez
52cf42876c Merge pull request #6294 from dokku/dependabot/pip/docs/_build/pymdown-extensions-10.3.1 2023-10-22 21:46:13 -04:00
Jose Diaz-Gonzalez
b0bd00429c Merge pull request #6295 from dokku/dependabot/docker/tests/apps/dockerfile-app-json-formations/node-21-alpine 2023-10-22 21:45:53 -04:00
Jose Diaz-Gonzalez
8b829cf0f6 Merge pull request #6296 from dokku/dependabot/docker/tests/apps/dockerfile-noexpose/node-21-alpine 2023-10-22 21:45:43 -04:00
dependabot[bot]
cbadda53d1 chore(deps): bump node in /tests/apps/dockerfile-noexpose
Bumps node from 20-alpine to 21-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-20 13:37:14 +00:00
dependabot[bot]
412468b6eb chore(deps): bump node in /tests/apps/dockerfile-app-json-formations
Bumps node from 20-alpine to 21-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-20 13:34:24 +00:00
dependabot[bot]
16e06bbf33 chore(deps): bump pymdown-extensions from 10.3 to 10.3.1 in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.3 to 10.3.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.3...10.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-20 13:25:48 +00:00
dependabot[bot]
c6c1d745c3 chore(deps): bump node in /tests/apps/dockerfile
Bumps node from 20-alpine to 21-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-20 13:17:35 +00:00
Jose Diaz-Gonzalez
a062f938f1 Merge pull request #6286 from dokku/josegonzalez-patch-1
Remove trailing slash on openresty letsencrypt email
2023-10-17 12:09:35 -04:00
Jose Diaz-Gonzalez
5a699dce08 Merge pull request #6287 from dokku/josegonzalez-patch-2
Recursively delete old custom openresty includes
2023-10-17 12:09:26 -04:00
Jose Diaz-Gonzalez
d8e4b7d8f8 Merge pull request #6288 from dokku/josegonzalez-patch-3
Add missing link to nixpacks builder
2023-10-17 12:09:12 -04:00
Jose Diaz-Gonzalez
92e7c76e7a Merge pull request #6289 from dokku/dependabot/pip/docs/_build/mkdocs-material-extensions-1.3
chore(deps): bump mkdocs-material-extensions from 1.2 to 1.3 in /docs/_build
2023-10-17 12:08:59 -04:00
Jose Diaz-Gonzalez
cededa6867 Merge pull request #6290 from dokku/dependabot/github_actions/tj-actions/changed-files-39.2.3
chore(deps): bump tj-actions/changed-files from 39.2.2 to 39.2.3
2023-10-17 12:08:44 -04:00
dependabot[bot]
bd4c201d1a chore(deps): bump tj-actions/changed-files from 39.2.2 to 39.2.3
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39.2.2 to 39.2.3.
- [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/v39.2.2...v39.2.3)

---
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>
2023-10-17 14:03:30 +00:00
dependabot[bot]
05659986cc chore(deps): bump mkdocs-material-extensions in /docs/_build
Bumps [mkdocs-material-extensions](https://github.com/facelessuser/mkdocs-material-extensions) from 1.2 to 1.3.
- [Release notes](https://github.com/facelessuser/mkdocs-material-extensions/releases)
- [Changelog](https://github.com/facelessuser/mkdocs-material-extensions/blob/master/changelog.md)
- [Commits](https://github.com/facelessuser/mkdocs-material-extensions/compare/1.2...1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-17 13:41:38 +00:00
Jose Diaz-Gonzalez
6037e1ea0b docs: add missing link to nixpacks builder 2023-10-17 08:53:23 -04:00
Jose Diaz-Gonzalez
cbdba71a8b fix: recursively delete old custom openresty includes
Without this, deploys would fail if there were any non-empty include directories
2023-10-17 08:50:47 -04:00
Jose Diaz-Gonzalez
718713ca13 fix: remove trailing slash on openresty letsencrypt email 2023-10-17 08:44:27 -04:00
Dokku Bot
5cfbef70b2 Release 0.32.0
# History

## 0.32.0

Install/update via the bootstrap script:

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

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

### New Features

- #6277: @josegonzalez Run ps:restore in parallel by default
- #6276: @josegonzalez Warn when incorrect interface/port in use for web processes
- #6132: @josegonzalez Add the ability to specify a custom mailto for all cron output
- #6124: @josegonzalez Add a shell function to check if a plugin trigger exists
- #5348: @josegonzalez Add nixpacks builder support

### Removals

- #6283: @josegonzalez Remove deprecated proxy-ports functions and and plugin subcommands

### Deprecations

- #6127: @josegonzalez Deprecate the builder-specific pre-release-* triggers in favor of a global pre-release-builder trigger
- #6126: @josegonzalez Deprecate the builder-specific post-build-* triggers in favor of a global post-build trigger
- #6125: @josegonzalez Deprecate the builder-specific pre-build-* triggers in favor of a global pre-build trigger

### Documentation

- #6284: @josegonzalez Document future removal of deprecated CHECKS file format
- #6123: @josegonzalez Add a migration guide for 0.32.x

### Dependencies

- #6285: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.5 to 9.4.6 in /docs/_build
- #6281: @josegonzalez Upgrade golang to 1.21

### Other

- #6155: @josegonzalez Remove ARM support
2023-10-17 04:58:22 +00:00
Jose Diaz-Gonzalez
0d3b33bfdf fix: set correct version for builder-nixpacks plugin 2023-10-17 00:56:47 -04:00
Jose Diaz-Gonzalez
4dbdcc0bea Merge pull request #6282 from dokku/0.32-release
Release 0.32.0
2023-10-17 00:55:30 -04:00
Jose Diaz-Gonzalez
b3e752c5bb Merge pull request #6285 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.4.6
chore(deps): bump mkdocs-material from 9.4.5 to 9.4.6 in /docs/_build
2023-10-16 16:39:11 -04:00
Jose Diaz-Gonzalez
5e72bfabad Merge pull request #6283 from dokku/remove-deprecated-proxy-code
Remove deprecated proxy-ports functions and and plugin subcommands
2023-10-16 16:38:30 -04:00
Jose Diaz-Gonzalez
8dfee06c31 Merge pull request #6281 from dokku/upgrade-golang
Upgrade golang to 1.21
2023-10-16 16:38:09 -04:00
dependabot[bot]
787829e263 chore(deps): bump mkdocs-material from 9.4.5 to 9.4.6 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.5 to 9.4.6.
- [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.4.5...9.4.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 13:53:54 +00:00
Jose Diaz-Gonzalez
30b8a25ced feat: upgrade golang to 1.21 2023-10-16 01:10:02 -04:00
Jose Diaz-Gonzalez
e23dcb4abe Merge pull request #6284 from dokku/checks-deprecation
Document future removal of deprecated CHECKS file format
2023-10-16 00:49:03 -04:00
Jose Diaz-Gonzalez
1adbcf7e2d docs: document future removal of deprecated CHECKS file format
This will be removed in the future in favor of defining healthchecks in the app.json file.
2023-10-16 00:21:16 -04:00
Jose Diaz-Gonzalez
126a3ed509 chore: remove deprecated proxy-ports functions and and plugin subcommands
These were deprecated in 0.31.0 in favor of the ports plugin.
2023-10-16 00:18:39 -04:00
Jose Diaz-Gonzalez
f33d7f129b feat: warn when incorrect interface/port in use for web processes
Users that misconfigure their process's listening interface or port will now see an additional healthcheck warning for web deploys. While only a single port is checked, this ensures that users at least have some context as to why their app isn't responding as expected.

Closes #4798
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
ab8a957786 feat: run ps:restore in parallel by default
This will speed up restores in cases where app containers disappear on reboot or have new IPs, which primarily impacts the docker-local scheduler in conjunction with nginx.

Closes #4967
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
fe6a0f796e feat: add support for nixpacks as a builder
Closes #5338
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
76a979e139 chore: remove ARM support
Building/testing for ARM does not happen often - the only runtime environment is Raspberry PI, which supports ARM64 - and complicates support for a ton of features. Aside from that, CI runs are much longer for ARM Dokku images, often reaching 15-20 minutes or just timing out completely.

Rather than support an architecture that doesn't have much usage by maintainers and has a lot of maintenance burden, we're removing the platform.
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
c23e878e7d feat: add the ability to specify a custom mailto for all cron output 2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
a433508fb1 chore: deprecate the builder-specific pre-build-* triggers in favor of a global pre-build trigger
The pre-build trigger takes a `BUILDER_TYPE` parameter, allowing folks to perform specific actions as needed.
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
b19b409dd6 chore: deprecate the builder-specific post-build-* triggers in favor of a global post-build trigger
The pre-build trigger takes a `BUILDER_TYPE` parameter, allowing folks to perform specific actions as needed.
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
cdd5698db9 chore: deprecate the builder-specific pre-release-* triggers in favor of a global pre-release-builder trigger
The pre-release-builder trigger takes a `BUILDER_TYPE` parameter, allowing folks to perform specific actions as needed.
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
ffc64e7d8b feat: add a shell function to check if a plugin trigger exists 2023-10-15 20:25:08 -04:00
Jose Diaz-Gonzalez
4a43eeaaa8 docs: add a migration guide for 0.32.x 2023-10-15 20:25:08 -04:00
Jose Diaz-Gonzalez
c41cf0c4a3 Merge pull request #6280 from dokku/remove-more-bionic
Remove more references to ubuntu bionic
2023-10-15 20:23:05 -04:00
Jose Diaz-Gonzalez
859b87fadd fix: remove more references to ubuntu bionic 2023-10-15 20:21:44 -04:00
Dokku Bot
358da862c8 Release 0.31.5
# History

## 0.31.5

Install/update via the bootstrap script:

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

### Bug Fixes

- #6275: @josegonzalez Update message referencing CHECKS file usage to app.json
- #6273: @josegonzalez Clean up local build images immediately after an image is released

### New Features

- #6274: @josegonzalez Add more version output to dokku report command
- #6255: @josegonzalez Add ci concurrency to linting workflow
- #6253: @josegonzalez Add ci concurrency to doc building
- #6254: @josegonzalez Add ci concurrency to codeql analysis
- #6222: @josegonzalez Install docker-buildx-plugin to silence buildx warnings

### Refactors

- #6257: @josegonzalez Manage Dokku system dependencies in a single file

### Documentation

- #6271: @josegonzalez Update list of official, community, and deprecated plugins
- #6224: @joeyates Correct typo in example app.json for healthchecks
- #6207: @AlejandroAkbal Update port clearing command in Dockerfile deploy documentation

### Tests

- #6278: @josegonzalez Remove pack installation from builder-lambda tests

### Dependencies

- #6269: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.14.0 to 0.17.0 in /plugins/common
- #6270: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.2.1 to 39.2.2
- #6262: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/zombies-dockerfile-no-tini
- #6263: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.16.0 to 0.17.0 in /tests/apps/gogrpc
- #6264: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/zombies-dockerfile-tini
- #6265: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/go-fail-predeploy
- #6259: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.16 to 11.0.17 in /tests/apps/java
- #6260: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.4 to 9.4.5 in /docs/_build
- #6261: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/gogrpc
- #6266: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/go-fail-postdeploy
- #6258: @dependabot[bot] chore(deps): update markdown requirement from <3.5,>=3.2.1 to >=3.2.1,<3.6 in /docs/_build
- #6256: @josegonzalez chore: bump github.com/otiai10/copy and golang.org/x/sync
- #6241: @dependabot[bot] chore(deps): bump python from 3.11.5-alpine to 3.12.0-alpine in /docs/_build
- #6252: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.2 to 9.4.4 in /docs/_build
- #6235: @dependabot[bot] chore(deps): bump packaging from 23.1 to 23.2 in /docs/_build
- #6232: @dependabot[bot] chore(deps): bump werkzeug from 2.3.7 to 3.0.0 in /tests/apps/python-flask
- #6231: @dependabot[bot] chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/python-flask
- #6248: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/gogrpc
- #6251: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/zombies-dockerfile-tini
- #6250: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.15.0 to 0.16.0 in /tests/apps/gogrpc
- #6249: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/go-fail-predeploy
- #6247: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/zombies-dockerfile-no-tini
- #6246: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/go-fail-postdeploy
- #6245: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.3.0 to 0.4.0 in /plugins/scheduler-docker-local
- #6233: @dependabot[bot] chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/multi
- #6239: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.12.0 to 1.14.0 in /plugins/ps
- #6234: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.12.0 to 1.14.0 in /plugins/builder
- #6240: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.2.0 to 39.2.1
- #6228: @josegonzalez Update all go modules and ensure all are tracked in dependabot
- #6227: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.27.10 to 1.28.0 in /plugins/common
- #6216: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.1.2 to 39.2.0
- #6217: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.1 to 9.4.2 in /docs/_build
- #6215: @dependabot[bot] chore(deps): bump mkdocs-material from 9.3.1 to 9.4.1 in /docs/_build
- #6214: @dependabot[bot] chore(deps): bump mkdocs-material-extensions from 1.1.1 to 1.2 in /docs/_build
- #6209: @dependabot[bot] chore(deps): bump zipp from 3.16.2 to 3.17.0 in /docs/_build
- #6211: @dependabot[bot] chore(deps): bump mkdocs from 1.5.2 to 1.5.3 in /docs/_build
- #6213: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.0.2 to 39.1.2
- #6202: @dependabot[bot] chore(deps): bump docker/setup-buildx-action from 2 to 3
- #6199: @dependabot[bot] chore(deps): bump docker/login-action from 2 to 3
- #6200: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.0.0 to 39.0.2
- #6201: @dependabot[bot] chore(deps): bump docker/setup-qemu-action from 2 to 3
- #6203: @dependabot[bot] chore(deps): bump mkdocs-material from 9.2.8 to 9.3.1 in /docs/_build
2023-10-15 23:32:29 +00:00
Jose Diaz-Gonzalez
bf44d685a1 Merge pull request #6278 from dokku/josegonzalez-patch-1
Remove pack installation from builder-lambda tests
2023-10-15 05:02:38 -04:00
Jose Diaz-Gonzalez
4503045d8a chore: remove pack installation from builder-lambda tests
It isn't necessary and causes false-negatives when pack isn't able to be installed.
2023-10-15 03:46:20 -04:00
Jose Diaz-Gonzalez
44716c7146 Merge pull request #6275 from dokku/6205-update-checks-warning
Update message referencing CHECKS file usage to app.json
2023-10-15 01:28:24 -04:00
Jose Diaz-Gonzalez
8a15779c8d fix: upgrade docker-container-healthchecker to include exists command 2023-10-15 00:47:07 -04:00
Jose Diaz-Gonzalez
a89b8d6213 chore: convert all CHECKS files to healthchecks 2023-10-15 00:22:24 -04:00
Jose Diaz-Gonzalez
678757d55f fix: update message referencing CHECKS file usage to app.json
Refs #6205
2023-10-15 00:09:32 -04:00
Jose Diaz-Gonzalez
4c2f939480 Merge pull request #6274 from dokku/more-report-output
Add more version output to dokku report command
2023-10-14 23:38:45 -04:00
Jose Diaz-Gonzalez
4d6bd92b24 Merge pull request #6273 from dokku/6272-force-clean-intermediate-images
Clean up local build images immediately after an image is released
2023-10-14 23:32:49 -04:00
Jose Diaz-Gonzalez
5886339da7 feat: add more version output to dokku report command 2023-10-14 22:57:31 -04:00
Jose Diaz-Gonzalez
64ff701cd8 fix: clean up local build images immediately after an image is released
In some cases, we might hold onto intermediate images until the next deploy. While these images are generally part of newer images - and are therefore cleaned up when the child images are no longer in use - they cruft up the 'docker image ls' output, causing some folks to believe Dokku is not cleaning up images.

Refs #6272
2023-10-14 22:36:31 -04:00
Jose Diaz-Gonzalez
29a72d9aed Merge pull request #6269 from dokku/dependabot/go_modules/plugins/common/golang.org/x/net-0.17.0
chore(deps): bump golang.org/x/net from 0.14.0 to 0.17.0 in /plugins/common
2023-10-14 02:09:10 -07:00
Jose Diaz-Gonzalez
40620538dd Merge pull request #6257 from dokku/dependency-management
Manage Dokku system dependencies in a single file
2023-10-14 01:55:40 -07:00
Jose Diaz-Gonzalez
944c12f734 chore: update all plugins 2023-10-14 04:02:20 -04:00
Jose Diaz-Gonzalez
934a6b5cd5 feat: manage Dokku system dependencies in a single file
This will allow us to more quickly update a dependency by adding support so that downstream repos can auto-push updates to the main repo when there is a release.
2023-10-14 03:49:25 -04:00
Jose Diaz-Gonzalez
aaf4c1d7d1 Merge pull request #6271 from dokku/update-plugin-docs
Update list of official, community, and deprecated plugins
2023-10-14 00:28:33 -07:00
Jose Diaz-Gonzalez
dc865ceb9a docs: update list of official, community, and deprecated plugins 2023-10-14 03:28:11 -04:00
dependabot[bot]
978179181c chore(deps): bump golang.org/x/net in /plugins/common
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.14.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.14.0...v0.17.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-14 02:09:30 +00:00
Jose Diaz-Gonzalez
97ae4bf17e Merge pull request #6270 from dokku/dependabot/github_actions/tj-actions/changed-files-39.2.2
chore(deps): bump tj-actions/changed-files from 39.2.1 to 39.2.2
2023-10-13 19:09:04 -07:00
Jose Diaz-Gonzalez
2e1b98ff8f Merge pull request #6262 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.21.3
chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/zombies-dockerfile-no-tini
2023-10-13 19:08:56 -07:00
Jose Diaz-Gonzalez
4e846f53d8 Merge pull request #6263 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.17.0
chore(deps): bump golang.org/x/net from 0.16.0 to 0.17.0 in /tests/apps/gogrpc
2023-10-13 19:08:27 -07:00
dependabot[bot]
5554397658 chore(deps): bump tj-actions/changed-files from 39.2.1 to 39.2.2
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39.2.1 to 39.2.2.
- [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/v39.2.1...v39.2.2)

---
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>
2023-10-12 13:07:11 +00:00
dependabot[bot]
b880029956 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.21.2 to 1.21.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 22:49:52 +00:00
Jose Diaz-Gonzalez
3c36970655 Merge pull request #6264 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.21.3
chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/zombies-dockerfile-tini
2023-10-11 18:48:34 -04:00
Jose Diaz-Gonzalez
0c8267e0d2 Merge pull request #6265 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.21.3
chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/go-fail-predeploy
2023-10-11 18:48:21 -04:00
dependabot[bot]
98be085425 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.21.2 to 1.21.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 20:43:13 +00:00
dependabot[bot]
4455b495e0 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.21.2 to 1.21.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 20:42:25 +00:00
Jose Diaz-Gonzalez
2ff642bd2f Merge pull request #6259 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-11.0.17
chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.16 to 11.0.17 in /tests/apps/java
2023-10-11 16:40:53 -04:00
Jose Diaz-Gonzalez
c745e05382 Merge pull request #6260 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.4.5
chore(deps): bump mkdocs-material from 9.4.4 to 9.4.5 in /docs/_build
2023-10-11 16:40:45 -04:00
Jose Diaz-Gonzalez
96f9c66144 Merge pull request #6261 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.21.3
chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/gogrpc
2023-10-11 16:40:36 -04:00
Jose Diaz-Gonzalez
c84089cc11 Merge pull request #6266 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.21.3
chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/go-fail-postdeploy
2023-10-11 16:40:21 -04:00
dependabot[bot]
7190270c0e chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.21.2 to 1.21.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 13:48:30 +00:00
dependabot[bot]
7c93c490d0 chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.16.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.16.0...v0.17.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 13:26:13 +00:00
dependabot[bot]
46de39b792 chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/gogrpc
Bumps golang from 1.21.2 to 1.21.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 13:16:30 +00:00
dependabot[bot]
03571b200f chore(deps): bump mkdocs-material from 9.4.4 to 9.4.5 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.4 to 9.4.5.
- [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.4.4...9.4.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-10 13:49:33 +00:00
dependabot[bot]
97cf966b22 chore(deps): bump org.eclipse.jetty:jetty-servlet in /tests/apps/java
Bumps [org.eclipse.jetty:jetty-servlet](https://github.com/eclipse/jetty.project) from 11.0.16 to 11.0.17.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.16...jetty-11.0.17)

---
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>
2023-10-10 13:16:14 +00:00
Jose Diaz-Gonzalez
09116cb42b Merge pull request #6258 from dokku/dependabot/pip/docs/_build/markdown-gte-3.2.1-and-lt-3.6
chore(deps): update markdown requirement from <3.5,>=3.2.1 to >=3.2.1,<3.6 in /docs/_build
2023-10-09 20:33:58 -04:00
dependabot[bot]
1204e8b4c0 chore(deps): update markdown requirement in /docs/_build
Updates the requirements on [markdown](https://github.com/Python-Markdown/markdown) to permit the latest version.
- [Changelog](https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md)
- [Commits](https://github.com/Python-Markdown/markdown/compare/3.2.1...3.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-09 13:28:48 +00:00
Jose Diaz-Gonzalez
0646cee6c8 Merge pull request #6256 from dokku/update-dependencies
chore: bump github.com/otiai10/copy and golang.org/x/sync
2023-10-07 01:05:28 -04:00
Jose Diaz-Gonzalez
baf3d347f0 chore: bump github.com/otiai10/copy and golang.org/x/sync 2023-10-06 23:21:34 -04:00
Jose Diaz-Gonzalez
bb019f9bcb Merge pull request #6255 from dokku/josegonzalez-patch-3
Add ci concurrency to linting workflow
2023-10-06 23:17:36 -04:00
Jose Diaz-Gonzalez
3688365e5d feat: add ci concurrency to linting workflow 2023-10-06 23:17:23 -04:00
Jose Diaz-Gonzalez
fc942f20c1 Merge pull request #6253 from dokku/josegonzalez-patch-2
feat: add ci concurrency to doc building
2023-10-06 23:16:48 -04:00
Jose Diaz-Gonzalez
cf35d913f9 Merge pull request #6254 from dokku/josegonzalez-patch-1
Add ci concurrency to codeql analysis
2023-10-06 23:16:42 -04:00
Jose Diaz-Gonzalez
cef902e315 feat: add ci concurrency to doc building 2023-10-06 23:16:24 -04:00
Jose Diaz-Gonzalez
b382aedcee feat: add ci concurrency to codeql analysis 2023-10-06 23:16:04 -04:00
Jose Diaz-Gonzalez
6538f076d2 Merge pull request #6241 from dokku/dependabot/docker/docs/_build/python-3.12.0-alpine
chore(deps): bump python from 3.11.5-alpine to 3.12.0-alpine in /docs/_build
2023-10-06 23:11:09 -04:00
Jose Diaz-Gonzalez
2acc7976d0 Merge pull request #6252 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.4.4
chore(deps): bump mkdocs-material from 9.4.2 to 9.4.4 in /docs/_build
2023-10-06 23:11:03 -04:00
Jose Diaz-Gonzalez
378a228ab7 Merge pull request #6235 from dokku/dependabot/pip/docs/_build/packaging-23.2
chore(deps): bump packaging from 23.1 to 23.2 in /docs/_build
2023-10-06 23:10:56 -04:00
Jose Diaz-Gonzalez
8c0b069171 Merge pull request #6232 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-3.0.0
chore(deps): bump werkzeug from 2.3.7 to 3.0.0 in /tests/apps/python-flask
2023-10-06 23:10:49 -04:00
Jose Diaz-Gonzalez
fd97c1721d Merge pull request #6231 from dokku/dependabot/pip/tests/apps/python-flask/flask-3.0.0
chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/python-flask
2023-10-06 23:10:43 -04:00
Jose Diaz-Gonzalez
53b7ce0dc6 Merge pull request #6248 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.21.2
chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/gogrpc
2023-10-06 23:10:25 -04:00
Jose Diaz-Gonzalez
483612bc10 Merge pull request #6251 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.21.2
chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/zombies-dockerfile-tini
2023-10-06 23:10:20 -04:00
Jose Diaz-Gonzalez
417130a760 Merge pull request #6250 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.16.0
chore(deps): bump golang.org/x/net from 0.15.0 to 0.16.0 in /tests/apps/gogrpc
2023-10-06 23:10:12 -04:00
Jose Diaz-Gonzalez
7cfed12584 Merge pull request #6249 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.21.2
chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/go-fail-predeploy
2023-10-06 23:10:05 -04:00
Jose Diaz-Gonzalez
b77c856120 Merge pull request #6247 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.21.2
chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/zombies-dockerfile-no-tini
2023-10-06 23:09:59 -04:00
Jose Diaz-Gonzalez
e2cafe1599 Merge pull request #6246 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.21.2
chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/go-fail-postdeploy
2023-10-06 23:09:54 -04:00
Jose Diaz-Gonzalez
46bd543bc9 Merge pull request #6245 from dokku/dependabot/go_modules/plugins/scheduler-docker-local/golang.org/x/sync-0.4.0
chore(deps): bump golang.org/x/sync from 0.3.0 to 0.4.0 in /plugins/scheduler-docker-local
2023-10-06 23:09:49 -04:00
Jose Diaz-Gonzalez
41cd4587a7 Merge pull request #6233 from dokku/dependabot/pip/tests/apps/multi/flask-3.0.0
chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/multi
2023-10-06 23:09:43 -04:00
Jose Diaz-Gonzalez
25b702e7d6 Merge pull request #6239 from dokku/dependabot/go_modules/plugins/ps/github.com/otiai10/copy-1.14.0
chore(deps): bump github.com/otiai10/copy from 1.12.0 to 1.14.0 in /plugins/ps
2023-10-06 23:09:20 -04:00
Jose Diaz-Gonzalez
46641f8fc7 Merge pull request #6234 from dokku/dependabot/go_modules/plugins/builder/github.com/otiai10/copy-1.14.0
chore(deps): bump github.com/otiai10/copy from 1.12.0 to 1.14.0 in /plugins/builder
2023-10-06 23:09:14 -04:00
Jose Diaz-Gonzalez
a5292abe03 Merge pull request #6240 from dokku/dependabot/github_actions/tj-actions/changed-files-39.2.1
chore(deps): bump tj-actions/changed-files from 39.2.0 to 39.2.1
2023-10-06 23:08:52 -04:00
dependabot[bot]
db4becf56f chore(deps): bump mkdocs-material from 9.4.2 to 9.4.4 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.2 to 9.4.4.
- [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.4.2...9.4.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 13:31:33 +00:00
dependabot[bot]
c0ef4d0e4c chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.21.1 to 1.21.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 13:31:01 +00:00
dependabot[bot]
80b7856732 chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.15.0 to 0.16.0.
- [Commits](https://github.com/golang/net/compare/v0.15.0...v0.16.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 13:30:46 +00:00
dependabot[bot]
be693fa3cd chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.21.1 to 1.21.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 13:27:36 +00:00
dependabot[bot]
b9bb78fc33 chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/gogrpc
Bumps golang from 1.21.1 to 1.21.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 13:25:16 +00:00
dependabot[bot]
37d6e12124 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.21.1 to 1.21.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 13:23:17 +00:00
dependabot[bot]
db99f8c2be chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.21.1 to 1.21.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 13:20:09 +00:00
dependabot[bot]
a4d3ade82b chore(deps): bump golang.org/x/sync in /plugins/scheduler-docker-local
Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.3.0 to 0.4.0.
- [Commits](https://github.com/golang/sync/compare/v0.3.0...v0.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-05 14:08:30 +00:00
dependabot[bot]
d4cf202d7a chore(deps): bump python in /docs/_build
Bumps python from 3.11.5-alpine to 3.12.0-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-03 13:36:51 +00:00
dependabot[bot]
f8faf51e66 chore(deps): bump tj-actions/changed-files from 39.2.0 to 39.2.1
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39.2.0 to 39.2.1.
- [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/v39.2.0...v39.2.1)

---
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>
2023-10-03 13:05:34 +00:00
dependabot[bot]
99ba76a40f chore(deps): bump github.com/otiai10/copy in /plugins/ps
Bumps [github.com/otiai10/copy](https://github.com/otiai10/copy) from 1.12.0 to 1.14.0.
- [Release notes](https://github.com/otiai10/copy/releases)
- [Commits](https://github.com/otiai10/copy/compare/v1.12.0...v1.14.0)

---
updated-dependencies:
- dependency-name: github.com/otiai10/copy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 14:01:31 +00:00
dependabot[bot]
31de4dd5a4 chore(deps): bump packaging from 23.1 to 23.2 in /docs/_build
Bumps [packaging](https://github.com/pypa/packaging) from 23.1 to 23.2.
- [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/23.1...23.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 13:47:36 +00:00
dependabot[bot]
a1959a7036 chore(deps): bump github.com/otiai10/copy in /plugins/builder
Bumps [github.com/otiai10/copy](https://github.com/otiai10/copy) from 1.12.0 to 1.14.0.
- [Release notes](https://github.com/otiai10/copy/releases)
- [Commits](https://github.com/otiai10/copy/compare/v1.12.0...v1.14.0)

---
updated-dependencies:
- dependency-name: github.com/otiai10/copy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 13:45:20 +00:00
dependabot[bot]
e8f5b2efcf chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/multi
Bumps [flask](https://github.com/pallets/flask) from 2.3.3 to 3.0.0.
- [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/2.3.3...3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 13:45:16 +00:00
dependabot[bot]
bfc60816e5 chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.3.7 to 3.0.0.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/2.3.7...3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 13:21:17 +00:00
dependabot[bot]
861b28edb9 chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/python-flask
Bumps [flask](https://github.com/pallets/flask) from 2.3.3 to 3.0.0.
- [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/2.3.3...3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 13:21:12 +00:00
Jose Diaz-Gonzalez
a77c27d088 Merge pull request #6228 from dokku/update-dependencies
Update all go modules and ensure all are tracked in dependabot
2023-09-29 00:09:59 -04:00
Jose Diaz-Gonzalez
978644c1f7 chore: update all go modules and ensure all are tracked in dependabot 2023-09-28 23:34:37 -04:00
Jose Diaz-Gonzalez
dbb42cf18c Merge pull request #6224 from joeyates/patch-1
Correct typo in example app.json for healthchecks
2023-09-28 23:16:51 -04:00
Jose Diaz-Gonzalez
b6a917492f Merge pull request #6227 from dokku/dependabot/go_modules/plugins/common/github.com/onsi/gomega-1.28.0
chore(deps): bump github.com/onsi/gomega from 1.27.10 to 1.28.0 in /plugins/common
2023-09-28 23:16:18 -04:00
dependabot[bot]
23efb7295c chore(deps): bump github.com/onsi/gomega in /plugins/common
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.27.10 to 1.28.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.27.10...v1.28.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-28 13:54:06 +00:00
Joe Yates
38765ec07d Correct typo in example JSON 2023-09-27 15:49:00 +01:00
Jose Diaz-Gonzalez
2911772244 Merge pull request #6222 from dokku/6221-silence-warnings
Install docker-buildx-plugin to silence buildx warnings
2023-09-26 00:08:20 -04:00
Jose Diaz-Gonzalez
e49cb50e67 feat: install docker-buildx-plugin to silence buildx warnings
Closes #6221
2023-09-25 21:14:34 -04:00
Jose Diaz-Gonzalez
a0af2139b4 Merge pull request #6216 from dokku/dependabot/github_actions/tj-actions/changed-files-39.2.0
chore(deps): bump tj-actions/changed-files from 39.1.2 to 39.2.0
2023-09-25 12:02:46 -04:00
Jose Diaz-Gonzalez
9cb847bf23 Merge pull request #6217 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.4.2
chore(deps): bump mkdocs-material from 9.4.1 to 9.4.2 in /docs/_build
2023-09-25 12:02:36 -04:00
dependabot[bot]
71e5ffac5b chore(deps): bump mkdocs-material from 9.4.1 to 9.4.2 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.1 to 9.4.2.
- [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.4.1...9.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-25 13:36:21 +00:00
dependabot[bot]
fbcc667ca0 chore(deps): bump tj-actions/changed-files from 39.1.2 to 39.2.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39.1.2 to 39.2.0.
- [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/v39.1.2...v39.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-25 13:35:57 +00:00
Jose Diaz-Gonzalez
726f92c6e2 Merge pull request #6207 from AlejandroAkbal/master
docs(Dockerfiles): fix wrong command
2023-09-23 00:39:02 -04:00
Jose Diaz-Gonzalez
1b1c42d69f docs: update command
The latest Dokku manages ports via the ports command.
2023-09-23 00:38:34 -04:00
Jose Diaz-Gonzalez
e007ee83c5 Merge pull request #6215 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.4.1
chore(deps): bump mkdocs-material from 9.3.1 to 9.4.1 in /docs/_build
2023-09-23 00:36:31 -04:00
dependabot[bot]
6aee78b640 chore(deps): bump mkdocs-material from 9.3.1 to 9.4.1 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.3.1 to 9.4.1.
- [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.3.1...9.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-23 04:36:25 +00:00
Jose Diaz-Gonzalez
8817955190 Merge pull request #6214 from dokku/dependabot/pip/docs/_build/mkdocs-material-extensions-1.2
chore(deps): bump mkdocs-material-extensions from 1.1.1 to 1.2 in /docs/_build
2023-09-23 00:35:56 -04:00
Jose Diaz-Gonzalez
a82cb6c0ec Merge pull request #6209 from dokku/dependabot/pip/docs/_build/zipp-3.17.0
chore(deps): bump zipp from 3.16.2 to 3.17.0 in /docs/_build
2023-09-23 00:35:49 -04:00
Jose Diaz-Gonzalez
f0b3517e9a Merge pull request #6211 from dokku/dependabot/pip/docs/_build/mkdocs-1.5.3
chore(deps): bump mkdocs from 1.5.2 to 1.5.3 in /docs/_build
2023-09-23 00:35:27 -04:00
Jose Diaz-Gonzalez
2130d94fb0 Merge pull request #6213 from dokku/dependabot/github_actions/tj-actions/changed-files-39.1.2
chore(deps): bump tj-actions/changed-files from 39.0.2 to 39.1.2
2023-09-23 00:35:17 -04:00
dependabot[bot]
f1740b9247 chore(deps): bump mkdocs-material-extensions in /docs/_build
Bumps [mkdocs-material-extensions](https://github.com/facelessuser/mkdocs-material-extensions) from 1.1.1 to 1.2.
- [Release notes](https://github.com/facelessuser/mkdocs-material-extensions/releases)
- [Changelog](https://github.com/facelessuser/mkdocs-material-extensions/blob/master/changelog.md)
- [Commits](https://github.com/facelessuser/mkdocs-material-extensions/compare/1.1.1...1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-21 13:51:54 +00:00
dependabot[bot]
8c13bc183b chore(deps): bump tj-actions/changed-files from 39.0.2 to 39.1.2
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39.0.2 to 39.1.2.
- [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/v39.0.2...v39.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-21 13:23:21 +00:00
dependabot[bot]
da7b4fcb59 chore(deps): bump mkdocs from 1.5.2 to 1.5.3 in /docs/_build
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.5.2...1.5.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-19 13:32:34 +00:00
dependabot[bot]
1717a8da79 chore(deps): bump zipp from 3.16.2 to 3.17.0 in /docs/_build
Bumps [zipp](https://github.com/jaraco/zipp) from 3.16.2 to 3.17.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.16.2...v3.17.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-19 13:32:20 +00:00
Alejandro Akbal
a4203843a1 docs: fix wrong command 2023-09-18 18:48:05 +01:00
Jose Diaz-Gonzalez
634307eca6 Merge pull request #6202 from dokku/dependabot/github_actions/docker/setup-buildx-action-3
chore(deps): bump docker/setup-buildx-action from 2 to 3
2023-09-16 21:34:45 -04:00
Jose Diaz-Gonzalez
a6439605a1 Merge pull request #6199 from dokku/dependabot/github_actions/docker/login-action-3
chore(deps): bump docker/login-action from 2 to 3
2023-09-16 21:34:36 -04:00
Jose Diaz-Gonzalez
0bb5508c72 Merge pull request #6200 from dokku/dependabot/github_actions/tj-actions/changed-files-39.0.2
chore(deps): bump tj-actions/changed-files from 39.0.0 to 39.0.2
2023-09-16 21:34:22 -04:00
Jose Diaz-Gonzalez
5c30b2fb38 Merge pull request #6201 from dokku/dependabot/github_actions/docker/setup-qemu-action-3
chore(deps): bump docker/setup-qemu-action from 2 to 3
2023-09-16 21:34:15 -04:00
Jose Diaz-Gonzalez
414e630c8b Merge pull request #6203 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.3.1
chore(deps): bump mkdocs-material from 9.2.8 to 9.3.1 in /docs/_build
2023-09-16 21:34:01 -04:00
dependabot[bot]
d88c7f5319 chore(deps): bump mkdocs-material from 9.2.8 to 9.3.1 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.2.8 to 9.3.1.
- [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.2.8...9.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 13:56:51 +00:00
dependabot[bot]
0ea482bace chore(deps): bump docker/setup-buildx-action from 2 to 3
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 13:15:29 +00:00
dependabot[bot]
3e99c5769b chore(deps): bump docker/setup-qemu-action from 2 to 3
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 13:15:26 +00:00
dependabot[bot]
3316914e67 chore(deps): bump tj-actions/changed-files from 39.0.0 to 39.0.2
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39.0.0 to 39.0.2.
- [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/v39.0.0...v39.0.2)

---
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>
2023-09-12 13:15:23 +00:00
dependabot[bot]
a8aed16b17 chore(deps): bump docker/login-action from 2 to 3
Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 13:15:19 +00:00
529 changed files with 21227 additions and 4485 deletions

View File

@@ -8,8 +8,10 @@ RUN apt-get install --no-install-recommends -y build-essential file nano && \
rm -rf /var/lib/apt/lists/*
ARG TARGETARCH
RUN wget https://dl.google.com/go/go1.19.6.linux-${TARGETARCH}.tar.gz && \
tar -xvf go1.19.6.linux-${TARGETARCH}.tar.gz && \
COPY common.mk common.mk
RUN GOLANG_VERSION=$(grep BUILD_IMAGE common.mk | cut -d' ' -f3 | cut -d':' -f2) && \
wget https://dl.google.com/go/go${GOLANG_VERSION}.linux-${TARGETARCH}.tar.gz && \
tar -xvf go${GOLANG_VERSION}.linux-${TARGETARCH}.tar.gz && \
mv go /usr/local
RUN GOROOT=/usr/local/go /usr/local/go/bin/go install golang.org/x/tools/gopls@latest 2>&1

21
.devcontainer/bin/bump-modules Executable file
View File

@@ -0,0 +1,21 @@
#!/usr/bin/env bash
export GOWORK=off
pushd /root/go/src/github.com/dokku/dokku/plugins/ >/dev/null || exit 1
for plugin in *; do
if [[ ! -f "/root/go/src/github.com/dokku/dokku/plugins/$plugin/go.mod" ]]; then continue; fi
echo "$plugin"
pushd /root/go/src/github.com/dokku/dokku/plugins/$plugin || exit 1
echo "running go mod tidy for $plugin"
if ! go mod tidy; then
echo "go mod tidy failed for $plugin"
exit 1
fi
echo "running go mod download for $plugin"
if ! go mod download; then
echo "go mod download failed for $plugin"
exit 1
fi
popd >/dev/null || exit 1
done
popd >/dev/null || exit 1

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
main() {
declare APP="${1:-test}"
if ! dokku apps:exists $APP; then
dokku apps:create $APP
fi
dokku builder-herokuish:set $APP allowed true
dokku git:sync --build $APP https://github.com/dokku/smoke-test-app.git
}
main "$@"

View File

@@ -3,27 +3,7 @@
install-go-devtools() {
go install github.com/go-delve/delve/cmd/dlv@latest
go install honnef.co/go/tools/cmd/staticcheck@latest
}
install-go-mods() {
local plugin_root="/root/go/src/github.com/dokku/dokku/plugins"
export GO111MODULE=off
echo "-----> Fetching onsi/gomega dependency for tests"
go get github.com/onsi/gomega || true
echo "-----> Fetching spf13/pflag dependency for subcommands"
go get github.com/spf13/pflag || true
pushd "$plugin_root" >/dev/null || true
find "$plugin_root/" -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read -r plugin; do
pushd "$plugin_root/$plugin" >/dev/null || true
if [[ -f "go.mod" ]]; then
echo "-----> Fetching dependencies for $plugin plugin"
go get || true
fi
popd >/dev/null || true
done
popd >/dev/null || true
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
}
setup-ci() {
@@ -34,7 +14,6 @@ setup-ci() {
}
main() {
install-go-mods
install-go-devtools
setup-ci
}

View File

@@ -13,18 +13,25 @@
"golang.go",
"mads-hartmann.bash-ide-vscode",
"ms-vscode.makefile-tools",
"sleistner.vscode-fileutils"
"sleistner.vscode-fileutils",
"ms-azuretools.vscode-docker"
]
}
},
"initializeCommand": ["mkdir", "-p", "tmp/data"],
"initializeCommand": [
"mkdir",
"-p",
"tmp/data"
],
"mounts": [
"source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind",
"source=${localWorkspaceFolder}/tmp/data/,target=/mnt/dokku/,type=bind"
],
"overrideCommand": false,
"postCreateCommand": "setup-dev-env",
"runArgs": ["--init"],
"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

@@ -8,8 +8,11 @@ docs
tests
!build/package/*
!docs/_build/entrypoint
!docs/_build/hooks.py
!docs/_build/requirements.txt
!tests/dhparam.pem
!contrib/bash-completion
!contrib/dependencies.json
!contrib/docker
!contrib/update-deb-dependencies
vendor

View File

@@ -19,3 +19,6 @@ indent_size = 4
insert_final_newline = true
indent_style = tab
indent_size = 4
[*.md]
tab_width = 4

View File

@@ -0,0 +1,26 @@
---
name: Documentation Issue
description: Let us know that something in the docs needs clarification
labels: ["needs: investigation", "type: documentation"]
body:
- type: markdown
attributes:
value: |
Consider [sponsoring Dokku](https://github.com/sponsors/dokku). Sponsorship goes directly to supporting activities such as fixing bugs and general maintenance.
- type: input
id: docs-link
attributes:
label: Link to the documentation page
description: Which docs page is impacted?
- type: textarea
id: description
attributes:
label: Documentation problem
description: Describe what you think is incorrect, not well documented, or missing from the documentation
validations:
required: true
- type: textarea
id: report-output
attributes:
label: dokku report
description: Please paste the output of the command `dokku report` so we know what systems any issue might apply to

View File

@@ -13,27 +13,19 @@ runs:
using: "composite"
steps:
- name: download packages
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: build
path: build
- name: set up docker buildx
id: buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
- name: build docker image
shell: bash
run: |
if [[ "${{ inputs.architecture }}" == "linux/arm" ]]; then
docker buildx build \
--platform linux/arm \
docker buildx build \
--progress plain \
--tag "dokku/dokku:latest" \
.
else
docker buildx build \
--progress plain \
--tag "dokku/dokku:latest" \
.
fi

View File

@@ -7,6 +7,7 @@ DOKKU_DOMAIN=${DOKKU_DOMAIN:="dokku.me"}
echo "=====> set hostname"
hostname
internal_ip="$(ifconfig eth0 | grep 'inet ' | awk '{print $2}')"
echo "CI_SERVER_IP=${internal_ip}" >>"$GITHUB_ENV"
sudo hostname "$DOKKU_DOMAIN"
echo "$DOKKU_DOMAIN" | sudo tee /etc/hostname
hostname

View File

@@ -85,6 +85,13 @@ updates:
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/ports"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/proxy"
schedule:
@@ -120,6 +127,13 @@ updates:
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/scheduler-docker-local"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/scheduler"
schedule:
@@ -127,6 +141,41 @@ updates:
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/plugins/caddy-vhosts"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/plugins/haproxy-vhosts"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/plugins/logs"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/plugins/openresty-vhosts"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/plugins/traefik-vhosts"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: bundler
directory: "/tests/apps/ruby"
schedule:
@@ -204,10 +253,6 @@ updates:
open-pull-requests-limit: 10
labels:
- "type: dependencies"
ignore:
- dependency-name: google.golang.org/grpc
versions:
- "> 1.29.1"
- package-ecosystem: pip
directory: "/tests/apps/multi"
schedule:

View File

@@ -3,3 +3,6 @@ extends: default
rules:
line-length: disable
ignore:
- plugins/scheduler-k3s/templates/*

View File

@@ -19,7 +19,7 @@ env:
jobs:
check-commit:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
outputs:
skip: ${{ steps.check-commit.outputs.skip }}
@@ -43,7 +43,7 @@ jobs:
build:
name: build
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
needs: check-commit
if: ${{ needs.check-commit.outputs.skip != 'true' }}
outputs:
@@ -56,11 +56,11 @@ jobs:
- uses: actions/checkout@v4
- name: set up qemu
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3
- name: set up docker buildx
id: buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
- name: build package
run: ./tests/ci/setup.sh build
@@ -75,7 +75,7 @@ jobs:
echo "matrix=$json" >> $GITHUB_OUTPUT
- name: upload packages
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: build
path: build
@@ -83,7 +83,7 @@ jobs:
build-image-amd64:
name: build-image.linux/amd64
needs: build
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
timeout-minutes: 20
steps:
@@ -94,23 +94,6 @@ jobs:
with:
architecture: linux/amd64
build-image-arm:
name: build-image.linux/arm
needs: build
runs-on: buildjet-4vcpu-ubuntu-2204-arm
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- name: set up qemu
uses: docker/setup-qemu-action@v2
- name: build-image
uses: ./.github/actions/build-image
with:
architecture: linux/arm
build-image-arm64:
name: build-image.linux/arm64
needs: build
@@ -128,7 +111,7 @@ jobs:
unit-tests:
name: unit.${{ matrix.index }}
needs: build
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix: ${{fromJson(needs.build.outputs.matrix)}}
@@ -137,7 +120,7 @@ jobs:
- uses: actions/checkout@v4
- name: download packages
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: build
path: build
@@ -160,7 +143,7 @@ jobs:
SYNC_GITHUB_PASSWORD: ${{ secrets.SYNC_GITHUB_PASSWORD }}
SYNC_GITHUB_USERNAME: ${{ secrets.SYNC_GITHUB_USERNAME }}
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: test-results-${{ matrix.index }}
path: test-results
@@ -168,7 +151,7 @@ jobs:
docker-deploy-tests:
name: docker
needs: build
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false
@@ -176,7 +159,7 @@ jobs:
- uses: actions/checkout@v4
- name: download packages
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: build
path: build
@@ -194,7 +177,7 @@ jobs:
go-tests:
name: go.${{ matrix.index }}
needs: build
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
@@ -206,7 +189,7 @@ jobs:
- uses: actions/checkout@v4
- name: download packages
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: build
path: build
@@ -227,7 +210,7 @@ jobs:
2) sudo -E make -e deploy-test-multi ;;
3) sudo -E make -e deploy-test-go-fail-predeploy deploy-test-go-fail-postdeploy ;;
esac
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: coverage.${{ matrix.index }}
path: test-results/coverage
@@ -235,7 +218,7 @@ jobs:
publish-test-results:
name: publish-test-results
needs: unit-tests
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
permissions:
checks: write
# the build-and-test job might be skipped, we don't need to run this job then
@@ -243,7 +226,7 @@ jobs:
steps:
- name: download test-results
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
path: test-results

View File

@@ -23,10 +23,14 @@ on:
schedule:
- cron: '18 22 * * 2'
concurrency:
group: codeql-analysis-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
strategy:
fail-fast: false
@@ -40,9 +44,13 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
# workaround for https://github.com/github/codeql/issues/14235
- name: Remove go.work file
run: rm go.work
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -53,7 +61,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3
# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -62,9 +70,5 @@ jobs:
# and modify them (or add more) to build your code if your project
# uses a compiled language
# - run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3

View File

@@ -7,9 +7,13 @@ on:
branches:
- master
concurrency:
group: docs-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
deploy:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Cloning repo
uses: actions/checkout@v4
@@ -17,7 +21,7 @@ jobs:
fetch-depth: 0
- name: "Setup python 3.10"
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.10'

View File

@@ -10,10 +10,14 @@ on:
branches:
- 'master'
concurrency:
group: lint-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
hadolint:
name: hadolint
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Clone
uses: actions/checkout@v4
@@ -23,12 +27,12 @@ jobs:
markdown-lint:
name: markdown-lint
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Clone
uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
@@ -40,7 +44,7 @@ jobs:
packer:
name: packer
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4
@@ -54,7 +58,7 @@ jobs:
PACKER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Get changed files in the docs folder
id: changed-files-specific
uses: tj-actions/changed-files@v39.0.0
uses: tj-actions/changed-files@v44.0.0
with:
files: contrib/images/digitalocean/**
- name: Run `packer validate`
@@ -65,7 +69,7 @@ jobs:
shellcheck:
name: shellcheck
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Clone
uses: actions/checkout@v4
@@ -75,12 +79,12 @@ jobs:
shfmt:
name: shfmt
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Clone
uses: actions/checkout@v4
- name: Run shfmt
uses: luizm/action-sh-checker@76ab0b22e1f194e4a582edc7969df6485c4e9246
uses: luizm/action-sh-checker@c6edb3de93e904488b413636d96c6a56e3ad671a
# v0.5.0 => edd0e45ecff35b05f162052b50df50976c1b74fc
env:
SHFMT_OPTS: -l -bn -ci -i 2 -d
@@ -89,7 +93,7 @@ jobs:
yamllint:
name: yamllint
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Clone
uses: actions/checkout@v4

View File

@@ -1,19 +1,25 @@
---
name: 'release'
name: "release"
# yamllint disable-line rule:truthy
on:
workflow_dispatch:
inputs:
release_type:
description: 'Release type [build, betafish, patch, minor, major]'
description: "Release type"
default: "patch"
required: true
default: 'build'
type: choice
options:
- patch
- minor
- major
- build
- betafish
jobs:
release:
name: release
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
env:
PACKAGECLOUD_TOKEN: ${{ secrets.PACKAGECLOUD_TOKEN }}
outputs:
@@ -25,20 +31,20 @@ jobs:
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
ruby-version: 2.7
- name: login to docker hub
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: set up qemu
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3
- name: set up docker buildx
id: buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
- name: inspect builder
run: |
@@ -67,14 +73,14 @@ jobs:
run: echo "version=$(cat build/next-version)" >> $GITHUB_OUTPUT
- name: upload packages
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: build
path: build
build-digitalocean:
name: build-digitalocean
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
needs: release
steps:
- name: Checkout code
@@ -103,14 +109,14 @@ jobs:
PKR_VAR_dokku_version="${VERSION:1}" make image/build/digitalocean
- name: upload packages
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: digitalocean-manifest.json
path: digitalocean-manifest.json
bump-azure:
name: bump-azure
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
needs: release
steps:
- name: Checkout code

1
.gitignore vendored
View File

@@ -12,3 +12,4 @@ stack.tgz
tmp
coverage.out
site
go.work.sum

24
.golangci-lint.yml Normal file
View File

@@ -0,0 +1,24 @@
---
run:
timeout: 5m
linters:
disable-all: true
enable:
- errcheck
- goconst
- gocyclo
- gofumpt
- gosec
- gosimple
- govet
- ineffassign
- misspell
- revive
- staticcheck
- typecheck
- unconvert
- unparam
- unused
- whitespace

1
.prettierignore Normal file
View File

@@ -0,0 +1 @@
*.md

View File

@@ -23,7 +23,7 @@ RUN mkdir -p /etc/apt/keyrings \
&& 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 \
&& apt-get update \
&& apt-get -y --no-install-recommends install docker-ce docker-ce-cli containerd.io docker-compose-plugin \
&& apt-get -y --no-install-recommends install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin \
&& 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 \
@@ -59,6 +59,7 @@ RUN \
&& ln -sf /mnt/dokku/var/lib/dokku/data /var/lib/dokku/data \
&& ln -sf /mnt/dokku/var/lib/dokku/services /var/lib/dokku/services \
&& mv /etc/my_init.d/00_regen_ssh_host_keys.sh /etc/my_init.d/15_regen_ssh_host_keys \
&& rm -f /usr/bin/systemctl \
&& rm -f /etc/nginx/sites-enabled/default /usr/share/nginx/html/index.html /etc/my_init.d/10_syslog-ng.init \
&& rm -f /usr/local/openresty/nginx/conf/sites-enabled/default /usr/share/openresty/html/index.html \
&& sed -i '/imklog/d' /etc/rsyslog.conf \

View File

@@ -1,5 +1,876 @@
# History
## 0.34.2
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.34.2/bootstrap.sh
sudo DOKKU_TAG=v0.34.2 bash bootstrap.sh
```
### Bug Fixes
- #6779: @josegonzalez Add --global flag to ps:set
- #6778: @josegonzalez Popd out of tmp directory after a git push-based deployment
- #6777: @josegonzalez Use correct function name in openresty:report output
### Documentation
- #6781: @josegonzalez Update builder management docs to warn that globally setting a builder will force all apps to use that builder
- #6780: @josegonzalez Clarify ssh-keys commands to run when adding ssh keys in docker-based installation
### Other
- #6776: @josegonzalez Use a long git sha in the git:report output
## 0.34.1
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.34.1/bootstrap.sh
sudo DOKKU_TAG=v0.34.1 bash bootstrap.sh
```
### Bug Fixes
- #6775: @josegonzalez Ensure files get created with the correct permissions when building with herokuish
- #6739: @AndrewKvalheim Dereference annotated git tags when deploying via git:sync
- #6743: @testwill Fix typo in app-json output
### New Features
- #6768: @josegonzalez Migrate away from transitional packages
### Documentation
- #6763: @iloveitaly Add docker-compose example to installation docs
- #6757: @josegonzalez Add documentation issue template
- #6742: @josegonzalez Remove trailing whitespace from history doc
### Dependencies
- #6772: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 43.0.1 to 44.0.0
- #6766: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.14 to 9.5.15 in /docs/_build
- #6744: @dependabot[bot] chore(deps): bump github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible in /plugins/scheduler-k3s
- #6754: @dependabot[bot] chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/dockerfile-app-json-formations
- #6745: @dependabot[bot] chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/nodejs-express
- #6746: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 43.0.0 to 43.0.1
- #6747: @dependabot[bot] chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/.websocket.disabled
- #6748: @dependabot[bot] chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/nodejs-express-noprocfile
- #6749: @dependabot[bot] chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/nodejs-express-noappjson
- #6750: @dependabot[bot] chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/dockerfile-procfile-bad
- #6751: @dependabot[bot] chore(deps): bump importlib-metadata from 7.0.2 to 7.1.0 in /docs/_build
- #6752: @dependabot[bot] chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/dockerfile-procfile
- #6753: @dependabot[bot] chore(deps): bump express from 4.18.3 to 4.19.1 in /tests/apps/gitsubmodules
- #6741: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.31.1 to 1.32.0 in /plugins/common
- #6740: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.31.1 to 1.32.0 in /plugins/config
## 0.34.0
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.34.0/bootstrap.sh
sudo DOKKU_TAG=v0.34.0 bash bootstrap.sh
```
See the [0.34.0 migration guide](/docs/appendices/0.34.0-migration-guide.md) for more information on migrating to 0.34.0.
### Bug Fixes
- #6724: @josegonzalez Correctly check if a repository has code or not in git plugin
- #6721: @josegonzalez Correct issue where cron properties cannot be retrieved if global
- #6720: @josegonzalez Add nginx-property binary to gitignore
- #6708: @josegonzalez Correctly handle quoted spaces over ssh
- #6707: @josegonzalez Correct issue where removing by index failed due to incorrect input validation
- #6705: @josegonzalez Ensure we cleanup the data directory on app deletion
- #6703: @josegonzalez Use copytruncate in logrotate commands
### New Features
- #6725: @josegonzalez Warn when publish ports if scaling up or zero downtime is enabled
- #6719: @josegonzalez Add a make target to copy the dokku binary over
- #6717: @josegonzalez Add ability to only build synced repo if there are changes
- #6715: @josegonzalez Add disk utilization to report output
- #6704: @josegonzalez Switch the default k3s routing layer from traefik to nginx
### Removals
- #6700: @josegonzalez Remove priority property from traefik plugin
### Refactors
- #6714: @josegonzalez Use CallPlugnTrigger instead of PlugnTriggerSetup
- #6713: @josegonzalez Use CallPlugnTrigger instead of PlugnTrigger
- #6712: @josegonzalez Use CallPlugnTrigger instead of PlugnTriggerOutput
- #6711: @josegonzalez Use CallPlugnTrigger instead of PlugnTriggerOutputAsString
- #6681: @josegonzalez Migrate to single ingress per app/domain combination when using nginx for k3s proxying
- #6156: @josegonzalez Migrate the app deploy lock to the data directory
### Documentation
- #6738: @josegonzalez Update migration guide for 0.34.x
- #6731: @strugee Clarify alternate proxy support status
### Dependencies
- #6736: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.13 to 9.5.14 in /docs/_build
- #6729: @dependabot[bot] chore(deps): update markdown requirement from <3.6,>=3.2.1 to >=3.2.1,<3.7 in /docs/_build
- #6728: @dependabot[bot] chore(deps): bump zipp from 3.17.0 to 3.18.1 in /docs/_build
- #6727: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.1.0 to 43.0.0
- #6723: @dependabot[bot] chore(deps): bump zipp from 3.17.0 to 3.18.0 in /docs/_build
- #6722: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.1.0 to 43.0.0
- #6710: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /plugins/scheduler-k3s
- #6709: @dependabot[bot] chore(deps): bump zipp from 3.17.0 to 3.18.0 in /docs/_build
### Other
- #6718: @josegonzalez Write current process id to all acquired lock files
- #6706: @josegonzalez Remove git:unlock command
- #6650: @bastianh Do not expose all containers via traefik by default
- #6632: @josegonzalez Simplify file ownership in the container by setting the process ownership during the build process
- #6630: @josegonzalez Remove unused code for copying cache directories
## 0.33.9
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.33.9/bootstrap.sh
sudo DOKKU_TAG=v0.33.9 bash bootstrap.sh
```
### Bug Fixes
- #6695: @josegonzalez Do not attempt to install both k3s and traefik
- #6687: @josegonzalez Correct issue where ClusterTriggerAuthentication objects were filtered based on prefix
- #6686: @josegonzalez Validate input for the autoscaling-auth:set command
- #6678: @josegonzalez Handle case where most builders didn't detect amd64 images on arm64
- #6677: @josegonzalez Handle case where keda isn't installed properly
- #6676: @josegonzalez Drop extra logging call from app-json plugin
- #6674: @josegonzalez Remove systemd reverse dependency by dropping software-properties-common
### New Features
- #6698: @josegonzalez Upgrade ingress-nginx
- #6588: @taraszka Add extra tags to every image dokku push when push-extra-tags are set
- #6680: @josegonzalez Wait until helm charts are installed before marking a deploy as failed or completed
### Documentation
- #6699: @josegonzalez Add a placeholder migration guide for 0.33.0
- #6682: @josegonzalez Fix reference to formation key in autoscaling example
### Tests
- #6696: @josegonzalez Run k3s tests with a specified server ip
- #6679: @josegonzalez Split out k3s tests to speed up ci
### Dependencies
- #6697: @dependabot[bot] chore(deps): bump timberio/vector from 0.36.0-debian to 0.36.1-debian in /plugins/logs
- #6685: @dependabot[bot] chore(deps): bump github.com/go-jose/go-jose/v3 from 3.0.1 to 3.0.3 in /plugins/scheduler-k3s
- #6692: @dependabot[bot] chore(deps): bump packaging from 23.2 to 24.0 in /docs/_build
- #6693: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.7 to 42.1.0
- #6689: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.6 to 42.0.7
- #6683: @dependabot[bot] chore(deps): bump importlib-metadata from 7.0.1 to 7.0.2 in /docs/_build
- #6684: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.5 to 42.0.6
## 0.33.8
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.33.8/bootstrap.sh
sudo DOKKU_TAG=v0.33.8 bash bootstrap.sh
```
### Bug Fixes
- #6675: @josegonzalez Remove the need for executing crontab as root
- #6660: @josegonzalez Handle case where systemctl isn't in /usr/bin
- #6659: @josegonzalez Add missing cron:set command
- #6658: @josegonzalez Execute go get/build with mod in readonly mode
- #6642: @josegonzalez Use correct annotations key for the ingress chart
- #6631: @josegonzalez Correctly use cache volume for herokuish builds
- #6629: @josegonzalez Use smaller reference to image pull secrets in secret naming
- #6628: @josegonzalez Ensure non-web processes do not attempt to perform web logic in k3s templates
- #6623: @josegonzalez Do not allow reusing the same scheme:host-port mappings when setting ports
- #6624: @taraszka Install jq in vagrant vm
- #6614: @josegonzalez Correct issue where --force-tty was not properly supported by run:detached calls
### New Features
- #6673: @josegonzalez Add image version as label to built images
- #6640: @josegonzalez Add initial support for injecting keda addons
- #6662: @josegonzalez Allow limiting letsencrypt to certain domains when using openresty as a proxy
- #6643: @josegonzalez Add ability to add extra labels
- #6639: @josegonzalez Add support for setting underscores-in-headers for nginx, openresty, and k3s
- #6634: @josegonzalez feat: install keda addon in k3s cluster
- #6616: @josegonzalez Ensure referenced images get updated by dependabot
- #6613: @josegonzalez Add a helper binary to deploy a test app for local development
### Refactors
- #6644: @josegonzalez Only apply the cluster issuers helm chart when setting letsencrypt properties
- #6641: @josegonzalez Rename image pull secrets to standardize on secret naming pattern
- #6626: @josegonzalez Copy code into initial base image via docker build
### Documentation
- #6656: @holamendi Fix typo in builder management docs
- #6652: @Calyhre Added dokku-mdns to list of community plugins
- #6649: @undercontr Added detach flag to Docker installation documentation
### Dependencies
- #6671: @josegonzalez Update dokku dependencies
- #6672: @dependabot[bot] chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/go-fail-predeploy
- #6670: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.62.0 to 1.62.1 in /tests/apps/gogrpc
- #6669: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /tests/apps/gogrpc
- #6668: @dependabot[bot] chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/zombies-dockerfile-tini
- #6667: @dependabot[bot] chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/gogrpc
- #6664: @dependabot[bot] chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/go-fail-postdeploy
- #6666: @dependabot[bot] chore(deps): bump pyparsing from 3.1.1 to 3.1.2 in /docs/_build
- #6665: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.12 to 9.5.13 in /docs/_build
- #6663: @dependabot[bot] chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/zombies-dockerfile-no-tini
- #6661: @josegonzalez Bump go modules
- #6654: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.7 to 10.7.1 in /docs/_build
- #6653: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.20.0 to 0.21.0 in /plugins/common
- #6651: @dependabot[bot] chore(deps): bump python-dateutil from 2.9.0 to 2.9.0.post0 in /docs/_build
- #6648: @dependabot[bot] chore(deps): bump python-dateutil from 2.8.2 to 2.9.0 in /docs/_build
- #6645: @dependabot[bot] chore(deps): bump rack from 2.2.8 to 2.2.8.1 in /tests/apps/ruby
- #6646: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.11 to 9.5.12 in /docs/_build
- #6638: @josegonzalez chore: bump go modules
- #6635: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.4 to 42.0.5
- #6636: @dependabot[bot] chore(deps): bump timberio/vector from 0.36.X-debian to 0.36.0-debian in /plugins/logs
- #6637: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.19.0 to 0.20.0 in /plugins/common
- #6619: @dependabot[bot] chore(deps): bump traefik from v2.10 to 2.11 in /plugins/traefik-vhosts
- #6622: @josegonzalez chore(deps): bump timberio/vector from 0.35.X-debian to 0.36.X-debian in /plugins/logs
- #6618: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.10 to 9.5.11 in /docs/_build
- #6621: @dependabot[bot] chore(deps): bump byjg/easy-haproxy from 4.3.0 to 4.4.0 in /plugins/haproxy-vhosts
- #6610: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.14.1 to 3.14.2 in /plugins/scheduler-k3s
## 0.33.7
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.33.7/bootstrap.sh
sudo DOKKU_TAG=v0.33.7 bash bootstrap.sh
```
### Bug Fixes
- #6608: @josegonzalez Fix issue with setting k3s resource values and lower the initial default values
- #6607: @josegonzalez Call sed in unbuffered form to ensure log output is streamed to stdout
- #6600: @josegonzalez Use correct label key for worker nodes
- #6593: @josegonzalez Remove extra trailing newline to fix govet issue
### New Features
- #6595: @josegonzalez Add ability for users to specify alternative kubeconfig and kubecontext
### Refactors
- #6594: @josegonzalez Remove all calls to common.NewShellCmd
- #6592: @josegonzalez Remove all calls to common.NewShellCmdWithArgs
- #6591: @josegonzalez Always capture stdout/stderr when executing subprocesses
- #6590: @josegonzalez Remove all direct usage of go-sh outside of plugin trigger setup
### Dependencies
- #6609: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.61.1 to 1.62.0 in /tests/apps/gogrpc
- #6604: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.9 to 9.5.10 in /docs/_build
- #6603: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.2 to 42.0.4
- #6601: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.13.3 to 3.14.1 in /plugins/scheduler-k3s
- #6596: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.61.0 to 1.61.1 in /tests/apps/gogrpc
## 0.33.6
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.33.6/bootstrap.sh
sudo DOKKU_TAG=v0.33.6 bash bootstrap.sh
```
### Bug Fixes
- #6589: @josegonzalez Use image pull secrets instead of registries.yaml to reference private repositories when deploying via k3s
- #6581: @josegonzalez Fix issues in tls handling when deploying via k3s
- #6582: @josegonzalez Correctly handle extra whitespace in scale file contents
- #6390: @renweibo Prefer systemctl over sv when both exist while restarting nginx
- #6579: @josegonzalez Ensure k3s can be installed with taints
### New Features
- #6585: @josegonzalez Add more context to errors in fetching cron entries
- #6583: @josegonzalez Add WithContext functions for all subprocess-related code
### Refactors
- #6584: @josegonzalez Use new CallExecCommand when checking to see how help is being called
### Dependencies
- #6586: @dependabot[bot] chore(deps): bump mvdan.cc/sh/v3 from 3.7.0 to 3.8.0 in /plugins/cron
- #6587: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.8 to 9.5.9 in /docs/_build
- #6381: @dependabot[bot] chore(deps): bump actions/upload-artifact from 3 to 4
- #6578: @josegonzalez Bump go modules
### Other
- #6576: @Tashows Allow creating a detached container with TTY enabled for attaching remote terminal
## 0.33.5
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.33.5/bootstrap.sh
sudo DOKKU_TAG=v0.33.5 bash bootstrap.sh
```
### Bug Fixes
- #6574: @josegonzalez Correct indentation when configuring https on a k3s app
### Documentation
- #6575: @josegonzalez Remove reference to web ui from digitalocean install documentation
### Dependencies
- #6573: @dependabot[bot] chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/go-fail-postdeploy
- #6569: @dependabot[bot] chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/go-fail-predeploy
- #6570: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.18.0 to 0.19.0 in /plugins/common
- #6571: @dependabot[bot] chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/zombies-dockerfile-tini
- #6572: @dependabot[bot] chore(deps): bump python from 3.12.1-alpine to 3.12.2-alpine in /docs/_build
## 0.33.4
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.33.4/bootstrap.sh
sudo DOKKU_TAG=v0.33.4 bash bootstrap.sh
```
### Bug Fixes
- #6564: @josegonzalez Ignore link and volume flags for nixpacks builds
- #6563: @josegonzalez Wait until initial k3s node is ready before installing manifests
- #6561: @josegonzalez Index the process map to ensure the correct config is pulled
- #6560: @josegonzalez Skip app stop/delete when k3s is not installed
- #6559: @josegonzalez Check errors when writing properties
- #6556: @josegonzalez Respect the release namespace when creating resources for a k3s deploy
### New Features
- #6562: @josegonzalez Add support for specifying annotations on kubernetes resources
- #6555: @josegonzalez Add support for app-specific service accounts when deploying via k3s
- #6546: @josegonzalez Install kubectx and kubens helper binaries when setting up a k3s cluster
### Refactors
- #6558: @josegonzalez Use type-specific functions for writing contents to a file
- #6557: @josegonzalez Consolidate property fetching for nginx plugin into golang codebase
- #6536: @josegonzalez Manage vector container via compose
### Documentation
- #6545: @josegonzalez Migrate markdown doc rewriting into mkdocs hooks
### Tests
- #6554: @josegonzalez Fix issue where CI cannot install docker-buildx-plugin
### Dependencies
- #6568: @dependabot[bot] chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/gogrpc
- #6567: @dependabot[bot] chore(deps): bump watchdog from 3.0.0 to 4.0.0 in /docs/_build
- #6566: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.7 to 9.5.8 in /docs/_build
- #6565: @dependabot[bot] chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/zombies-dockerfile-no-tini
- #6551: @dependabot[bot] chore(deps): bump flask from 3.0.1 to 3.0.2 in /tests/apps/multi
- #6552: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.6 to 9.5.7 in /docs/_build
- #6553: @dependabot[bot] chore(deps): bump markupsafe from 2.1.4 to 2.1.5 in /docs/_build
- #6550: @dependabot[bot] chore(deps): bump flask from 3.0.1 to 3.0.2 in /tests/apps/python-flask
- #6548: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.19 to 11.0.20 in /tests/apps/java
### Other
- #6547: @josegonzalez Add support for nginx as a k3s ingress implementation
## 0.33.3
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.33.3/bootstrap.sh
sudo DOKKU_TAG=v0.33.3 bash bootstrap.sh
```
### Bug Fixes
- #6542: @josegonzalez Drop -- when calling dokku run for cron-tab templating
### Documentation
- #6543: @josegonzalez Add support for badge shortcodes in documentation
## 0.33.2
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.33.2/bootstrap.sh
sudo DOKKU_TAG=v0.33.2 bash bootstrap.sh
```
### Bug Fixes
- #6535: @josegonzalez Properly fetch default vector image if none is passed
- #6533: @josegonzalez Ensure all k3s traefik middleware resources are scoped to the process
- #6524: @josegonzalez Ensure all copied files always have line endings converted to unix-style
### New Features
- #6537: @josegonzalez Add the dokku logo as the chart icon
- #6527: @josegonzalez Upgrade vector image to 0.35.x
- #6534: @josegonzalez Allow specifying an ingress class via chart value
### Documentation
- #6530: @josegonzalez Fix indentation on letsencrypt sections for k3s scheduler docs
### Tests
- #6532: @josegonzalez Correct issues in tests for vector image log property
### Dependencies
- #6540: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.5 to 9.5.6 in /docs/_build
- #6538: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.1 to 42.0.2
- #6528: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.0 to 42.0.1
- #6529: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.31.0 to 1.32.0 in /tests/apps/gogrpc
### Other
- #6526: @josegonzalez Allow setting the vector image as a global property
## 0.33.1
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.33.1/bootstrap.sh
sudo DOKKU_TAG=v0.33.1 bash bootstrap.sh
```
### Bug Fixes
- #6520: @josegonzalez Guard against missing healthcheck config
- #6519: @josegonzalez Use correct name for cluster-issuers helm chart
### Refactors
- #6521: @josegonzalez Install traefik via helm chart directly to avoid issues where traefik silently fails installation
### Dependencies
- #6523: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.4 to 9.5.5 in /docs/_build
- #6522: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.60.1 to 1.61.0 in /tests/apps/gogrpc
## 0.33.0
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.33.0/bootstrap.sh
sudo DOKKU_TAG=v0.33.0 bash bootstrap.sh
```
### Bug Fixes
- #6466: @josegonzalez Use correct key for migrating global scheduler configuration on upgrade
- #6450: @josegonzalez Always set -- on docker run commands internally to avoid parsing flags on specified commands
- #6447: @josegonzalez Propagate arm64 build support for development builds
- #6445: @josegonzalez Do not strip whitespace when displaying a file for debugging purposes
- #6442: @josegonzalez Ignore go.work when bumping modules
- #6427: @josegonzalez Add missing gitignore entry for app-json trigger
### New Features
- #6500: @josegonzalez Add support for custom user namespaces when creating persistent storage directories
- #6492: @josegonzalez Add support for multierror when exiting triggers
- #6491: @josegonzalez Add wrappers for exec and ssh commands
- #6489: @josegonzalez Disable flag parsing for dokku enter
- #6469: @josegonzalez Allow generating an ssh deploy key via the git plugin
- #6468: @josegonzalez Implement global support for setting proxy type
- #6467: @josegonzalez Add ability to customize the registry repo with a template
- #6464: @josegonzalez Create helper function for exposing a docker image's working directory
- #6462: @josegonzalez Ensure ps:stop has a proper cli header
- #6460: @josegonzalez Add a post-registry-login trigger
- #6459: @josegonzalez Alias common registry names to docker.io
- #6457: @josegonzalez Add the ability to specify the output format when listing ports
- #6452: @josegonzalez Add alternative implementation for calling plugin triggers
- #6446: @josegonzalez Add support for global-only environment properties
- #6443: @josegonzalez Add support for exposing healthchecks in the AppJson struct
- #6435: @josegonzalez Implement native k3s scheduler support
- #6433: @josegonzalez Add go.work.sum to gitignore
- #6432: @josegonzalez Upgrade golang to 1.21.6
- #6430: @josegonzalez Reformat devcontainer file
- #6428: @josegonzalez Add ms-azuretools.vscode-docker to devcontainer setup
- #6313: @josegonzalez Set the platform flag in order to run amd64 images on arm64 deploy targets
### Refactors
- #6448: @josegonzalez Return an int32 for scale count
- #6444: @josegonzalez Allow setting a custom mode when writing a slice to a file
### Documentation
- #6517: @josegonzalez Remove k3s tutorial from documentation
- #6516: @josegonzalez Note that the external kubernetes plugin is deprecated
- #6515: @josegonzalez Replace the kubernetes plugin with k3s in the documentation
- #6514: @josegonzalez Add notes on k3s replacement of the scheduler-kubernetes plugin
- #6461: @josegonzalez Add documentation for implementing scheduler-related commands
- #6458: @josegonzalez Add docblocks to appjson structs
- #6420: @aochagavia Fix typo in zero downtime documentation
### Tests
- #6465: @josegonzalez Update haproxy tests so they pass
- #6449: @josegonzalez Run ci on ubuntu 22.04
- #6431: @josegonzalez Add golanglint-ci testing support
### Dependencies
- #6513: @dependabot[bot] chore(deps): bump github.com/containerd/containerd from 1.7.6 to 1.7.11 in /plugins/scheduler-k3s
- #6512: @josegonzalez Update github.com/gonsi/gomega golang dependency
- #6511: @josegonzalez Update crypto and sys golang dependencies
- #6494: @dependabot[bot] chore(deps): bump markupsafe from 2.1.3 to 2.1.4 in /docs/_build
- #6482: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.3 to 9.5.4 in /docs/_build
- #6478: @dependabot[bot] chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/zombies-dockerfile-tini
- #6456: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.29.1 to 1.60.1 in /tests/apps/gogrpc
- #6454: @dependabot[bot] chore(deps): bump flask from 3.0.0 to 3.0.1 in /tests/apps/python-flask
- #6455: @dependabot[bot] chore(deps): bump flask from 3.0.0 to 3.0.1 in /tests/apps/multi
- #6453: @josegonzalez Remove ignored dependency from dependabot
- #6451: @josegonzalez Update go modules
- #6439: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.30.0 to 1.31.0 in /plugins/config
- #6438: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.30.0 to 1.31.0 in /plugins/common
- #6437: @dependabot[bot] chore(deps): bump beautifulsoup4 from 4.12.2 to 4.12.3 in /docs/_build
- #6436: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 41.1.1 to 42.0.0
- #6425: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 41.0.1 to 41.1.1
- #6424: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.3 to 9.5.4 in /docs/_build
- #6421: @josegonzalez chore: bump golang.org/x/sync from 0.5.0 to 0.6.0
- #6419: @dependabot[bot] chore(deps): bump jinja2 from 3.1.2 to 3.1.3 in /docs/_build
- #6418: @dependabot[bot] chore(deps): bump jinja2 from 3.1.2 to 3.1.3 in /tests/apps/python-flask
- #6415: @dependabot[bot] chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/go-fail-postdeploy
- #6414: @dependabot[bot] chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/gogrpc
- #6413: @dependabot[bot] chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/go-fail-predeploy
- #6412: @dependabot[bot] chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/zombies-dockerfile-no-tini
- #6411: @dependabot[bot] chore(deps): bump golang from 1.21.5 to 1.21.6 in /tests/apps/zombies-dockerfile-tini
- #6410: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.19.0 to 0.20.0 in /tests/apps/gogrpc
- #6406: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.5.0 to 0.6.0 in /plugins/scheduler-docker-local
### Other
- #6463: @josegonzalez Use exported function from appjson module instead of manually parsing
- #6429: @josegonzalez Use go.work for development purposes
## 0.32.4
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.32.4/bootstrap.sh
sudo DOKKU_TAG=v0.32.4 bash bootstrap.sh
```
### Bug Fixes
- #6407: @josegonzalez Upgrade ruby to fix the release process
- #6394: @josegonzalez Scope the delete of symlinked plugins in debian post-install to the plugin folders
### Refactors
- #6388: @Juneezee Replace deprecated `io/ioutil` functions
### Documentation
- #6385: @josegonzalez Fix docblock entries for properties in plugins
- #6384: @josegonzalez Cleanup some markdown in documentation
- #6365: @josegonzalez Split out archive/image deployment docs into their own file
### Tests
- #6408: @josegonzalez Add options to the release workflow
- #6359: @josegonzalez Update buildpack api for test buildpack
### Dependencies
- #6399: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.5 to 10.7 in /docs/_build
- #6398: @dependabot[bot] chore(deps): bump sinatra from 3.1.0 to 3.2.0 in /tests/apps/ruby
- #6395: @dependabot[bot] chore(deps): bump ruby from 3.2.2 to 3.3.0 in /tests/apps/dockerfile-entrypoint
- #6391: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.2 to 9.5.3 in /docs/_build
- #6392: @dependabot[bot] chore(deps): bump importlib-metadata from 7.0.0 to 7.0.1 in /docs/_build
- #6393: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 40.2.3 to 41.0.1
- #6387: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.18 to 11.0.19 in /tests/apps/java
- #6386: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 40.2.2 to 40.2.3
- #6377: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 40.2.1 to 40.2.2
- #6380: @dependabot[bot] chore(deps): bump github/codeql-action from 2 to 3
- #6379: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.1 to 9.5.2 in /docs/_build
- #6378: @dependabot[bot] chore(deps): bump python from 3.12.0-alpine to 3.12.1-alpine in /docs/_build
- #6376: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.14 to 9.5.1 in /docs/_build
- #6371: @dependabot[bot] chore(deps): bump golang from 1.21.4 to 1.21.5 in /tests/apps/gogrpc
- #6369: @dependabot[bot] chore(deps): bump golang from 1.21.4 to 1.21.5 in /tests/apps/zombies-dockerfile-tini
- #6368: @dependabot[bot] chore(deps): bump golang from 1.21.4 to 1.21.5 in /tests/apps/zombies-dockerfile-no-tini
- #6367: @dependabot[bot] chore(deps): bump importlib-metadata from 6.8.0 to 7.0.0 in /docs/_build
- #6366: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 40.2.0 to 40.2.1
- #6370: @dependabot[bot] chore(deps): bump golang from 1.21.4 to 1.21.5 in /tests/apps/go-fail-predeploy
- #6372: @dependabot[bot] chore(deps): bump golang from 1.21.4 to 1.21.5 in /tests/apps/go-fail-postdeploy
- #6373: @dependabot[bot] chore(deps): bump actions/setup-python from 4 to 5
- #6364: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.18.0 to 0.19.0 in /tests/apps/gogrpc
- #6361: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.4 to 10.5 in /docs/_build
- #6362: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.12 to 9.4.14 in /docs/_build
- #6360: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 40.1.1 to 40.2.0
- #6357: @dependabot[bot] chore(deps): bump mkdocs-material-extensions from 1.3 to 1.3.1 in /docs/_build
- #6355: @dependabot[bot] chore(deps): bump pygments from 2.16.1 to 2.17.2 in /docs/_build
- #6358: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.8 to 9.4.12 in /docs/_build
- #6348: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.3.1 to 10.4 in /docs/_build
## 0.32.3
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.32.3/bootstrap.sh
sudo DOKKU_TAG=v0.32.3 bash bootstrap.sh
```
### Bug Fixes
- #6345: @josegonzalez Use updated pre-build trigger for builder-herokuish
### New Features
- #6346: @josegonzalez Update all go modules and add a command to bump modules
### Documentation
- #6339: @nschlemm Fixed link to vector sink documentation
- #6314: @josegonzalez Remove reference to DOKKU_SCHEDULER environment variable in favor of scheduler:set
- #6317: @edmorley Replace deprecated builder reference in persistent-storage.md
- #6325: @josegonzalez Add documentation on openresty includes
### Dependencies
- #6343: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.17.0 to 0.18.0 in /tests/apps/gogrpc
- #6338: @dependabot[bot] chore(deps): bump golang from 1.21.3 to 1.21.4 in /tests/apps/go-fail-postdeploy
- #6337: @dependabot[bot] chore(deps): bump golang from 1.21.3 to 1.21.4 in /tests/apps/gogrpc
- #6336: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 40.0.2 to 40.1.1
- #6335: @dependabot[bot] chore(deps): bump golang from 1.21.3 to 1.21.4 in /tests/apps/go-fail-predeploy
- #6334: @dependabot[bot] chore(deps): bump golang from 1.21.3 to 1.21.4 in /tests/apps/zombies-dockerfile-tini
- #6333: @dependabot[bot] chore(deps): bump golang from 1.21.3 to 1.21.4 in /tests/apps/zombies-dockerfile-no-tini
- #6328: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.7 to 9.4.8 in /docs/_build
- #6320: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.17 to 11.0.18 in /tests/apps/java
- #6318: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.6 to 9.4.7 in /docs/_build
- #6322: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 40.0.0 to 40.0.2
- #6323: @dependabot[bot] chore(deps): bump django from 4.1.10 to 4.1.13 in /tests/apps/dockerfile-release
### Other
- #6315: @josegonzalez Correct key in dependency file to fix docker-container-healthchecker installs on local arm64 servers
## 0.32.2
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.32.2/bootstrap.sh
sudo DOKKU_TAG=v0.32.2 bash bootstrap.sh
```
### New Features
- #6324: @josegonzalez Update openresty image to 0.6.0
### Documentation
- #6316: @holamendi Fix docs app-exists plugin trigger description
### Dependencies
- #6307: @dependabot[bot] chore(deps): bump luizm/action-sh-checker from 0.7.0 to 0.8.0
- #6308: @dependabot[bot] chore(deps): bump werkzeug from 3.0.0 to 3.0.1 in /tests/apps/python-flask
- #6310: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.28.1 to 1.29.0 in /plugins/config
- #6311: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.2.4 to 40.0.0
## 0.32.1
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.32.1/bootstrap.sh
sudo DOKKU_TAG=v0.32.1 bash bootstrap.sh
```
### Bug Fixes
- #6286: @josegonzalez Remove trailing quote on openresty letsencrypt email
- #6287: @josegonzalez Recursively delete old custom openresty includes
### New Features
- #6303: @josegonzalez feat: add the ability to specify location-block includes
### Documentation
- #6288: @josegonzalez Add missing link to nixpacks builder
### Dependencies
- #6306: @dependabot[bot] chore(deps): bump org.apache.maven.plugins:maven-dependency-plugin from 3.6.0 to 3.6.1 in /tests/apps/java
- #6301: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.28.0 to 1.28.1 in /plugins/config
- #6304: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.2.3 to 39.2.4
- #6305: @dependabot[bot] chore(deps): bump actions/setup-node from 3 to 4
- #6297: @dependabot[bot] chore(deps): bump node from 20-alpine to 21-alpine in /tests/apps/dockerfile-procfile
- #6292: @dependabot[bot] chore(deps): bump node from 20-alpine to 21-alpine in /tests/apps/dockerfile-procfile-bad
- #6293: @dependabot[bot] chore(deps): bump node from 20-alpine to 21-alpine in /tests/apps/dockerfile
- #6294: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.3 to 10.3.1 in /docs/_build
- #6295: @dependabot[bot] chore(deps): bump node from 20-alpine to 21-alpine in /tests/apps/dockerfile-app-json-formations
- #6296: @dependabot[bot] chore(deps): bump node from 20-alpine to 21-alpine in /tests/apps/dockerfile-noexpose
- #6289: @dependabot[bot] chore(deps): bump mkdocs-material-extensions from 1.2 to 1.3 in /docs/_build
- #6290: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.2.2 to 39.2.3
## 0.32.0
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.32.0/bootstrap.sh
sudo DOKKU_TAG=v0.32.0 bash bootstrap.sh
```
See the [0.32.0 migration guide](/docs/appendices/0.32.0-migration-guide.md) for more information on migrating to 0.32.0.
### New Features
- #6277: @josegonzalez Run ps:restore in parallel by default
- #6276: @josegonzalez Warn when incorrect interface/port in use for web processes
- #6132: @josegonzalez Add the ability to specify a custom mailto for all cron output
- #6124: @josegonzalez Add a shell function to check if a plugin trigger exists
- #5348: @josegonzalez Add nixpacks builder support
### Removals
- #6283: @josegonzalez Remove deprecated proxy-ports functions and and plugin subcommands
### Deprecations
- #6127: @josegonzalez Deprecate the builder-specific pre-release-* triggers in favor of a global pre-release-builder trigger
- #6126: @josegonzalez Deprecate the builder-specific post-build-* triggers in favor of a global post-build trigger
- #6125: @josegonzalez Deprecate the builder-specific pre-build-* triggers in favor of a global pre-build trigger
### Documentation
- #6284: @josegonzalez Document future removal of deprecated CHECKS file format
- #6123: @josegonzalez Add a migration guide for 0.32.x
### Dependencies
- #6285: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.5 to 9.4.6 in /docs/_build
- #6281: @josegonzalez Upgrade golang to 1.21
### Other
- #6155: @josegonzalez Remove ARM support
## 0.31.5
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.31.5/bootstrap.sh
sudo DOKKU_TAG=v0.31.5 bash bootstrap.sh
```
### Bug Fixes
- #6275: @josegonzalez Update message referencing CHECKS file usage to app.json
- #6273: @josegonzalez Clean up local build images immediately after an image is released
### New Features
- #6274: @josegonzalez Add more version output to dokku report command
- #6255: @josegonzalez Add ci concurrency to linting workflow
- #6253: @josegonzalez Add ci concurrency to doc building
- #6254: @josegonzalez Add ci concurrency to codeql analysis
- #6222: @josegonzalez Install docker-buildx-plugin to silence buildx warnings
### Refactors
- #6257: @josegonzalez Manage Dokku system dependencies in a single file
### Documentation
- #6271: @josegonzalez Update list of official, community, and deprecated plugins
- #6224: @joeyates Correct typo in example app.json for healthchecks
- #6207: @AlejandroAkbal Update port clearing command in Dockerfile deploy documentation
### Tests
- #6278: @josegonzalez Remove pack installation from builder-lambda tests
### Dependencies
- #6269: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.14.0 to 0.17.0 in /plugins/common
- #6270: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.2.1 to 39.2.2
- #6262: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/zombies-dockerfile-no-tini
- #6263: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.16.0 to 0.17.0 in /tests/apps/gogrpc
- #6264: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/zombies-dockerfile-tini
- #6265: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/go-fail-predeploy
- #6259: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.16 to 11.0.17 in /tests/apps/java
- #6260: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.4 to 9.4.5 in /docs/_build
- #6261: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/gogrpc
- #6266: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/go-fail-postdeploy
- #6258: @dependabot[bot] chore(deps): update markdown requirement from <3.5,>=3.2.1 to >=3.2.1,<3.6 in /docs/_build
- #6256: @josegonzalez chore: bump github.com/otiai10/copy and golang.org/x/sync
- #6241: @dependabot[bot] chore(deps): bump python from 3.11.5-alpine to 3.12.0-alpine in /docs/_build
- #6252: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.2 to 9.4.4 in /docs/_build
- #6235: @dependabot[bot] chore(deps): bump packaging from 23.1 to 23.2 in /docs/_build
- #6232: @dependabot[bot] chore(deps): bump werkzeug from 2.3.7 to 3.0.0 in /tests/apps/python-flask
- #6231: @dependabot[bot] chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/python-flask
- #6248: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/gogrpc
- #6251: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/zombies-dockerfile-tini
- #6250: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.15.0 to 0.16.0 in /tests/apps/gogrpc
- #6249: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/go-fail-predeploy
- #6247: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/zombies-dockerfile-no-tini
- #6246: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/go-fail-postdeploy
- #6245: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.3.0 to 0.4.0 in /plugins/scheduler-docker-local
- #6233: @dependabot[bot] chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/multi
- #6239: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.12.0 to 1.14.0 in /plugins/ps
- #6234: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.12.0 to 1.14.0 in /plugins/builder
- #6240: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.2.0 to 39.2.1
- #6228: @josegonzalez Update all go modules and ensure all are tracked in dependabot
- #6227: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.27.10 to 1.28.0 in /plugins/common
- #6216: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.1.2 to 39.2.0
- #6217: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.1 to 9.4.2 in /docs/_build
- #6215: @dependabot[bot] chore(deps): bump mkdocs-material from 9.3.1 to 9.4.1 in /docs/_build
- #6214: @dependabot[bot] chore(deps): bump mkdocs-material-extensions from 1.1.1 to 1.2 in /docs/_build
- #6209: @dependabot[bot] chore(deps): bump zipp from 3.16.2 to 3.17.0 in /docs/_build
- #6211: @dependabot[bot] chore(deps): bump mkdocs from 1.5.2 to 1.5.3 in /docs/_build
- #6213: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.0.2 to 39.1.2
- #6202: @dependabot[bot] chore(deps): bump docker/setup-buildx-action from 2 to 3
- #6199: @dependabot[bot] chore(deps): bump docker/login-action from 2 to 3
- #6200: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.0.0 to 39.0.2
- #6201: @dependabot[bot] chore(deps): bump docker/setup-qemu-action from 2 to 3
- #6203: @dependabot[bot] chore(deps): bump mkdocs-material from 9.2.8 to 9.3.1 in /docs/_build
## 0.31.4
Install/update via the bootstrap script:

View File

@@ -2,23 +2,14 @@ DOKKU_VERSION ?= master
TARGETARCH ?= amd64
DOCKER_IMAGE_LABELER_VERSION ?= 0.6.1
DOCKER_CONTAINER_HEALTHCHECKER_VERSION ?= 0.6.4
HEROKUISH_VERSION ?= 0.7.1
LAMBDA_BUILDER_VERSION ?= 0.5.0
NETRC_VERSION ?= 0.7.1
PLUGN_VERSION ?= 0.12.0
PROCFILE_VERSION ?= 0.16.0
SIGIL_VERSION ?= 0.10.1
SSHCOMMAND_VERSION ?= 0.17.1
DOCKER_IMAGE_LABELER_URL ?= https://github.com/dokku/docker-image-labeler/releases/download/v${DOCKER_IMAGE_LABELER_VERSION}/docker-image-labeler_${DOCKER_IMAGE_LABELER_VERSION}_linux_${TARGETARCH}.tgz
DOCKER_CONTAINER_HEALTHCHECKER_URL ?= https://github.com/dokku/docker-container-healthchecker/releases/download/v${DOCKER_CONTAINER_HEALTHCHECKER_VERSION}/docker-container-healthchecker_${DOCKER_CONTAINER_HEALTHCHECKER_VERSION}_linux_${TARGETARCH}.tgz
LAMBDA_BUILDER_URL ?= https://github.com/dokku/lambda-builder/releases/download/v${LAMBDA_BUILDER_VERSION}/lambda-builder_${LAMBDA_BUILDER_VERSION}_linux_${TARGETARCH}.tgz
NETRC_URL ?= https://github.com/dokku/netrc/releases/download/v${NETRC_VERSION}/netrc_${NETRC_VERSION}_linux_${TARGETARCH}.tgz
PLUGN_URL ?= https://github.com/dokku/plugn/releases/download/v${PLUGN_VERSION}/plugn_${PLUGN_VERSION}_linux_${TARGETARCH}.tgz
PROCFILE_UTIL_URL ?= https://github.com/josegonzalez/go-procfile-util/releases/download/v${PROCFILE_VERSION}/procfile-util_${PROCFILE_VERSION}_linux_${TARGETARCH}.tgz
SIGIL_URL ?= https://github.com/gliderlabs/sigil/releases/download/v${SIGIL_VERSION}/gliderlabs-sigil_${SIGIL_VERSION}_linux_${TARGETARCH}.tgz
SSHCOMMAND_URL ?= https://github.com/dokku/sshcommand/releases/download/v${SSHCOMMAND_VERSION}/sshcommand_${SSHCOMMAND_VERSION}_linux_x86_64.tgz
DOCKER_IMAGE_LABELER_URL ?= $(shell jq -r --arg name docker-image-labeler --arg arch $(TARGETARCH) '.dependencies[] | select(.name == $$name) | .urls[$$arch]' contrib/dependencies.json)
DOCKER_CONTAINER_HEALTHCHECKER_URL ?= $(shell jq -r --arg name docker-container-healthchecker --arg arch $(TARGETARCH) '.dependencies[] | select(.name == $$name) | .urls[$$arch]' contrib/dependencies.json)
LAMBDA_BUILDER_URL ?= $(shell jq -r --arg name lambda-builder --arg arch $(TARGETARCH) '.dependencies[] | select(.name == $$name) | .urls[$$arch]' contrib/dependencies.json)
NETRC_URL ?= $(shell jq -r --arg name netrc --arg arch $(TARGETARCH) '.dependencies[] | select(.name == $$name) | .urls[$$arch]' contrib/dependencies.json)
PLUGN_URL ?= $(shell jq -r --arg name plugn --arg arch $(TARGETARCH) '.predependencies[] | select(.name == $$name) | .urls[$$arch]' contrib/dependencies.json)
PROCFILE_UTIL_URL ?= $(shell jq -r --arg name procfile-util --arg arch $(TARGETARCH) '.dependencies[] | select(.name == $$name) | .urls[$$arch]' contrib/dependencies.json)
SIGIL_URL ?= $(shell jq -r --arg name gliderlabs-sigil --arg arch $(TARGETARCH) '.predependencies[] | select(.name == $$name) | .urls[$$arch]' contrib/dependencies.json)
SSHCOMMAND_URL ?= $(shell jq -r --arg name sshcommand --arg arch $(TARGETARCH) '.dependencies[] | select(.name == $$name) | .urls[$$arch]' contrib/dependencies.json)
STACK_URL ?= https://github.com/gliderlabs/herokuish.git
PREBUILT_STACK_URL ?= gliderlabs/herokuish:latest-22
DOKKU_LIB_ROOT ?= /var/lib/dokku
@@ -84,9 +75,12 @@ go-clean:
fi ;\
done
copyfiles:
$(MAKE) go-build || exit 1
copydokku:
cp dokku /usr/local/bin/dokku
chmod 0755 /usr/local/bin/dokku
copyfiles: copydokku
$(MAKE) go-build || exit 1
mkdir -p ${CORE_PLUGINS_PATH} ${PLUGINS_PATH}
rm -rf ${CORE_PLUGINS_PATH}/*
test -d ${CORE_PLUGINS_PATH}/enabled || PLUGIN_PATH=${CORE_PLUGINS_PATH} plugn init

View File

@@ -86,8 +86,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.31.4/bootstrap.sh
sudo DOKKU_TAG=v0.31.4 bash bootstrap.sh
wget -NP . https://dokku.com/install/v0.34.2/bootstrap.sh
sudo DOKKU_TAG=v0.34.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.

2
Vagrantfile vendored
View File

@@ -53,7 +53,7 @@ Vagrant::configure("2") do |config|
vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
end
vm.vm.provision :shell, :inline => "export DEBIAN_FRONTEND=noninteractive && apt-get update -qq >/dev/null && apt-get -qq -y --no-install-recommends install git build-essential >/dev/null && cd /root/dokku && #{make_cmd}"
vm.vm.provision :shell, :inline => "export DEBIAN_FRONTEND=noninteractive && apt-get update -qq >/dev/null && apt-get -qq -y --no-install-recommends install git build-essential jq >/dev/null && cd /root/dokku && #{make_cmd}"
vm.vm.provision :shell do |s|
s.inline = <<-EOT
echo '"\e[5~": history-search-backward' > /root/.inputrc

View File

@@ -168,10 +168,6 @@ install-dokku-from-deb-package() {
NO_INSTALL_RECOMMENDS=" --no-install-recommends "
fi
echo "--> Initial apt-get update"
apt-get update -qq >/dev/null
apt-get -qq -y --no-install-recommends install apt-transport-https
if ! command -v docker &>/dev/null; then
echo "--> Installing docker"
if uname -r | grep -q linode; then
@@ -185,16 +181,16 @@ install-dokku-from-deb-package() {
wget -nv -O - https://get.docker.com/ | sh
fi
OS_ID="$(lsb_release -cs 2>/dev/null || echo "bionic")"
OS_ID="$(lsb_release -cs 2>/dev/null || echo "jammy")"
if ! in-array "$DOKKU_DISTRO" "debian" "ubuntu" "raspbian"; then
DOKKU_DISTRO="ubuntu"
OS_ID="bionic"
OS_ID="jammy"
fi
if [[ "$DOKKU_DISTRO" == "ubuntu" ]]; then
OS_IDS=("bionic" "focal" "jammy")
OS_IDS=("focal" "jammy")
if ! in-array "$OS_ID" "${OS_IDS[@]}"; then
OS_ID="bionic"
OS_ID="jammy"
fi
elif [[ "$DOKKU_DISTRO" == "debian" ]]; then
OS_IDS=("stretch" "buster" "bullseye" "bookworm")

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.19.6
BUILD_IMAGE := golang:1.21.6
GO_BUILD_CACHE ?= /tmp/dokku-go-build-cache
GO_MOD_CACHE ?= /tmp/dokku-go-mod-mod
GO_ROOT_MOUNT ?= $$PWD/../..:$(GO_REPO_ROOT)
@@ -21,17 +21,17 @@ build-in-docker: clean
-e GO111MODULE=on \
-w $(GO_REPO_ROOT)/plugins/$(PLUGIN_NAME) \
$(BUILD_IMAGE) \
bash -c "GO_ARGS='$(GO_ARGS)' CGO_ENABLED=0 GOOS=linux GOARCH=$(GOARCH) make -j4 $(GO_PLUGIN_MAKE_TARGET)" || exit $$?
bash -c "GO_ARGS='$(GO_ARGS)' CGO_ENABLED=0 GOOS=linux GOARCH=$(GOARCH) GOWORK=off make -j4 $(GO_PLUGIN_MAKE_TARGET)" || exit $$?
clean:
rm -rf $(BUILD)
find . -xtype l -delete
commands: **/**/commands.go
go build -ldflags="-s -w" $(GO_ARGS) -o commands src/commands/commands.go
GOARCH=$(GOARCH) go build -mod=readonly -ldflags="-s -w" $(GO_ARGS) -o commands src/commands/commands.go
subcommands:
go build -ldflags="-s -w" $(GO_ARGS) -o subcommands/subcommands src/subcommands/subcommands.go
GOARCH=$(GOARCH) go build -mod=readonly -ldflags="-s -w" $(GO_ARGS) -o subcommands/subcommands src/subcommands/subcommands.go
$(MAKE) $(SUBCOMMANDS)
subcommands/%:
@@ -41,7 +41,7 @@ src-clean:
rm -rf .gitignore src vendor Makefile *.go glide.* go.sum go.mod
triggers:
go build -ldflags="-s -w" $(GO_ARGS) -o triggers src/triggers/triggers.go
GOARCH=$(GOARCH) go build -mod=readonly -ldflags="-s -w" $(GO_ARGS) -o triggers src/triggers/triggers.go
$(MAKE) $(TRIGGERS)
triggers/%:

View File

@@ -2,7 +2,7 @@ FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -qq && apt-get -qq -y --no-install-recommends install ca-certificates curl gcc git build-essential wget ruby-dev lintian rpm help2man man-db sudo
RUN apt-get update -qq && apt-get -qq -y --no-install-recommends install ca-certificates curl gcc git jq build-essential wget ruby-dev lintian python3 rpm help2man man-db sudo
RUN curl -sL -o /usr/local/share/ca-certificates/GlobalSignRootCA_R3.crt https://raw.githubusercontent.com/rubygems/rubygems/master/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem
RUN update-ca-certificates
RUN command -v fpm || gem install fpm

View File

@@ -1,25 +1,27 @@
FROM dokku/build-base:0.0.1 AS builder
FROM dokku/build-base:0.1.2 AS builder
ENV DEBIAN_FRONTEND=noninteractive
ARG GOLANG_VERSION
RUN wget -qO /tmp/go${GOLANG_VERSION}.linux.tar.gz "https://storage.googleapis.com/golang/go${GOLANG_VERSION}.linux-$(dpkg --print-architecture).tar.gz" \
&& tar -C /usr/local -xzf /tmp/go${GOLANG_VERSION}.linux.tar.gz \
&& cp /usr/local/go/bin/* /usr/local/bin
ARG WORKDIR=/go/src/github.com/dokku/dokku
WORKDIR ${WORKDIR}
RUN wget -qO /tmp/go${GOLANG_VERSION}.linux.tar.gz "https://storage.googleapis.com/golang/go${GOLANG_VERSION}.linux-$(dpkg --print-architecture).tar.gz" \
&& tar -C /usr/local -xzf /tmp/go${GOLANG_VERSION}.linux.tar.gz \
&& cp /usr/local/go/bin/* /usr/local/bin \
&& mkdir -p ${WORKDIR}/contrib
COPY Makefile ${WORKDIR}/
COPY *.mk ${WORKDIR}/
COPY contrib/dependencies.json ${WORKDIR}/contrib/dependencies.json
RUN make deb-setup sshcommand plugn
COPY . ${WORKDIR}
ENV GOPATH=/go
ENV GOROOT=/usr/local/go
FROM builder as amd64
@@ -36,29 +38,9 @@ RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \
make version copyfiles \
&& make deb-dokku
FROM builder as armhf
COPY --from=amd64 /tmp /tmp
COPY --from=amd64 /usr/local/share/man/man1/dokku.1 /usr/local/share/man/man1/dokku.1-generated
RUN rm -rf /tmp/build-dokku
ARG PLUGIN_MAKE_TARGET
ARG DOKKU_VERSION=master
ARG DOKKU_GIT_REV
ARG IS_RELEASE=false
RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \
DOKKU_VERSION=${DOKKU_VERSION} \
DOKKU_GIT_REV=${DOKKU_GIT_REV} \
IS_RELEASE=${IS_RELEASE} \
SKIP_GO_CLEAN=true \
GOARCH=arm make version copyfiles \
&& DOKKU_ARCHITECTURE=armhf GOARCH=arm make deb-dokku
FROM builder as arm64
COPY --from=armhf /tmp /tmp
COPY --from=amd64 /tmp /tmp
COPY --from=amd64 /usr/local/share/man/man1/dokku.1 /usr/local/share/man/man1/dokku.1-generated
RUN rm -rf /tmp/build-dokku

107
contrib/dependencies.json Normal file
View File

@@ -0,0 +1,107 @@
{
"dependencies": [
{
"name": "docker-image-labeler",
"version": "0.6.1",
"urls": {
"amd64": "https://github.com/dokku/docker-image-labeler/releases/download/v0.6.1/docker-image-labeler_0.6.1_linux_amd64.tgz",
"arm64": "https://github.com/dokku/docker-image-labeler/releases/download/v0.6.1/docker-image-labeler_0.6.1_linux_arm64.tgz",
"arm": "https://github.com/dokku/docker-image-labeler/releases/download/v0.6.1/docker-image-labeler_0.6.1_linux_armhf.tgz"
}
},
{
"name": "docker-container-healthchecker",
"version": "0.9.0",
"urls": {
"amd64": "https://github.com/dokku/docker-container-healthchecker/releases/download/v0.9.0/docker-container-healthchecker_0.9.0_linux_amd64.tgz",
"arm64": "https://github.com/dokku/docker-container-healthchecker/releases/download/v0.9.0/docker-container-healthchecker_0.9.0_linux_arm64.tgz",
"arm": "https://github.com/dokku/docker-container-healthchecker/releases/download/v0.9.0/docker-container-healthchecker_0.9.0_linux_armhf.tgz"
}
},
{
"name": "lambda-builder",
"version": "0.6.0",
"urls": {
"amd64": "https://github.com/dokku/lambda-builder/releases/download/v0.6.0/lambda-builder_0.6.0_linux_amd64.tgz",
"arm64": "https://github.com/dokku/lambda-builder/releases/download/v0.6.0/lambda-builder_0.6.0_linux_arm64.tgz",
"arm": "https://github.com/dokku/lambda-builder/releases/download/v0.6.0/lambda-builder_0.6.0_linux_armhf.tgz"
}
},
{
"name": "netrc",
"version": "0.8.0",
"urls": {
"amd64": "https://github.com/dokku/netrc/releases/download/v0.8.0/netrc_0.8.0_linux_amd64.tgz",
"arm64": "https://github.com/dokku/netrc/releases/download/v0.8.0/netrc_0.8.0_linux_arm64.tgz",
"arm": "https://github.com/dokku/netrc/releases/download/v0.8.0/netrc_0.8.0_linux_armhf.tgz"
}
},
{
"name": "procfile-util",
"version": "0.17.1",
"urls": {
"amd64": "https://github.com/dokku/procfile-util/releases/download/v0.17.1/procfile-util_0.17.1_linux_amd64.tgz",
"arm64": "https://github.com/dokku/procfile-util/releases/download/v0.17.1/procfile-util_0.17.1_linux_arm64.tgz",
"arm": "https://github.com/dokku/procfile-util/releases/download/v0.17.1/procfile-util_0.17.1_linux_armhf.tgz"
}
},
{
"name": "sshcommand",
"version": "0.17.1",
"urls": {
"amd64": "https://github.com/dokku/sshcommand/releases/download/v0.17.1/sshcommand_0.17.1_linux_x86_64.tgz",
"arm64": "https://github.com/dokku/sshcommand/releases/download/v0.17.1/sshcommand_0.17.1_linux_x86_64.tgz",
"arm": "https://github.com/dokku/sshcommand/releases/download/v0.17.1/sshcommand_0.17.1_linux_x86_64.tgz"
}
}
],
"predependencies": [
{
"name": "gliderlabs-sigil",
"version": "0.10.1",
"urls": {
"amd64": "https://github.com/gliderlabs/sigil/releases/download/v0.10.1/gliderlabs-sigil_0.10.1_linux_amd64.tgz",
"arm64": "https://github.com/gliderlabs/sigil/releases/download/v0.10.1/gliderlabs-sigil_0.10.1_linux_arm64.tgz",
"arm": "https://github.com/gliderlabs/sigil/releases/download/v0.10.1/gliderlabs-sigil_0.10.1_linux_armhf.tgz"
}
},
{
"name": "plugn",
"version": "0.13.0",
"urls": {
"amd64": "https://github.com/dokku/plugn/releases/download/v0.13.0/plugn_0.13.0_linux_amd64.tgz",
"arm64": "https://github.com/dokku/plugn/releases/download/v0.13.0/plugn_0.13.0_linux_arm64.tgz",
"arm": "https://github.com/dokku/plugn/releases/download/v0.13.0/plugn_0.13.0_linux_armhf.tgz"
}
}
],
"recommendations": [
{
"name": "dokku-event-listener",
"version": "0.15.0",
"urls": {
"amd64": "https://github.com/dokku/dokku-event-listener/releases/download/v0.15.0/dokku-event-listener_0.15.0_linux_amd64.tgz",
"arm64": "https://github.com/dokku/dokku-event-listener/releases/download/v0.15.0/dokku-event-listener_0.15.0_linux_arm64.tgz",
"arm": "https://github.com/dokku/dokku-event-listener/releases/download/v0.15.0/dokku-event-listener_0.15.0_linux_armhf.tgz"
}
},
{
"name": "dokku-update",
"version": "0.7.2",
"urls": {
"amd64": "https://github.com/dokku/dokku-update/releases/download/v0.7.2/dokku-update_0.7.2_linux_x86_64.tgz",
"arm64": "https://github.com/dokku/dokku-update/releases/download/v0.7.2/dokku-update_0.7.2_linux_x86_64.tgz",
"arm": "https://github.com/dokku/dokku-update/releases/download/v0.7.2/dokku-update_0.7.2_linux_x86_64.tgz"
}
},
{
"name": "herokuish",
"version": "0.8.0",
"urls": {
"amd64": "https://github.com/gliderlabs/herokuish/releases/download/v0.8.0/herokuish_0.8.0_linux_x86_64.tgz",
"arm64": "https://github.com/gliderlabs/herokuish/releases/download/v0.8.0/herokuish_0.8.0_linux_x86_64.tgz",
"arm": "https://github.com/gliderlabs/herokuish/releases/download/v0.8.0/herokuish_0.8.0_linux_x86_64.tgz"
}
}
]
}

View File

@@ -188,9 +188,14 @@ main() {
[[ " storage:ensure-directory " == *" $CMD "* ]] && unset APP
[[ "$CMD" =~ events*|plugin*|ssh-keys* ]] && unset APP
[[ -n "$APP_ARG" ]] && [[ "$APP_ARG" == "--global" ]] && unset APP
[[ -n "$@" ]] && [[ -n "$APP" ]] && app_arg="--app $APP"
if [[ -n "$@" ]] && [[ -n "$APP" ]]; then
set -- "$APP" "$@"
set -- "--app" "$@"
fi
# echo "ssh -o LogLevel=QUIET -p $DOKKU_PORT -t dokku@$DOKKU_REMOTE_HOST -- $app_arg $@"
ssh -o LogLevel=QUIET -p $DOKKU_PORT -t dokku@$DOKKU_REMOTE_HOST -- $app_arg $@ || {
local ssh_args=("-o" "LogLevel=QUIET" "-p" "$DOKKU_PORT" "-t" "dokku@$DOKKU_REMOTE_HOST" "--")
ssh_args+=("$@")
ssh "${ssh_args[@]}" || {
ssh_exit_code="$?"
echo " ! Failed to execute dokku command over ssh: exit code $?" 1>&2
echo " ! If there was no output from Dokku, ensure your configured SSH Key can connect to the remote server" 1>&2

View File

@@ -4,12 +4,10 @@ set -o errexit
export DEBIAN_FRONTEND=noninteractive
pkgs=(apt-transport-https
ca-certificates
pkgs=(ca-certificates
curl
jq
linux-image-extra-virtual
software-properties-common
)
echo '--> Updating apt repositories'
@@ -30,7 +28,7 @@ EOM
echo '--> Installing docker-ce'
apt-get -y update
apt-get -y install docker-ce docker-compose-plugin
apt-get -y install docker-ce docker-buildx-plugin docker-compose-plugin
echo '--> Enabling docker-ce'
systemctl enable docker

View File

@@ -15,7 +15,6 @@ pkgs=(apache2-utils
netcat
net-tools
software-properties-common
parallel
python3-software-properties
rsync
@@ -25,7 +24,7 @@ pkgs=(apache2-utils
unzip
nginx
dnsutils
bind9-dnsutils
cgroupfs-mount
cgroup-lite
sudo
@@ -50,7 +49,7 @@ echo '--> Setting up dokku apt repository'
curl -fsSL https://packagecloud.io/dokku/dokku/gpgkey -o /etc/apt/keyrings/dokku.asc
cat >/etc/apt/sources.list.d/dokku.list <<EOM
deb [arch=amd64 signed-by=/etc/apt/keyrings/dokku.asc] https://packagecloud.io/dokku/dokku/ubuntu/ bionic main
deb [arch=amd64 signed-by=/etc/apt/keyrings/dokku.asc] https://packagecloud.io/dokku/dokku/ubuntu/ jammy main
EOM
echo '--> Install dependencies for dokku from new repository'

View File

@@ -144,7 +144,7 @@ fn-publish-package() {
fi
done
elif [[ "$DIST" == "ubuntu" ]]; then
OS_IDS=("bionic" "focal" "jammy")
OS_IDS=("focal" "jammy")
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"
@@ -387,15 +387,17 @@ fn-build-docker-image() {
if [[ "$IS_RELEASE" == "true" ]]; then
docker buildx build \
--platform linux/arm,linux/arm64,linux/amd64 \
--platform linux/arm64,linux/amd64 \
--progress plain \
--push \
--label "org.opencontainers.image.version=$VERSION" \
--tag "dokku/dokku:latest" \
--tag "dokku/dokku:$VERSION" .
elif [[ "$SKIP_IMAGE_BUILD" != "true" ]]; then
docker buildx build \
--platform linux/arm,linux/arm64,linux/amd64 \
--platform linux/arm64,linux/amd64 \
--progress plain \
--label "org.opencontainers.image.version=$VERSION" \
--tag "dokku/dokku:latest" \
--tag "dokku/dokku:$(echo "$VERSION" | tr + -)" .
fi
@@ -443,16 +445,13 @@ main() {
fn-repo-update "$IS_RELEASE" "$CURRENT_VERSION" "$NEXT_VERSION" "$IS_PATCH"
fn-build-dokku "$IS_RELEASE" "$NEXT_VERSION" || log-fail "Error building package"
fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_armhf.deb" || log-fail "Error extracting deb package"
fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_arm64.deb" || log-fail "Error extracting deb package"
fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_amd64.deb" || log-fail "Error extracting deb package"
mkdir -p build/package
cp -f "build/dokku_${NEXT_VERSION}_amd64.deb" build/package/dokku-amd64.deb
cp -f "build/dokku_${NEXT_VERSION}_arm64.deb" build/package/dokku-arm64.deb
cp -f "build/dokku_${NEXT_VERSION}_armhf.deb" build/package/dokku-armhf.deb
if [[ "$RELEASE" != "build" ]]; then
fn-publish-package "$IS_RELEASE" "raspbian" "build/dokku_${NEXT_VERSION}_armhf.deb" || log-fail "Error publishing deb package"
fn-publish-package "$IS_RELEASE" "deb" "build/dokku_${NEXT_VERSION}_arm64.deb" || log-fail "Error publishing deb package"
fn-publish-package "$IS_RELEASE" "deb" "build/dokku_${NEXT_VERSION}_amd64.deb" || log-fail "Error publishing deb package"
fn-build-docker-image "$NEXT_VERSION" "$IS_RELEASE" || log-fail "Error building docker image"

32
contrib/update-deb-dependencies Executable file
View File

@@ -0,0 +1,32 @@
#!/usr/bin/env python3
import json
def main():
"""
updates the control file with the tested debian dependencies
"""
deps = {}
with open("contrib/dependencies.json", encoding="utf-8") as handle:
deps = json.load(handle)
control_lines = []
with open("debian/control", encoding="utf-8") as handle:
control_lines = [line for line in handle.readlines()]
for key in ["dependencies", "predependencies", "recommendations"]:
for dependency in deps[key]:
name = dependency["name"]
version = dependency["version"]
for i, line in enumerate(control_lines):
if name in line:
control_lines[i] = control_lines[i].replace(
name, f"{name} (>= {version})"
)
with open("debian/control", mode="w", encoding="utf-8") as handle:
handle.writelines(control_lines)
if __name__ == "__main__":
main()

View File

@@ -3,10 +3,8 @@ import os
import pathlib
import shutil
import sys
from collections.abc import Callable
import yaml
from bs4 import BeautifulSoup
@@ -129,308 +127,6 @@ def generate_nav(src: str, dest: str) -> None:
yaml.dump(data, handler)
def modify_content_noop(lines: list[str], _) -> tuple[list[str], bool]:
"""
Simply returns the lines as is
"""
modified = False
updated_lines = []
for line in lines:
updated_lines.append(line)
return updated_lines, modified
def modify_content_links(lines: list[str], filename: str) -> tuple[list[str], bool]:
"""
Modifies links to be relative instead of absolute
"""
filename = filename.replace("/usr/src/source/docs/", "")
parts = filename.split("/")
parts.pop()
replacement = "](" + "/".join([".." for _ in parts]) + "/"
modified = False
updated_lines = []
for line in lines:
if "](/docs/" in line:
line = line.replace("](/docs/", replacement)
modified = True
updated_lines.append(line)
return updated_lines, modified
def modify_content_stripspace(lines: list[str], _) -> tuple[list[str], bool]:
"""
Removes trailing whitespace from each line
"""
modified = False
updated_lines = []
for line in lines:
line = line.rstrip()
updated_lines.append(line)
return updated_lines, modified
def modify_content_inject_newlines(lines: list[str], _) -> tuple[list[str], bool]:
"""
Ensures every line has a trailing newline character
"""
modified = False
updated_lines = []
for line in lines:
updated_lines.append(line.rstrip() + "\n")
return updated_lines, modified
def is_github_new(line: str, next_line: str | None) -> bool:
"""
Checks if a given line is a github "new as of" admonition
"""
if not next_line:
return False
return line.startswith("> [!IMPORTANT]") and "new as of" in next_line.lower()
def is_github_note(line: str) -> bool:
"""
Checks if a given line is a github "note" admonition
"""
return line.startswith("> [!NOTE]")
def is_github_warning(line: str) -> bool:
"""
Checks if a given line is a github "warning" admonition
"""
return line.startswith("> [!WARNING]")
def is_info(line: str) -> bool:
"""
Checks if a given line is an "info" admonition
"""
return line.startswith("> ")
def is_new(line: str) -> bool:
"""
Checks if a given line is a "new as of" admonition
"""
return line.startswith("> ") and "new as of" in line.lower()
def is_note(line: str) -> bool:
"""
Checks if a given line is a "note" admonition
"""
return line.startswith("> Note:")
def is_warning(line: str) -> bool:
"""
Checks if a given line is a "warning" admonition
"""
return line.startswith("> Warning:")
def modify_content_admonition(lines: list[str], _) -> tuple[list[str], bool]:
"""
Applies adminition info to each line in the output
"""
modified = False
updated_lines = []
admonition_lines = []
is_admonition = False
replace_new_in_next_line = False
for index, line in enumerate(lines):
next_line: str | None = None
if index + 1 < len(lines):
next_line = lines[index + 1]
if replace_new_in_next_line:
line = line.replace("New as of", "Introduced in")
line = line.replace("new as of", "introduced in")
replace_new_in_next_line = False
if is_github_new(line, next_line):
line = line.replace("> [!IMPORTANT]", '!!! tip "New"')
is_admonition = True
admonition_lines.append(line)
admonition_lines.append("")
replace_new_in_next_line = True
elif is_github_note(line):
line = line.replace("> [!NOTE]", '!!! note "Note"')
is_admonition = True
admonition_lines.append(line)
admonition_lines.append("")
elif is_github_warning(line):
line = line.replace("> [!WARNING]", '!!! warning "Warning"')
is_admonition = True
admonition_lines.append(line)
admonition_lines.append("")
elif is_new(line):
print("is_new")
line = line.replace("> ", '!!! tip "New"\n\n ')
line = line.replace("New as of", "Introduced in")
line = line.replace("new as of", "introduced in")
is_admonition = True
admonition_lines.append(line)
elif is_note(line):
print("is_note")
line = line.replace("> Note: ", '!!! note "Note"\n\n ')
is_admonition = True
admonition_lines.append(line)
elif is_warning(line):
print("is_warning")
line = line.replace("> Warning: ", '!!! warning "Warning"\n\n ')
is_admonition = True
admonition_lines.append(line)
elif is_info(line):
if not is_admonition:
line = line.replace("> ", '!!! info "Info"\n\n ')
elif line in [">", "> "]:
line = ""
else:
line = " " + line.removeprefix("> ")
is_admonition = True
admonition_lines.append(line)
elif is_admonition and line in [">", "> "]:
line = ""
admonition_lines.append(line)
elif is_admonition and line.startswith("> "):
line = " " + line.removeprefix("> ")
admonition_lines.append(line)
elif line == "":
is_admonition = False
if len(admonition_lines) > 0:
modified = True
updated_lines.extend(admonition_lines)
admonition_lines = []
updated_lines.append("")
else:
updated_lines.append(line)
return updated_lines, modified
def is_shell_codeblock_start(line: str) -> bool:
"""
Checks to see if a line starts a codeblock
"""
return line == "```shell"
def modify_content_terminal_example(lines: list[str], _) -> tuple[list[str], bool]:
"""
Modifies content so that terminal output is shown appropriately
"""
modified = False
updated_lines = []
command_block = []
example_block = []
in_command_block = False
in_example_block = False
previous_block = ""
next_line_must_be = None
for line in lines:
if is_shell_codeblock_start(line):
command_block.append(line)
modified = True
in_command_block = True
continue
elif in_command_block:
command_block.append(line)
if line == "```":
in_command_block = False
previous_block = "command_block"
next_line_must_be = ""
continue
elif line == "```":
if previous_block == "":
updated_lines.append(line)
continue
if previous_block == "command_block":
example_block.append(line)
if in_example_block:
previous_block = ""
in_example_block = False
updated_lines.append('=== "Shell"')
updated_lines.append("")
for command_line in command_block:
updated_lines.append(f" {command_line}")
command_block = []
updated_lines.append("")
updated_lines.append('=== "Output"')
updated_lines.append("")
for example_line in example_block:
updated_lines.append(f" {example_line}")
example_block = []
else:
in_example_block = True
continue
elif previous_block == "command_block":
if next_line_must_be is None:
if in_example_block:
example_block.append(line)
else:
updated_lines.extend(command_block)
updated_lines.append("")
updated_lines.append(line)
command_block = []
previous_block = ""
continue
if next_line_must_be == "":
if line == "":
next_line_must_be = None
continue
updated_lines.append(line)
if len(command_block) > 0:
updated_lines.extend(command_block)
return updated_lines, modified
def update_markdown(src):
"""
Updates all markdown files to be mkdocs compatible
"""
markdown_files = []
allowed_extensions = [".md"]
for subdir, _, files in os.walk(src):
for file in files:
ext = os.path.splitext(file)[-1].lower()
file_path = os.path.join(subdir, file)
if ext in allowed_extensions:
markdown_files.append(file_path)
modifiers: list[Callable[[list[str], str], tuple[list[str], bool]]] = [
modify_content_noop,
modify_content_links,
modify_content_stripspace,
modify_content_admonition,
modify_content_terminal_example,
modify_content_inject_newlines,
]
for file in markdown_files:
is_modified = False
lines = []
with open(file, "r", encoding="utf-8") as handler:
lines = handler.readlines()
for modifier in modifiers:
lines, modified = modifier(lines, file)
if modified:
is_modified = True
if is_modified:
with open(file, "w", encoding="utf-8") as handler:
handler.writelines(lines)
def main():
"""
Main command that performs doc manipulation
@@ -439,11 +135,6 @@ def main():
print(" Generating navigation")
generate_nav("/usr/src/source/mkdocs.yml", "/usr/src/app/mkdocs.yml")
print("----> Copying docs folder")
update_markdown(
"/usr/src/source/docs",
)
if os.path.exists("/usr/src/app/docs"):
print(" Removing old docs folder")
shutil.rmtree("/usr/src/app/docs")

5
deb.mk
View File

@@ -11,10 +11,6 @@ endif
.PHONY: install-from-deb deb-all deb-dokku deb-setup
install-from-deb:
@echo "--> Initial apt-get update"
sudo apt-get update -qq >/dev/null
sudo apt-get -qq -y --no-install-recommends install apt-transport-https
@echo "--> Installing docker"
wget -nv -O - https://get.docker.com/ | sh
@@ -43,6 +39,7 @@ ifneq (,$(findstring false,$(IS_RELEASE)))
sed -i.bak -e "s/^/`date +%s`:/" /tmp/build-dokku/var/lib/dokku/STABLE_VERSION && rm /tmp/build-dokku/var/lib/dokku/STABLE_VERSION.bak
endif
contrib/update-deb-dependencies
cp -r debian /tmp/build-dokku/DEBIAN
sed -i.bak "s/^Architecture: .*/Architecture: $(DOKKU_ARCHITECTURE)/g" /tmp/build-dokku/DEBIAN/control && rm /tmp/build-dokku/DEBIAN/control.bak
rm -f /tmp/build-dokku/DEBIAN/lintian-overrides

8
debian/control vendored
View File

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

3
debian/postinst vendored
View File

@@ -84,7 +84,8 @@ setup-plugins() {
PLUGIN_PATH="${DOKKU_LIB_ROOT}/plugins" plugn enable "$plugin"
fi
done
find -L "${DOKKU_LIB_ROOT}" -type l -delete
find -L "${DOKKU_LIB_ROOT}/core-plugins" -type l -delete
find -L "${DOKKU_LIB_ROOT}/plugins" -type l -delete
chown dokku:dokku -R "${DOKKU_LIB_ROOT}/plugins" "${DOKKU_LIB_ROOT}/core-plugins"
echo "Install all core plugins"

View File

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

View File

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

View File

@@ -1,4 +1,4 @@
FROM python:3.11.5-alpine
FROM python:3.12.2-alpine
WORKDIR /usr/src/app

407
docs/_build/hooks.py vendored Normal file
View File

@@ -0,0 +1,407 @@
#!/usr/bin/env python
import posixpath
import re
from collections.abc import Callable
from re import Match
from mkdocs.config.defaults import MkDocsConfig
from mkdocs.structure.files import File, Files
from mkdocs.structure.pages import Page
def on_page_markdown(markdown: str, *, page: Page, config: MkDocsConfig, files: Files) -> str | None:
resp = re_on_page_markdown(markdown, page=page, config=config, files=files)
if not resp:
return resp
modifiers: list[Callable[[list[str], str], tuple[list[str], bool]]] = [
modify_content_noop,
modify_content_links,
modify_content_stripspace,
modify_content_admonition,
modify_content_terminal_example,
]
is_modified = False
lines = resp.split("\n")
for modifier in modifiers:
lines, modified = modifier(lines, page.file.src_path)
if modified:
is_modified = True
if is_modified:
resp = "\n".join(lines)
return resp
def modify_content_noop(lines: list[str], _) -> tuple[list[str], bool]:
"""
Simply returns the lines as is
"""
modified = False
updated_lines = []
for line in lines:
updated_lines.append(line)
return updated_lines, modified
def modify_content_links(lines: list[str], filename: str) -> tuple[list[str], bool]:
"""
Modifies links to be relative instead of absolute
"""
filename = filename.replace("/usr/src/source/docs/", "")
parts = filename.split("/")
parts.pop()
replacement = "](" + "/".join([".." for _ in parts]) + "/"
modified = False
updated_lines = []
for line in lines:
if "](/docs/" in line:
line = line.replace("](/docs/", replacement)
modified = True
updated_lines.append(line)
return updated_lines, modified
def modify_content_stripspace(lines: list[str], _) -> tuple[list[str], bool]:
"""
Removes trailing whitespace from each line
"""
modified = False
updated_lines = []
for line in lines:
line = line.rstrip()
updated_lines.append(line)
return updated_lines, modified
def is_github_new(line: str, next_line: str | None) -> bool:
"""
Checks if a given line is a github "new as of" admonition
"""
if not next_line:
return False
return line.startswith("> [!IMPORTANT]") and "new as of" in next_line.lower()
def is_github_note(line: str) -> bool:
"""
Checks if a given line is a github "note" admonition
"""
return line.startswith("> [!NOTE]")
def is_github_warning(line: str) -> bool:
"""
Checks if a given line is a github "warning" admonition
"""
return line.startswith("> [!WARNING]")
def is_info(line: str) -> bool:
"""
Checks if a given line is an "info" admonition
"""
return line.startswith("> ")
def is_new(line: str) -> bool:
"""
Checks if a given line is a "new as of" admonition
"""
return line.startswith("> ") and "new as of" in line.lower()
def is_note(line: str) -> bool:
"""
Checks if a given line is a "note" admonition
"""
return line.startswith("> Note:")
def is_warning(line: str) -> bool:
"""
Checks if a given line is a "warning" admonition
"""
return line.startswith("> Warning:")
def modify_content_admonition(lines: list[str], filename: str) -> tuple[list[str], bool]:
"""
Applies adminition info to each line in the output
"""
modified = False
updated_lines = []
admonition_lines = []
is_admonition = False
replace_new_in_next_line = False
for index, line in enumerate(lines):
next_line: str | None = None
if index + 1 < len(lines):
next_line = lines[index + 1]
if replace_new_in_next_line:
line = line.replace("New as of", "Introduced in")
line = line.replace("new as of", "introduced in")
replace_new_in_next_line = False
if is_github_new(line, next_line):
line = line.replace("> [!IMPORTANT]", '!!! tip "New"')
is_admonition = True
admonition_lines.append(line)
admonition_lines.append("")
replace_new_in_next_line = True
elif is_github_note(line):
line = line.replace("> [!NOTE]", '!!! note "Note"')
is_admonition = True
admonition_lines.append(line)
admonition_lines.append("")
elif is_github_warning(line):
line = line.replace("> [!WARNING]", '!!! warning "Warning"')
is_admonition = True
admonition_lines.append(line)
admonition_lines.append("")
elif is_new(line):
print("is_new")
line = line.replace("> ", '!!! tip "New"\n\n ')
line = line.replace("New as of", "Introduced in")
line = line.replace("new as of", "introduced in")
is_admonition = True
admonition_lines.append(line)
elif is_note(line):
print("is_note")
line = line.replace("> Note: ", '!!! note "Note"\n\n ')
is_admonition = True
admonition_lines.append(line)
elif is_warning(line):
print("is_warning")
line = line.replace("> Warning: ", '!!! warning "Warning"\n\n ')
is_admonition = True
admonition_lines.append(line)
elif is_info(line):
if not is_admonition:
line = line.replace("> ", '!!! info "Info"\n\n ')
elif line in [">", "> "]:
line = ""
else:
line = " " + line.removeprefix("> ")
is_admonition = True
admonition_lines.append(line)
elif is_admonition and line in [">", "> "]:
line = ""
admonition_lines.append(line)
elif is_admonition and line.startswith("> "):
line = " " + line.removeprefix("> ")
admonition_lines.append(line)
elif line == "":
is_admonition = False
if len(admonition_lines) > 0:
modified = True
updated_lines.extend(admonition_lines)
admonition_lines = []
updated_lines.append("")
else:
updated_lines.append(line)
return updated_lines, modified
def is_shell_codeblock_start(line: str) -> bool:
"""
Checks to see if a line starts a codeblock
"""
return line == "```shell"
def modify_content_terminal_example(lines: list[str], _) -> tuple[list[str], bool]:
"""
Modifies content so that terminal output is shown appropriately
"""
modified = False
updated_lines = []
command_block = []
example_block = []
in_command_block = False
in_example_block = False
previous_block = ""
next_line_must_be = None
for line in lines:
if is_shell_codeblock_start(line):
command_block.append(line)
modified = True
in_command_block = True
continue
elif in_command_block:
command_block.append(line)
if line == "```":
in_command_block = False
previous_block = "command_block"
next_line_must_be = ""
continue
elif line == "```":
if previous_block == "":
updated_lines.append(line)
continue
if previous_block == "command_block":
example_block.append(line)
if in_example_block:
previous_block = ""
in_example_block = False
updated_lines.append('=== "Shell"')
updated_lines.append("")
for command_line in command_block:
updated_lines.append(f" {command_line}")
command_block = []
updated_lines.append("")
updated_lines.append('=== "Output"')
updated_lines.append("")
for example_line in example_block:
updated_lines.append(f" {example_line}")
example_block = []
else:
in_example_block = True
continue
elif previous_block == "command_block":
if next_line_must_be is None:
if in_example_block:
example_block.append(line)
else:
updated_lines.extend(command_block)
updated_lines.append("")
updated_lines.append(line)
command_block = []
previous_block = ""
continue
if next_line_must_be == "":
if line == "":
next_line_must_be = None
continue
updated_lines.append(line)
if len(command_block) > 0:
updated_lines.extend(command_block)
return updated_lines, modified
def re_on_page_markdown(markdown: str, *, page: Page, config: MkDocsConfig, files: Files) -> str | None:
"""
This hook is called after the page's markdown is loaded from file and can be
"""
def replace(match: Match):
badge_type, args = match.groups()
args = args.strip()
if badge_type == "version":
return _badge_for_version(args, page, files)
if badge_type == "scheduler":
return _badge_for_scheduler(args, page, files)
if type == "flag":
return flag(args, page, files)
# Otherwise, raise an error
raise RuntimeError(f"Unknown shortcode: {badge_type}")
return re.sub(r"<!-- md:(\w+)(.*?) -->", replace, markdown, flags=re.I | re.M)
def _badge(icon: str, text: str = "", badge_type: str = ""):
"""
Create badge
"""
classes = f"mdx-badge mdx-badge--{badge_type}" if badge_type else "mdx-badge"
text = f"{text}{{ data-preview='' }}" if text.endswith(")") else text
return "".join(
[
f'<span class="{classes}">',
*([f'<span class="mdx-badge__icon">{icon}</span>'] if icon else []),
*([f'<span class="mdx-badge__text">{text}</span>'] if text else []),
"</span>",
]
)
def _badge_for_scheduler(text: str, page: Page, files: Files):
"""
Create badge for scheduler
"""
# Return badge
icon = "simple-docker"
if text in ["kubernetes", "k3s"]:
icon = "simple-kubernetes"
text = "k3s"
elif text == "nomad":
icon = "simple-nomad"
elif text in ["docker", "docker-local"]:
icon = "simple-docker"
text = "docker-local"
href = f"https://dokku.com/docs/deployment/schedulers/{text}/"
return _badge(
icon=f"[:{icon}:]({href} '{text}')",
text=f"[{text}]({href})",
)
def _badge_for_version(text: str, page: Page, files: Files):
"""
Create badge for version
"""
# Return badge
icon = "material-tag-outline"
href = f"https://github.com/dokku/dokku/releases/tag/v{text}"
return _badge(
icon=f"[:{icon}:]({href} 'Since {text}')",
text=f"[{text}]({href})",
)
def flag(args: str, page: Page, files: Files):
"""
Create flag
"""
flag_type, *_ = args.split(" ", 1)
if flag_type == "experimental":
return _badge_for_experimental(page, files)
raise RuntimeError(f"Unknown flag type: {flag_type}")
def _badge_for_experimental(page: Page, files: Files):
"""
Create badge for experimental
"""
icon = "material-flask-outline"
href = _resolve_path("conventions.md#experimental", page, files)
return _badge(icon=f"[:{icon}:]({href} 'Experimental')")
def _resolve_path(path: str, page: Page, files: Files):
"""
Resolve path of file relative to given page - the posixpath always includes
one additional level of `..` which we need to remove
"""
path, anchor, *_ = f"{path}#".split("#")
path = _resolve(files.get_file_from_path(path), page)
return "#".join([path, anchor]) if anchor else path
def _resolve(file: File, page: Page):
"""
Resolve path of file relative to given page - the posixpath always includes
one additional level of `..` which we need to remove
"""
path = posixpath.relpath(file.src_uri, page.file.src_uri)
return posixpath.sep.join(path.split(posixpath.sep)[1:])

View File

@@ -1,23 +1,23 @@
beautifulsoup4==4.12.2
beautifulsoup4==4.12.3
click==8.1.7
ghp-import==2.1.0
importlib-metadata==6.8.0
Jinja2==3.1.2
Markdown>=3.2.1,<3.5
MarkupSafe==2.1.3
importlib-metadata==7.1.0
Jinja2==3.1.3
Markdown>=3.2.1,<3.7
MarkupSafe==2.1.5
mergedeep==1.3.4
mkdocs==1.5.2
mkdocs==1.5.3
mkdocs-exclude==1.0.2
mkdocs-material==9.2.8
mkdocs-material-extensions==1.1.1
packaging==23.1
Pygments==2.16.1
pymdown-extensions==10.3
pyparsing==3.1.1
python-dateutil==2.8.2
mkdocs-material==9.5.15
mkdocs-material-extensions==1.3.1
packaging==24.0
Pygments==2.17.2
pymdown-extensions==10.7.1
pyparsing==3.1.2
python-dateutil==2.9.0.post0
PyYAML==6.0.1
pyyaml_env_tag==0.1
six==1.16.0
soupsieve==2.5
watchdog==3.0.0
zipp==3.16.2
watchdog==4.0.0
zipp==3.18.1

View File

@@ -73,9 +73,11 @@ By default, permissions are set for usage with Herokuish buildpacks. These permi
- `--chown herokuish` (default): Use `32767:32767` as the folder permissions.
- 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/buildpacks` builder.
- 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 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.
Users deploying via Dockerfile will want to specify `--chown false` and manually `chown` the created directory if the user and/or group id of the runnning process in the deployed container do not correspond to any of the above options.

View File

@@ -36,35 +36,35 @@ dokku plugin:list
```
plugn: dev
00_dokku-standard 0.31.4 enabled dokku core standard plugin
20_events 0.31.4 enabled dokku core events logging plugin
app-json 0.31.4 enabled dokku core app-json plugin
apps 0.31.4 enabled dokku core apps plugin
build-env 0.31.4 enabled dokku core build-env plugin
buildpacks 0.31.4 enabled dokku core buildpacks plugin
certs 0.31.4 enabled dokku core certificate management plugin
checks 0.31.4 enabled dokku core checks plugin
common 0.31.4 enabled dokku core common plugin
config 0.31.4 enabled dokku core config plugin
docker-options 0.31.4 enabled dokku core docker-options plugin
domains 0.31.4 enabled dokku core domains plugin
enter 0.31.4 enabled dokku core enter plugin
git 0.31.4 enabled dokku core git plugin
logs 0.31.4 enabled dokku core logs plugin
network 0.31.4 enabled dokku core network plugin
nginx-vhosts 0.31.4 enabled dokku core nginx-vhosts plugin
plugin 0.31.4 enabled dokku core plugin plugin
proxy 0.31.4 enabled dokku core proxy plugin
ps 0.31.4 enabled dokku core ps plugin
repo 0.31.4 enabled dokku core repo plugin
resource 0.31.4 enabled dokku core resource plugin
scheduler-docker-local 0.31.4 enabled dokku core scheduler-docker-local plugin
shell 0.31.4 enabled dokku core shell plugin
ssh-keys 0.31.4 enabled dokku core ssh-keys plugin
storage 0.31.4 enabled dokku core storage plugin
tags 0.31.4 enabled dokku core tags plugin
tar 0.31.4 enabled dokku core tar plugin
trace 0.31.4 enabled dokku core trace plugin
00_dokku-standard 0.34.2 enabled dokku core standard plugin
20_events 0.34.2 enabled dokku core events logging plugin
app-json 0.34.2 enabled dokku core app-json plugin
apps 0.34.2 enabled dokku core apps plugin
build-env 0.34.2 enabled dokku core build-env plugin
buildpacks 0.34.2 enabled dokku core buildpacks plugin
certs 0.34.2 enabled dokku core certificate management plugin
checks 0.34.2 enabled dokku core checks plugin
common 0.34.2 enabled dokku core common plugin
config 0.34.2 enabled dokku core config plugin
docker-options 0.34.2 enabled dokku core docker-options plugin
domains 0.34.2 enabled dokku core domains plugin
enter 0.34.2 enabled dokku core enter plugin
git 0.34.2 enabled dokku core git plugin
logs 0.34.2 enabled dokku core logs plugin
network 0.34.2 enabled dokku core network plugin
nginx-vhosts 0.34.2 enabled dokku core nginx-vhosts plugin
plugin 0.34.2 enabled dokku core plugin plugin
proxy 0.34.2 enabled dokku core proxy plugin
ps 0.34.2 enabled dokku core ps plugin
repo 0.34.2 enabled dokku core repo plugin
resource 0.34.2 enabled dokku core resource plugin
scheduler-docker-local 0.34.2 enabled dokku core scheduler-docker-local plugin
shell 0.34.2 enabled dokku core shell plugin
ssh-keys 0.34.2 enabled dokku core ssh-keys plugin
storage 0.34.2 enabled dokku core storage plugin
tags 0.34.2 enabled dokku core tags plugin
tar 0.34.2 enabled dokku core tar plugin
trace 0.34.2 enabled dokku core trace plugin
```
> [!WARNING]

View File

@@ -99,9 +99,19 @@ Setting the property value to an empty string will reset the value to the system
```shell
# per-app
dokku registry:set node-js-app push-on-release
dokku registry:set node-js-app image-repo
```
### Templating the image repository name
Instead of setting the image repository name on a per-app basis, it can be set via a template globally with the `image-repo-template` property:
```shell
dokku registry:set --global image-repo-template "my-awesome-prefix/{{ .AppName }}"
```
Dokku uses a Golang template and has access to the `AppName` variable as shown above.
### Pushing images on build
To push the image on release, set the `push-on-release` property to `true` via the `registry:set` command. The default value for this property is `false`. Setting the property to `true` will result in the image being tagged with an ID that is incremented with every release. This tag will be what is used for running app code.
@@ -125,3 +135,34 @@ dokku registry:set node-js-app push-on-release
# globally
dokku registry:set --global push-on-release
```
### Push extra tags
To push the image on release with extra tags, set the `push-extra-tags` to a comma-separated list of tags via the `registry:set` command. The default value for this property is empty. Setting the property will result in the image being tagged with extra tags every release.
```shell
# multiple-tags
dokku registry:set node-js-app push-extra-tags foo,bar
```
The `push-extra-tags` can be set to a single tag too.
```shell
# single tag
dokku registry:set node-js-app push-extra-tags foo
```
This property can be set for a single app or globally via the `--global` flag. When set globally, the app-specific value will always overide the global value. The default global value for this property is `false`.
```shell
dokku registry:set --global push-extra-tags foo,bar
```
Setting the property value to an empty string will reset the value to the system default. Resetting the value can be done per app or globally.
```shell
# per-app
dokku registry:set node-js-app push-extra-tags
# globally
dokku registry:set --global push-extra-tags
```

View File

@@ -0,0 +1,30 @@
# 0.32.0 Migration Guide
## Deprecations
- The following `pre-build-*` plugin triggers have been deprecated and will be removed in the next release. Users should instead trigger the `pre-build` plugin trigger.
- pre-build-buildpack
- pre-build-dockerfile
- pre-build-lambda
- pre-build-pack
- The following `pre-release-*` plugin triggers have been deprecated and will be removed in the next release. Users should instead trigger the `pre-release-builder` plugin trigger.
- pre-release-buildpack
- pre-release-dockerfile
- pre-release-lambda
- pre-release-pack
- The following `post-build-*` plugin triggers have been deprecated and will be removed in the next release. Users should instead trigger the `post-build` plugin trigger.
- post-build-buildpack
- post-build-dockerfile
- post-build-lambda
- post-build-pack
- The `CHECKS` file was deprecated in the previous release in favor of defining healthchecks in the `app.json` file. It's support and auto-migration to healthchecks in the `app.json` file will be removed in the next release. See the [zero-downtime deploy documentation](/docs/deployment/zero-downtime-deploys.md) for more information on how the new zero downtime check format works.
## Removals
- ARM support has been removed. Users of ARM installations on platforms such as the Raspberry PI should consider migrating to ARM64. ARM64 will continue to be supported by Dokku, and there are no plans to remove support for ARM64.
- The following proxy-port related code has been removed. It is replaced by the `ports` plugin and it's related plugin triggers.
- `proxy:ports-*` commands
- `proxy-configure-ports` plugin trigger
- `common#get_available_port()`
- `common#get_dockerfile_exposed_ports()`
- `common#get_exposed_ports_from_image()`

View File

@@ -0,0 +1,3 @@
# 0.33.0 Migration Guide
Dokku 0.33.0 did not introduce any refactors, removals, or deprecations, and focused solely on system improvements.

View File

@@ -0,0 +1,19 @@
# 0.34.0 Migration Guide
## Removals
- The `disable-chown` property of the `scheduler-docker-local` plugin has been removed. Mounted paths will no longer have file permissions changed during the pre-deploy phase. Files baked into the container image for herokuish builds will always be owned by the correct user.
- The `git:unlock` command has been removed. It was previously used to "unlock" a temporary directory that already existed. The directory the `git:unlock` command used to cleanup is now properly removed on exit of the `git:from-image` command.
- The k3s plugin no longer supports port mappings other than `https:443` and `http:80`. If no matching port map is specified, Dokku will use expose the app on the first port mapping, with priority given to `https` mappings over `http`.
- Golang functions to invoke plugin triggers named `PlugnTrigger*` have been removed in favor of `CallPlugnTrigger`.
## Changes
- The k3s scheduler now creates an Ingress object per domain instead of one per port mapping. This will cause a short amount of downtime during the next app deploy after upgrading to 0.34.0
- App lock files have been removed from the `/home/dokku` directory and moved into the `data/apps` directory.
- Logs are now rotated via `copytruncate` instead of `create` in logrotate.
- The k3s scheduler now defaults to nginx as it's default proxy implementation. The traefik proxy implementation is still available, though users will need to set the global `ingress-class` k3s property to `traefik` via the following command:
```shell
dokku scheduler-k3s:set --global ingress-class traefik
```

View File

@@ -3,3 +3,21 @@
--md-primary-fg-color--light: #ECB7B7;
--md-primary-fg-color--dark: #90030C;
}
.md-typeset .mdx-badge {
font-size: .80em;
}
.md-typeset .mdx-badge__icon {
background: var(--md-accent-fg-color--transparent);
padding: 0.2rem;
border-top-left-radius: 0.1rem;
border-bottom-left-radius: 0.1rem
}
.md-typeset .mdx-badge__text {
box-shadow: 0 0 0 1px inset var(--md-accent-fg-color--transparent);
padding: 0.2rem 0.3rem;
border-bottom-right-radius: 0.1rem;
border-top-right-radius: 0.1rem;
}

View File

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

View File

@@ -28,6 +28,9 @@
"0.28.4",
"0.29.4",
"0.30.11",
"0.31.4"
"0.31.5",
"0.32.4",
"0.33.9",
"0.34.2"
]
}

View File

@@ -24,25 +24,34 @@ The following plugins are available and provided by Dokku maintainers. Please f
| Plugin | Author | Compatibility |
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [Cron Restart](https://github.com/dokku/dokku-cron-restart) | [dokku][] | 0.30.0+ |
| [CouchDB](https://github.com/dokku/dokku-couchdb) | [dokku][] | 0.4.0+ |
| [Elasticsearch](https://github.com/dokku/dokku-elasticsearch-plugin) | [dokku][] | 0.4.0+ |
| [Grafana/Graphite/Statsd](https://github.com/dokku/dokku-graphite-grafana) | [dokku][] | 0.4.0+ |
| [MariaDB](https://github.com/dokku/dokku-mariadb-plugin) | [dokku][] | 0.4.0+ |
| [Memcached](https://github.com/dokku/dokku-memcached-plugin) | [dokku][] | 0.4.0+ |
| [Mongo](https://github.com/dokku/dokku-mongo-plugin) | [dokku][] | 0.4.0+ |
| [MySQL](https://github.com/dokku/dokku-mysql-plugin) | [dokku][] | 0.4.0+ |
| [Nats](https://github.com/dokku/dokku-nats) | [dokku][] | 0.4.0+ |
| [Postgres](https://github.com/dokku/dokku-postgres-plugin) | [dokku][] | 0.4.0+ |
| [RabbitMQ](https://github.com/dokku/dokku-rabbitmq-plugin) | [dokku][] | 0.4.0+ |
| [Redis](https://github.com/dokku/dokku-redis-plugin) | [dokku][] | 0.4.0+ |
| [RethinkDB](https://github.com/dokku/dokku-rethinkdb-plugin) | [dokku][] | 0.4.0+ |
| [Clickhouse](https://github.com/dokku/dokku-clickhouse) | [dokku][] | 0.4.0+ |
| [Copy Files to Image](https://github.com/dokku/dokku-copyfiles-to-image) | [dokku][] | 0.4.0+ |
| [CouchDB](https://github.com/dokku/dokku-couchdb) | [dokku][] | 0.4.0+ |
| [Cron Restart](https://github.com/dokku/dokku-cron-restart) | [dokku][] | 0.30.0+ |
| [Elasticsearch](https://github.com/dokku/dokku-elasticsearch) | [dokku][] | 0.4.0+ |
| [Grafana/Graphite/Statsd](https://github.com/dokku/dokku-graphite) | [dokku][] | 0.4.0+ |
| [HTTP Auth](https://github.com/dokku/dokku-http-auth) | [dokku][] | 0.4.0+ |
| [Let's Encrypt](https://github.com/dokku/dokku-letsencrypt) | [dokku][] | 0.4.0+ |
| [Maintenance mode](https://github.com/dokku/dokku-maintenance) | [dokku][] | 0.4.0+ |
| [MariaDB](https://github.com/dokku/dokku-mariadb) | [dokku][] | 0.4.0+ |
| [Meilisearch](https://github.com/dokku/dokku-meilisearch) | [dokku][] | 0.4.0+ |
| [Memcached](https://github.com/dokku/dokku-memcached) | [dokku][] | 0.4.0+ |
| [Mongo](https://github.com/dokku/dokku-mongo) | [dokku][] | 0.4.0+ |
| [MySQL](https://github.com/dokku/dokku-mysql) | [dokku][] | 0.4.0+ |
| [Nats](https://github.com/dokku/dokku-nats) | [dokku][] | 0.4.0+ |
| [Omnisci](https://github.com/dokku/dokku-omnisci) | [dokku][] | 0.4.0+ |
| [Postgres](https://github.com/dokku/dokku-postgres) | [dokku][] | 0.4.0+ |
| [Pushpin](https://github.com/dokku/dokku-pushpin) | [dokku][] | 0.4.0+ |
| [RabbitMQ](https://github.com/dokku/dokku-rabbitmq) | [dokku][] | 0.4.0+ |
| [Redirect](https://github.com/dokku/dokku-redirect) | [dokku][] | 0.4.0+ |
| [Registry](https://github.com/dokku/dokku-registry) | [dokku][] | 0.12.0+
| [Redis](https://github.com/dokku/dokku-redis) | [dokku][] | 0.4.0+ |
| [Registry](https://github.com/dokku/dokku-registry) | [dokku][] | 0.12.0+ |
| [RethinkDB](https://github.com/dokku/dokku-rethinkdb) | [dokku][] | 0.4.0+ |
| [Scheduler Kubernetes](https://github.com/dokku/dokku-scheduler-kubernetes) | [dokku][] | 0.4.0+ |
| [Scheduler Nomad](https://github.com/dokku/dokku-scheduler-nomad) | [dokku][] | 0.4.0+ |
| [Solr](https://github.com/dokku/dokku-solr) | [dokku][] | 0.4.0+ |
| [SSH Hostkeys](https://github.com/cedricziel/dokku-hostkeys-plugin) | [dokku][] | 0.4.0+ |
| [Typesense](https://github.com/dokku/dokku-typesense) | [dokku][] | 0.4.0+ |
## Community plugins
@@ -101,76 +110,48 @@ The following plugins are available and provided by Dokku maintainers. Please f
| Plugin | Author | Compatibility |
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [App name as env](https://github.com/cjblomqvist/dokku-app-name-env) | [cjblomqvist][] | 0.3.x |
| [Docker Direct](https://github.com/josegonzalez/dokku-docker-direct) | [josegonzalez][] | 0.4.0+ |
| [APT](https://github.com/dokku-community/dokku-apt) | [dokku-community][] | 0.18.x+ |
| [Auto Sync](https://github.com/IdeaSynthesis/dokku-autosync)<sup>1</sup> | [fomojola][] | 0.8.1+ |
| [Deploy Webhook](https://github.com/IdeaSynthesis/dokku-deploy-webhook)<sup>2</sup> | [fomojola][] | 0.8.1+ |
| [Docker auto persist volumes](https://github.com/Flink/dokku-docker-auto-volumes) | [flink][] | 0.4.0+ |
| [Docker Direct](https://github.com/dokku-community/dokku-docker-direct) | [josegonzalez][] | 0.4.0+ |
| [Dokku Clone](https://github.com/crisward/dokku-clone) | [crisward][] | 0.4.0+ |
| [Dokku Copy App Config Files](https://github.com/josegonzalez/dokku-supply-config) | [josegonzalez][] | 0.4.0+ |
| [Dockerfile custom path](https://github.com/mimischi/dokku-dockerfile) | [mimischi][] | 0.8.0+ |
| [Dokku Require](https://github.com/crisward/dokku-require)<sup>1</sup> | [crisward][] | 0.4.0+ |
| [Dokku Copy App Config Files](https://github.com/dokku-community/dokku-supply-config) | [josegonzalez][] | 0.4.0+ |
| [Dokku Require](https://github.com/crisward/dokku-require)<sup>3</sup> | [crisward][] | 0.4.0+ |
| [Global Certificates](https://github.com/josegonzalez/dokku-global-cert) | [josegonzalez][] | 0.5.0+ |
| [Graduate (Environment Management)](https://github.com/glassechidna/dokku-graduate) | [benjamin-dobell][] | 0.4.0+ |
| [Haproxy tcp load balancer](https://github.com/256dpi/dokku-haproxy) | [256dpi][] | 0.4.0+ |
| [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+ |
| [Litestream](https://github.com/AxelTheGerman/dokku-litestream)<sup>2</sup> | [AxelTheGerman][] | 0.27.0+ |
| [Litestream](https://github.com/AxelTheGerman/dokku-litestream)<sup>4</sup> | [AxelTheGerman][] | 0.27.0+ |
| [Monit (Health Checks)](https://github.com/mbreit/dokku-monit) | [mbreit][] | 0.8.0+ |
| [Nuke Containers](https://github.com/josegonzalez/dokku-nuke) | [josegonzalez][] | 0.4.0+ |
| [Open App Ports](https://github.com/josegonzalez/dokku-ports) | [josegonzalez][] | 0.3.x |
| [Monit](https://github.com/cjblomqvist/dokku-monit) | [cjblomqvist][] | 0.3.x |
| [Multicast DNS (mDNS)](https://github.com/calyhre/dokku-mdns) | [calyhre][] | 0.33.0+ |
| [Nuke Containers](https://github.com/dokku-community/dokku-nuke) | [josegonzalez][] | 0.4.0+ |
| [Proctype Filter](https://github.com/michaelshobbs/dokku-proctype-filter) | [michaelshobbs][] | 0.4.0+ |
| [robots.txt](https://notabug.org/candlewaster/dokku-robots.txt) | [candlewaster][] | 0.4.x |
| [SSH Deployment Keys](https://github.com/cedricziel/dokku-deployment-keys)<sup>3</sup> | [cedricziel][] | 0.4.0+ |
| [SSH Hostkeys](https://github.com/cedricziel/dokku-hostkeys-plugin)<sup>4</sup> | [cedricziel][] | 0.3.x |
| [Application build hook](https://github.com/fteychene/dokku-build-hook) | [fteychene][] | 0.4.0+ |
| [Post Deploy Script](https://github.com/baikunz/dokku-post-deploy-script) | [baikunz][] | 0.4.0+ |
| [Auto Sync](https://github.com/IdeaSynthesis/dokku-autosync)<sup>5</sup> | [fomojola][] | 0.8.1+ |
| [Deploy Webhook](https://github.com/IdeaSynthesis/dokku-deploy-webhook)<sup>6</sup> | [fomojola][] | 0.8.1+ |
| [Tor](https://github.com/michaelshobbs/dokku-tor) | [michaelshobbs][] | 0.4.0+ |
| [UFW](https://github.com/dokku-community/dokku-ufw) | [josegonzalez][] | 0.3.x |
| [User Access](https://github.com/mainto/dokku-access) | [mainto][] | 0.4.0+ |
| [User ACL](https://github.com/dokku-community/dokku-acl) | [maciej łebkowski][] | 0.4.0+ |
<sup>1</sup> Extends app.json support to include creating volumes and creating / linking databases on push
<sup>1</sup> Adds the ability to sync an application repo with a remote GitHub repo (useful for automated rebuilds without needing a git push from an external system
<sup>2</sup> Adds SQLite replication to external object storage via [Litestream](https://litestream.io)
<sup>2</sup> Adds the ability to invoke a post-deploy webhook with the IP, port and app name, all with a single config:set).
<sup>3</sup> Adds the possibility to add SSH deployment keys to receive private hosted packages
<sup>3</sup> Extends app.json support to include creating volumes and creating / linking databases on push
<sup>4</sup> Adds the ability to add custom hosts to the containers known_hosts file to be able to ssh them easily (useful with deployment keys)
<sup>5</sup> Adds the ability to sync an application repo with a remote GitHub repo (useful for automated rebuilds without needing a git push from an external system
<sup>6</sup> Adds the ability to invoke a post-deploy webhook with the IP, port and app name, all with a single config:set).
<sup>4</sup> Adds SQLite replication to external object storage via [Litestream](https://litestream.io)
### Other Plugins
| Plugin | Author | Compatibility |
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [Airbrake deploy](https://github.com/Flink/dokku-airbrake-deploy) | [flink][] | 0.4.0+ |
| [APT](https://github.com/dokku-community/dokku-apt) | [dokku-community][] | 0.18.x+ |
| [Bower install](https://github.com/alexanderbeletsky/dokku-bower-install) | [alexanderbeletsky][] | 0.3.x |
| [Bower/Grunt](https://github.com/thrashr888/dokku-bower-grunt-build-plugin) | [thrashr888][] | 0.3.x |
| [Bower/Gulp](https://github.com/gdi2290/dokku-bower-gulp-build-plugin) | [gdi2290][] | 0.3.x |
| [Bower/Gulp](https://github.com/jagandecapri/dokku-bower-gulp-build-plugin) | [jagandecapri][] | 0.3.x |
| [Builders: bower, compass, gulp, grunt](https://github.com/ignlg/dokku-builders-plugin) | [ignlg][] | 0.4.0+ |
| [Chef cookbook](https://github.com/nickcharlton/dokku-cookbook) | [nickcharlton][] | |
| [Docker auto persist volumes](https://github.com/Flink/dokku-docker-auto-volumes) | [flink][] | 0.4.0+ |
| [Hostname](https://github.com/michaelshobbs/dokku-hostname) | [michaelshobbs][] | 0.4.0+ |
| [Limit (Resource management)](https://github.com/sarendsen/dokku-limit) | [sarendsen][] | 0.9.0+ |
| [Logspout](https://github.com/michaelshobbs/dokku-logspout) | [michaelshobbs][] | 0.4.0+ |
| [Syslog](https://github.com/michaelshobbs/dokku-syslog) | [michaelshobbs][] | 0.10.4+ |
| [Long Timeout](https://github.com/investtools/dokku-long-timeout-plugin) | [investtools][] | 0.4.0+ |
| [Monit](https://github.com/cjblomqvist/dokku-monit) | [cjblomqvist][] | 0.3.x |
| [Monorepo](https://github.com/iamale/dokku-monorepo) | [iamale][] | 0.4.0+ |
| [Multi Dockerfile](https://github.com/artofrawr/dokku-multi-dockerfile) | [artofrawr][] | 0.4.0+ |
| [Node](https://github.com/ademuk/dokku-nodejs) | [ademuk][] | 0.3.x |
| [Node](https://github.com/pnegahdar/dokku-node) | [pnegahdar][] | 0.3.x |
| [Rollbar](https://github.com/iloveitaly/dokku-rollbar) | [iloveitaly][] | 0.5.0+ |
| [Slack Notifications](https://github.com/ribot/dokku-slack) | [ribot][] | 0.4.0+ |
| [Telegram Notifications](https://github.com/m0rth1um/dokku-telegram) | [m0rth1um][] | 0.4.0+ |
| [Tor](https://github.com/michaelshobbs/dokku-tor) | [michaelshobbs][] | 0.4.0+ |
| [User ACL](https://github.com/dokku-community/dokku-acl) | [maciej łebkowski][] | 0.4.0+ |
| [Webhooks](https://github.com/nickstenning/dokku-webhooks) | [nickstenning][] | 0.3.x |
| [Wkhtmltopdf](https://github.com/mbriskar/dokku-wkhtmltopdf) | [mbriskar][] | 0.4.0+ |
| [Dokku Wordpress](https://github.com/dokku-community/dokku-wordpress) | [dokku-community][] | 0.4.0+ |
| [Access](https://github.com/mainto/dokku-access) | [mainto][] | 0.4.0+ |
| [Dokku Nginx Trust Proxy](https://github.com/kingsquare/dokku-nginx-vhost-trustproxy) | [kingsquare][] | 0.4.0+ |
| [Fonts](https://github.com/ollej/dokku-fonts) | [ollej][] | 0.19.11+ |
| [Discourse](https://github.com/badsyntax/dokku-discourse) | [badsyntax][] | 0.21.4+ |
| [Wordpress](https://github.com/dokku-community/dokku-wordpress) | [dokku-community][] | 0.4.0+ |
### Deprecated Plugins
@@ -178,23 +159,41 @@ The following plugins have been removed as their functionality is now in Dokku C
| Plugin | Author | In Dokku Since |
| ------------------------------------------------------------------------------------------------- | --------------------- | ----------------------------------------- |
| [Airbrake deploy](https://github.com/Flink/dokku-airbrake-deploy) | [flink][] | v0.5.0 (deployment tasks) |
| [App User](https://github.com/michaelshobbs/dokku-app-user) | [michaelshobbs][] | v0.7.1 (herokuish 0.3.18) |
| [Custom Domains](https://github.com/neam/dokku-custom-domains) | [neam][] | v0.3.10 (domains plugin) |
| [Bower/Grunt](https://github.com/thrashr888/dokku-bower-grunt-build-plugin) | [thrashr888][] | v0.5.0 (deployment tasks and .buildpacks) |
| [Bower/Gulp](https://github.com/gdi2290/dokku-bower-gulp-build-plugin) | [gdi2290][] | v0.5.0 (deployment tasks and .buildpacks) |
| [Bower install](https://github.com/alexanderbeletsky/dokku-bower-install) | [alexanderbeletsky][] | v0.5.0 (deployment tasks and .buildpacks) |
| [Bower/Gulp](https://github.com/jagandecapri/dokku-bower-gulp-build-plugin) | [jagandecapri][] | v0.5.0 (deployment tasks and .buildpacks) |
| [Builders: bower, compass, gulp, grunt](https://github.com/ignlg/dokku-builders-plugin) | [ignlg][] | v0.5.0 (deployment tasks and .buildpacks) |
| [Custom Domains](https://github.com/neam/dokku-custom-domains) | [neam][] | v0.3.10 (domains plugin) |
| [Debug](https://github.com/josegonzalez/dokku-debug) | [josegonzalez][] | v0.3.9 (trace command) |
| [Dockerfile custom path](https://github.com/mimischi/dokku-dockerfile) | [mimischi][] | v0.25.0 (monorepo support) |
| [Docker Options](https://github.com/dyson/dokku-docker-options) | [dyson][] | v0.3.17 (docker-options plugin) |
| [Dokku Name](https://github.com/alex-sherwin/dokku-name) | [alex-sherwin][] | v0.4.2 (named containers plugin) |
| [Events Logger](https://github.com/alessio/dokku-events) | [alessio][] | v0.3.21 (events plugin) |
| [Fonts](https://github.com/ollej/dokku-fonts) | [ollej][] | v0.5.0 (deployment tasks) |
| [git rev-parse HEAD in env](https://github.com/dokku-community/dokku-git-rev) | [cjblomqvist][] | v0.12.0 (enhanced core git plugin) |
| [Host Port binding](https://github.com/stuartpb/dokku-bind-port) | [stuartpb][] | v0.3.17 (docker-options plugin) |
| [Link Containers](https://github.com/rlaneve/dokku-link) | [rlaneve][] | v0.3.17 (docker-options plugin) |
| [List Containers](https://github.com/josegonzalez/dokku-list) | [josegonzalez][] | v0.3.14 (ps plugin) |
| [Logspout](https://github.com/michaelshobbs/dokku-logspout) | [michaelshobbs][] | v0.22.6 (vector log shipping) |
| [Long Timeout](https://github.com/investtools/dokku-long-timeout-plugin) | [investtools][] | v0.21.0 (proxy-read-timeout nginx setting)|
| [Monorepo](https://github.com/iamale/dokku-monorepo) | [iamale][] | v0.25.0 (monorepo builder support) |
| [Multi-Buildpack](https://github.com/pauldub/dokku-multi-buildpack) | [pauldub][] | v0.4.0 (herokuish) |
| [Multiple Domains](https://github.com/wmluke/dokku-domains-plugin)<sup>1</sup> | [wmluke][] | v0.3.10 (domains plugin) |
| [Multi Dockerfile](https://github.com/artofrawr/dokku-multi-dockerfile) | [artofrawr][] | v0.25.0 (monorepo support) |
| [Named-containers](https://github.com/Flink/dokku-named-containers) | [flink][] | v0.4.2 (named-containers plugin) |
| [Nginx Trust Proxy](https://github.com/kingsquare/dokku-nginx-vhost-trustproxy) | [kingsquare][] | v0.23.0 (nginx x-forwarded-* properties) |
| [Node](https://github.com/ademuk/dokku-nodejs) | [ademuk][] | v0.5.0 (deployment tasks and .buildpacks) |
| [Node](https://github.com/pnegahdar/dokku-node) | [pnegahdar][] | v0.5.0 (deployment tasks and .buildpacks) |
| [Nginx-Alt](https://github.com/mikexstudios/dokku-nginx-alt) | [mikexstudios][] | v0.3.10 (domains plugin) |
| [Persistent Storage](https://github.com/dyson/dokku-persistent-storage) | [dyson][] | v0.3.17 (docker-options plugin) |
| [Pre-Deploy Tasks](https://github.com/michaelshobbs/dokku-app-predeploy-tasks) | [michaelshobbs][] | v0.5.0 (deployment tasks) |
| [PrimeCache](https://github.com/darkpixel/dokku-prime-cache) | [darkpixel][] | v0.3.0 (zero downtime deploys) |
| [Rollbar](https://github.com/iloveitaly/dokku-rollbar) | [iloveitaly][] | v0.5.0 (deployment tasks) |
| [Syslog](https://github.com/michaelshobbs/dokku-syslog) | [michaelshobbs][] | v0.22.6 (vector log shipping) |
| [Haproxy tcp load balancer](https://github.com/256dpi/dokku-haproxy) | [256dpi][] | v0.28.0 (haproxt plugin) |
| [Process Manager: Circus](https://github.com/apmorton/dokku-circus) | [apmorton][] | v0.3.14/0.7.0 (ps/restart policy plugin) |
| [Process Manager: Forego](https://github.com/Flink/dokku-forego) | [flink][] | v0.3.14/0.7.0 (ps plugin) |
| [Process Manager: Forego](https://github.com/iskandar/dokku-forego) | [iskandar][] | v0.3.14/0.7.0 (ps plugin) |
@@ -203,10 +202,15 @@ The following plugins have been removed as their functionality is now in Dokku C
| [Process Manager: Supervisord](https://github.com/statianzo/dokku-supervisord) | [statianzo][] | v0.3.14/0.7.0 (ps plugin) |
| [Rebuild application](https://github.com/scottatron/dokku-rebuild) | [scottatron][] | v0.3.14 (ps plugin) |
| [Reset mtime](https://github.com/mixxorz/dokku-docker-reset-mtime) | [mixxorz][] | Docker 1.8+ |
| [SSH Deployment Keys](https://github.com/cedricziel/dokku-deployment-keys) | [dokku][] | v0.33.0 (git plugin) |
| [Supply env vars to buildpacks](https://github.com/cameron-martin/dokku-build-env)<sup>2</sup> | [cameron-martin][] | v0.3.9 (build-env plugin) |
| [Slack Notifications](https://github.com/ribot/dokku-slack) | [ribot][] | v0.5.0 (deployment tasks) |
| [Telegram Notifications](https://github.com/m0rth1um/dokku-telegram) | [m0rth1um][] | v0.5.0 (deployment tasks) |
| [user-env-compile](https://github.com/motin/dokku-user-env-compile)<sup>2</sup> | [motin][] | v0.3.9 (build-env plugin) |
| [user-env-compile](https://github.com/musicglue/dokku-user-env-compile)<sup>2</sup> | [musicglue][] | v0.3.9 (build-env plugin) |
| [Volume (persistent storage)](https://github.com/ohardy/dokku-volume) | [ohardy][] | v0.5.0 (storage plugin) |
| [Webhooks](https://github.com/nickstenning/dokku-webhooks) | [nickstenning][] | v0.5.0 (deployment tasks) |
| [Wkhtmltopdf](https://github.com/mbriskar/dokku-wkhtmltopdf) | [mbriskar][] | v0.5.0 (deployment tasks) |
<sup>1</sup> Conflicts with [VHOSTS Custom Configuration](https://github.com/neam/dokku-nginx-vhosts-custom-configuration)
<sup>2</sup> Similar to the [heroku-labs feature](https://devcenter.heroku.com/articles/labs-user-env-compile)
@@ -233,9 +237,9 @@ The following plugins are no longer maintained by their developers.
| [Neo4j](https://github.com/Aomitayo/dokku-neo4j-plugin) | [aomitayo][] | |
| [PostGIS](https://github.com/fermuch/dokku-pg-plugin) | [fermuch][] | |
| [PostgreSQL (single container)](https://github.com/jeffutter/dokku-postgresql-plugin) | [jeffutter][] | This plugin creates a single postgresql container that all your apps can use. Thus only one instance of postgresql running (good for servers without a ton of memory). |
| [RiakCS (single container)](https://github.com/jeffutter/dokku-riakcs-plugin) | [jeffutter][] | Incompatible with 0.2.0 |
| [Redis](https://github.com/luxifer/dokku-redis-plugin) | [luxifer][] | |
| [Redis](https://github.com/sekjun9878/dokku-redis-plugin) | [sekjun9878][] | 0.3.26+ |
| [RiakCS (single container)](https://github.com/jeffutter/dokku-riakcs-plugin) | [jeffutter][] | Incompatible with 0.2.0 |
<sup>1</sup> Forked from [jezdez/dokku-elasticsearch-plugin](https://github.com/jezdez/dokku-elasticsearch-plugin): uses Elasticsearch 1.2 (instead of 0.90), doesn't depend on dokku-link, runs as elasticsearch user instead of root, and turns off multicast autodiscovery for use in a VPS environment.
@@ -255,6 +259,7 @@ The following plugins are no longer maintained by their developers.
[basgys]: https://github.com/basgys
[benjamin-dobell]: https://github.com/benjamin-dobell
[blag]: https://github.com/blag
[calyhre]: https://github.com/calyhre
[cameron-martin]: https://github.com/cameron-martin
[candlewaster]: https://notabug.org/candlewaster
[cedricziel]: https://github.com/cedricziel
@@ -318,7 +323,6 @@ The following plugins are no longer maintained by their developers.
[wmluke]: https://github.com/wmluke
[zenedith]: https://github.com/zenedith
[fteychene]: https://github.com/fteychene
[sarendsen]: https://github.com/sarendsen
[baikunz]: https://github.com/baikunz
[lazyatom]: https://github.com/lazyatom
[ollej]: https://github.com/ollej

View File

@@ -26,7 +26,7 @@ Builders run a detection script against a source code repository, and the first
### Overriding the auto-selected builder
If desired, the builder can be specified via the `builder:set` command by speifying a value for `selected`. The selected builder will always be used.
If desired, the builder can be specified via the `builder:set` command by specifying a value for `selected`. The selected builder will always be used.
```shell
dokku builder:set node-js-app selected dockerfile
@@ -44,6 +44,9 @@ The `selected` property can also be set globally. The global default is an empty
dokku builder:set --global selected herokuish
```
> [!WARNING]
> Selecting a global builder will result in _all_ applications using that builder unless a manual override is selected.
The default value may be set by passing an empty value for the option.
```shell

View File

@@ -27,10 +27,10 @@ Dokku will only select the `dockerfile` builder if both the `herokuish` and `pac
### Switching from buildpack deployments
If an application was previously deployed via buildpacks, the following commands should be run before a Dockerfile deploy will succeed:
If an application was previously deployed via buildpacks and ports were customized, the following commands should be run prior to a deploy to ensure the Dockerfile ports are respected:
```shell
dokku proxy:clear node-js-app
dokku ports:clear node-js-app
```
### Changing the `Dockerfile` location

View File

@@ -181,7 +181,7 @@ dokku buildpacks:set-property --global stack
> [!IMPORTANT]
> New as of 0.29.0
By default, the builder-herokuish plugin is not enabled for non-amd64 platforms, and attempting to use it is blocked. This is because the majority of buildpacks are not cross-platform compatible, and thus building apps will either be considerably slower - due to emulating the amd64 platform - or won't work - due to building amd64 packages on arm/arm64 platforms.
By default, the builder-herokuish plugin is not enabled for non-amd64 platforms, and attempting to use it is blocked. This is because the majority of buildpacks are not cross-platform compatible, and thus building apps will either be considerably slower - due to emulating the amd64 platform - or won't work - due to building amd64 packages on arm64 platforms.
To force-enable herokuish on non-amd64 platforms, the `allowed` property can be set via `builder-herokuish:set`. The default value depends on the host platform architecture (`true` on amd64, `false` otherwise).

View File

@@ -0,0 +1,156 @@
# Nixpacks
> [!IMPORTANT]
> New as of 0.32.0
The `nixpacks` builder builds apps via [Nixpacks](https://nixpacks.com/), a buildpack alternative.
## Usage
### Requirements
The `nixpacks` cli tool is not included by default with Dokku or as a dependency. It must also be installed as shown on [this page](https://nixpacks.com/docs/install#debian-(and-derivatives-like-ubuntu)).
Builds will proceed with the `nixpacks` cli for the app from then on.
### Detection
This builder will be auto-detected in the following case:
- A `nixpacks.toml` exists in the root of the app repository.
The builder may also be selected via the `builder:set` command
```shell
dokku builder:set node-js-app selected nixpacks
```
### Supported languages
See the [upstream nixpacks documentation](https://nixpacks.com/docs) for further information on what languages and frameworks are supported.
### Build-time configuration variables
For security reasons - and as per [Docker recommendations](https://github.com/docker/docker/issues/13490) - nixpacks-based deploys have variables available only during runtime.
For users that require customization in the `build` phase, you may use build arguments via the [docker-options plugin](/docs/advanced-usage/docker-options.md). All environment variables set by the `config` plugin are automatically exported within the nixpacks build environment, and thus `--env` only requires setting a key without a value.
```shell
dokku docker-options:add node-js-app build '--env NODE_ENV'
```
Alternatively, a full value may be provided in the form of `--env KEY=VALUE`:
```shell
dokku docker-options:add node-js-app build '--env NODE_ENV=production'
```
### Changing the `nixpacks.toml` location
When deploying a monorepo, it may be desirable to specify the specific path of the `nixpacks.toml` file to use for a given app. This can be done via the `builder-nixpacks:set` command. If a value is specified and that file does not exist in the app's build directory, then the build will fail.
```shell
dokku builder-nixpacks:set node-js-app nixpackstoml-path nixpacks2.toml
```
The default value may be set by passing an empty value for the option:
```shell
dokku builder-nixpacks:set node-js-app nixpackstoml-path
```
The `nixpackstoml-path` property can also be set globally. The global default is `nixpacks.toml`, and the global value is used when no app-specific value is set.
```shell
dokku builder-nixpacks:set --global nixpackstoml-path nixpacks2.toml
```
The default value may be set by passing an empty value for the option.
```shell
dokku builder-nixpacks:set --global nixpackstoml-path
```
### Disabling cache
Cache is enabled by default, but can be disabled by setting the `no-cache` property to `true`:
```shell
dokku builder-nixpacks:set node-js-app no-cache true
```
The default value may be set by passing an empty value for the option:
```shell
dokku builder-nixpacks:set node-js-app no-cache
```
The `no-cache` property can also be set globally. The global default is `false`, and the global value is used when no app-specific value is set.
```shell
dokku builder-nixpacks:set --global no-cache true
```
The default value may be set by passing an empty value for the option.
```shell
dokku builder-nixpacks:set --global no-cache
```
### Displaying builder-nixpacks reports for an app
You can get a report about the app's storage status using the `builder-nixpacks:report` command:
```shell
dokku builder-nixpacks:report
```
```
=====> node-js-app builder-nixpacks information
Builder-nixpacks computed nixpackstoml path: nixpacks2.toml
Builder-nixpacks global nixpackstoml path: nixpacks.toml
Builder-nixpacks nixpackstoml path: nixpacks2.toml
Builder-nixpacks computed no cache: true
Builder-nixpacks global no cache: false
Builder-nixpacks no cache: true
=====> python-sample builder-nixpacks information
Builder-nixpacks computed nixpackstoml path: nixpacks.toml
Builder-nixpacks global nixpackstoml path: nixpacks.toml
Builder-nixpacks nixpackstoml path:
Builder-nixpacks computed no cache: false
Builder-nixpacks global no cache: false
Builder-nixpacks no cache:
=====> ruby-sample builder-nixpacks information
Builder-nixpacks computed nixpackstoml path: nixpacks.toml
Builder-nixpacks global nixpackstoml path: nixpacks.toml
Builder-nixpacks nixpackstoml path:
Builder-nixpacks computed no cache: false
Builder-nixpacks global no cache: false
Builder-nixpacks no cache:
```
You can run the command for a specific app also.
```shell
dokku builder-nixpacks:report node-js-app
```
```
=====> node-js-app builder-nixpacks information
Builder-nixpacks computed nixpackstoml path: nixpacks2.toml
Builder-nixpacks global nixpackstoml path: nixpacks.toml
Builder-nixpacks nixpackstoml path: nixpacks2.toml
Builder-nixpacks computed no cache: true
Builder-nixpacks global no cache: false
Builder-nixpacks no cache: true
```
You can pass flags which will output only the value of the specific information you want. For example:
```shell
dokku builder-nixpacks:report node-js-app --builder-nixpacks-no-cache
```
```
true
```

View File

@@ -13,7 +13,7 @@ on:
jobs:
deploy:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Cloning repo
uses: actions/checkout@v3

View File

@@ -155,6 +155,27 @@ dokku logs:vector-logs --tail --num 10
The above command will show logs continually from the vector container, with an initial history of 10 log lines
#### Changing the vector image
Dokku integrates with a Vector docker image version that is known to be compatible with the documentation. In some cases, it may be useful to specify an alternative image version. To do so, set the global `vector-image` property.
```shell
dokku logs:set --global vector-image timberio/vector:0.35.X-debian
```
Once set, the vector container will need to be stopped and then started. Note that specifying the `--vector-image` flag on the `logs:vector-start` will override the setting.
```shell
dokku logs:vector-stop
dokku logs:vector-start
```
Setting this to an empty string will reset the version to the version currently compatible with the Dokku installation.
```shell
dokku logs:set --global vector-image
```
#### Configuring a log sink
Vector uses the concept of log "sinks" to send logs to a given endpoint. Log sinks may be configured globally or on a per-app basis by specifying a `vector-sink` in DSN form with the `logs:set` command. Specifying a sink value will reload any running vector container.
@@ -211,4 +232,4 @@ For some sinks - such as the `http` sink - it may be useful to use special chara
dokku logs:set test vector-sink "http://?uri=https%3A//loggerservice.com%3A1234/%3Ftoken%3Dabc1234%26type%3Dvector"
```
Please read the [sink documentation](https://vector.dev/docs/reference/sinks/) for your sink of choice to configure the sink as desired.
Please read the [sink documentation](https://vector.dev/docs/reference/configuration/sinks/) for your sink of choice to configure the sink as desired.

View File

@@ -0,0 +1,34 @@
# Tar and Zip Archives
## Initializing an app repository from an archive file
> [!IMPORTANT]
> New as of 0.24.0
A Dokku app repository can be initialized or updated from the contents of an archive file via the `git:from-archive` command. This is an excellent way of tracking changes when deploying pre-built binary archives, such as java jars or go binaries. This can also be useful when deploying directly from a GitHub repository at a specific commit.
```shell
dokku git:from-archive node-js-app https://github.com/dokku/smoke-test-app/releases/download/2.0.0/smoke-test-app.tar
```
In the above example, Dokku will build the app as if the repository contained the extracted contents of the specified archive file.
Triggering a build with the same archive file multiple times will result in Dokku exiting `0` early as there will be no changes detected.
The `git:from-archive` command can optionally take a git `user.name` and `user.email` argument (in that order) to customize the author. If the arguments are left empty, they will fallback to `Dokku` and `automated@dokku.sh`, respectively.
```shell
dokku git:from-archive node-js-app https://github.com/dokku/smoke-test-app/releases/download/2.0.0/smoke-test-app.tar "Camila" "camila@example.com"
```
The default archive type is always set to `.tar`. To use a different archive type, specify the `--archive-type` flag. Failure to do so will result in a failure to extract the archive.
```shell
dokku git:from-archive --archive-type zip node-js-app https://github.com/dokku/smoke-test-app/archive/2.0.0.zip "Camila" "camila@example.com"
```
Finally, if the archive url is specified as `--`, the archive will be fetched from stdin.
```shell
curl -sSL https://github.com/dokku/smoke-test-app/releases/download/2.0.0/smoke-test-app.tar | dokku git:from-archive node-js-app --
```

View File

@@ -8,14 +8,14 @@ git:allow-host <host> # Adds a host to known_hosts
git:auth <host> [<username> <password>] # Configures netrc authentication for a given git server
git:from-archive [--archive-type ARCHIVE_TYPE] <app> <archive-url> [<git-username> <git-email>] # Updates an app's git repository with a given archive file
git:from-image [--build-dir DIRECTORY] <app> <docker-image> [<git-username> <git-email>] # Updates an app's git repository with a given docker image
git:generate-deploy-key # Generates a deploy ssh key
git:load-image [--build-dir DIRECTORY] <app> <docker-image> [<git-username> <git-email>] # Updates an app's git repository with a docker image loaded from stdin
git:sync [--build] <app> <repository> [<git-ref>] # Clone or fetch an app from remote git repo
git:sync [--build|build-if-changes] <app> <repository> [<git-ref>] # Clone or fetch an app from remote git repo
git:initialize <app> # Initialize a git repository for an app
git:public-key # Outputs the dokku public deploy key
git:report [<app>] [<flag>] # Displays a git report for one or more apps
git:set <app> <key> (<value>) # Set or clear a git property for an app
git:status <app> # Show the working tree status for an app
git:unlock <app> [--force] # Removes previous git clone folder for new deployment
```
Git-based deployment has been the traditional method of deploying applications in Dokku. As of v0.12.0, Dokku introduces a few ways to customize the experience of deploying via `git push`. A Git-based deployment currently supports building applications via:
@@ -125,142 +125,6 @@ dokku git:set node-js-app keep-git-dir ""
Please keep in mind that setting `keep-git-dir` to `true` may result in unstaged changes shown within the built container due to the build process generating application changes within the built app directory.
### Initializing an app repository from a docker image
> [!IMPORTANT]
> New as of 0.24.0
A Dokku app repository can be initialized or updated from a Docker image via the `git:from-image` command. This command will either initialize the app repository or update it to include the specified Docker image via a `FROM` stanza. This is an excellent way of tracking changes when deploying only a given docker image, especially if deploying an image from a remote CI/CD pipeline.
```shell
dokku git:from-image node-js-app dokku/node-js-getting-started:latest
```
In the above example, Dokku will build the app as if the repository contained _only_ a `Dockerfile` with the following content:
```Dockerfile
FROM dokku/node-js-getting-started:latest
```
If the specified image already exists on the Dokku host, it will not be pulled again, though this behavior may be changed using [build phase docker-options](/docs/advanced-usage/docker-options.md).
Triggering a build with the same arguments multiple times will result in Dokku exiting `0` early as there will be no changes detected. If the image tag is reused but the underlying image is different, it is recommended to use the image digest instead of the tag. This can be retrieved via the following command:
```shell
# for images pushed to a remote registry
docker inspect --format='{{index .RepoDigests 0}}' $IMAGE_NAME
# for images built locally and not pushed to a registry
# use when the previous command output is empty
docker images --no-trunc --quiet $IMAGE_NAME
```
The resulting `git:from-image` call would then be:
```shell
# where the image sha is: sha256:9d187c3025d03c033dcc71e3a284fee53be88cc4c0356a19242758bc80cab673
dokku git:from-image node-js-app dokku/node-js-getting-started@sha256:9d187c3025d03c033dcc71e3a284fee53be88cc4c0356a19242758bc80cab673
```
The `git:from-image` command can optionally take a git `user.name` and `user.email` argument (in that order) to customize the author. If the arguments are left empty, they will fallback to `Dokku` and `automated@dokku.sh`, respectively.
```shell
dokku git:from-image node-js-app dokku/node-js-getting-started:latest "Camila" "camila@example.com"
```
If the image is a private image that requires a docker login to access, the `registry:login` command should be used to log into the registry. See the [registry documentation](/docs/advanced-usage/registry-management.md#logging-into-a-registry) for more details on this process.
Finally, certain images may require a custom build context in order for `ONBUILD ADD` and `ONBUILD COPY` statements to succeed. A custom build context can be specified via the `--build-dir` flag. All files in the specified `build-dir` will be copied into the repository for use within the `docker build` process. The build context _must_ be specified on each deploy, and is not otherwise persisted between builds.
```shell
dokku git:from-image --build-dir path/to/build node-js-app dokku/node-js-getting-started:latest "Camila" "camila@example.com"
```
See the [dockerfile documentation](/docs/deployment/builders/dockerfiles.md) to learn about the different ways to configure Dockerfile-based deploys.
### Initializing an app repository from an archive file
> [!IMPORTANT]
> New as of 0.24.0
A Dokku app repository can be initialized or updated from the contents of an archive file via the `git:from-archive` command. This is an excellent way of tracking changes when deploying pre-built binary archives, such as java jars or go binaries. This can also be useful when deploying directly from a GitHub repository at a specific commit.
```shell
dokku git:from-archive node-js-app https://github.com/dokku/smoke-test-app/releases/download/2.0.0/smoke-test-app.tar
```
In the above example, Dokku will build the app as if the repository contained the extracted contents of the specified archive file.
Triggering a build with the same archive file multiple times will result in Dokku exiting `0` early as there will be no changes detected.
The `git:from-archive` command can optionally take a git `user.name` and `user.email` argument (in that order) to customize the author. If the arguments are left empty, they will fallback to `Dokku` and `automated@dokku.sh`, respectively.
```shell
dokku git:from-archive node-js-app https://github.com/dokku/smoke-test-app/releases/download/2.0.0/smoke-test-app.tar "Camila" "camila@example.com"
```
The default archive type is always set to `.tar`. To use a different archive type, specify the `--archive-type` flag. Failure to do so will result in a failure to extract the archive.
```shell
dokku git:from-archive --archive-type zip node-js-app https://github.com/dokku/smoke-test-app/archive/2.0.0.zip "Camila" "camila@example.com"
```
Finally, if the archive url is specified as `--`, the archive will be fetched from stdin.
```shell
curl -sSL https://github.com/dokku/smoke-test-app/releases/download/2.0.0/smoke-test-app.tar | dokku git:from-archive node-js-app --
```
### Initializing an app repository from a remote image without a registry
> [!IMPORTANT]
> New as of 0.30.0
A Dokku app repository can be initialized or updated from the contents of an image archive tar file via the `git:load-image` command. This method can be used when a Docker Registry is unavailable to act as an intermediary for storing an image, such as when building an image in CI and deploying directly from that image.
```shell
docker image save dokku/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image node-js-app dokku/node-js-getting-started:latest
```
In the above example, we are saving the image to a tar file via `docker image save`, streaming that to the Dokku host, and then running `git:load-image` on the incoming stream. Dokku will build the app as if the repository contained _only_ a `Dockerfile` with the following content:
```Dockerfile
FROM dokku/node-js-getting-started:latest
```
When deploying an app via `git:load-image`, it is highly recommended to use a unique image tag when building the image. Not doing so will result in Dokku exiting `0` early as there will be no changes detected. If the image tag is reused but the underlying image is different, it is recommended to use the image digest instead of the tag. This can be retrieved via the following command:
```shell
# for images pushed to a remote registry
docker inspect --format='{{index .RepoDigests 0}}' $IMAGE_NAME
# for images built locally and not pushed to a registry
# use when the previous command output is empty
docker images --no-trunc --quiet $IMAGE_NAME
```
The resulting `git:load-image` call would then be:
```shell
# where the image sha is: sha256:9d187c3025d03c033dcc71e3a284fee53be88cc4c0356a19242758bc80cab673
docker image save dokku/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image node-js-app dokku/node-js-getting-started@sha256:9d187c3025d03c033dcc71e3a284fee53be88cc4c0356a19242758bc80cab673
```
The `git:load-image` command can optionally take a git `user.name` and `user.email` argument (in that order) to customize the author. If the arguments are left empty, they will fallback to `Dokku` and `automated@dokku.sh`, respectively.
```shell
docker image save dokku/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image node-js-app dokku/node-js-getting-started:latest "Camila" "camila@example.com"
```
Finally, certain images may require a custom build context in order for `ONBUILD ADD` and `ONBUILD COPY` statements to succeed. A custom build context can be specified via the `--build-dir` flag. All files in the specified `build-dir` will be copied into the repository for use within the `docker build` process. The build context _must_ be specified on each deploy, and is not otherwise persisted between builds.
```shell
docker image save dokku/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image --build-dir path/to/build node-js-app dokku/node-js-getting-started:latest "Camila" "camila@example.com"
```
See the [dockerfile documentation](/docs/deployment/builders/dockerfiles.md) to learn about the different ways to configure Dockerfile-based deploys.
### Initializing an app repository from a remote repository
> [!IMPORTANT]
@@ -293,6 +157,12 @@ By default, this command does not trigger an application build. To do so during
dokku git:sync --build node-js-app https://github.com/heroku/node-js-getting-started.git
```
When running `git:sync` without a reference, it may be useful to only build when there are changes. To do so, specify the `--build-if-changes` flag.
```shell
dokku git:sync --build-if-changes node-js-app https://github.com/heroku/node-js-getting-started.git
```
### Initializing from private repositories
> [!IMPORTANT]
@@ -325,9 +195,40 @@ dokku git:allow-host github.com
Note that this command is currently not idempotent and may add duplicate entries to the `~dokku/.ssh/known_hosts` file.
### Creating a cloning ssh key pair
> [!IMPORTANT]
> New as of 0.33.0
While most repositories can be authenticated to via the `git:auth` command, some users may prefer to use an ssh key. This can be generated via the `git:generate-deploy-key` command, which generates a passwordless ed25519 key-pair.
```shell
dokku git:generate-deploy-key
```
```
Generating public/private ed25519 key pair.
Your identification has been saved in /home/dokku/.ssh/id_ed25519
Your public key has been saved in /home/dokku/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:PvlvVfbpYvkmA87rTfLUq07e3GarRN1BcLqDSjod+p8 dokku@ubuntu
The key's randomart image is:
+--[ED25519 256]--+
| ..o |
| + |
| . . |
| . o =|
| So . + ++|
| .=.o.. +..|
| ++oo..*o. |
| oo o%*oo=|
| .+E=BOOo|
+----[SHA256]-----+
```
### Verifying the cloning public key
In order to clone a remote repository, the remote server should have the Dokku host's public key configured. This plugin does not currently create this key, but if there is one available, it can be shown via the `git:public-key` command.
In order to clone a remote repository, the remote server should have the Dokku host's public key configured. This plugin does not currently create this key, but if can be shown via the `git:public-key` command.
```shell
dokku git:public-key

View File

@@ -0,0 +1,104 @@
# Docker Image Deployment
## Initializing an app repository from a docker image
> [!IMPORTANT]
> New as of 0.24.0
A Dokku app repository can be initialized or updated from a Docker image via the `git:from-image` command. This command will either initialize the app repository or update it to include the specified Docker image via a `FROM` stanza. This is an excellent way of tracking changes when deploying only a given docker image, especially if deploying an image from a remote CI/CD pipeline.
```shell
dokku git:from-image node-js-app my-registry/node-js-getting-started:latest
```
In the above example, Dokku will build the app as if the repository contained _only_ a `Dockerfile` with the following content:
```Dockerfile
FROM my-registry/node-js-getting-started:latest
```
If the specified image already exists on the Dokku host, it will not be pulled again, though this behavior may be changed using [build phase docker-options](/docs/advanced-usage/docker-options.md).
Triggering a build with the same arguments multiple times will result in Dokku exiting `0` early as there will be no changes detected. If the image tag is reused but the underlying image is different, it is recommended to use the image digest instead of the tag. This can be retrieved via the following command:
```shell
# for images pushed to a remote registry
docker inspect --format='{{index .RepoDigests 0}}' $IMAGE_NAME
# for images built locally and not pushed to a registry
# use when the previous command output is empty
docker images --no-trunc --quiet $IMAGE_NAME
```
The resulting `git:from-image` call would then be:
```shell
# where the image sha is: sha256:9d187c3025d03c033dcc71e3a284fee53be88cc4c0356a19242758bc80cab673
dokku git:from-image node-js-app my-registry/node-js-getting-started@sha256:9d187c3025d03c033dcc71e3a284fee53be88cc4c0356a19242758bc80cab673
```
The `git:from-image` command can optionally take a git `user.name` and `user.email` argument (in that order) to customize the author. If the arguments are left empty, they will fallback to `Dokku` and `automated@dokku.sh`, respectively.
```shell
dokku git:from-image node-js-app my-registry/node-js-getting-started:latest "Camila" "camila@example.com"
```
If the image is a private image that requires a docker login to access, the `registry:login` command should be used to log into the registry. See the [registry documentation](/docs/advanced-usage/registry-management.md#logging-into-a-registry) for more details on this process.
Finally, certain images may require a custom build context in order for `ONBUILD ADD` and `ONBUILD COPY` statements to succeed. A custom build context can be specified via the `--build-dir` flag. All files in the specified `build-dir` will be copied into the repository for use within the `docker build` process. The build context _must_ be specified on each deploy, and is not otherwise persisted between builds.
```shell
dokku git:from-image --build-dir path/to/build node-js-app domy-registrykku/node-js-getting-started:latest "Camila" "camila@example.com"
```
See the [dockerfile documentation](/docs/deployment/builders/dockerfiles.md) to learn about the different ways to configure Dockerfile-based deploys.
## Initializing an app repository from a remote image without a registry
> [!IMPORTANT]
> New as of 0.30.0
A Dokku app repository can be initialized or updated from the contents of an image archive tar file via the `git:load-image` command. This method can be used when a Docker Registry is unavailable to act as an intermediary for storing an image, such as when building an image in CI and deploying directly from that image.
```shell
docker image save my-registry/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image node-js-app my-registry/node-js-getting-started:latest
```
In the above example, we are saving the image to a tar file via `docker image save`, streaming that to the Dokku host, and then running `git:load-image` on the incoming stream. Dokku will build the app as if the repository contained _only_ a `Dockerfile` with the following content:
```Dockerfile
FROM my-registry/node-js-getting-started:latest
```
When deploying an app via `git:load-image`, it is highly recommended to use a unique image tag when building the image. Not doing so will result in Dokku exiting `0` early as there will be no changes detected. If the image tag is reused but the underlying image is different, it is recommended to use the image digest instead of the tag. This can be retrieved via the following command:
```shell
# for images pushed to a remote registry
docker inspect --format='{{index .RepoDigests 0}}' $IMAGE_NAME
# for images built locally and not pushed to a registry
# use when the previous command output is empty
docker images --no-trunc --quiet $IMAGE_NAME
```
The resulting `git:load-image` call would then be:
```shell
# where the image sha is: sha256:9d187c3025d03c033dcc71e3a284fee53be88cc4c0356a19242758bc80cab673
docker image save my-registry/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image node-js-app my-registry/node-js-getting-started@sha256:9d187c3025d03c033dcc71e3a284fee53be88cc4c0356a19242758bc80cab673
```
The `git:load-image` command can optionally take a git `user.name` and `user.email` argument (in that order) to customize the author. If the arguments are left empty, they will fallback to `Dokku` and `automated@dokku.sh`, respectively.
```shell
docker image save my-registry/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image node-js-app my-registry/node-js-getting-started:latest "Camila" "camila@example.com"
```
Finally, certain images may require a custom build context in order for `ONBUILD ADD` and `ONBUILD COPY` statements to succeed. A custom build context can be specified via the `--build-dir` flag. All files in the specified `build-dir` will be copied into the repository for use within the `docker build` process. The build context _must_ be specified on each deploy, and is not otherwise persisted between builds.
```shell
docker image save my-registry/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image --build-dir path/to/build node-js-app my-registry/node-js-getting-started:latest "Camila" "camila@example.com"
```
See the [dockerfile documentation](/docs/deployment/builders/dockerfiles.md) to learn about the different ways to configure Dockerfile-based deploys.

View File

@@ -14,30 +14,23 @@ scheduler-docker-local:set <app> <key> (<value>) # Set or clear a sch
Dokku natively includes functionality to manage application lifecycles for a single server using the `scheduler-docker-local` plugin. It is the default scheduler, but as with all schedulers, it is set on a per-application basis. The scheduler can currently be overridden by running the following command:
```shell
dokku config:set node-js-app DOCKER_SCHEDULER=docker-local
dokku scheduler:set node-js-app selected docker-local
```
As it is the default, unsetting the `DOCKER_SCHEDULER` config variable is also a valid way to reset the scheduler.
As it is the default, unsetting the `selected` scheduler property is also a valid way to reset the scheduler.
```shell
dokku config:unset node-js-app DOCKER_SCHEDULER
dokku scheduler:set node-js-app selected
```
## Usage
### Disabling chown of persistent storage
### Deploying amd64 images on arm64
The `scheduler-docker-local` plugin will ensure your storage mounts are owned by either `herokuishuser` or the overridden value you have set in `DOKKU_APP_USER`. You may disable this by running the following `scheduler-docker-local:set` command for your application:
> [!IMPORTANT]
> New as of 0.33.0
```shell
dokku scheduler-docker-local:set node-js-app disable-chown true
```
Once set, you may re-enable it by setting a blank value for `disable-chown`:
```shell
dokku scheduler-docker-local:set node-js-app disable-chown
```
Many builders only produce amd64-compatible images. The docker-local scheduler will automatically detect these and run them via the `--platform=linux/amd64` on arm64 deploy targets.
### Disabling the init process
@@ -101,7 +94,7 @@ The `formation` key should be specified as follows in the `app.json` file:
}
```
Omitting or removing the entry will result in parallelism for that process type to return to 1 entry at a time. This can be combined with the `parallel-schedule-count` property to speed up deployments.
Omitting or removing the entry will result in parallelism for that process type to return to 1 entry at a time. This can be combined with the `parallel-schedule-count` property to speed up deployments.
Note that increasing the value of `max_parallel` may significantly impact CPU utilization on your host as your app containers - and their respective processes - start up. Setting a value higher than the number of available CPUs is discouraged. It is recommended that users carefully set this value so as not to overburden their server.

View File

@@ -0,0 +1,562 @@
# K3s Scheduler
> [!IMPORTANT]
> New as of 0.33.0
```
scheduler-k3s:annotations:set <app|--global> <property> (<value>) [--process-type PROCESS_TYPE] <--resource-type RESOURCE_TYPE>, Set or clear an annotation for a given app/process-type/resource-type combination
scheduler-k3s:autoscaling-auth:set <app|--global> <trigger> [<--metadata key=value>...], Set or clear a scheduler-k3s autoscaling keda trigger authentication resource for an app
scheduler-k3s:autoscaling-auth:report <app|--global> [--format stdout|json] [--include-metadata] # Displays a scheduler-k3s autoscaling auth report for an app
scheduler-k3s:cluster-add [ssh://user@host:port] # Adds a server node to a Dokku-managed cluster
scheduler-k3s:cluster-list # Lists all nodes in a Dokku-managed cluster
scheduler-k3s:cluster-remove [node-id] # Removes client node to a Dokku-managed cluster
scheduler-k3s:initialize # Initializes a cluster
scheduler-k3s:labels:set <app|--global> <property> (<value>) [--process-type PROCESS_TYPE] <--resource-type RESOURCE_TYPE>, Set or clear a label for a given app/process-type/resource-type combination
scheduler-k3s:report [<app>] [<flag>] # Displays a scheduler-k3s report for one or more apps
scheduler-k3s:set [<app>|--global] <key> (<value>) # Set or clear a scheduler-k3s property for an app or the scheduler
scheduler-k3s:show-kubeconfig # Displays the kubeconfig for remote usage
scheduler-k3s:uninstall # Uninstalls k3s from the Dokku server
```
> [!NOTE]
> The k3s plugin replaces the external [scheduler-kubernetes](https://github.com/dokku/dokku-scheduler-kubernetes) plugin. Users can continue to use the external plugin as necessary, but all future development will occur on the official core k3s plugin.
For multi-server support, Dokku provides the ability for users to setup a K3s cluster. As with all schedulers, it is set on a per-app basis. The scheduler can currently be overridden by running the following command:
```shell
dokku scheduler:set node-js-app selected k3s
```
As it is the default, unsetting the `selected` scheduler property is also a valid way to reset the scheduler.
```shell
dokku scheduler:set node-js-app k3s
```
## Usage
### Initializing a cluster
> [!WARNING]
> This command must be run as root
Clusters can be initialized via the `scheduler-k3s:initialize` command. This will start a k3s cluster on the Dokku node itself.
```shell
dokku scheduler-k3s:initialize
```
By default, the k3s installation can run both app and system workloads. For clusters where app workloads are run on distinct worker nodes, initialize the cluster with the `--taint-scheduling` flag, which will allow _only_ Critical cluster components on the k3s control-plane nodes.
```shell
dokku scheduler-k3s:initialize --taint-scheduling
```
By default, Dokku will attempt to auto-detect the IP address of the server. In cases where the auto-detected IP address is incorrect, an override may be specified via the `--server-ip` flag:
```shell
dokku scheduler-k3s:initialize --server-ip 192.168.20.15
```
Dokku's k3s integration natively uses `nginx` as it's ingress load balancer via [ingress-nginx](https://github.com/kubernetes/ingress-nginx). Properties set by the `nginx` plugin will be respected, either by turning them into annotations or creating a custom server/location snippet that the `ingress-nginx` project can use.
Dokku can also use Traefik on cluster initialization via the [Traefik's CRDs](https://doc.traefik.io/traefik/providers/kubernetes-crd/). To change the ingress, set the `--ingress-class` flag:
```shell
dokku scheduler-k3s:initialize --ingress-class traefik
```
### Adding nodes to the cluster
> [!WARNING]
> The `dokku` user _must_ be able to ssh onto the server in order to connect nodes to the cluster. The remote user must be root or have sudo enabled, or the install will fail.
#### Adding a worker node
Nodes that run app workloads can be added via the `scheduler-k3s:cluster-add` command. This will ssh onto the specified server, install k3s, and join it to the current Dokku node in worker mode. Workers are typically used to run app workloads.
```shell
dokku scheduler-k3s:cluster-add ssh://root@worker-1.example.com
```
If the server isn't in the `known_hosts` file, the connection will fail. This can be bypassed by setting the `--insecure-allow-unknown-hosts` flag:
```shell
dokku scheduler-k3s:cluster-add --insecure-allow-unknown-hosts ssh://root@worker-1.example.com
```
By default, Dokku will attempt to auto-detect the IP address of the Dokku server for the remote server to connect to. In cases where the auto-detected IP address is incorrect, an override may be specified via the `--server-ip` flag:
```shell
dokku scheduler-k3s:cluster-add --server-ip 192.168.20.15 ssh://root@worker-1.example.com
```
#### Adding a server node
> [!NOTE]
> Only the initial Dokku server will be properly configured for push deployment, and should be considered your git remote. Additional server nodes are for ensuring high-availability of the K3s etcd state. Ensure this server is properly backed up and restorable or deployments will not work.
Server nodes are typically used to replicate the cluster state, and it is recommended to have an odd number of nodes spread across several availability zones (datacenters in close proximity within a region). This allows for higher availability in the event of a cluster failure. Server nodes run control-plane services such as the traefik load balancer and the etcd backing store.
Server nodes can also be added with the `scheduler-k3s:cluster-add` command by specifying `--role server`. This will ssh onto the specified server, install k3s, and join it to the current Dokku node in server mode.
```shell
dokku scheduler-k3s:cluster-add --role server ssh://root@server-1.example.com
```
Server nodes allow any workloads to be scheduled on them by default, in addition to the control-plane, etcd, and the scheduler itself. To avoid app workloads being scheduled on your control-plane, use the `--taint-scheduling` flag:
```shell
dokku scheduler-k3s:cluster-add --role server --taint-scheduling ssh://root@server-1.example.com
```
If the server isn't in the `known_hosts` file, the connection will fail. This can be bypassed by setting the `--insecure-allow-unknown-hosts` flag:
```shell
dokku scheduler-k3s:cluster-add --role server --insecure-allow-unknown-hosts ssh://root@server-1.example.com
```
By default, Dokku will attempt to auto-detect the IP address of the Dokku server for the remote server to connect to. In cases where the auto-detected IP address is incorrect, an override may be specified via the `--server-ip` flag:
```shell
dokku scheduler-k3s:cluster-add --role server --server-ip 192.168.20.15 ssh://root@server-1.example.com
```
#### Changing the network interface
When attaching an worker or server node, the K3s plugin will look at the IP associated with the `eth0` interface and use that to connect the new node to the cluster. To change this, set the `network-interface` property to the appropriate value.
```shell
dokku scheduler-k3s:set --global network-interface eth1
```
### Changing deploy timeouts
By default, app deploys will timeout after 300s. To customize this value, set the `deploy-timeout` property via `scheduler-k3s:set`:
```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:
```shell
dokku scheduler-k3s:set node-js-app deploy-timeout
```
The `deploy-timeout` property can also be set globally. The global default is `300s`.
```shell
dokku scheduler-k3s:set --global deploy-timeout 60s
```
The 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
By default, letsencrypt is disabled and https port mappings are ignored. To enable, set the `letsencrypt-email-prod` or `letsencrypt-email-stag` property with the `--global` flag:
```shell
# set the value for prod
dokku scheduler-k3s:set --global letsencrypt-email-prod automated@dokku.sh
# set the value for stag
dokku scheduler-k3s:set --global letsencrypt-email-stag automated@dokku.sh
```
After enabling and rebuilding, all apps with an `http:80` port mapping will have a corresponding `https:443` added and ssl will be automatically enabled. All http requests will then be redirected to https.
#### Customizing the letsencrypt server
The letsencrypt integration is set to the production letsencrypt server by default. This can be changed on an app-level by setting the `letsencrypt-server` property with the `scheduler-k3s:set` command
```shell
dokku scheduler-k3s:set node-js-app letsencrypt-server staging
```
The default value may be set by passing an empty value for the option:
```shell
dokku scheduler-k3s:set node-js-app letsencrypt-server
```
The `image-pull-secrets` property can also be set globally. The global default is `production`.
```shell
dokku scheduler-k3s:set --global letsencrypt-server staging
```
The default value may be set by passing an empty value for the option.
```shell
dokku scheduler-k3s:set --global letsencrypt-server staging
```
### Customizing Annotations and Labels
> [!NOTE]
> The cron ID is used as the process type if your app deploys any cron tasks
#### Setting Annotations
Dokku injects certain annotations into each created resource by default, but it may be necessary to inject others for tighter integration with third-party tools. The `scheduler-k3s:annotations:set` command can be used to perform this task. The command takes an app name and a required `--resource-type` flag.
```shell
dokku scheduler-k3s:annotations:set node-js-app annotation.key annotation.value --resource-type deployment
```
If not specified, the annotation will be applied to all processes within an app, though it may be further scoped to a specific process type via the `--process-type` flag.
```shell
dokku scheduler-k3s:annotations:set node-js-app annotation.key annotation.value --resource-type deployment --process-type web
```
The following resource types are supported:
- `certificate`
- `cronjob`
- `deployment`
- `ingress`
- `job`
- `pod`
- `secret`
- `service`
- `serviceaccount`
- `traefik_ingressroute`
- `traefik_middleware`
#### Removing an annotation
To unset an annotation, pass an empty value:
```shell
dokku scheduler-k3s:annotations:set node-js-app annotation.key --resource-type deployment
dokku scheduler-k3s:annotations:set node-js-app annotation.key --resource-type deployment --process-type web
```
#### Setting Labels
Dokku injects certain labels into each created resource by default, but it may be necessary to inject others for tighter integration with third-party tools. The `scheduler-k3s:labels:set` command can be used to perform this task. The command takes an app name and a required `--resource-type` flag.
```shell
dokku scheduler-k3s:labels:set node-js-app label.key label.value --resource-type deployment
```
If not specified, the label will be applied to all processes within an app, though it may be further scoped to a specific process type via the `--process-type` flag.
```shell
dokku scheduler-k3s:labels:set node-js-app label.key label.value --resource-type deployment --process-type web
```
The following resource types are supported:
- `certificate`
- `cronjob`
- `deployment`
- `ingress`
- `job`
- `pod`
- `secret`
- `service`
- `serviceaccount`
- `traefik_ingressroute`
- `traefik_middleware`
#### Removing a label
To unset an label, pass an empty value:
```shell
dokku scheduler-k3s:annotations:set node-js-app label.key --resource-type deployment
dokku scheduler-k3s:labels:set node-js-app label.key --resource-type deployment --process-type web
```
### Autoscaling
#### Workload Autoscaling
> [!IMPORTANT]
> New as of 0.33.8
> Users with older installations will need to manually install Keda.
Autoscaling in k3s is managed by [Keda](https://keda.sh/), which integrates with a variety of external metric providers to allow for autoscaling application workloads.
To enable autoscaling, use the `app.json` `formation.$PROCESS_TYPE.autoscaling` key to manage rules. In addition to the existing configuration used for process management, each process type in the `formation.$PROCESS_TYPE.autoscaling` key can have the following keys:
- `min_quantity`: The minimum number of instances the application can run. If not specified, the `quantity` specified for the app is used.
- `max_quantity`: The maximum number of instances the application can run. If not specified, the higher value of `quantity` and the `min_quantity` is used.
- `polling_interval_seconds`: (default: 30) The interval to wait for polling each of the configured triggers
- `cooldown_seconds`: (default: 300) The number of seconds to wait in between each scaling event
- `triggers`: A list of autoscaling triggers.
Autoscaling triggers are passed as is to Keda, and should match the configuration keda uses for a given [scaler](https://keda.sh/docs/2.13/scalers/). Below is an example for [datadog](https://keda.sh/docs/2.13/scalers/datadog/#example-2---driving-scale-directly):
```json
{
"formation": {
"web": {
"autoscaling": {
"min_quantity": 1,
"max_quantity": 10,
"triggers": [
{
"name": "name-for-trigger",
"type": "datadog",
"metadata": {
"query": "per_second(sum:http.requests{service:myservice1}).rollup(max, 300))/180,per_second(sum:http.backlog{service:myservice1}).rollup(max, 300)/30",
"queryValue": "1",
"queryAggregator": "max"
}
}
]
}
}
}
}
```
Each value in the `metadata` stanza can use the following interpolated strings:
- `DOKKU_DEPLOYMENT_NAME`: The name of the deployment being scaled
- `DOKKU_PROCESS_TYPE`: The name of the process being scaled
- `DOKKU_APP_NAME`: The name of the app being scaled
#### Workload Autoscaling Authentication
Most Keda triggers require some form of authentication to query for data. In the Kubernetes API, they are represented by `TriggerAuthentication` and `ClusterTriggerAuthentication` resources. Dokku can manage these via the `scheduler-k3s:autoscaling-auth` commands, and includes generated resources with each helm release generated by a deploy.
If no app-specific authentication is provided for a given trigger type, Dokku will fallback to any globally defined `ClusterTriggerAuthentication` resources. Autoscaling triggers within an app all share the same `TriggerAuthentication` resources, while `ClusterTriggerAuthentication` resources can be shared across all apps deployed by Dokku within a given cluster.
##### Creating Authentication Resources
Users can specify custom authentication resources directly via the Kubernetes api _or_ use the `scheduler-k3s:autoscaling-auth:set` command to create the resources in the Kubernetes cluster.
```shell
dokku scheduler-k3s:autoscaling-auth:set $APP $TRIGGER --metadata apiKey=some-api-key --metadata appKey=some-app-key
```
For example, the following will configure the authentication for all datadog triggers on the specified app:
```shell
dokku scheduler-k3s:autoscaling-auth:set node-js-app datadog --metadata apiKey=1234567890 --metadata appKey=asdfghjkl --metadata datadogSite=us5.datadoghq.com
```
After execution, Dokku will include the following resources for each specified trigger with the helm release generated on subsequent app deploys:
- `Secret`: an Opaque `Secret` resource storing the authentication credentials
- `TriggerAuthentication`: A `TriggerAuthentication` resource that references the secret for use by triggers
If the `--global` flag is specified instead of an app name, a custom helm chart is created on the fly with the above resources.
##### Removing Authentication Resources
To remove a configured authenticatin resource, run the `scheduler-k3s:autoscaling-auth:set` command with no metadata specified. Subsequent deploys will not include these resources.
```shell
dokku scheduler-k3s:autoscaling-auth:set $APP $TRIGGER_TYPE
```
##### Displaying an Authentication Resource report
To see a list of authentication resources managed by Dokku, run the `scheduler-k3s:autoscaling-auth:report` command.
```shell
dokku scheduler-k3s:autoscaling-auth:report node-js-app
```
```
====> $APP autoscaling-auth report
datadog: configured
```
By default, the report will not display configured metadata - making it safe to include in Dokku report output. To include metadata and their values, add the `--include-metadata` flag:
```shell
dokku scheduler-k3s:autoscaling-auth:report node-js-app --include-metadata
```
```
====> node-js-app autoscaling-auth report
Datadog: configured
Datadog apiKey: 1234567890
Datadog appKey: asdfghjkl
Datadog datadogSite: us5.datadoghq.com
```
### Using kubectl remotely
> [!WARNING]
> Certain ports must be open for interacting with the remote kubernets api. Refer to the [K3s networking documentation](https://docs.k3s.io/installation/requirements?os=debian#networking) for the required open ports between servers prior to running the command.
By default, Dokku assumes that all it controls all actions on the cluster, and thus does not expose the `kubectl` binary for administrators. To interact with kubectl, you will need to retrieve the `kubeconfig` for the cluster and configure your client to use that configuration.
```shell
dokku scheduler-k3s:show-kubeconfig
```
### Interacting with an external Kubernetes cluster
While the k3s scheduler plugin is designed to work with a Dokku-managed k3s cluster, Dokku can be configured to interact with any Kubernetes cluster by setting the global `kubeconfig-path` to a path to a custom kubeconfig on the Dokku server. This property is only available at a global level.
```shell
dokku scheduler-k3s:set --global kubeconfig-path /path/to/custom/kubeconfig
```
To set the default value, omit the value from the `scheduler-k3s:set` call:
```shell
dokku scheduler-k3s:set --global kubeconfig-path
```
The default value for the `kubeconfig-path` is the k3s kubeconfig located at `/etc/rancher/k3s/k3s.yaml`.
### Customizing the Kubernetes context
When interacting with a custom Kubeconfig, the `kube-context` property can be set to specify a specific context within the kubeconfig to use. This property is available only at the global leve.
```shell
dokku scheduler-k3s:set --global kube-context lollipop
```
To set the default value, omit the value from the `scheduler-k3s:set` call:
```shell
dokku scheduler-k3s:set --global kube-context
```
The default value for the `kube-context` is an empty string, and will result in Dokku using the current context within the kubeconfig.
## Scheduler Interface
The following sections describe implemented and unimplemented scheduler functionality for the `k3s` scheduler.
### Implemented Commands and Triggers
This plugin implements various functionality through `plugn` triggers to integrate with Docker for running apps on a single server. The following functionality is supported by the `scheduler-k3s` plugin.
- `apps:clone`
- `apps:destroy`
- `apps:rename`
- `cron`
- `enter`
- `deploy`
- healthchecks
- Due to Kubernetes limitations, only a single healthcheck is supported for each of the `liveness`, `readiness`, and `startup` healthchecks
- Due to Kubernetes limitations, content checks are not supported
- Ports specified in the `app.json` are ignored in favor of the container port on the port mapping detected
- `logs`
- `ps:stop`
- `run`
- The `scheduler-post-run` trigger is not always triggered
- `run:detached`
- `run:list`
### Unimplemented command functionality
- `run:logs`
- `ps:inspect`
The following Dokku functionality is not implemented at this time.
- `vector` log integration
- persistent storage
### 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/).
### Supported Resource Management Properties
The `k3s` scheduler supports a minimal list of resource _limits_ and _reservations_:
- cpu: is specified in number of CPUs a process can access.
- memory: should be specified with a suffix of `b` (bytes), `Ki` (kilobytes), `Mi` (megabytes), `Gi` (gigabytes). Default unit is `Mi` (megabytes).
If unspecified for any task, the default reservation will be `.1` CPU and `128Mi` RAM, with no limit set for either CPU or RAM. This is to avoid issues with overscheduling pods on a cluster. To avoid issues, set more specific values for at least resource reservations. If unbounded utilization is desired, set CPU and Memory to `0m` and `0Mi`, respectively.
> [!NOTE]
> Cron tasks retrieve resource limits based on the computed cron task ID.

View File

@@ -1,7 +1,7 @@
# Kubernetes Scheduler
> [!WARNING]
> This scheduler is not in Dokku core and thus functionality may change over time as the API stabilizes.
> Deprecation notice: This scheduler has been replaced with the [k3s scheduler plugin](/docs/deployment/schedulers/k3s.md) and is no longer under active development.
The [Kubernetes Scheduler Plugin](https://github.com/dokku/dokku-scheduler-kubernetes) is available free as an external plugin. Please see the plugin's [issue tracker](https://github.com/dokku/dokku-scheduler-kubernetes/issues) for more information on the status of the plugin.

View File

@@ -97,6 +97,8 @@ At this time, the following dokku commands are used to implement a complete sche
- triggers: post-app-rename-setup
- `apps:clone`: handles app cloning
- triggers: post-app-clone-setup
- `cron`: generates cron tasks for the app
- triggers: 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
@@ -105,6 +107,10 @@ At this time, the following dokku commands are used to implement a complete sche
- triggers: scheduler-logs
- `run`: starts one-off run containers (detached and non-detached) as well as listing run processes
- triggers: scheduler-run, scheduler-run-list
- `run:list`: lists running containers
- triggers: scheduler-run-list
- `run:logs`: fetches running container logs
- triggers: scheduler-run-logs
- `ps:stop`: stops app processes
- triggers: scheduler-stop
- `ps:inspect`: outputs inspect output for processes in an app

View File

@@ -158,12 +158,13 @@ One or more healthchecks can be defined in the `app.json` file - see the [deploy
"attempts": 3
}
]
}
}
```
A healthcheck entry takes the following properties:
- `attempts`: (default: `3` seconds) Number of retry attempts to perform on failure.
- `attempts`: (default: `3`) Number of retry attempts to perform on failure.
- `command`: (default `''` - empty string) Command to execute within container.
- `content`: (default: `''` - empty string) Content to search in http path check output.
- `initialDelay`: (default: 0, unit: seconds) Number of seconds to wait after a container has started before triggering the healthcheck.

View File

@@ -61,7 +61,7 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
### `app-exists`
- Description: Creates an app
- Description: Checks if an app exists
- Invoked by:
- Arguments: `$APP`
- Example:
@@ -549,18 +549,18 @@ echo "clock: some-command" >> Procfile
popd &>/dev/null
```
### `cron-write`
### `cron-get-property`
- Description: Force triggers writing out cron entries
- Description: Return the value for an app's cron property
- Invoked by:
- Arguments:
- Arguments: `$APP $KEY`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
APP="$1"; PROPERTY="$2"
# TODO
```
@@ -583,6 +583,22 @@ 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.
@@ -1355,7 +1371,7 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
- Description: Returns a list of port mappings, newline delimited
- Invoked by: Various networking plugins
- Arguments: `$APP`
- Arguments: `$APP $FORMAT`
- Example:
```shell
@@ -1473,8 +1489,26 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
```
### `post-build`
- Description: Allows you to run commands after the build image is create for a given app.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$BUILDER_TYPE $APP $SOURCECODE_WORK_DIR`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `post-build-buildpack`
> [!WARNING]
> Deprecated, please use `post-build` instead
- Description: Allows you to run commands after the build image is create for a given app. Only applies to apps using buildpacks.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$APP` `$SOURCECODE_WORK_DIR`
@@ -1488,26 +1522,10 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `post-build-pack`
### `post-build-dockerfile`
> [!WARNING]
> The pack plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
- Description: Allows you to run commands after the build image is create for a given app. Only applies to apps using pack.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$APP` `$SOURCECODE_WORK_DIR`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `post-build-dockerfile`
> Deprecated, please use `post-build` instead
- Description: Allows you to run commands after the build image is create for a given app. Only applies to apps using a dockerfile.
- Invoked by: `internal function dokku_build() (build phase)`
@@ -1524,6 +1542,9 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
### `post-build-lambda`
> [!WARNING]
> Deprecated, please use `post-build` instead
- Description: Allows you to run commands after the build image is create for a given app. Only applies to apps using lambda.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$APP` `$SOURCECODE_WORK_DIR`
@@ -1537,6 +1558,24 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `post-build-pack`
> [!WARNING]
> Deprecated, please use `post-build` instead
- Description: Allows you to run commands after the build image is create for a given app. Only applies to apps using pack.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$APP` `$SOURCECODE_WORK_DIR`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `post-certs-remove`
- Description: Allows you to run commands after a cert is removed
@@ -1718,6 +1757,20 @@ APP="$1"
haproxy-build-config "$APP"
```
### `post-registry-login`
- Description: Allows running a command after the a registry has been logged into
- Invoked by: `dokku registry:login`
- Arguments: `$DOCKER_REGISTRY_SERVER $DOCKER_REGISTRY_USER`
- Example:
```shell
#!/usr/bin/env bash
# the DOCKER_REGISTRY_PASS env var is also set
echo "$DOCKER_REGISTRY_PASS"
```
### `post-release-builder`
> [!WARNING]
@@ -1771,8 +1824,26 @@ APP="$1";
dokku config:set --no-restart $APP MANUALLY_STOPPED=1
```
### `pre-build`
- Description: Allows you to run commands before the build image is created for a given app. For instance, this can be useful to add env vars to your container.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$BUILDER_TYPE $APP $SOURCECODE_WORK_DIR`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `pre-build-buildpack`
> [!WARNING]
> Deprecated, please use `pre-build` instead
- Description: Allows you to run commands before the build image is created for a given app. For instance, this can be useful to add env vars to your container. Only applies to apps using buildpacks.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$APP` `$SOURCECODE_WORK_DIR`
@@ -1786,8 +1857,29 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `pre-build-dockerfile`
> [!WARNING]
> Deprecated, please use `pre-build` instead
- Description: Allows you to run commands before the build image is created for a given app. For instance, this can be useful to add env vars to your container. Only applies to apps using a dockerfile.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `pre-build-lambda`
> [!WARNING]
> Deprecated, please use `pre-build` instead
- Description: Allows you to run commands before the build image is created for a given app. For instance, this can be useful to add env vars to your container. Only applies to apps using lambda.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$APP` `$SOURCECODE_WORK_DIR`
@@ -1804,8 +1896,7 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
### `pre-build-pack`
> [!WARNING]
> The pack plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
> Deprecated, please use `pre-build` instead
- Description: Allows you to run commands before the build image is created for a given app. For instance, this can be useful to add env vars to your container. Only applies to apps using pack.
- Invoked by: `internal function dokku_build() (build phase)`
@@ -1820,21 +1911,6 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `pre-build-dockerfile`
- Description: Allows you to run commands before the build image is created for a given app. For instance, this can be useful to add env vars to your container. Only applies to apps using a dockerfile.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `pre-delete`
- Description: Can be used to run commands before an app is deleted.
@@ -1931,8 +2007,28 @@ APP="$1"; IMAGE_SOURCE_TYPE="$2"; TMP_WORK_DIR="$3"; REV="$4"
echo "$APP" > "$TMP_WORK_DIR/dokku-is-awesome"
```
### `pre-release-builder`
- Description: Allows you to run commands before environment variables are set for the release step of the deploy.
- Invoked by: `internal function dokku_release() (release phase)`
- Arguments: `$BUILDER_TYPE $APP $IMAGE`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
BUILDER_TYPE="$1"; APP="$2"; IMAGE_TAG="$3";
# TODO
```
### `pre-release-buildpack`
> [!WARNING]
> Deprecated, please use `pre-release-builder` instead
- Description: Allows you to run commands before environment variables are set for the release step of the deploy. Only applies to apps using buildpacks.
- Invoked by: `internal function dokku_release() (release phase)`
- Arguments: `$APP $IMAGE_TAG`
@@ -1960,6 +2056,9 @@ docker commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" $CID $IMAGE >/dev/null
### `pre-release-lambda`
> [!WARNING]
> Deprecated, please use `pre-release-builder` instead
- Description: Allows you to run commands before environment variables are set for the release step of the deploy. Only applies to apps using lambda.
- Invoked by: `internal function dokku_release() (release phase)`
- Arguments: `$APP $IMAGE_TAG`
@@ -1978,8 +2077,7 @@ APP="$1"; IMAGE_TAG="$2";
### `pre-release-pack`
> [!WARNING]
> The pack plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
> Deprecated, please use `pre-release-builder` instead
- Description: Allows you to run commands before environment variables are set for the release step of the deploy. Only applies to apps using pack.
- Invoked by: `internal function dokku_release() (release phase)`
@@ -1998,6 +2096,9 @@ APP="$1"; IMAGE_TAG="$2";
### `pre-release-dockerfile`
> [!WARNING]
> Deprecated, please use `pre-release-builder` instead
- Description: Allows you to run commands before environment variables are set for the release step of the deploy. Only applies to apps using a dockerfile.
- Invoked by: `internal function dokku_release() (release phase)`
- Arguments: `$APP $IMAGE_TAG`
@@ -2107,24 +2208,6 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `proxy-configure-ports`
> [!WARNING]
> Deprecated, please use `ports-configure` instead
- Description: Configures the port mapping
- Invoked by: `internally triggered by proxy plugins`
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `proxy-disable`
- Description: Disables the configured proxy implementation for an app
@@ -2439,7 +2522,8 @@ DOKKU_SCHEDULER="$1"; APP="$2";
### `scheduler-is-deployed`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!WARNING]
> The scheduler plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
- Description: Allows you to check if the scheduler has deployed the app
@@ -2538,7 +2622,8 @@ DOKKU_SCHEDULER="$1"; APP="$2"; IMAGE_TAG="$3";
### `scheduler-post-deploy-process`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!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 a command after a process has been started
@@ -2678,7 +2763,8 @@ DOKKU_SCHEDULER="$1"; APP="$2"; CONTAINER="$3"; TAIL="$4"; PRETTY_PRINT="$5"; NU
### `scheduler-run-stop`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!WARNING]
> The scheduler plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
- Description: Allows a scheduler to stop all "run" containers or a specified container
@@ -2864,3 +2950,18 @@ main() {
main "$@"
```
### `vector-template-source`
- Description: Retrieves an alternative template for the vector compose config
- Invoked by: caddy-vhosts
- Arguments:
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```

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.31.4-2 (Mon Feb 22 23:20:37 CET 2016)"
# wait for "==> build-arch: ==> Finished making: dokku 0.34.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

@@ -3,10 +3,6 @@
As of 0.3.18, Dokku defaults to being installed via Debian package. While certain hosts may require extra work to get running, you may optionally wish to automate the installation of Dokku without the use of our `bootstrap.sh` Bash script. The following are the steps run by said script:
```shell
# install prerequisites
sudo apt-get update -qq >/dev/null
sudo apt-get -qq -y --no-install-recommends install apt-transport-https
# install docker
wget -nv -O - https://get.docker.com/ | sh

View File

@@ -18,5 +18,19 @@
1. Simply add a checkmark next to the existing keys you'd like to add.
7. Under **Finalize and create**, give your Droplet a hostname _(not required)_ and click **Create**.
8. Once created, copy the IP address to your clipboard.
9. In a browser, go to the IP address you copied above and fill out the presented form to complete configuration. _Failure to do so may allow others to reconfigure SSH access on your server._
10. Once the web UI has been submitted, you will be redirected to our [application deployment tutorial](/docs/deployment/application-deployment.md), which will guide you through deploying a sample application to your Dokku server.
9. In a terminal, ssh onto the server by running `ssh root@$SERVER_IP`, where `$SERVER_IP` is your server's IP address.
10. Remove the default nginx site via `rm /etc/nginx/sites-enabled/default`
11. If you added more than one key, use the `dokku ssh-keys:add` to add an ssh key to the dokku user:
```shell
echo "$CONTENTS_OF_YOUR_PUBLIC_SSH_KEY_HERE" | dokku ssh-keys:add KEY_NAME
```
12. Ensure your server has a correct global hostname via `dokku domains:set-global`
```shell
# replace dokku.me with a hostname pointed at your server
dokku domains:set-global dokku.me
```
13. Once the web UI has been submitted, you will be redirected to our [application deployment tutorial](/docs/deployment/application-deployment.md), which will guide you through deploying a sample application to your Dokku server.

View File

@@ -3,13 +3,13 @@
Pull the dokku/dokku image:
```shell
docker pull dokku/dokku:0.31.4
docker pull dokku/dokku:0.34.2
```
Next, run the image.
```shell
docker container run \
docker container run -d \
--env DOKKU_HOSTNAME=dokku.me \
--env DOKKU_HOST_ROOT=/var/lib/dokku/home/dokku \
--env DOKKU_LIB_HOST_ROOT=/var/lib/dokku/var/lib/dokku \
@@ -19,7 +19,30 @@ docker container run \
--publish 8443:443 \
--volume /var/lib/dokku:/mnt/dokku \
--volume /var/run/docker.sock:/var/run/docker.sock \
dokku/dokku:0.31.4
dokku/dokku:0.34.2
```
Alternatively, you can use `docker-compose.yml`:
```yaml
version: "3.8"
services:
dokku:
image: dokku/dokku:0.34.2
container_name: dokku
ports:
- "3022:22"
- "8080:80"
- "8443:443"
volumes:
- "/var/lib/dokku:/mnt/dokku"
- "/var/run/docker.sock:/var/run/docker.sock"
environment:
DOKKU_HOSTNAME: dokku.me
DOKKU_HOST_ROOT: /var/lib/dokku/home/dokku
DOKKU_LIB_HOST_ROOT: /var/lib/dokku/var/lib/dokku
restart: unless-stopped
```
The above command will start a new docker container that is ready when a message similar to `Runit started as PID 12345` appears.
@@ -61,19 +84,25 @@ 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.31.4
FROM dokku/dokku:0.34.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
```
## SSH Key Management
To initialize ssh-keys within the container, use `docker exec` to enter the container and run the appropriate ssh-keys commands.
To initialize ssh-keys within the container, use `docker exec` to enter the container:
```shell
docker exec -it dokku bash
```
Next, run the appropriate ssh-keys commands:
```shell
echo "$CONTENTS_OF_YOUR_PUBLIC_SSH_KEY_HERE" | dokku ssh-keys:add KEY_NAME
```
Please see the [user management documentation](/docs/deployment/user-management.md) for more information.
## Pushing Applications

View File

@@ -13,7 +13,6 @@ To start using Dokku, you'll need a system that meets the following minimum requ
- [Debian 10+ 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
- ARMV7 (alternatively known as `armhf`), commonly used for Raspberry PI
- ARMV8 (alternatively known as `arm64`), commonly used for Raspberry PI and AWS Graviton
To avoid memory pressure during builds or runtime of your applications, we suggest the following:
@@ -38,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.31.4/bootstrap.sh
sudo DOKKU_TAG=v0.31.4 bash bootstrap.sh
wget -NP . https://dokku.com/install/v0.34.2/bootstrap.sh
sudo DOKKU_TAG=v0.34.2 bash bootstrap.sh
```
The installation process takes about 5-10 minutes, depending upon internet connection speed.

View File

@@ -18,6 +18,9 @@ Docker releases updates periodically to their engine. We recommend reading their
Before upgrading, check the migration guides to get comfortable with new features and prepare your deployment to be upgraded.
- [Upgrading to 0.34](/docs/appendices/0.34.0-migration-guide.md)
- [Upgrading to 0.33](/docs/appendices/0.33.0-migration-guide.md)
- [Upgrading to 0.32](/docs/appendices/0.32.0-migration-guide.md)
- [Upgrading to 0.31](/docs/appendices/0.31.0-migration-guide.md)
- [Upgrading to 0.30](/docs/appendices/0.30.0-migration-guide.md)
- [Upgrading to 0.29](/docs/appendices/0.29.0-migration-guide.md)

View File

@@ -10,26 +10,26 @@
<meta name="author" content="">
<title>Dokku - The smallest PaaS implementation you've ever seen</title>
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/favicon.ico">
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.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.34.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.34.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.34.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.34.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.34.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.34.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.34.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.34.2/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.2/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.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.34.2/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.2/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.2/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.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.31.4/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/browserconfig.xml">
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.2/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.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.31.4/docs/assets/style.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.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.31.4</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.34.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.31.4 bash bootstrap.sh</span>
<span class="command">sudo DOKKU_TAG=v0.34.2 bash bootstrap.sh</span>
</p>
<br>
@@ -226,8 +226,8 @@
</svg>
Create</a>
<a class="nav-link" id="nav-deploy-tab" data-bs-toggle="tab" href="#nav-deploy" role="tab" aria-controls="nav-deploy" aria-selected="false">
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M29.8709 1.40551C29.8591 1.34642 29.8311 1.29205 29.7903 1.24881C29.7495 1.20556 29.6976 1.17524 29.6407 1.16141C25.8466 0.20375 17.082 3.61605 12.3285 8.51812C11.4813 9.38524 10.7088 10.3268 10.0198 11.3321C8.55457 11.1953 7.08939 11.3105 5.84189 11.8721C2.31916 13.4706 1.29423 17.6454 1.00817 19.4376C0.992669 19.5358 0.999288 19.6364 1.02751 19.7315C1.05574 19.8267 1.10481 19.9138 1.17093 19.9862C1.23705 20.0586 1.31844 20.1144 1.40878 20.1491C1.49913 20.1838 1.59601 20.1966 1.69192 20.1865L7.34824 19.5456C7.35215 19.9859 7.37777 20.4257 7.42498 20.8633C7.4545 21.1658 7.58527 21.4482 7.79477 21.6618L9.98487 23.9221C10.1921 24.1384 10.466 24.2734 10.7593 24.3037C11.1808 24.3522 11.6044 24.3786 12.0285 24.3829L11.4082 30.2153C11.3985 30.31.4 11.411 30.414 11.4446 30.507C11.4783 30.6001 11.5323 30.684 11.6023 30.7521C11.6724 30.8202 11.7567 30.8708 11.8487 30.9C11.9408 30.9291 12.0381 30.936 12.1331 30.9202C13.8704 30.6322 17.9241 29.5744 19.4639 25.9396C20.0081 24.6508 20.1198 23.1466 19.9942 21.6417C20.9712 20.9312 21.8861 20.134 22.7285 19.2591C27.4994 14.3627 30.7849 5.51625 29.8709 1.40551ZM18.4878 12.9162C18.0711 12.4862 17.7873 11.9384 17.6723 11.3419C17.5573 10.7455 17.6162 10.1273 17.8417 9.56541C18.0672 9.00356 18.449 8.52333 18.939 8.18546C19.4289 7.84759 20.005 7.66725 20.5942 7.66725C21.1835 7.66725 21.7595 7.84759 22.2494 8.18546C22.7394 8.52333 23.1212 9.00356 23.3467 9.56541C23.5722 10.1273 23.6311 10.7455 23.5161 11.3419C23.4011 11.9384 23.1173 12.4862 22.7006 12.9162C22.4242 13.202 22.0959 13.4288 21.7344 13.5835C21.373 13.7383 20.9855 13.8179 20.5942 13.8179C20.2029 13.8179 19.8154 13.7383 19.454 13.5835C19.0926 13.4288 18.7642 13.202 18.4878 12.9162Z" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
<svg width="32" height="32" viewBox="0 0.34.22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M29.8709 1.40551C29.8591 1.34642 29.8311 1.29205 29.7903 1.24881C29.7495 1.20556 29.6976 1.17524 29.6407 1.16141C25.8466 0.20375 17.082 3.61605 12.3285 8.51812C11.4813 9.38524 10.7088 10.3268 10.0198 11.3321C8.55457 11.1953 7.08939 11.3105 5.84189 11.8721C2.31916 13.4706 1.29423 17.6454 1.00817 19.4376C0.992669 19.5358 0.999288 19.6364 1.02751 19.7315C1.05574 19.8267 1.10481 19.9138 1.17093 19.9862C1.23705 20.0586 1.31844 20.1144 1.40878 20.1491C1.49913 20.1838 1.59601 20.1966 1.69192 20.1865L7.34824 19.5456C7.35215 19.9859 7.37777 20.4257 7.42498 20.8633C7.4545 21.1658 7.58527 21.4482 7.79477 21.6618L9.98487 23.9221C10.1921 24.1384 10.466 24.2734 10.7593 24.3037C11.1808 24.3522 11.6044 24.3786 12.0285 24.3829L11.4082 30.2153C11.3985 30.34.2 11.411 30.414 11.4446 30.507C11.4783 30.6001 11.5323 30.684 11.6023 30.7521C11.6724 30.8202 11.7567 30.8708 11.8487 30.9C11.9408 30.9291 12.0381 30.936 12.1331 30.9202C13.8704 30.6322 17.9241 29.5744 19.4639 25.9396C20.0081 24.6508 20.1198 23.1466 19.9942 21.6417C20.9712 20.9312 21.8861 20.134 22.7285 19.2591C27.4994 14.3627 30.7849 5.51625 29.8709 1.40551ZM18.4878 12.9162C18.0711 12.4862 17.7873 11.9384 17.6723 11.3419C17.5573 10.7455 17.6162 10.1273 17.8417 9.56541C18.0672 9.00356 18.449 8.52333 18.939 8.18546C19.4289 7.84759 20.005 7.66725 20.5942 7.66725C21.1835 7.66725 21.7595 7.84759 22.2494 8.18546C22.7394 8.52333 23.1212 9.00356 23.3467 9.56541C23.5722 10.1273 23.6311 10.7455 23.5161 11.3419C23.4011 11.9384 23.1173 12.4862 22.7006 12.9162C22.4242 13.202 22.0959 13.4288 21.7344 13.5835C21.373 13.7383 20.9855 13.8179 20.5942 13.8179C20.2029 13.8179 19.8154 13.7383 19.454 13.5835C19.0926 13.4288 18.7642 13.202 18.4878 12.9162Z" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
<path d="M5.29982 22.8765C4.60428 22.9646 3.95721 23.29 3.46136 23.801C2.232 25.074 2.11548 29.7889 2.11548 29.7889C2.11548 29.7889 6.68686 29.6687 7.91692 28.3985C8.41409 27.8876 8.72993 27.2187 8.81347 26.4997" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
</svg>
Deploy</a>
@@ -382,11 +382,11 @@
<path d="M349.4,526.666C349.111,527.157,348.412,528.058,348.297,529.367C348.275,529.592,348.093,529.731,348.121,529.384C348.246,528.107,348.805,527.306,349.23,526.61C349.422,526.327,349.513,526.459,349.402,526.667L349.4,526.666Z" fill="#002B64" transform="translate(348.784,528.021) translate(-348.784,-528.021)"/>
<path d="M349.112,526.377C348.782,526.842,347.705,527.923,347.479,529.217C347.439,529.438,347.245,529.564,347.302,529.219C347.535,527.956,348.464,526.962,348.943,526.301C349.159,526.035,349.238,526.174,349.111,526.372L349.112,526.377Z" fill="#002B64" transform="translate(348.232,527.793) translate(-348.232,-527.793)"/>
<path d="M348.823,526.088C348.43,526.504,347.147,527.879,346.743,529.122C346.671,529.335,346.462,529.431,346.567,529.098C346.974,527.879,348.098,526.568,348.667,525.978C348.918,525.745,348.976,525.894,348.823,526.072L348.823,526.088Z" fill="#002B64" transform="translate(347.723,527.587) translate(-347.723,-527.587)"/>
<path d="M336.092,563.3L336.092,570.461L335.188,570.461L335.188,569.233C334.368,570.213,333.434,570.704,332.388,570.704C331.334,570.704,330.444,570.33,329.726,569.584C329.005,568.829,328.647,567.934,328.647,566.899C328.647,565.855,329.012,564.964,329.739,564.237C330.467,563.491,331.341,563.117,332.356,563.117C333.526,563.117,334.474,563.617,335.202,564.615L335.202,563.307L336.106,563.307L336.092,563.3ZM335.257,566.933C335.257,566.114,334.981,565.426,334.433,564.868C333.884,564.301,333.209,564.019,332.409,564.019C331.617,564.019,330.947,564.31,330.398,564.895C329.85,565.472,329.574,566.155,329.574,566.947C329.574,567.739,329.854,568.428,330.412,569.013C330.97,569.589,331.635,569.876,332.409,569.876C333.191,569.876,333.861,569.596,334.419,569.038C334.977,568.48,335.257,567.778,335.257,566.933" fill="#A57242" transform="translate(332.377,566.91) translate(-332.377,-566.91)"/>
<path d="M336.092,563.3L336.092,570.461L335.188,570.461L335.188,569.233C334.368,570.213,333.434,570.704,332.388,570.704C331.334,570.704,330.444,570.34.229.726,569.584C329.005,568.829,328.647,567.934,328.647,566.899C328.647,565.855,329.012,564.964,329.739,564.237C330.467,563.491,331.341,563.117,332.356,563.117C333.526,563.117,334.474,563.617,335.202,564.615L335.202,563.307L336.106,563.307L336.092,563.3ZM335.257,566.933C335.257,566.114,334.981,565.426,334.433,564.868C333.884,564.301,333.209,564.019,332.409,564.019C331.617,564.019,330.947,564.31,330.398,564.895C329.85,565.472,329.574,566.155,329.574,566.947C329.574,567.739,329.854,568.428,330.412,569.013C330.97,569.589,331.635,569.876,332.409,569.876C333.191,569.876,333.861,569.596,334.419,569.038C334.977,568.48,335.257,567.778,335.257,566.933" fill="#A57242" transform="translate(332.377,566.91) translate(-332.377,-566.91)"/>
<path d="M338.213,570.415L338.213,560.73L340.224,560.73C341.601,560.73,342.611,560.833,343.253,561.04C343.901,561.238,344.458,561.556,344.926,561.997C345.395,562.428,345.755,562.958,346.005,563.59C346.258,564.218,346.384,564.957,346.384,565.802C346.384,566.64,346.186,567.429,345.789,568.166C345.401,568.903,344.871,569.46,344.197,569.839C343.531,570.218,342.569,570.406,341.305,570.406L338.207,570.406L338.213,570.415ZM339.138,569.488L340.258,569.488C341.429,569.488,342.273,569.429,342.806,569.312C343.336,569.195,343.8,568.966,344.197,568.624C344.591,568.273,344.894,567.851,345.101,567.355C345.308,566.859,345.411,566.295,345.411,565.654C345.411,565.016,345.289,564.426,345.046,563.887C344.812,563.348,344.474,562.902,344.034,562.551C343.593,562.2,343.072,561.966,342.468,561.849C341.874,561.723,340.997,561.66,339.829,561.66L339.141,561.66L339.141,569.486" fill="#A57242" transform="translate(342.296,565.572) translate(-342.296,-565.572)"/>
<path d="M325.591,561.235C325.591,561.028,325.663,560.847,325.807,560.696C325.96,560.543,326.14,560.466,326.346,560.466C326.562,560.466,326.741,560.543,326.885,560.696C327.038,560.839,327.115,561.019,327.115,561.235C327.115,561.442,327.039,561.623,326.885,561.774C326.742,561.918,326.562,561.99,326.346,561.99C326.139,561.99,325.958,561.914,325.807,561.761C325.663,561.608,325.591,561.433,325.591,561.235L325.591,561.235ZM325.887,563.232L326.819,563.232L326.819,570.392L325.887,570.392L325.887,563.232Z" fill="#A57242" transform="translate(326.353,565.429) translate(-326.353,-565.429)"/>
<path d="M300,570.415L301.377,560.73L301.526,560.73L305.473,568.671L309.375,560.73L309.523,560.73L310.914,570.415L309.957,570.415L309.011,563.484L305.592,570.415L305.348,570.415L301.883,563.415L300.937,570.415L300.006,570.415" fill="#A57242" transform="translate(305.457,565.572) translate(-305.457,-565.572)"/>
<path d="M319.679,563.3L319.679,570.461L318.775,570.461L318.775,569.233C317.956,570.213,317.022,570.704,315.975,570.704C314.922,570.704,314.031,570.33,313.313,569.584C312.592,568.829,312.234,567.934,312.234,566.899C312.234,565.855,312.599,564.964,313.327,564.237C314.054,563.491,314.929,563.117,315.943,563.117C317.114,563.117,318.061,563.617,318.789,564.615L318.789,563.307L319.693,563.307L319.679,563.3ZM318.844,566.933C318.844,566.114,318.569,565.426,318.02,564.868C317.472,564.301,316.797,564.019,315.996,564.019C315.204,564.019,314.534,564.31,313.985,564.895C313.437,565.472,313.162,566.155,313.162,566.947C313.162,567.739,313.442,568.428,313.999,569.013C314.557,569.589,315.222,569.876,315.996,569.876C316.779,569.876,317.449,569.596,318.006,569.038C318.564,568.48,318.842,567.778,318.844,566.933" fill="#A57242" transform="translate(315.963,566.91) translate(-315.963,-566.91)"/>
<path d="M319.679,563.3L319.679,570.461L318.775,570.461L318.775,569.233C317.956,570.213,317.022,570.704,315.975,570.704C314.922,570.704,314.031,570.34.213.313,569.584C312.592,568.829,312.234,567.934,312.234,566.899C312.234,565.855,312.599,564.964,313.327,564.237C314.054,563.491,314.929,563.117,315.943,563.117C317.114,563.117,318.061,563.617,318.789,564.615L318.789,563.307L319.693,563.307L319.679,563.3ZM318.844,566.933C318.844,566.114,318.569,565.426,318.02,564.868C317.472,564.301,316.797,564.019,315.996,564.019C315.204,564.019,314.534,564.31,313.985,564.895C313.437,565.472,313.162,566.155,313.162,566.947C313.162,567.739,313.442,568.428,313.999,569.013C314.557,569.589,315.222,569.876,315.996,569.876C316.779,569.876,317.449,569.596,318.006,569.038C318.564,568.48,318.842,567.778,318.844,566.933" fill="#A57242" transform="translate(315.963,566.91) translate(-315.963,-566.91)"/>
<path d="M321.342,563.3L322.287,563.3L322.287,564.34C322.54,563.918,322.783,563.608,323.015,563.408C323.258,563.21,323.522,563.112,323.811,563.112C324.107,563.112,324.406,563.193,324.702,563.355L324.215,564.138C324.08,564.057,323.94,564.017,323.797,564.017C323.517,564.017,323.254,564.161,323.001,564.448C322.758,564.735,322.579,565.109,322.462,565.568C322.345,566.018,322.286,566.842,322.286,568.047L322.286,570.479L321.341,570.479L321.341,563.319" fill="#A57242" transform="translate(323.022,566.795) translate(-323.022,-566.795)"/>
<path d="M348.198,560.776L350.114,560.776C351.131,560.776,351.9,560.983,352.432,561.396C352.962,561.799,353.228,562.385,353.228,563.149C353.228,563.571,353.121,563.964,352.905,564.322C352.698,564.673,352.393,564.955,351.987,565.171C352.652,565.387,353.157,565.71,353.497,566.142C353.848,566.573,354.023,567.087,354.023,567.679C354.023,568.48,353.731,569.146,353.146,569.676C352.561,570.197,351.806,570.459,350.878,570.459L348.216,570.459L348.216,560.774L348.198,560.776ZM349.173,561.719L349.173,564.817L349.726,564.817C350.571,564.817,351.202,564.682,351.615,564.413C352.028,564.143,352.235,563.72,352.235,563.144C352.235,562.192,351.588,561.715,350.291,561.715L349.171,561.715L349.173,561.719ZM349.171,565.8L349.171,569.518L350.371,569.518C351.064,569.518,351.571,569.45,351.895,569.315C352.228,569.171,352.499,568.955,352.705,568.668C352.912,568.372,353.015,568.069,353.015,567.764C353.015,567.459,352.956,567.188,352.84,566.954C352.723,566.72,352.548,566.513,352.314,566.334C352.089,566.154,351.814,566.02,351.49,565.93C351.176,565.84,350.581,565.795,349.709,565.795L349.17,565.795" fill="#A57242" transform="translate(351.111,565.617) translate(-351.111,-565.617)"/>
</g>
@@ -402,7 +402,7 @@
<ellipse fill="white" rx="51.2566" ry="51.2566" transform="translate(461.257,119.257)"/>
<path d="M475.312,132.542C475.678,129.494,475.568,129.047,477.839,129.541L478.415,129.591C480.161,129.671,482.445,129.311,483.786,128.687C486.675,127.347,488.387,125.109,485.539,125.697C479.043,127.038,478.596,124.838,478.596,124.838C485.456,114.66,488.324,101.74,485.849,98.5769C479.097,89.9505,467.411,94.0298,467.216,94.1357L467.154,94.1472C465.87,93.8808,464.434,93.7217,462.82,93.6956C459.88,93.6473,457.649,94.4663,455.957,95.7498C455.957,95.7498,435.11,87.1609,436.08,106.551C436.286,110.676,441.992,137.763,448.798,129.582C451.285,126.59,453.689,124.06,453.689,124.06C454.883,124.853,456.312,125.258,457.811,125.112L457.927,125.014C457.891,125.385,457.907,125.748,457.973,126.179C456.22,128.138,456.735,128.481,453.23,129.203C449.684,129.934,451.767,131.235,453.127,131.575C454.776,131.988,458.591,132.572,461.17,128.963L461.067,129.375C461.755,129.925,461.708,133.33,461.806,135.762C461.904,138.195,462.066,140.465,462.562,141.803C463.058,143.141,463.643,146.588,468.25,145.601C472.1,144.776,475.044,143.588,475.312,132.542" fill="black" transform="translate(461.523,119.428) translate(-461.523,-119.428)"/>
<path d="M475.312,132.542C475.678,129.494,475.568,129.047,477.839,129.541L478.415,129.591C480.161,129.671,482.445,129.311,483.786,128.687C486.675,127.347,488.387,125.109,485.539,125.697C479.043,127.038,478.596,124.838,478.596,124.838C485.456,114.66,488.324,101.74,485.849,98.5769C479.097,89.9505,467.411,94.0298,467.216,94.1357L467.154,94.1472C465.87,93.8808,464.434,93.7217,462.82,93.6956C459.88,93.6473,457.649,94.4663,455.957,95.7498C455.957,95.7498,435.11,87.1609,436.08,106.551C436.286,110.676,441.992,137.763,448.798,129.582C451.285,126.59,453.689,124.06,453.689,124.06C454.883,124.853,456.312,125.258,457.811,125.112L457.927,125.014C457.891,125.385,457.907,125.748,457.973,126.179C456.22,128.138,456.735,128.481,453.23,129.203C449.684,129.934,451.767,131.235,453.127,131.575C454.776,131.988,458.591,132.572,461.17,128.963L461.067,129.375C461.755,129.925,461.708,133.33,461.806,135.762C461.904,138.195,462.066,140.465,462.562,141.803C463.058,143.141,463.643,146.588,468.25,145.601C472.1,144.776,475.044,143.588,475.312,132.542" stroke="black" stroke-width="5.4" transform="translate(461.523,119.428) translate(-461.523,-119.428)"/>
<path d="M485.539,125.697C479.042,127.037,478.596,124.838,478.596,124.838C485.455,114.659,488.323,101.738,485.848,98.5761C479.097,89.9502,467.411,94.0297,467.216,94.1356L467.153,94.1469C465.869,93.8804,464.433,93.7217,462.818,93.6953C459.878,93.6471,457.648,94.466,455.956,95.7492C455.956,95.7492,435.109,87.1608,436.078,106.551C436.284,110.676,441.991,137.763,448.797,129.581C451.284,126.59,453.688,124.06,453.688,124.06C454.882,124.853,456.311,125.258,457.809,125.112L457.925,125.014C457.889,125.385,457.906,125.748,457.972,126.178C456.219,128.137,456.734,128.481,453.229,129.203C449.682,129.934,451.766,131.235,453.126,131.575C454.775,131.988,458.59,132.572,461.168,128.963L461.065,129.375C461.752,129.925,462.235,132.954,462.154,135.7C462.073,138.445,462.019,140.33,462.561,141.803C463.102,143.275,463.641,146.588,468.249,145.601C472.099,144.776,474.094,142.638,474.372,139.071C474.569,136.536,475.014,136.911,475.043,134.644L475.4,133.571C475.812,130.133,475.466,129.025,477.838,129.54L478.414,129.591C480.16,129.67,482.445,129.31,483.786,128.687C486.674,127.347,488.386,125.109,485.539,125.697L485.539,125.697Z" fill="#336791" transform="translate(461.522,119.431) translate(-461.522,-119.431)"/>
<path d="M485.539,125.697C479.042,127.037,478.596,124.838,478.596,124.838C485.455,114.659,488.323,101.738,485.848,98.5761C479.097,89.9502,467.411,94.0297,467.216,94.1356L467.153,94.1469C465.869,93.8804,464.433,93.7217,462.818,93.6953C459.878,93.6471,457.648,94.466,455.956,95.7492C455.956,95.7492,435.109,87.1608,436.078,106.551C436.284,110.676,441.991,137.763,448.797,129.581C451.284,126.59,453.688,124.06,453.688,124.06C454.882,124.853,456.311,125.258,457.809,125.112L457.925,125.014C457.889,125.385,457.906,125.748,457.972,126.178C456.219,128.137,456.734,128.481,453.229,129.203C449.682,129.934,451.766,131.235,453.126,131.575C454.775,131.988,458.59,132.572,461.168,128.963L461.065,129.375C461.752,129.925,462.235,132.954,462.154,135.7C462.073,138.445,462.019,140.34.262.561,141.803C463.102,143.275,463.641,146.588,468.249,145.601C472.099,144.776,474.094,142.638,474.372,139.071C474.569,136.536,475.014,136.911,475.043,134.644L475.4,133.571C475.812,130.133,475.466,129.025,477.838,129.54L478.414,129.591C480.16,129.67,482.445,129.31,483.786,128.687C486.674,127.347,488.386,125.109,485.539,125.697L485.539,125.697Z" fill="#336791" transform="translate(461.522,119.431) translate(-461.522,-119.431)"/>
<path d="M461.448,127.667C461.269,134.063,461.493,140.503,462.119,142.068C462.745,143.633,464.085,146.677,468.693,145.69C472.543,144.865,473.944,143.268,474.551,139.742C474.999,137.149,475.862,129.945,475.973,128.469" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" transform="translate(468.681,136.775) translate(-468.681,-136.775)"/>
<path d="M455.925,95.6064C455.925,95.6064,435.063,87.0798,436.033,106.47C436.239,110.595,441.946,137.683,448.752,129.501C451.239,126.509,453.488,124.162,453.488,124.162" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" transform="translate(445.963,112.386) translate(-445.963,-112.386)"/>
<path d="M467.194,94.0502C466.472,94.2766,478.799,89.5439,485.804,98.4954C488.279,101.658,485.411,114.578,478.551,124.757" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" transform="translate(476.923,108.879) translate(-476.923,-108.879)"/>
@@ -418,7 +418,7 @@
<g id="mysql" data-bs-toggle="svg-tooltip" data-bs-placement="bottom" title="MySQL" filter="url(#filter9_d_55_77)" transform="translate(79.2566,394.257) translate(-79.2566,-394.257)" style="animation: 30s linear infinite both mysql_t;">
<ellipse fill="white" rx="51.2566" ry="51.2566" transform="translate(79.2566,394.257)"/>
<path d="M39,411.45L41.6356,411.45L41.6356,401.092L45.7157,410.121C46.1971,411.214,46.8562,411.601,48.1485,411.601C49.4411,411.601,50.0746,411.214,50.5563,410.121L54.6364,401.092L54.6364,411.449L57.272,411.449L57.272,401.109C57.272,400.1,56.8664,399.612,56.0303,399.36C54.0283,398.738,52.685,399.276,52.0767,400.621L48.0726,409.533L44.1953,400.621C43.6124,399.276,42.2439,398.738,40.2419,399.36C39.4055,399.612,39,400.1,39,401.109L39,411.45L39,411.45ZM59.4635,403.019L62.0983,403.019L62.0983,408.725C62.0736,409.035,62.1982,409.763,63.642,409.785C64.3786,409.797,69.327,409.785,69.3732,409.785L69.3732,402.991L72.0141,402.991C72.0263,402.991,72.0115,412.257,72.0117,412.296C72.026,414.581,69.1626,415.078,67.8428,415.116L59.5205,415.116L59.5205,413.351C59.5353,413.351,67.8366,413.353,67.8575,413.351C69.5538,413.173,69.3535,412.334,69.3533,412.051L69.3533,411.363L63.7512,411.363C61.1447,411.339,59.4852,410.207,59.4647,408.905C59.4626,408.785,59.5209,403.076,59.4633,403.019L59.4635,403.019Z" fill="#00618A" transform="translate(55.5095,407.109) translate(-55.5095,-407.109)"/>
<path d="M74.0451,411.45L81.6224,411.45C82.5094,411.45,83.371,411.265,84.0554,410.945C85.1957,410.424,85.7533,409.718,85.7533,408.793L85.7533,406.876C85.7533,406.12,85.1198,405.413,83.8779,404.943C83.2189,404.69,82.408,404.556,81.6224,404.556L78.4289,404.556C77.365,404.556,76.8581,404.236,76.7314,403.53C76.706,403.446,76.706,403.379,76.706,403.295L76.706,402.101C76.706,402.034,76.706,401.966,76.7314,401.882C76.8581,401.344,77.137,401.193,78.0745,401.109C78.1504,401.109,78.2518,401.092,78.328,401.092L85.8547,401.092L85.8547,399.344L78.4546,399.344C77.3902,399.344,76.8326,399.411,76.3259,399.562C74.7546,400.05,74.0704,400.823,74.0704,402.168L74.0704,403.698C74.0704,404.875,75.4136,405.884,77.6689,406.12C77.9226,406.136,78.1759,406.153,78.4291,406.153L81.1661,406.153C81.2677,406.153,81.3691,406.153,81.445,406.17C82.2814,406.237,82.636,406.389,82.8897,406.691C83.0416,406.842,83.0922,406.994,83.0922,407.162L83.0922,408.692C83.0922,408.877,82.9656,409.113,82.7124,409.314C82.4841,409.516,82.104,409.651,81.5971,409.684C81.4957,409.684,81.4198,409.701,81.3184,409.701L74.0449,409.701L74.0449,411.449L74.0451,411.45ZM102.195,408.406C102.195,410.205,103.538,411.214,106.25,411.416C106.503,411.433,106.757,411.45,107.01,411.45L113.878,411.45L113.878,409.701L106.959,409.701C105.413,409.701,104.831,409.314,104.831,408.39L104.831,399.343L102.195,399.343L102.195,408.406ZM87.4354,408.498L87.4354,402.264C87.4354,400.68,88.5529,399.719,90.762,399.416C90.9976,399.383,91.2352,399.366,91.4732,399.366L96.476,399.366C96.7298,399.366,96.9587,399.383,97.2126,399.416C99.4219,399.719,100.539,400.68,100.539,402.264L100.539,408.498C100.539,409.783,100.065,410.47,98.971,410.919L101.567,413.251L98.507,413.251L96.4066,411.364L94.2921,411.497L91.4732,411.497C90.9907,411.497,90.4829,411.43,89.9241,411.278C88.2481,410.823,87.4354,409.947,87.4354,408.498L87.4354,408.498ZM90.28,408.346C90.28,408.431,90.31.0,408.515,90.3309,408.616C90.4831,409.341,91.1688,409.745,92.21,409.745L94.6044,409.745L92.4049,407.769L95.465,407.769L97.3835,409.492C97.7369,409.305,97.9697,409.018,98.0509,408.65C98.0762,408.566,98.0762,408.481,98.0762,408.397L98.0762,402.416C98.0762,402.348,98.0762,402.264,98.0509,402.18C97.8984,401.506,97.2128,401.118,96.1971,401.118L92.21,401.118C91.042,401.118,90.2802,401.624,90.2802,402.416L90.2802,408.346L90.28,408.346Z" fill="#E48E00" transform="translate(93.9614,406.297) translate(-93.9614,-406.297)"/>
<path d="M74.0451,411.45L81.6224,411.45C82.5094,411.45,83.371,411.265,84.0554,410.945C85.1957,410.424,85.7533,409.718,85.7533,408.793L85.7533,406.876C85.7533,406.12,85.1198,405.413,83.8779,404.943C83.2189,404.69,82.408,404.556,81.6224,404.556L78.4289,404.556C77.365,404.556,76.8581,404.236,76.7314,403.53C76.706,403.446,76.706,403.379,76.706,403.295L76.706,402.101C76.706,402.034,76.706,401.966,76.7314,401.882C76.8581,401.344,77.137,401.193,78.0745,401.109C78.1504,401.109,78.2518,401.092,78.328,401.092L85.8547,401.092L85.8547,399.344L78.4546,399.344C77.3902,399.344,76.8326,399.411,76.3259,399.562C74.7546,400.05,74.0704,400.823,74.0704,402.168L74.0704,403.698C74.0704,404.875,75.4136,405.884,77.6689,406.12C77.9226,406.136,78.1759,406.153,78.4291,406.153L81.1661,406.153C81.2677,406.153,81.3691,406.153,81.445,406.17C82.2814,406.237,82.636,406.389,82.8897,406.691C83.0416,406.842,83.0922,406.994,83.0922,407.162L83.0922,408.692C83.0922,408.877,82.9656,409.113,82.7124,409.314C82.4841,409.516,82.104,409.651,81.5971,409.684C81.4957,409.684,81.4198,409.701,81.3184,409.701L74.0449,409.701L74.0449,411.449L74.0451,411.45ZM102.195,408.406C102.195,410.205,103.538,411.214,106.25,411.416C106.503,411.433,106.757,411.45,107.01,411.45L113.878,411.45L113.878,409.701L106.959,409.701C105.413,409.701,104.831,409.314,104.831,408.39L104.831,399.343L102.195,399.343L102.195,408.406ZM87.4354,408.498L87.4354,402.264C87.4354,400.68,88.5529,399.719,90.762,399.416C90.9976,399.383,91.2352,399.366,91.4732,399.366L96.476,399.366C96.7298,399.366,96.9587,399.383,97.2126,399.416C99.4219,399.719,100.539,400.68,100.539,402.264L100.539,408.498C100.539,409.783,100.065,410.47,98.971,410.919L101.567,413.251L98.507,413.251L96.4066,411.364L94.2921,411.497L91.4732,411.497C90.9907,411.497,90.4829,411.43,89.9241,411.278C88.2481,410.823,87.4354,409.947,87.4354,408.498L87.4354,408.498ZM90.28,408.346C90.28,408.431,90.31.0,408.515,90.34.2,408.616C90.4831,409.341,91.1688,409.745,92.21,409.745L94.6044,409.745L92.4049,407.769L95.465,407.769L97.3835,409.492C97.7369,409.305,97.9697,409.018,98.0509,408.65C98.0762,408.566,98.0762,408.481,98.0762,408.397L98.0762,402.416C98.0762,402.348,98.0762,402.264,98.0509,402.18C97.8984,401.506,97.2128,401.118,96.1971,401.118L92.21,401.118C91.042,401.118,90.2802,401.624,90.2802,402.416L90.2802,408.346L90.28,408.346Z" fill="#E48E00" transform="translate(93.9614,406.297) translate(-93.9614,-406.297)"/>
<path d="M116.197,396.443C114.577,396.399,113.339,396.549,112.281,396.993C111.981,397.119,111.501,397.122,111.452,397.497C111.617,397.67,111.643,397.927,111.774,398.139C112.027,398.546,112.453,399.091,112.834,399.377C113.25,399.69,113.678,400.024,114.124,400.294C114.917,400.775,115.802,401.05,116.565,401.532C117.015,401.816,117.462,402.174,117.901,402.495C118.118,402.653,118.264,402.9,118.546,402.999L118.546,402.953C118.398,402.765,118.36,402.507,118.224,402.311L117.625,401.715C117.039,400.942,116.296,400.262,115.506,399.698C114.876,399.248,113.465,398.64,113.203,397.91L113.156,397.864C113.603,397.814,114.126,397.653,114.539,397.543C115.231,397.358,115.85,397.406,116.565,397.222C116.888,397.131,117.21,397.039,117.533,396.947L117.533,396.764C117.171,396.395,116.914,395.906,116.519,395.572C115.488,394.698,114.362,393.824,113.203,393.096C112.56,392.692,111.765,392.43,111.083,392.087C110.854,391.972,110.451,391.913,110.3,391.721C109.942,391.266,109.747,390.691,109.471,390.162C108.893,389.054,108.325,387.843,107.813,386.677C107.463,385.882,107.235,385.098,106.799,384.385C104.707,380.962,102.456,378.897,98.9679,376.866C98.2258,376.434,97.3322,376.264,96.3879,376.041L94.8677,375.949C94.5584,375.82,94.2366,375.444,93.9462,375.261C92.7908,374.535,89.8272,372.955,88.9714,375.032C88.431,376.344,89.779,377.623,90.2611,378.288C90.5995,378.754,91.0327,379.276,91.2745,379.8C91.4336,380.145,91.4611,380.49,91.5971,380.855C91.9321,381.753,92.2231,382.73,92.6565,383.56C92.8755,383.98,93.1169,384.422,93.3937,384.798C93.5635,385.028,93.8543,385.13,93.9003,385.485C93.6158,385.882,93.5996,386.496,93.4397,386.998C92.7198,389.258,92.9913,392.066,94.0386,393.738C94.36,394.251,95.1169,395.352,96.1576,394.93C97.0681,394.561,96.8647,393.417,97.1251,392.408C97.184,392.18,97.1477,392.011,97.2632,391.858L97.2632,391.904L98.0924,393.554C98.706,394.538,99.7954,395.566,100.718,396.26C101.197,396.619,101.574,397.241,102.193,397.451L102.193,397.406L102.146,397.406C102.027,397.22,101.839,397.142,101.686,396.993C101.325,396.641,100.924,396.204,100.626,395.801C99.7868,394.667,99.0449,393.426,98.369,392.133C98.0462,391.516,97.7656,390.836,97.4935,390.208C97.3886,389.966,97.3899,389.6,97.1713,389.474C96.8733,389.934,96.4343,390.306,96.2038,390.85C95.8352,391.718,95.7876,392.777,95.6511,393.875C95.5703,393.904,95.606,393.884,95.5588,393.921C94.9172,393.767,94.6916,393.11,94.4534,392.546C93.85,391.12,93.7381,388.823,94.2687,387.182C94.4062,386.757,95.0268,385.419,94.7756,385.027C94.6557,384.636,94.26,384.409,94.0386,384.11C93.7646,383.74,93.491,383.253,93.3014,382.826C92.8078,381.714,92.5773,380.466,92.0577,379.342C91.8093,378.805,91.3892,378.261,91.0442,377.783C90.6623,377.254,90.2346,376.864,89.9386,376.224C89.8333,375.997,89.6903,375.633,89.8463,375.399C89.8961,375.241,89.9661,375.175,90.1229,375.124C90.3901,374.919,91.1343,375.192,91.4126,375.307C92.1515,375.613,92.768,375.904,93.3937,376.316C93.6942,376.514,93.998,376.898,94.361,377.004L94.7756,377.004C95.4241,377.152,96.1507,377.05,96.7565,377.233C97.8274,377.557,98.7871,378.061,99.6585,378.608C102.314,380.277,104.485,382.652,105.97,385.485C106.209,385.942,106.312,386.377,106.523,386.861C106.947,387.837,107.482,388.841,107.905,389.795C108.326,390.747,108.737,391.708,109.333,392.5C109.646,392.917,110.856,393.14,111.406,393.371C111.791,393.533,112.423,393.702,112.788,393.921C113.485,394.34,114.161,394.838,114.815,395.297C115.142,395.526,116.147,396.029,116.197,396.443L116.197,396.443Z" fill="#00618A" transform="translate(103.696,388.499) translate(-103.696,-388.499)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M95.6047,378.975C95.2669,378.969,95.028,379.012,94.7754,379.067L94.7754,379.113L94.8216,379.113C94.9827,379.442,95.2669,379.654,95.4664,379.938C95.6199,380.259,95.7735,380.58,95.9272,380.901L95.9731,380.855C96.2584,380.655,96.3891,380.335,96.3877,379.846C96.2734,379.727,96.2564,379.576,96.1574,379.434C96.0257,379.243,95.7708,379.135,95.6047,378.975L95.6047,378.975Z" fill="#00618A" transform="translate(95.5816,379.938) translate(-95.5816,-379.938)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M115.115,409.651C115.115,410.806,116.032,411.584,117.058,411.584C118.083,411.584,119,410.806,119,409.651C119,408.497,118.083,407.718,117.058,407.718C116.032,407.718,115.115,408.497,115.115,409.651L115.115,409.651ZM118.565,409.651C118.565,410.527,117.892,411.182,117.058,411.182C116.214,411.182,115.551,410.527,115.551,409.651C115.551,408.775,116.213,408.12,117.058,408.12C117.892,408.12,118.565,408.775,118.565,409.651ZM117.581,410.754L118.016,410.754L117.379,409.785C117.721,409.749,117.98,409.584,117.98,409.182C117.98,408.734,117.695,408.548,117.146,408.548L116.281,408.548L116.281,410.754L116.654,410.754L116.654,409.801L117.001,409.801L117.581,410.754L117.581,410.754ZM116.654,409.491L116.654,408.857L117.084,408.857C117.307,408.857,117.576,408.899,117.576,409.156C117.576,409.466,117.332,409.491,117.052,409.491L116.654,409.491L116.654,409.491Z" fill="#E48E00" transform="translate(117.058,409.651) translate(-117.058,-409.651)"/>

View File

@@ -49,110 +49,6 @@ The nginx server can be stopped via `nginx:stop`.
dokku nginx:stop
```
### Binding to specific addresses
> [!IMPORTANT]
> New as of 0.19.2
> [!NOTE]
> Changing this value globally or on a per-app basis will require rebuilding the nginx config via the `proxy:build-config` command.
By default, nginx will listen to all interfaces (`[::]` for IPv6, `0.0.0.0` for IPv4) when proxying requests to applications. This may be changed using the `bind-address-ipv4` and `bind-address-ipv6` properties. This is useful in cases where the proxying should be internal to a network or if there are multiple network interfaces that should respond with different content.
```shell
dokku nginx:set node-js-app bind-address-ipv4 127.0.0.1
dokku nginx:set node-js-app bind-address-ipv6 ::1
```
This may be reverted by setting an empty bind address.
```shell
dokku nginx:set node-js-app bind-address-ipv4
dokku nginx:set node-js-app bind-address-ipv6
```
> [!WARNING]
> Validation is not performed on either value.
Users with apps that contain a custom `nginx.conf.sigil` file will need to modify the files to respect the new `NGINX_BIND_ADDRESS_IPV4` and `NGINX_BIND_ADDRESS_IPV6` variables.
### HSTS Header
> [!IMPORTANT]
> New as of 0.20.0
> [!NOTE]
> Changing this value globally or on a per-app basis will require rebuilding the nginx config via the `proxy:build-config` command.
If SSL certificates are present, HSTS will be automatically enabled. It can be toggled via `nginx:set`:
```shell
dokku nginx:set node-js-app hsts true
dokku nginx:set node-js-app hsts false
```
The following options are also available via the `nginx:set` command:
- `hsts` (type: boolean, default: `true`): Enables or disables HSTS for your application.
- `hsts-include-subdomains` (type: boolean, default: `true`): Tells the browser that the HSTS policy also applies to all subdomains of the current domain.
- `hsts-max-age` (type: integer, default: `15724800`): Time in seconds to cache HSTS configuration.
- `hsts-preload` (type: boolean, default: `false`): Tells most major web browsers to include the domain in their HSTS preload lists.
Beware that if you enable the header and a subsequent deploy of your application results in an HTTP deploy (for whatever reason), the way the header works means that a browser will not attempt to request the HTTP version of your site if the HTTPS version fails until the max-age is reached.
#### Globally disabling the HSTS Header
> [!NOTE]
> Changing this value globally or on a per-app basis will require rebuilding the nginx config via the `proxy:build-config` command.
HSTS Header can be disabled for all apps by setting the `hsts` property to false after passing the `--global` flag to `nginx:set`.
```shell
dokku nginx:set --global hsts false
```
Once the HSTS setting is disabled globally, it can be re-enabled on a per-app basis by setting the `hsts` property as normal.
```shell
dokku nginx:set node-js-app hsts true
```
### Running behind another proxy — configuring `X-Forwarded-*` headers
Dokku's default Nginx configuration passes the de-facto standard HTTP headers [`X-Forwarded-For`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For), [`X-Forwarded-Proto`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto), and `X-Forwarded-Port` to your application.
These headers indicate the IP address of the original client making the request, the protocol of the original request (HTTP or HTTPS), and the port number of the original request, respectively.
If you have another HTTP proxy sitting in between the end user and your server (for example, a load balancer, or a CDN), then the values of these headers will contain information about (e.g. the IP address of) the the closest proxy, and not the end user.
To fix this, assuming that the other proxy also passes `X-Forwarded-*` headers, which in turn contain information about the end user, you can tell Nginx include those values in the `X-Forwarded-*` headers that it sends to your application. You can do this via `nginx:set`, like so:
```shell
dokku nginx:set node-js-app x-forwarded-for-value '$http_x_forwarded_for'
dokku nginx:set node-js-app x-forwarded-port-value '$http_x_forwarded_port'
dokku nginx:set node-js-app x-forwarded-proto-value '$http_x_forwarded_proto'
```
However, note that you should only do this if:
1. Requests to your website always go through a trusted proxy.
2. That proxy is configured to send the aforementioned `X-Forwarded-*` headers.
Otherwise, if it's possible for clients to make HTTP requests directly against your server, bypassing the other proxy, or if the other proxy is not configured to set these headers, then a client can basically pass any arbitrary values for these headers (which your app then presumably reads) and thereby fake an IP address, for example.
There's also the `X-Forwarded-Ssl` header which a less common alternative to `X-Forwarded-Proto` — and because of that, isn't included in Dokku's default Nginx configuration.
But you can tell Nginx to send this header as well, if necessary.
```shell
# force-setting value to `on`
dokku nginx:set node-js-app x-forwarded-ssl on
# force-setting value to `off`
dokku nginx:set node-js-app x-forwarded-ssl off
# removing the value from nginx.conf (default)
dokku nginx:set node-js-app x-forwarded-ssl
```
### Checking access logs
> [!NOTE]
@@ -184,130 +80,6 @@ You may also follow the logs by specifying the `-t` flag.
dokku nginx:error-logs node-js-app -t
```
### Changing log path
> [!IMPORTANT]
> New as of 0.20.1
> [!NOTE]
> Changing this value globally or on a per-app basis will require rebuilding the nginx config via the `proxy:build-config` command.
The path to where log files are stored can be changed by calling the `nginx:set` command with the following options:
- `access-log-path` (type: string, default: `${NGINX_LOG_ROOT}/${APP}-access.log`): Log path for nginx access logs
- `error-log-path` (type: string, default: `${NGINX_LOG_ROOT}/${APP}-error.log`): Log path for nginx error logs
The defaults should not be changed without verifying that the paths will be writeable by nginx. However, this setting is useful for enabling or disabling logging by setting the values to `off`.
```shell
dokku nginx:set node-js-app access-log-path off
dokku nginx:set node-js-app error-log-path off
```
The default value may be set by passing an empty value for the option:
```shell
dokku nginx:set node-js-app access-log-path
dokku nginx:set node-js-app error-log-path
```
In all cases, the nginx config must be regenerated after setting the above values.
### Changing log format
> [!IMPORTANT]
> New as of 0.22.0
> [!NOTE]
> Changing this value globally or on a per-app basis will require rebuilding the nginx config via the `proxy:build-config` command.
The format of the access log can be changed by calling the `nginx:set` command as follows:
```shell
dokku nginx:set node-js-app access-log-format custom-format
```
Prior to changing the log-format, log formats should be specified at a file such as `/etc/nginx/conf.d/00-log-formats.conf`. This will ensure they are available within your app's nginx context. For instance, the following may be added to the above file. It only needs to be specified once to be used for all apps.
```nginx
# /etc/nginx/conf.d/00-log-formats.conf
# escape=json was added in nginx 1.11.8
log_format json_combined escape=json
'{'
'"time_local":"$time_local",'
'"remote_addr":"$remote_addr",'
'"remote_user":"$remote_user",'
'"request":"$request",'
'"status":"$status",'
'"body_bytes_sent":"$body_bytes_sent",'
'"request_time":"$request_time",'
'"http_referrer":"$http_referer",'
'"http_user_agent":"$http_user_agent"'
'}';
```
Next, the format should be set for the given app.
```shell
dokku nginx:set node-js-app access-log-format json_combined
```
Finally, a proxy rebuild will change the format as desired.
```shell
dokku proxy:build-config node-js-app
```
### Specifying a read timeout
> [!IMPORTANT]
> New as of 0.21.0
> [!NOTE]
> Changing this value globally or on a per-app basis will require rebuilding the nginx config via the `proxy:build-config` command.
When proxying requests to your applications, it may be useful to specify a proxy read timeout. This can be done via the `nginx:set` command as follows:
```shell
dokku nginx:set node-js-app proxy-read-timeout 120s
```
The default value is `60s`, and all numeric values _must_ have a trailing time value specified (`s` for seconds, `m` for minutes).
The default value may be set by passing an empty value for the option:
```shell
dokku nginx:set node-js-app proxy-read-timeout
```
In all cases, the nginx config must be regenerated after setting the above value.
### Specifying a custom client_max_body_size
> [!IMPORTANT]
> New as of 0.23.0
> [!NOTE]
> Changing this value globally or on a per-app basis will require rebuilding the nginx config via the `proxy:build-config` command.
Users can override the default `client_max_body_size` value - which limits file uploads - via `nginx:set`. Changing this value will only apply to every `server` stanza of the default `nginx.conf.sigil`; users of custom `nginx.conf.sigil` files must update their templates to support the new value.
```shell
dokku nginx:set node-js-app client-max-body-size 50m
```
The default value is empty string, which will result in nginx falling back to any configured, higher-level defaults (or `1m` if unconfigued; all numerical values _must_ have a size unit specified (`k` for kilobytes, `m` for megabytes).
The default value may be set by passing an empty value for the option:
```shell
dokku nginx:set node-js-app client-max-body-size
```
In all cases, the nginx config must be regenerated after setting the above value.
Changing this value when using the PHP buildpack (or any other buildpack that uses an intermediary server) will require changing the value in the server config shipped with that buildpack. Consult your buildpack documentation for further details.
### Showing the nginx config
For debugging purposes, it may be useful to show the nginx config. This can be achieved via the `nginx:show-config` command.
@@ -341,6 +113,65 @@ The `--clean` flag may also be specified for a given app:
dokku nginx:validate-config node-js-app --clean
```
### Custom Error Pages
By default, Dokku provides custom error pages for the following three categories of errors:
- 4xx: For all non-404 errors with a 4xx response code.
- 404: For "404 Not Found" errors.
- 5xx: For all 5xx error responses
These are provided as an alternative to the generic Nginx error page, are shared for _all_ applications, and their contents are located on disk at `/var/lib/dokku/data/nginx-vhosts/dokku-errors`. To customize them for a specific app, create a custom `nginx.conf.sigil` as described above and change the paths to point elsewhere.
### Default site
By default, Dokku will route any received request with an unknown HOST header value to the lexicographically first site in the nginx config stack. This means that accessing the dokku server via its IP address or a bogus domain name may return a seemingly random website.
> [!WARNING]
> Some versions of Nginx may create a default site when installed. This site is simply a static page which says "Welcome to Nginx", and if this default site is enabled, Nginx will not route any requests with an unknown HOST header to Dokku. If you want Dokku to receive all requests, run the following commands:
>
> ```
> rm /etc/nginx/sites-enabled/default
> dokku nginx:stop
> dokku nginx:start
> ```
If services should only be accessed via their domain name, you may want to disable the default site by adding the following configuration to the global nginx configuration.
Create the file at `/etc/nginx/conf.d/00-default-vhost.conf`:
```nginx
server {
listen 80 default_server;
listen [::]:80 default_server;
# If services hosted by dokku are available via HTTPS, it is recommended
# to also uncomment the following section.
#
# Please note that in order to let this work, you need an SSL certificate. However
# it does not need to be valid. Users of Debian-based distributions can install the
# `ssl-cert` package with `sudo apt install ssl-cert` to automatically generate
# a self-signed certificate that is stored at `/etc/ssl/certs/ssl-cert-snakeoil.pem`.
#
#listen 443 ssl;
#listen [::]:443 ssl;
#ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
#ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
server_name _;
access_log off;
return 444;
}
```
Make sure to reload nginx after creating this file by running `systemctl reload nginx.service`.
This will catch all unknown HOST header values and close the connection without responding. You can replace the `return 444;` with `return 410;` which will cause nginx to respond with an error page.
The configuration file must be loaded before `/etc/nginx/conf.d/dokku.conf`, so it can not be arranged as a vhost in `/etc/nginx/sites-enabled` that is only processed afterwards.
Alternatively, you may push an app to your Dokku host with a name like "00-default". As long as it lists first in `ls /home/dokku/*/nginx.conf | head`, it will be used as the default nginx vhost.
### Customizing the nginx configuration
> [!IMPORTANT]
@@ -445,64 +276,189 @@ location / {
Please adjust the `Procfile` and `nginx.conf` file as appropriate.
### Custom Error Pages
### Setting Properties for the nginx config
By default, Dokku provides custom error pages for the following three categories of errors:
The nginx plugin exposes a variety of properties configurable via the `nginx:set` command. The properties are used to configure the generated `nginx.conf` file from the `nginx.conf.sigil` template. The value precedence is app-specific, then global, and finally the Dokku default.
- 4xx: For all non-404 errors with a 4xx response code.
- 404: For "404 Not Found" errors.
- 5xx: For all 5xx error responses
The nginx:set command takes an app name or the `--global` flag.
These are provided as an alternative to the generic Nginx error page, are shared for _all_ applications, and their contents are located on disk at `/var/lib/dokku/data/nginx-vhosts/dokku-errors`. To customize them for a specific app, create a custom `nginx.conf.sigil` as described above and change the paths to point elsewhere.
```shell
# set a property for the node-js-app
dokku nginx:set node-js-app property-name some-value
### Default site
By default, Dokku will route any received request with an unknown HOST header value to the lexicographically first site in the nginx config stack. This means that accessing the dokku server via its IP address or a bogus domain name may return a seemingly random website.
> [!WARNING]
> some versions of Nginx may create a default site when installed. This site is simply a static page which says "Welcome to Nginx", and if this default site is enabled, Nginx will not route any requests with an unknown HOST header to Dokku. If you want Dokku to receive all requests, run the following commands:
>
> ```
> rm /etc/nginx/sites-enabled/default
> dokku nginx:stop
> dokku nginx:start
> ```
If services should only be accessed via their domain name, you may want to disable the default site by adding the following configuration to the global nginx configuration.
Create the file at `/etc/nginx/conf.d/00-default-vhost.conf`:
```nginx
server {
listen 80 default_server;
listen [::]:80 default_server;
# If services hosted by dokku are available via HTTPS, it is recommended
# to also uncomment the following section.
#
# Please note that in order to let this work, you need an SSL certificate. However
# it does not need to be valid. Users of Debian-based distributions can install the
# `ssl-cert` package with `sudo apt install ssl-cert` to automatically generate
# a self-signed certificate that is stored at `/etc/ssl/certs/ssl-cert-snakeoil.pem`.
#
#listen 443 ssl;
#listen [::]:443 ssl;
#ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
#ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
server_name _;
access_log off;
return 444;
}
# set a property globally
dokku nginx:set --global property-name some-value
```
Make sure to reload nginx after creating this file by running `systemctl reload nginx.service`.
Additionally, setting an empty value will result in reverting the value back to it's default. For app-specific values, this means that Dokku will revert to the globally specified (or global default) value.
This will catch all unknown HOST header values and close the connection without responding. You can replace the `return 444;` with `return 410;` which will cause nginx to respond with an error page.
```shell
# default the value back to the global value for node-js-app
dokku nginx:set node-js-app property-name
The configuration file must be loaded before `/etc/nginx/conf.d/dokku.conf`, so it can not be arranged as a vhost in `/etc/nginx/sites-enabled` that is only processed afterwards.
# use the dokku default as the global value
dokku nginx:set --global property-name
```
Changing these value globally or on a per-app basis will require rebuilding the nginx config via the `proxy:build-config` command.
> [!WARNING]
> Validation is not performed against the values, and they are used as is within Dokku.
| Property | Default | Type | Explanation |
| --------------------------|---------------------------------------|---------|-------------------------------------------------------------------------------------|
| access-log-format | empty string | string | Name of custom log format to use (log format must be specified elsewhere) |
| access-log-path | `${NGINX_LOG_ROOT}/${APP}-access.log` | string | Log path for nginx access logs (set to `off` to disable) |
| bind-address-ipv4 | `0.0.0.0` | string | Default IPv4 address to bind to |
| bind-address-ipv6 | `[::]` | string | Default IPv6 address to bind to |
| client-max-body-size | `1m` | string | Size (with units) of client request body (usually modified for file uploads) |
| error-log-path | `${NGINX_LOG_ROOT}/${APP}-error.log` | string | Log path for nginx error logs (set to `off` to disable) |
| hsts | `true` | boolean | Enables or disables HSTS for your application |
| hsts-include-subdomains | `true` | boolean | Forces the browser to apply the HSTS policy to all app subdomains |
| hsts-max-age | `15724800` | integer | Time in seconds to cache HSTS configuration |
| hsts-preload | `false` | boolean | Tells the browser to include the domain in their HSTS preload lists |
| nginx-conf-sigil-path | `nginx.conf.sigil` | string | Path in the repository to the `nginx.conf.sigil` file |
| 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 |
| proxy-busy-buffers-size | `16k` | string | Limits the total size of buffers that can be busy sending a response to the client while the response is not yet fully read. |
| proxy-read-timeout | `60s` | string | Timeout (with units) for reading response from your backend server |
| underscore-in-headers | `off` | string | Enables or disables the use of underscores in client request header fields. |
| x-forwarded-for-value | `$remote_addr` | string | Used for specifying the header value to set for the `X-Forwared-For` header |
| x-forwarded-port-value | `$server_port` | string | Used for specifying the header value to set for the `X-Forwared-Port` header |
| x-forwarded-proto-value | `$scheme` | string | Used for specifying the header value to set for the `X-Forwared-Proto` header |
| x-forwarded-ssl | empty string | string | Less commonly used alternative to `X-Forwarded-Proto` (valid values: `on` or `off`) |
#### Binding to specific addresses
> [!NOTE]
> Users with apps that contain a custom `nginx.conf.sigil` file will need to modify the files to respect the new `NGINX_BIND_ADDRESS_IPV4` and `NGINX_BIND_ADDRESS_IPV6` variables.
Properties:
- `bind-address-ipv4`
- `bind-address-ipv6`
This is useful in cases where the proxying should be internal to a network or if there are multiple network interfaces that should respond with different content.
#### HSTS Header
> [!WARNING]
> if you enable the header and a subsequent deploy of your application results in an HTTP deploy (for whatever reason), the way the header works means that a browser will not attempt to request the HTTP version of your site if the HTTPS version fails until the max-age is reached.
Properties:
- `hsts`
- `hsts-include-subdomains`
- `hsts-max-age`
- `hsts-preload`
If SSL certificates are present, HSTS will be automatically enabled.
#### Running behind another proxy — configuring `X-Forwarded-*` headers
> [!WARNING]
> These values should only be modified if there is an intermediate Load balancer or CDN between the user and the Dokku server hosting your application.
Properties:
- `x-forwarded-for-value`
- `x-forwarded-port-value`
- `x-forwarded-proto-value`
- `x-forwarded-ssl`
Dokku's default Nginx configuration passes the de-facto standard HTTP headers [`X-Forwarded-For`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For), [`X-Forwarded-Proto`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto), and `X-Forwarded-Port` to your application.
These headers indicate the IP address of the original client making the request, the protocol of the original request (HTTP or HTTPS), and the port number of the original request, respectively.
If you have another HTTP proxy sitting in between the end user and your server (for example, a load balancer, or a CDN), then the values of these headers will contain information about (e.g. the IP address of) the the closest proxy, and not the end user.
To fix this, assuming that the other proxy also passes `X-Forwarded-*` headers, which in turn contain information about the end user, you can tell Nginx include those values in the `X-Forwarded-*` headers that it sends to your application. You can do this via `nginx:set`, like so:
```shell
dokku nginx:set node-js-app x-forwarded-for-value '$http_x_forwarded_for'
dokku nginx:set node-js-app x-forwarded-port-value '$http_x_forwarded_port'
dokku nginx:set node-js-app x-forwarded-proto-value '$http_x_forwarded_proto'
```
However, note that you should only do this if:
1. Requests to your website always go through a trusted proxy.
2. That proxy is configured to send the aforementioned `X-Forwarded-*` headers.
Otherwise, if it's possible for clients to make HTTP requests directly against your server, bypassing the other proxy, or if the other proxy is not configured to set these headers, then a client can basically pass any arbitrary values for these headers (which your app then presumably reads) and thereby fake an IP address, for example.
There's also the `X-Forwarded-Ssl` header which a less common alternative to `X-Forwarded-Proto` — and because of that, isn't included in Dokku's default Nginx configuration. It can be turned `on` if need be:
```shell
# force-setting value to `on`
dokku nginx:set node-js-app x-forwarded-ssl on
```
#### Changing log path
> [!WARNING]
> The defaults should not be changed without verifying that the paths will be writeable by nginx.
Properties:
- `access-log-path`
- `error-log-path`
These setting can be useful for enabling or disabling logging by setting the values to `off`.
```shell
dokku nginx:set node-js-app access-log-path off
dokku nginx:set node-js-app error-log-path off
```
#### Changing log format
Properties:
- `acccess-log-format`
Prior to changing the log-format, log formats should be specified at a file such as `/etc/nginx/conf.d/00-log-formats.conf`. This will ensure they are available within your app's nginx context. For instance, the following may be added to the above file. It only needs to be specified once to be used for all apps.
```nginx
# /etc/nginx/conf.d/00-log-formats.conf
# escape=json was added in nginx 1.11.8
log_format json_combined escape=json
'{'
'"time_local":"$time_local",'
'"remote_addr":"$remote_addr",'
'"remote_user":"$remote_user",'
'"request":"$request",'
'"status":"$status",'
'"body_bytes_sent":"$body_bytes_sent",'
'"request_time":"$request_time",'
'"http_referrer":"$http_referer",'
'"http_user_agent":"$http_user_agent"'
'}';
```
#### Specifying a read timeout
> [!NOTE]
> All numeric values _must_ have a trailing time value specified (`s` for seconds, `m` for minutes).
Properties:
- `proxy-read-timeout`
#### Specifying a custom client_max_body_size
> [!NOTE]
> All numerical values _must_ have a trailing size unit specified (`k` for kilobytes, `m` for megabytes).
Properties:
- `client-max-body-size`
This property is commonly used to increase the max file upload size.
Changing this value when using the PHP buildpack (or any other buildpack that uses an intermediary server) will require changing the value in the server config shipped with that buildpack. Consult your buildpack documentation for further details.
Alternatively, you may push an app to your Dokku host with a name like "00-default". As long as it lists first in `ls /home/dokku/*/nginx.conf | head`, it will be used as the default nginx vhost.
## Other

View File

@@ -80,7 +80,7 @@ While the default OpenResty image is hardcoded, users may specify an alternative
dokku openresty:set --global image dokku/openresty-docker-proxy:0.5.6
```
#### Checking the OpenResty container's logs
### Checking the OpenResty container's logs
It may be necessary to check the OpenResty container's logs to ensure that OpenResty is operating as expected. This can be performed with the `openresty:logs` command.
@@ -103,6 +103,27 @@ dokku openresty:logs --tail --num 10
The above command will show logs continually from the openresty container, with an initial history of 10 log lines
### Customizing Openresty Settings for an app
#### OpenResty Properties
The OpenResty plugin supports all properties supported by the `nginx:set` command via `openresty:set`. At this time, please consult the nginx documentation for more information on what properties are available.
Please note that the oldest running container will be used for OpenResty configuration, and thus newer config may not apply until older app containers are retired during/after a deploy, depending on your zero-downtime settings.
#### Custom OpenResty Templates
At this time, the OpenResty plugin does not allow complete customization of the template used to manage an app's vhost. Apps will use a template provided by the OpenResty container to proxy requests. See the next section for documentation on how to configure portions of the template.
#### Injecting custom snippets into the OpenResty config
The OpenResty plugin allows users to specify templates in their repository for auto-injection into the OpenResty config. Please note that this configuration should be validated prior to deployment or may cause outages in your OpenResty proxy layer.
The following folders within an app repository may have `*.conf` files that will be automatically injected into the OpenResty config.
- `openresty/http-includes/`: Injected in the `server` block serving http(s) requests for the app.
- `openresty/http-location-includes/`: Injected in the `location` block that proxies to the app in the app's respective `server` block.
### SSL Configuration
The OpenResty plugin only supports automatic ssl certificates from it's letsencrypt integration. Managed certificates provided by the `certs` plugin are ignored.
@@ -127,6 +148,50 @@ dokku openresty:set --global letsencrypt-server https://acme-staging-v02.api.let
After enabling, the OpenResty container will need to be restarted and apps will need to be rebuilt to retrieve certificates from the new server.
#### Limiting letsencrypt to certain domains
> [!WARNING]
> Changing this value may cause OpenResty to fail to start if the value is not valid. Caution should be exercised when changing this value from the defaults.
In cases where your server's IP may have invalid domains pointing at it, limiting letsencrypt to certain allowed domains may be desirable to reduce spam requests on the Letsencrypt servers. The default is to allow all domains to have certificates retrieved, but this can be limited by specifying the `allowed-letsencrypt-domains-func-base64` global property.
The default internal value for `allowed-letsencrypt-domains-func-base64` is the base64 representation of `return true`, and is meant to be the body of a lua function that return a boolean value.
```shell
value="$(echo 'return true' | base64 -w 0)"
dokku openresty:set --global allowed-letsencrypt-domains-func-base64 $value
```
As this is a global value, once changed, OpenResty should be stopped and started again for the value to take effect:
```shell
dokku openresty:stop
dokku openresty:start
```
A more complex example would be to limit provisioning of certificates to domains in a specific list. The body of the lua function has access to a variable `domain`, and we can use it like so:
```shell
body='allowed_domains = {"domain.com", "extra-domain.com"}
for index, value in ipairs(allowed_domains) do
if value == domain then
return true
end
end
return false
'
value="$(echo "$body" | base64 -w 0)"
dokku openresty:set --global allowed-letsencrypt-domains-func-base64 $value
```
To reset the value to the default, simply specify a blank value prior to restarting OpenResty:
```shell
dokku openresty:set --global allowed-letsencrypt-domains-func-base64
```
## Displaying OpenResty reports for an app
You can get a report about the app's OpenResty config using the `openresty:report` command:

View File

@@ -116,16 +116,6 @@ dokku traefik:set --global log-level DEBUG
After modifying, the Traefik container will need to be restarted.
### Setting rule priority
By default, app deployments will result in the newer traefik rules using a higher priority in order to have any newer rules respected by Traefik. Rule priorities will always increase according to the current unix timestamp. The priority may be fixed by setting the app-level `priority` property:
```shell
dokku traefik:set node-js-app priority 12345
```
After modifying, the app container will need to be recreated via a `ps:rebuild` or an app deployment.
### SSL Configuration
The traefik plugin only supports automatic ssl certificates from it's letsencrypt integration. Managed certificates provided by the `certs` plugin are ignored.

View File

@@ -9,13 +9,39 @@ proxy:clear-config [--all|<app>] # Clears config for given app
proxy:disable [--parallel count] [--all|<app>] # Disable proxy for app
proxy:enable [--parallel count] [--all|<app>] # Enable proxy for app
proxy:report [<app>] [<flag>] # Displays a proxy report for one or more apps
proxy:set <app> <proxy-type> # Set proxy type for app
proxy:set [<app>|--global] <proxy-type> # Set proxy type for app
```
In Dokku 0.5.0, port proxying was decoupled from the `nginx-vhosts` plugin into the proxy plugin. Dokku 0.6.0 introduced the ability to map host ports to specific container ports. In the future this will allow other proxy software - such as HAProxy or Caddy - to be used in place of nginx.
In Dokku 0.5.0, port proxying was decoupled from the `nginx-vhosts` plugin into the proxy plugin. Dokku 0.6.0 introduced the ability to map host ports to specific container ports. This allows other proxy software - such as HAProxy or Caddy - to be used in place of nginx.
## Usage
### Changing the proxy
The default proxy shipped with Dokku is `nginx`. It can be changed via the `proxy:set` command.
```shell
dokku proxy:set node-js-app caddy
```
```
-----> Setting config vars
DOKKU_APP_PROXY_TYPE: caddy
```
The proxy may also be set on a global basis. This is usually preferred as running multiple proxy implementations may cause port collision issues.
```shell
dokku proxy:set --global caddy
```
```
-----> Setting config vars
DOKKU_PROXY_TYPE: caddy
```
Changing the proxy does not stop or start any given proxy implementation. Please see the documentation for your proxy implementation for details on how to perform a change.
### Regenerating proxy config
In certain cases, your app proxy configs may drift from the correct config for your app. You may regenerate the config at any point via the `proxy:build-config` command. This command will trigger a rebuild for the configured proxy implementation (default: nginx) for a given app. The command may fail if there are no current web listeners for your app.

View File

@@ -2,7 +2,7 @@
```
run [-e|--env KEY=VALUE] [--no-tty] <app> <cmd> # Run a command in a new container using the current app image
run:detached [-e|-env KEY=VALUE] [--no-tty] <app> <cmd> # Run a command in a new detached container using the current app image
run:detached [-e|-env KEY=VALUE] [--force-tty] <app> <cmd> # Run a command in a new detached container using the current app image
run:list [--format json|stdout] [<app>] # List all run containers for an app
run:logs <app|--container CONTAINER> [-h] [-t] [-n num] [-q] # Display recent log output for run containers
run:stop <app|--container CONTAINER> # Stops all run containers for an app or a specified run container
@@ -73,6 +73,12 @@ dokku run:detached node-js-app ls -lah
# returns the ID of the new container
```
To start a detached container with a tty, specify the `--force-tty` flag. Containers will still exit upon command termination, but can be attached to as long as they are running.
```shell
dokku run:detached --force-tty node-js-app bash
```
### Displaying one-off container logs
You can easily get logs of all one-off containers for an app using the `logs` command:

View File

@@ -4,9 +4,10 @@
> New as of 0.23.0
```
cron:list <app> [--format json|stdout] # List scheduled cron tasks for an app
cron:report [<app>] [<flag>] # Display report about an app
cron:run <app> <cron_id> [--detach] # Run a cron task on the fly
cron:list <app> [--format json|stdout] # List scheduled cron tasks for an app
cron:report [<app>] [<flag>] # Display report about an app
cron:run <app> <cron_id> [--detach] # Run a cron task on the fly
cron:set [--global|<app>] <key> <value> # Set or clear a cron property for an app
```
## Usage
@@ -46,10 +47,27 @@ When running scheduled cron tasks, there are a few items to be aware of:
- Scheduled cron tasks are performed within the app environment available at runtime. If the app image does not exist, the command may fail to execute.
- Schedules are performed on the hosting server's timezone, which is typically UTC.
- At this time, only the `PATH` and `SHELL` environment variables are specified in the cron template.
- A `MAILTO` value can be set via the `cron:set` command.
- Each scheduled task is executed within a one-off `run` container, and thus inherit any docker-options specified for `run` containers. Resources are never shared between scheduled tasks.
- 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 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.
```shell
dokku cron:set --global mailto example@example.com
```
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.
```shell
dokku cron:set --global mailto
```
#### Listing Cron tasks
Cron tasks for an app can be listed via the `cron:list` command. This command takes an `app` argument.

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.31.4/docs/assets/favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/favicon.ico">
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.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.34.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.34.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.34.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.34.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.34.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.34.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.34.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.34.2/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.2/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.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.34.2/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.2/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.2/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.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.31.4/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.4/docs/assets/favicons/browserconfig.xml">
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.2/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.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.31.4/docs/assets/style.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.34.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>
@@ -148,10 +148,13 @@
<a href="/{{NAME}}/deployment/builders/herokuish-buildpacks/" class="list-group-item">Herokuish Buildpacks</a>
<a href="/{{NAME}}/deployment/builders/dockerfiles/" class="list-group-item">Dockerfile Deployment</a>
<a href="/{{NAME}}/deployment/builders/lambda/" class="list-group-item">Lambda Builder</a>
<a href="/{{NAME}}/deployment/builders/nixpacks/" class="list-group-item">Nixpacks Builder</a>
<a href="/{{NAME}}/deployment/builders/null/" class="list-group-item">Null Builder</a>
<a href="#" class="list-group-item disabled">Deployment Methods</a>
<a href="/{{NAME}}/deployment/methods/git/" class="list-group-item">Git Deployment</a>
<a href="/{{NAME}}/deployment/methods/image/" class="list-group-item">Docker Image Deployment</a>
<a href="/{{NAME}}/deployment/methods/archive/" class="list-group-item">Archive Deployment</a>
<a href="#" class="list-group-item disabled">Configuration</a>
@@ -197,7 +200,7 @@
<a href="/{{NAME}}/deployment/schedulers/scheduler-management/" class="list-group-item">Scheduler Management</a>
<a href="/{{NAME}}/deployment/schedulers/docker-local/" class="list-group-item">Docker Local</a>
<a href="/{{NAME}}/deployment/schedulers/kubernetes/" class="list-group-item">Kubernetes</a>
<a href="/{{NAME}}/deployment/schedulers/k3s/" class="list-group-item">Kubernetes</a>
<a href="/{{NAME}}/deployment/schedulers/nomad/" class="list-group-item">Nomad</a>
<a href="/{{NAME}}/deployment/schedulers/null/" class="list-group-item">Null Scheduler</a>

View File

@@ -16,10 +16,10 @@
"deployment/methods/cloud-native-buildpacks": "deployment/builders/cloud-native-buildpacks/",
"deployment/methods/dockerfiles": "deployment/builders/dockerfiles/",
"deployment/methods/herokuish-buildpacks": "deployment/builders/herokuish-buildpacks/",
"deployment/images": "deployment/methods/git/#initializing-an-app-repository-from-a-docker-image",
"deployment/tar": "deployment/methods/git/#initializing-an-app-repository-from-an-archive-file",
"deployment/methods/images": "deployment/methods/git/#initializing-an-app-repository-from-a-docker-image",
"deployment/methods/tar": "deployment/methods/git/#initializing-an-app-repository-from-an-archive-file",
"deployment/images": "deployment/methods/image/",
"deployment/tar": "deployment/methods/archive/",
"deployment/methods/images": "deployment/methods/image/",
"deployment/methods/tar": "deployment/methods/archive/",
"configuration-management": "configuration/environment-variables/",
"deployment/ssl-configuration": "configuration/ssl/",
"configuration/nginx": "networking/proxies/nginx/",

23
dokku
View File

@@ -55,7 +55,7 @@ export DOKKU_SYSTEM_USER=${DOKKU_SYSTEM_USER:="dokku"}
export DOKKU_API_VERSION=1
export DOKKU_NOT_IMPLEMENTED_EXIT=10
export DOKKU_VALID_EXIT=0
export DOKKU_PID="$BASHPID"
export DOKKU_PID="${DOKKU_PID:=$$}"
export DOKKU_LOGS_DIR=${DOKKU_LOGS_DIR:="/var/log/dokku"}
export DOKKU_LOGS_HOST_DIR=${DOKKU_LOGS_HOST_DIR:=$DOKKU_LOGS_DIR}
@@ -88,15 +88,15 @@ fi
! has_tty && DOKKU_QUIET_OUTPUT=1
if [[ $(id -un) != "dokku" ]]; then
unset TMP TMPDIR TEMP TEMPDIR
if [[ ! $1 =~ plugin:* ]] && [[ $1 != "ssh-keys:add" ]] && [[ $1 != "ssh-keys:remove" ]]; then
if [[ ! $1 =~ plugin:* ]] && [[ $1 != "ssh-keys:add" ]] && [[ $1 != "ssh-keys:remove" ]] && [[ $1 != "scheduler-k3s:initialize" ]] && [[ $1 != "scheduler-k3s:uninstall" ]]; then
unset DOKKU_PID TMP TMPDIR TEMP TEMPDIR
export SSH_USER=$(id -un)
sudo -u dokku -E -H "$0" "$@"
exit $?
fi
fi
if [[ $1 =~ ^plugin:.* && $1 != "plugin:help" && $1 != "plugin:list" ]] || [[ $1 == "ssh-keys:add" ]] || [[ $1 == "ssh-keys:remove" ]]; then
if [[ $1 =~ ^plugin:.* && $1 != "plugin:help" && $1 != "plugin:list" ]] || [[ $1 == "ssh-keys:add" ]] || [[ $1 == "ssh-keys:remove" ]] || [[ $1 == "scheduler-k3s:initialize" ]] || [[ $1 == "scheduler-k3s:uninstall" ]]; then
if [[ $(id -un) != "root" ]]; then
dokku_log_fail "This command must be run as root"
else
@@ -106,15 +106,20 @@ fi
if [[ -n "$SSH_ORIGINAL_COMMAND" ]]; then
export -n SSH_ORIGINAL_COMMAND
if [[ $1 =~ config-* ]] || [[ $1 =~ docker-options* ]]; then
xargs $0 <<<$SSH_ORIGINAL_COMMAND
exit $?
else
exit_code=0
if [[ $1 =~ git-* ]] || [[ $1 =~ git:* ]]; then
set -f
$0 $SSH_ORIGINAL_COMMAND
exit_code=$?
set +f
else
readarray -t -O "${#ssh_arg_array[@]}" ssh_arg_array < <(printf '%s' "$SSH_ORIGINAL_COMMAND" | xargs -n 1)
set -f
$0 "${ssh_arg_array[@]}"
exit_code=$?
set +f
exit $?
fi
exit $exit_code
fi
if ! dokku_auth "$@"; then

24
go.work Normal file
View File

@@ -0,0 +1,24 @@
go 1.21
use (
./plugins/app-json
./plugins/apps
./plugins/builder
./plugins/buildpacks
./plugins/common
./plugins/config
./plugins/cron
./plugins/docker-options
./plugins/logs
./plugins/network
./plugins/nginx-vhosts
./plugins/ports
./plugins/proxy
./plugins/ps
./plugins/registry
./plugins/repo
./plugins/resource
./plugins/scheduler
./plugins/scheduler-docker-local
./plugins/scheduler-k3s
)

View File

@@ -8,8 +8,8 @@ markdown_extensions:
- md_in_html
- pymdownx.details
- pymdownx.emoji:
emoji_generator: !!python/name:materialx.emoji.to_svg
emoji_index: !!python/name:materialx.emoji.twemoji
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
- pymdownx.highlight:
anchor_linenums: true
- pymdownx.inlinehilite
@@ -47,6 +47,8 @@ extra:
link: https://dokku.dpdcart.com/cart/add?product_id=217344&method_id=236878
version:
provider: mike
hooks:
- docs/_build/hooks.py
theme:
custom_dir: docs/_overrides

View File

@@ -18,7 +18,7 @@ start on filesystem and started docker
script
sleep 2 # give docker some time
sudo -i -u dokku $dokku_path ps:restore
sudo -i -u dokku $dokku_path ps:restore --parallel -1
end script
EOF
fi
@@ -33,7 +33,7 @@ After=docker.service
[Service]
Type=simple
User=dokku
ExecStart=$dokku_path ps:restore
ExecStart=$dokku_path ps:restore --parallel -1
[Install]
WantedBy=docker.service

View File

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

View File

@@ -17,14 +17,16 @@ cmd-report() {
dokku_log_info1 "uname: $(uname -a)"
dokku_log_info1 "memory: "
free -m | sed "s/^/ /"
dokku_log_info1 "disk utilization: "
df -h --type btrfs --type ext4 --type ext3 --type ext2 --type vfat --type iso9660 | sed "s/^/ /"
dokku_log_info1 "disk inode utilization: "
df -hi --type btrfs --type ext4 --type ext3 --type ext2 --type vfat --type iso9660 | sed "s/^/ /"
dokku_log_info1 "docker version: "
"$DOCKER_BIN" version | sed "s/^/ /"
dokku_log_info1 "docker daemon info: "
"$DOCKER_BIN" -D system info | sed "s/^/ /"
dokku_log_info1 "git version: $(git --version)"
dokku_log_info1 "sigil version: $(sigil -v)"
dokku_log_info1 "herokuish version: "
if [[ "$ARCHITECTURE" == "armhf" ]] || [[ "$ARCHITECTURE" == "arm64" ]]; then
if [[ "$ARCHITECTURE" == "arm64" ]]; then
dokku_log_warn "herokuish not supported on $ARCHITECTURE architecture"
elif verify_image "$DOKKU_IMAGE"; then
"$DOCKER_BIN" container run $DOKKU_GLOBAL_RUN_ARGS --rm "$DOKKU_IMAGE" herokuish version | sed "s/^/ /"
@@ -32,7 +34,29 @@ cmd-report() {
dokku_log_warn "Herokuish image $DOKKU_IMAGE is not available"
fi
dokku_log_info1 "dokku version: $(dokku_version)"
if command -v "dokku-event-listener" &>/dev/null; then
dokku_log_info1 "dokku-event-listener version: $(dokku-event-listener version)"
else
dokku_log_warn "dokku-event-listener binary is not available"
fi
if command -v "dokku-update" &>/dev/null; then
dokku_log_info1 "dokku-update version: $(dokku-update version)"
else
dokku_log_warn "dokku-update binary is not available"
fi
dokku_log_info1 "docker-container-healthchecker version: $(docker-container-healthchecker version)"
dokku_log_info1 "docker-image-labeler version: $(docker-image-labeler version)"
dokku_log_info1 "git version: $(git --version)"
dokku_log_info1 "lambda-builder version: $(lambda-builder version)"
dokku_log_info1 "netrc version: $(netrc version)"
if command -v "pack" &>/dev/null; then
dokku_log_info1 "pack version: $(pack version)"
else
dokku_log_warn "pack binary is not available"
fi
dokku_log_info1 "plugn version: $(plugn version)"
dokku_log_info1 "sigil version: $(sigil -v)"
dokku_log_info1 "sshcommand version: $(sshcommand version)"
dokku_log_info1 "dokku plugins: "
plugn list | sed "s/^/ /"

View File

@@ -56,16 +56,12 @@ EOF
cat >"$DOKKU_LOGROTATE_FILE" <<EOF
$DOKKU_LOGS_DIR/*.log {
daily
rotate 7
missingok
notifempty
su syslog dokku
rotate 7
compress
delaycompress
postrotate
reload rsyslog &>/dev/null || true
endscript
create 664 syslog dokku
notifempty
copytruncate
}
EOF

View File

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

View File

@@ -6,5 +6,6 @@
/subcommands/*
/triggers
/triggers/*
/app-json-get-content
/app-json-process-deploy-parallelism
/core-*

View File

@@ -1,16 +1,23 @@
package appjson
import (
"encoding/json"
"fmt"
"math"
"os"
"strings"
"github.com/dokku/dokku/plugins/common"
"k8s.io/utils/ptr"
)
var (
// DefaultProperties is a map of all valid network properties with corresponding default property values
// DefaultProperties is a map of all valid app-json properties with corresponding default property values
DefaultProperties = map[string]string{
"appjson-path": "",
}
// GlobalProperties is a map of all valid global network properties
// GlobalProperties is a map of all valid global app-json properties
GlobalProperties = map[string]bool{
"appjson-path": true,
}
@@ -18,29 +25,165 @@ var (
// AppJSON is a struct that represents an app.json file as understood by Dokku
type AppJSON struct {
Cron []CronCommand `json:"cron"`
// Cron is a list of cron commands to execute
Cron []CronCommand `json:"cron"`
// Formation is a map of process types to scale
Formation map[string]Formation `json:"formation"`
Scripts struct {
// Healthchecks is a map of process types to healthchecks
Healthchecks map[string][]Healthcheck `json:"healthchecks"`
// Scripts is a map of scripts to execute
Scripts struct {
// Dokku is a map of scripts to execute for Dokku-specific events
Dokku struct {
Predeploy string `json:"predeploy"`
// Predeploy is a script to execute before a deploy
Predeploy string `json:"predeploy"`
// Postdeploy is a script to execute after a deploy
Postdeploy string `json:"postdeploy"`
} `json:"dokku"`
// Postdeploy is a script to execute after a deploy
Postdeploy string `json:"postdeploy"`
} `json:"scripts"`
}
// CronCommand is a struct that represents a single cron command from an app.json file
type CronCommand struct {
Command string `json:"command"`
// Command is the command to execute
Command string `json:"command"`
// Schedule is the cron schedule to execute the command on
Schedule string `json:"schedule"`
}
// Formation is a struct that represents the scale for a process from an app.json file
type Formation struct {
Quantity *int `json:"quantity"`
// Autoscaling is whether or not to enable autoscaling
Autoscaling *FormationAutoscaling `json:"autoscaling"`
// Quantity is the number of processes to run
Quantity *int `json:"quantity"`
// MaxParallel is the maximum number of processes to start in parallel
MaxParallel *int `json:"max_parallel"`
}
// FormationAutoscaling is a struct that represents the autoscaling configuration for a process from an app.json file
type FormationAutoscaling struct {
// CoolDownSeconds is the number of seconds to wait before scaling again
CooldownPeriodSeconds *int `json:"cooldown_period_seconds,omitempty"`
// MaxQuantity is the maximum number of processes to run
MaxQuantity *int `json:"max_quantity,omitempty"`
// MinQuantity is the minimum number of processes to run
MinQuantity *int `json:"min_quantity,omitempty"`
// PollingIntervalSeconds is the number of seconds to wait between autoscaling checks
PollingIntervalSeconds *int `json:"polling_interval_seconds,omitempty"`
// Triggers is a list of triggers to use for autoscaling
Triggers []FormationAutoscalingTrigger `json:"triggers,omitempty"`
}
// FormationAutoscalingTrigger is a struct that represents a single autoscaling trigger from an app.json file
type FormationAutoscalingTrigger struct {
// Name is the name of the trigger
Name string `json:"name,omitempty"`
// Type is the type of the trigger
Type string `json:"type,omitempty"`
// Metadata is a map of metadata to use for the trigger
Metadata map[string]string `json:"metadata,omitempty"`
}
// Healthcheck is a struct that represents a single healthcheck from an app.json file
type Healthcheck struct {
// Attempts is the number of attempts to make before considering a healthcheck failed
Attempts int32 `json:"attempts,omitempty"`
// Command is the command to execute for the healthcheck
Command []string `json:"command,omitempty"`
// Content is the content to check for in the healthcheck response
Content string `json:"content,omitempty"`
// HTTPHeaders is a list of HTTP headers to send with the healthcheck request
HTTPHeaders []HTTPHeader `json:"httpHeaders,omitempty"`
// InitialDelay is the number of seconds to wait before starting healthchecks
InitialDelay int32 `json:"initialDelay,omitempty"`
// Listening is whether or not this is a listening check
Listening bool `json:"listening,omitempty"`
// Name is the name of the healthcheck
Name string `json:"name,omitempty"`
// Path is the path to check for in the healthcheck response
Path string `json:"path,omitempty"`
// Port is the port to check for in the healthcheck response
Port int `json:"port,omitempty"`
// Scheme is the scheme to use for the healthcheck request
Scheme string `json:"scheme,omitempty"`
// Timeout is the number of seconds to wait before considering a healthcheck failed
Timeout int32 `json:"timeout,omitempty"`
// Type is the type of healthcheck
Type HealthcheckType `json:"type,omitempty"`
// Uptime is the number of seconds to wait before considering a container running
Uptime int32 `json:"uptime,omitempty"`
// Wait is the number of seconds to wait between healthchecks
Wait int32 `json:"wait,omitempty"`
// Warn is whether or not to warn on a failed healthcheck instead of error out
Warn bool `json:"warn,omitempty"`
// OnFailure is the action to take on a failed healthcheck
OnFailure *OnFailure `json:"onFailure,omitempty"`
}
// HealthcheckType is a string that represents the type of a healthcheck from an app.json file
type HealthcheckType string
const (
// HealthcheckType_Liveness is a healthcheck type that represents a liveness check
HealthcheckType_Liveness HealthcheckType = "liveness"
// HealthcheckType_Readiness is a healthcheck type that represents a readiness check
HealthcheckType_Readiness HealthcheckType = "readiness"
// HealthcheckType_Startup is a healthcheck type that represents a startup check
HealthcheckType_Startup HealthcheckType = "startup"
)
// HTTPHeader is a struct that represents a single HTTP header associated with a healthcheck
type HTTPHeader struct {
// Name is the name of the HTTP header
Name string `json:"name,omitempty"`
// Value is the value of the HTTP header
Value string `json:"value,omitempty"`
}
// OnFailure is a struct that represents the on failure action for a healthcheck
type OnFailure struct {
// Command is the command to execute on failure
Command []string `json:"command,omitempty"`
// Url is the URL to call on failure
Url string `json:"url,omitempty"`
}
// GetAppjsonDirectory returns the directory containing a given app's extracted app.json file
func GetAppjsonDirectory(appName string) string {
return common.GetAppDataDirectory("app-json", appName)
@@ -50,3 +193,66 @@ func GetAppjsonDirectory(appName string) string {
func GetAppjsonPath(appName string) string {
return getProcessSpecificAppJSONPath(appName)
}
// GetAppJSON returns the parsed app.json file for a given app
func GetAppJSON(appName string) (AppJSON, error) {
if !hasAppJSON(appName) {
return AppJSON{}, nil
}
b, err := os.ReadFile(getProcessSpecificAppJSONPath(appName))
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
}
func GetAutoscalingConfig(appName string, processType string, replicas int) (FormationAutoscaling, bool, error) {
appJSON, err := GetAppJSON(appName)
if err != nil {
return FormationAutoscaling{}, false, err
}
formation, ok := appJSON.Formation[processType]
if !ok {
return FormationAutoscaling{}, false, nil
}
if formation.Autoscaling == nil {
return FormationAutoscaling{}, false, nil
}
autoscaling := *formation.Autoscaling
if autoscaling.CooldownPeriodSeconds == nil {
autoscaling.CooldownPeriodSeconds = ptr.To(300)
}
if autoscaling.MinQuantity == nil {
autoscaling.MinQuantity = ptr.To(replicas)
}
if autoscaling.MaxQuantity == nil {
defaultValue := math.Max(float64(replicas), float64(*autoscaling.MinQuantity))
autoscaling.MaxQuantity = ptr.To(int(defaultValue))
}
if autoscaling.PollingIntervalSeconds == nil {
autoscaling.PollingIntervalSeconds = ptr.To(30)
}
if len(autoscaling.Triggers) == 0 {
return FormationAutoscaling{}, false, nil
}
return autoscaling, true, nil
}

View File

@@ -1,12 +1,10 @@
package appjson
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io/ioutil"
"os"
"path/filepath"
"strconv"
@@ -49,11 +47,6 @@ func constructScript(command string, shell string, isHerokuishImage bool, isCnbI
"if [[ -d '/app/.profile.d' ]]; then",
" for file in /app/.profile.d/*; do source $file; done;",
"fi;",
"if [[ -d '/cache' ]]; then",
" rm -rf /tmp/cache ;",
" ln -sf /cache /tmp/cache;",
"fi;",
}...)
}
@@ -69,39 +62,9 @@ func constructScript(command string, shell string, isHerokuishImage bool, isCnbI
script = append(script, fmt.Sprintf("%s || exit 1;", command))
if isHerokuishImage && !isCnbImage {
script = append(script, []string{
"if [[ -d '/cache' ]]; then",
" rm -f /tmp/cache;",
"fi;",
}...)
}
return []string{shell, "-c", strings.Join(script, " ")}
}
func getAppJSON(appName string) (AppJSON, error) {
if !hasAppJSON(appName) {
return AppJSON{}, nil
}
b, err := ioutil.ReadFile(getProcessSpecificAppJSONPath(appName))
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
}
func getAppJSONPath(appName string) string {
directory := filepath.Join(common.MustGetEnv("DOKKU_LIB_ROOT"), "data", "app-json", appName)
return filepath.Join(directory, "app.json")
@@ -119,7 +82,7 @@ func getProcessSpecificAppJSONPath(appName string) string {
// getPhaseScript extracts app.json from app image and returns the appropriate json key/value
func getPhaseScript(appName string, phase string) (string, error) {
appJSON, err := getAppJSON(appName)
appJSON, err := GetAppJSON(appName)
if err != nil {
return "", err
}
@@ -139,8 +102,11 @@ func getPhaseScript(appName string, phase string) (string, error) {
func getReleaseCommand(appName string, image string) string {
processType := "release"
port := "5000"
b, _ := common.PlugnTriggerOutput("procfile-get-command", []string{appName, processType, port}...)
return strings.TrimSpace(string(b[:]))
results, _ := common.CallPlugnTrigger(common.PlugnTriggerInput{
Trigger: "procfile-get-command",
Args: []string{appName, processType, port},
})
return results.StdoutContents()
}
func getDokkuAppShell(appName string) string {
@@ -151,13 +117,19 @@ func getDokkuAppShell(appName string) string {
ctx := context.Background()
errs, ctx := errgroup.WithContext(ctx)
errs.Go(func() error {
b, _ := common.PlugnTriggerOutput("config-get-global", []string{"DOKKU_APP_SHELL"}...)
globalShell = strings.TrimSpace(string(b[:]))
results, _ := common.CallPlugnTriggerWithContext(ctx, common.PlugnTriggerInput{
Trigger: "config-get-global",
Args: []string{"DOKKU_APP_SHELL"},
})
globalShell = results.StdoutContents()
return nil
})
errs.Go(func() error {
b, _ := common.PlugnTriggerOutput("config-get", []string{appName, "DOKKU_APP_SHELL"}...)
appShell = strings.TrimSpace(string(b[:]))
results, _ := common.CallPlugnTriggerWithContext(ctx, common.PlugnTriggerInput{
Trigger: "config-get",
Args: []string{appName, "DOKKU_APP_SHELL"},
})
appShell = results.StdoutContents()
return nil
})
@@ -188,7 +160,12 @@ func cleanupDeploymentContainer(appName string, containerID string, phase string
if phase != "predeploy" {
os.Setenv("DOKKU_SKIP_IMAGE_RETIRE", "true")
}
return common.PlugnTrigger("scheduler-register-retired", []string{appName, containerID}...)
if !common.ContainerRemove(containerID) {
return fmt.Errorf("Failed to remove %s execution container", phase)
}
return nil
}
func executeScript(appName string, image string, imageTag string, phase string) error {
@@ -235,15 +212,14 @@ func executeScript(appName string, image string, imageTag string, phase string)
imageSourceType = "pack"
}
cacheDir := fmt.Sprintf("%s/cache", common.AppRoot(appName))
cacheHostDir := fmt.Sprintf("%s/cache", common.AppHostRoot(appName))
if !common.DirectoryExists(cacheDir) {
os.MkdirAll(cacheDir, 0755)
}
var dockerArgs []string
if b, err := common.PlugnTriggerSetup("docker-args-deploy", []string{appName, imageTag}...).SetInput("").Output(); err == nil {
words, err := shellquote.Split(strings.TrimSpace(string(b[:])))
results, err := common.CallPlugnTrigger(common.PlugnTriggerInput{
Trigger: "docker-args-deploy",
Args: []string{appName, imageTag},
Stdin: strings.NewReader(""),
})
if err == nil {
words, err := shellquote.Split(results.StdoutContents())
if err != nil {
return err
}
@@ -251,8 +227,13 @@ func executeScript(appName string, image string, imageTag string, phase string)
dockerArgs = append(dockerArgs, words...)
}
if b, err := common.PlugnTriggerSetup("docker-args-process-deploy", []string{appName, imageSourceType, imageTag}...).SetInput("").Output(); err == nil {
words, err := shellquote.Split(strings.TrimSpace(string(b[:])))
results, err = common.CallPlugnTrigger(common.PlugnTriggerInput{
Trigger: "docker-args-process-deploy",
Args: []string{appName, imageSourceType, imageTag},
Stdin: strings.NewReader(""),
})
if err == nil {
words, err := shellquote.Split(results.StdoutContents())
if err != nil {
return err
}
@@ -299,7 +280,9 @@ func executeScript(appName string, image string, imageTag string, phase string)
}
dockerArgs = append(dockerArgs, "--label=dokku_phase_script="+phase)
dockerArgs = append(dockerArgs, "-v", cacheHostDir+":/cache")
if isHerokuishImage && !isCnbImage {
dockerArgs = append(dockerArgs, "-v", fmt.Sprintf("cache-%s:/tmp/cache", appName))
}
if os.Getenv("DOKKU_TRACE") != "" {
dockerArgs = append(dockerArgs, "--env", "DOKKU_TRACE="+os.Getenv("DOKKU_TRACE"))
}
@@ -355,14 +338,17 @@ func executeScript(appName string, image string, imageTag string, phase string)
fmt.Sprintf("LABEL com.dokku.%s-phase=true", phase),
}...)
commitArgs = append(commitArgs, containerID, image)
containerCommitCmd := common.NewShellCmdWithArgs(
common.DockerBin(),
commitArgs...,
)
containerCommitCmd.ShowOutput = false
containerCommitCmd.Command.Stderr = os.Stderr
if !containerCommitCmd.Execute() {
return fmt.Errorf("Commiting of '%s' to image failed: %s", phase, command)
result, err := common.CallExecCommand(common.ExecCommandInput{
Command: common.DockerBin(),
Args: commitArgs,
StreamStderr: true,
})
if err != nil {
return fmt.Errorf("Committing of '%s' to image failed: %w", phase, err)
}
if result.ExitCode != 0 {
return fmt.Errorf("Committing of '%s' to image failed: %s", phase, command)
}
return nil
@@ -413,34 +399,11 @@ func getCommandFromImage(image string) (string, error) {
}
func waitForExecution(containerID string) bool {
containerStartCmd := common.NewShellCmdWithArgs(
common.DockerBin(),
"container",
"start",
containerID,
)
containerStartCmd.ShowOutput = false
containerStartCmd.Command.Stderr = os.Stderr
if !containerStartCmd.Execute() {
if !common.ContainerStart(containerID) {
return false
}
containerWaitCmd := common.NewShellCmdWithArgs(
common.DockerBin(),
"container",
"wait",
containerID,
)
containerWaitCmd.ShowOutput = false
containerWaitCmd.Command.Stderr = os.Stderr
b, err := containerWaitCmd.Output()
if err != nil {
return false
}
containerExitCode := strings.TrimSpace(string(b[:]))
return containerExitCode == "0"
return common.ContainerWait(containerID)
}
func createdContainerID(appName string, dockerArgs []string, image string, command []string, phase string) (string, error) {
@@ -454,36 +417,41 @@ func createdContainerID(appName string, dockerArgs []string, image string, comma
arguments = append(arguments, image)
arguments = append(arguments, command...)
b, err := common.PlugnTriggerOutput("config-export", []string{appName, "false", "true", "json"}...)
results, err := common.CallPlugnTrigger(common.PlugnTriggerInput{
Trigger: "config-export",
Args: []string{appName, "false", "true", "json"},
})
if err != nil {
return "", err
}
var env map[string]string
if err := json.Unmarshal(b, &env); err != nil {
if err := json.Unmarshal(results.StdoutBytes(), &env); err != nil {
return "", err
}
containerCreateCmd := common.NewShellCmdWithArgs(
common.DockerBin(),
arguments...,
)
var stderr bytes.Buffer
containerCreateCmd.Env = env
containerCreateCmd.ShowOutput = false
containerCreateCmd.Command.Stderr = &stderr
b, err = containerCreateCmd.Output()
result, err := common.CallExecCommand(common.ExecCommandInput{
Command: common.DockerBin(),
Args: arguments,
Env: env,
})
if err != nil {
return "", errors.New(stderr.String())
return "", err
}
if result.ExitCode != 0 {
return "", errors.New(result.StderrContents())
}
containerID := strings.TrimSpace(string(b))
err = common.PlugnTrigger("post-container-create", []string{"app", containerID, appName, phase}...)
containerID := result.StdoutContents()
_, err = common.CallPlugnTrigger(common.PlugnTriggerInput{
Trigger: "post-container-create",
Args: []string{"app", containerID, appName, phase},
StreamStdio: true,
})
return containerID, err
}
func setScale(appName string, image string) error {
appJSON, err := getAppJSON(appName)
appJSON, err := GetAppJSON(appName)
if err != nil {
return err
}
@@ -498,12 +466,27 @@ func setScale(appName string, image string) error {
}
if len(args) == 3 {
return common.PlugnTrigger("ps-can-scale", []string{appName, "true"}...)
}
if err := common.PlugnTrigger("ps-can-scale", []string{appName, "false"}...); err != nil {
_, err := common.CallPlugnTrigger(common.PlugnTriggerInput{
Trigger: "ps-can-scale",
Args: []string{appName, "true"},
StreamStdio: true,
})
return err
}
return common.PlugnTrigger("ps-set-scale", args...)
_, err = common.CallPlugnTrigger(common.PlugnTriggerInput{
Trigger: "ps-can-scale",
Args: []string{appName, "false"},
StreamStdio: true,
})
if err != nil {
return err
}
_, err = common.CallPlugnTrigger(common.PlugnTriggerInput{
Trigger: "ps-set-scale",
Args: args,
StreamStdio: true,
})
return err
}

View File

@@ -1,20 +1,30 @@
module github.com/dokku/dokku/plugins/app-json
go 1.19
go 1.21
require (
github.com/dokku/dokku/plugins/common v0.0.0-00010101000000-000000000000
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
github.com/otiai10/copy v1.12.0
github.com/spf13/pflag v1.0.5
golang.org/x/sync v0.3.0
golang.org/x/sync v0.6.0
k8s.io/utils v0.0.0-20240102154912-e7106e64919e
)
require (
github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0 // indirect
github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 // indirect
github.com/alexellis/go-execute/v2 v2.2.1 // indirect
github.com/fatih/color v1.16.0 // indirect
github.com/hashicorp/errwrap v1.0.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/kr/fs v0.1.0 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/melbahja/goph v1.4.0 // indirect
github.com/otiai10/copy v1.14.0 // indirect
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/sys v0.10.0 // indirect
golang.org/x/crypto v0.21.0 // indirect
golang.org/x/sys v0.18.0 // indirect
)
replace github.com/dokku/dokku/plugins/common => ../common

View File

@@ -1,22 +1,96 @@
github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0 h1:sDMmm+q/3+BukdIpxwO365v/Rbspp2Nt5XntgQRXq8Q=
github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM=
github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27 h1:HHUr4P/aKh4quafGxDT9LDasjGdlGkzLbfmmrlng3kA=
github.com/codeskyblue/go-sh v0.0.0-20190412065543-76bd3d59ff27/go.mod h1:VQx0hjo2oUeQkQUET7wRwradO6f+fN5jzXgB/zROxxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/alexellis/go-execute/v2 v2.2.1 h1:4Ye3jiCKQarstODOEmqDSRCqxMHLkC92Bhse743RdOI=
github.com/alexellis/go-execute/v2 v2.2.1/go.mod h1:FMdRnUTiFAmYXcv23txrp3VYZfLo24nMpiIneWgKHTQ=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
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.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
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/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=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI=
github.com/otiai10/copy v1.12.0 h1:cLMgSQnXBs1eehF0Wy/FAGsgDTDmAqFR7rQylBb1nDY=
github.com/otiai10/copy v1.12.0/go.mod h1:rSaLseMUsZFFbsFGc7wCJnnkTAvdc5L6VWxPE4308Ww=
github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
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.31.1 h1:KYppCUK+bUgAZwHOu7EXVBKyQA6ILvOESHkn/tgoqvo=
github.com/onsi/gomega v1.31.1/go.mod h1:y40C95dwAD1Nz36SsEnxvfFe8FFfNxzI5eJ0EYGyAy0=
github.com/otiai10/copy v1.14.0 h1:dCI/t1iTdYGtkvCuBG2BgR6KZa83PTclw4U5n2wAllU=
github.com/otiai10/copy v1.14.0/go.mod h1:ECfuL02W+/FkTWZWgQqXPWZgW9oeKCSQ5qVfSc4qc4w=
github.com/otiai10/mint v1.5.1 h1:XaPLeE+9vGbuyEHem1JNk3bYc7KKqyI/na0/mLd/Kks=
github.com/otiai10/mint v1.5.1/go.mod h1:MJm72SBthJjz8qhefc4z1PYEieWmy8Bku7CjcAqyUSM=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/sftp v1.13.5 h1:a3RLUqkyjYRtBTZJZ1VRrKbN3zhuPLlUc3sphVz81go=
github.com/pkg/sftp v1.13.5/go.mod h1:wHDZ0IZX6JcBYRK1TH9bcVq8G7TLpVHYIGJRFnmPfxg=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
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.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50=
golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA=
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4=
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=
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.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
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.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
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.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
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=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
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.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
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.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
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.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
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/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
k8s.io/utils v0.0.0-20240102154912-e7106e64919e h1:eQ/4ljkx21sObifjzXwlPKpdGLrCfRziVtos3ofG/sQ=
k8s.io/utils v0.0.0-20240102154912-e7106e64919e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=

View File

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

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