Commit Graph

9212 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
d61d91cf87 docs: use github admonitions
These still need to be properly parsed.
2023-08-19 14:24:12 -04:00
Jose Diaz-Gonzalez
5dd78e2b86 docs: update markdownlint rules for better formatting 2023-08-19 13:46:42 -04:00
Jose Diaz-Gonzalez
b87d619b23 Merge pull request #6120 from dokku/dependabot/pip/docs/_build/click-8.1.7
chore(deps): bump click from 8.1.6 to 8.1.7 in /docs/_build
2023-08-19 11:46:22 -04:00
dependabot[bot]
314e29d61b chore(deps): bump click from 8.1.6 to 8.1.7 in /docs/_build
Bumps [click](https://github.com/pallets/click) from 8.1.6 to 8.1.7.
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.1.6...8.1.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-18 13:46:12 +00:00
Jose Diaz-Gonzalez
8b3ee6d968 Merge pull request #6119 from dokku/dependabot/github_actions/tj-actions/changed-files-37.6.1
chore(deps): bump tj-actions/changed-files from 37.6.0 to 37.6.1
2023-08-17 19:56:32 -04:00
dependabot[bot]
a47d2801e8 chore(deps): bump tj-actions/changed-files from 37.6.0 to 37.6.1
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37.6.0 to 37.6.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/v37.6.0...v37.6.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-08-17 13:45:23 +00:00
Jose Diaz-Gonzalez
ebeef276cc Merge pull request #6118 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-2.3.7
chore(deps): bump werkzeug from 2.3.6 to 2.3.7 in /tests/apps/python-flask
2023-08-16 22:26:29 -04:00
Jose Diaz-Gonzalez
238ae414d3 Merge pull request #6115 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.21.0
chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/zombies-dockerfile-no-tini
2023-08-16 22:26:20 -04:00
Jose Diaz-Gonzalez
a2e3a9a0f7 Merge pull request #6114 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.21.0
chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/zombies-dockerfile-tini
2023-08-16 22:26:12 -04:00
Jose Diaz-Gonzalez
78179105e2 Merge pull request #6104 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.14.0
chore(deps): bump golang.org/x/net from 0.13.0 to 0.14.0 in /tests/apps/gogrpc
2023-08-16 22:26:03 -04:00
dependabot[bot]
0fd5b33e5e chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.3.6 to 2.3.7.
- [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.6...2.3.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 13:26:40 +00:00
dependabot[bot]
39fa54049c chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.20.7 to 1.21.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 02:42:26 +00:00
dependabot[bot]
7bf336363c chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.20.7 to 1.21.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 02:42:13 +00:00
Jose Diaz-Gonzalez
8296ecf7fc Merge pull request #6113 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.21.0
chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/go-fail-predeploy
2023-08-13 22:41:58 -04:00
dependabot[bot]
a20daa2804 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.20.7 to 1.21.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 02:41:48 +00:00
Jose Diaz-Gonzalez
cb0edde2fd Merge pull request #6112 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.21.0
chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/go-fail-postdeploy
2023-08-13 22:41:30 -04:00
Jose Diaz-Gonzalez
5ef382dacd Merge pull request #6111 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.21.0
chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/gogrpc
2023-08-13 22:41:20 -04:00
Jose Diaz-Gonzalez
d1c68b1920 Merge pull request #6107 from dokku/dependabot/pip/docs/_build/pygments-2.16.1
chore(deps): bump pygments from 2.15.1 to 2.16.1 in /docs/_build
2023-08-13 22:41:11 -04:00
Jose Diaz-Gonzalez
596f56f2da Merge pull request #6106 from dokku/dependabot/github_actions/tj-actions/changed-files-37.6.0
chore(deps): bump tj-actions/changed-files from 37.5.2 to 37.6.0
2023-08-13 22:41:00 -04:00
Jose Diaz-Gonzalez
6b178952cb Merge pull request #6105 from dokku/dependabot/bundler/tests/apps/ruby/sinatra-3.1.0
chore(deps): bump sinatra from 3.0.6 to 3.1.0 in /tests/apps/ruby
2023-08-13 22:40:42 -04:00
Dokku Bot
4139fb1d7f Release 0.31.0
# History

## 0.31.0

Install/update via the bootstrap script:

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

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

### Backwards Compatibility Breaks

- #6102: @josegonzalez Deprecate ARM as a build target
- #6029: @josegonzalez Provide users the ability to override auto-detected port mappings

### Bug Fixes

- #6110: @josegonzalez Correctly handle rebase when generating release notes for minor/major releases
- #6081: @josegonzalez Use correct namespace for haproxy service state tracking
- #6079: @josegonzalez Remove debugging code from builder-dockerfile plugin
- #6078: @josegonzalez Use correct quoting in format template when fetching exposed image ports
- #6070: @josegonzalez Do not write empty values for nginx container labels
- #6014: @josegonzalez Automatically clear the git source-image property when changing deployment methodologies
- #5985: @josegonzalez Mount the traefik data directory instead of the acme.json file when starting traefik
- #5979: @josegonzalez Do not start proxy implementations during server restore if they weren't manually started via the :start command
- #5973: @josegonzalez Remove all containers and images by label on app destroy

### New Features

- #6100: @josegonzalez Add support for non-web healthchecks via app.json
- #6098: @josegonzalez Upgrade traefik image from v2.8 to v2.10
- #6097: @josegonzalez Upgrade caddy image from 2.7 to 2.8
- #6082: @josegonzalez Add openresty proxy implementation
- #6057: @josegonzalez Inject docker labels when nginx proxy implementation is in use
- #6043: @josegonzalez Write auto-detected port mappings during a deploy
- #6013: @josegonzalez Export environment variables during dockerfile builds for use with value-less --build-arg flags
- #6007: @Firfi Add application/wasm to nginx.conf.sigil gzip
- #5993: @josegonzalez Un-deprecate apps and config cli aliases
- #5992: @josegonzalez Mount the vector data directory instead of the vector file
- #5991: @josegonzalez Add the ability to execute a cron task on the fly
- #5990: @josegonzalez Add json format output to cron:list command
- #5989: @josegonzalez Skip scaled processes that are missing in the Procfile
- #5978: @josegonzalez Export environment variables during dockerfile builds for use with value-less --build-arg flags
- #5908: @josegonzalez Generate jobs for crontab in parallel
- #5891: @josegonzalez Add support for specifying multiple networks on a given app

### Refactors

- #6042: @josegonzalez Rename port-map property to port
- #6021: @josegonzalez Simplify ports-configure codebase
- #6018: @josegonzalez Move code that fetches raw tcp ports for dockerfile deploys to ports plugin
- #6017: @josegonzalez Deprecate proxy-configure-ports plugin trigger in favor of ports-configure
- #6011: @josegonzalez Use ports-get plugn trigger for fetching port mappings
- #6010: @josegonzalez Use ports-clear plugn trigger to manage clearing the port map
- #5988: @josegonzalez Move crontab writing code to scheduler-docker-local plugin
- #5975: @josegonzalez Standardize on shorthand for redirecting all output to /dev/null
- #5974: @josegonzalez Standardize on ls subcommand when interacting with the docker binary

### Documentation

- #6116: @josegonzalez Remove extra newline in migration docs
- #6099: @josegonzalez Clean up references in proxy plugins
- #5987: @josegonzalez Clarify that a branch can be specified when updating a plugin

### Tests

- #6103: @josegonzalez Timeout docker image builds in CI
- #6101: @josegonzalez Make it possible to specify an alternative base domain for tests
- #6095: @josegonzalez Remove assertion for unconsumed build arguments
- #6094: @josegonzalez Correct assertion for dockerfile builds when a variable is eval'd
- #6080: @josegonzalez Add assertions to various bats tests
- #6076: @josegonzalez Use assert_output_not_exists instead of asserting output is empty string
- #6075: @josegonzalez Use an alternative curl request to ensure requests go to the local nginx
- #6074: @josegonzalez Fix issue where networks weren't being torn down during testing
- #6012: @josegonzalez Use ports:report to get the list of port mappings
- #5977: @josegonzalez Move all shellcheck disable definitions to .shellcheckrc
- #5976: @josegonzalez Remove Stickler configuration

### Other

- #6109: @josegonzalez Make heroku-22/jammy the default stack for cnb/herokuish builds
- #6096: @josegonzalez Upgrade vector image from 0.23.x to 0.31.x
- #6019: @josegonzalez Move code for fetching an available port to the ports plugin
- #6015: @josegonzalez Move CHECKS file extraction to the beginning of the deploy
- #5995: @josegonzalez Migrate the proxy port map from config variable to property system
- #5986: @josegonzalez Move all port management code to standalone ports plugin
- #5495: @josegonzalez Move herokuish app cache from the filesystem into a docker volume
v0.31.0
2023-08-14 02:08:52 +00:00
dependabot[bot]
a7677187b3 chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.13.0 to 0.14.0.
- [Commits](https://github.com/golang/net/compare/v0.13.0...v0.14.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-08-14 02:08:00 +00:00
Jose Diaz-Gonzalez
4977d57e5a Merge pull request #5947 from dokku/0.31-release
Release 0.31.0
2023-08-13 22:07:16 -04:00
Jose Diaz-Gonzalez
00d02121d9 fix: pull 100 results when fetching PRs per milestone 2023-08-13 22:00:39 -04:00
Jose Diaz-Gonzalez
038b768585 fix: correct version 2023-08-13 21:54:25 -04:00
Jose Diaz-Gonzalez
c7c1e4ab17 Merge pull request #6116 from dokku/josegonzalez-patch-1
Remove extra newline in migration docs
2023-08-09 13:53:31 -04:00
Jose Diaz-Gonzalez
1ee0fc7dc5 docs: remove extra newline 2023-08-09 13:53:14 -04:00
Jose Diaz-Gonzalez
22cfab9912 Merge pull request #6109 from dokku/heroku-22
Make heroku-22/jammy the default stack for cnb/herokuish builds
2023-08-09 11:35:19 -04:00
Jose Diaz-Gonzalez
24d94576a9 feat: make heroku-22/jammy the default stack for cnb/herokuish builds 2023-08-09 10:11:33 -04:00
dependabot[bot]
59375a5b84 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.20.7 to 1.21.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-09 13:19:27 +00:00
dependabot[bot]
7c74ecb317 chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/gogrpc
Bumps golang from 1.20.7 to 1.21.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-09 13:11:01 +00:00
Jose Diaz-Gonzalez
6cdd81ca7a Merge pull request #6110 from dokku/fix-release-changelog
Correctly handle rebase when generating release notes for minor/major releases
2023-08-08 23:36:22 -04:00
Jose Diaz-Gonzalez
8d25b931dd fix: correctly handle rebase when generating release notes for minor/major releases
With the integration branch where pull requests are merged prior to a release, we require a rebase every so often to ensure there aren't any issues upon merging to master. Unfortunately, this breaks the link between the original PR and the integration PR, thus causing changelog generation to fail as it depended upon those - now removed - merge request commits.

With this change, we introduce usage of milestones in order to track what is getting merged into a release. Milestones are only used for major/minor releases, and all others will fall back to the default git log method.
2023-08-08 23:07:02 -04:00
dependabot[bot]
03ad29610f chore(deps): bump pygments from 2.15.1 to 2.16.1 in /docs/_build
Bumps [pygments](https://github.com/pygments/pygments) from 2.15.1 to 2.16.1.
- [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.15.1...2.16.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-07 13:40:04 +00:00
dependabot[bot]
efe58b5af0 chore(deps): bump tj-actions/changed-files from 37.5.2 to 37.6.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37.5.2 to 37.6.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/v37.5.2...v37.6.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-08-07 13:32:42 +00:00
dependabot[bot]
93138de467 chore(deps): bump sinatra from 3.0.6 to 3.1.0 in /tests/apps/ruby
Bumps [sinatra](https://github.com/sinatra/sinatra) from 3.0.6 to 3.1.0.
- [Changelog](https://github.com/sinatra/sinatra/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sinatra/sinatra/compare/v3.0.6...v3.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-07 13:22:23 +00:00
Jose Diaz-Gonzalez
990ca04374 Merge pull request #6103 from dokku/timeout-image-builds
feat: timeout docker image builds in CI
2023-08-07 03:06:12 -04:00
Jose Diaz-Gonzalez
e09b0eb1b9 feat: timeout docker image builds in CI
ARM usually takes quite a while to build. If it takes more than ~15 minutes, then it is usually going to fail anyways, so timeout early.

AMD64 takes ~3 minutes, and ARM64 appears to take 15 minutes.
2023-08-07 03:05:47 -04:00
Jose Diaz-Gonzalez
f3114212b6 Merge pull request #6102 from dokku/josegonzalez-patch-1
Deprecate ARM as a build target
2023-08-07 01:37:55 -04:00
Jose Diaz-Gonzalez
5b738f50c3 docs: deprecated ARM as a build target
AMD64 and ARM64 continue to be supported, but ARM in CI is not currently supported and doesn't get local testing either, so deprecating it now and removing it in the future makes most sense for the project.
2023-08-07 01:37:18 -04:00
Jose Diaz-Gonzalez
a0d92469a9 Merge pull request #6100 from dokku/2760-non-web-healthchecks
Add support for non-web healthchecks via app.json
2023-08-06 18:57:47 -04:00
Jose Diaz-Gonzalez
26e9cc9b8c feat: add support for non-web healthchecks via app.json
This change converts existing CHECKS files into a healthchecks key that is understood by 'docker-container-healthchecker'. This tool supports a number of different types of container healthchecks - command, http, uptime - and can perform healthchecks against non-web processes.

The use of the old CHECKS file is now deprecated, and will be removed in the next minor version. Users can use the 'docker-container-healthchecker' to convert existing CHECKS files to the new format automatically.

Closes #2760
2023-08-06 17:23:13 -04:00
Jose Diaz-Gonzalez
6f0b32e86b Merge pull request #6082 from dokku/openresty-docker-proxy
Add openresty proxy implementation
2023-08-05 23:53:45 -04:00
Jose Diaz-Gonzalez
625ea14c8f feat: add openresty proxy implementation
This plugin is mostly compatible with the nginx plugin, but runs the proxy within a docker container. Users do not have direct access to add custom openresty configuration at this time, but instead receive the ability to setup automatic ssl on first request via letsencrypt integration.
2023-08-05 20:59:01 -04:00
Jose Diaz-Gonzalez
5846301a48 tests: make it possible to specify an alternative base domain for tests
When developing Dokku, it is useful to use a real domain to test actual functionality. This is impossible if the domain is hardcoded to dokku.me in testing.
2023-08-05 20:58:26 -04:00
Jose Diaz-Gonzalez
7f7a044a07 docs: clean up references in proxy plugins 2023-08-05 11:07:55 -04:00
Jose Diaz-Gonzalez
f8ccf52079 refactor: only use detected port mapping if override is not specified
Previously, we would always set the port mapping during a dockerfile build, making it difficult for users to override mappings. We also only _sometimes_ updated the detected port mapping, further confusing issues when users were migrating from Dockerfile to Buildpacks for builds.

Now, we always detect the port mapping during the build process, and only use that detected port mapping if an override is not specified. This greatly simplifies the experience around port mapping, as now a user can create an app, set a port mapping, and that first deploy will respect the port mapping without an additional deploy.

The builder always has the best context for what the app should be listening on, and thus we can always specify a "default" port mapping at this stage. Users can override this map as desired later.

This change also results in the removal of a ton of internal code that is now centralized in the ports plugin.

Closes #4067
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
6168b0c71c tests: correct assertion for dockerfile builds when a variable is eval'd 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
d06f337c3c feat: upgrade traefik image from v2.8 to v2.10 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
3218a496c5 feat: upgrade caddy image from 2.7 to 2.8 2023-08-05 10:58:57 -04:00