354 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
d10d4cc55c Release 0.22.2
# History

## 0.22.2

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.22.2/bootstrap.sh
sudo DOKKU_TAG=v0.22.2 bash bootstrap.sh
```

### Bug Fixes

- #4243: @josegonzalez Do not delete app when the app name is invalid

### New Features

- #4141: @josegonzalez Always initialize git repository

### Other

- #4244: @dependabot-preview[bot] chore(deps): bump monolog/monolog from 1.25.5 to 1.26.0 in /tests/apps/php
2020-12-15 19:14:31 -05:00
Jose Diaz-Gonzalez
01bd69100c Release 0.22.1
# History

## 0.22.1

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.22.1/bootstrap.sh
sudo DOKKU_TAG=v0.22.1 bash bootstrap.sh
```

### Bug Fixes

- #4238: @josegonzalez Ensure dead files are created for docker object retirement
- #4239: @josegonzalez Ensure all byte output is trimmed of whitespace
- #4228: @Cellane Fix tags:deploy command for images that contain ONBUILD directive
- #4233: @josegonzalez Properly parse releease command when there is an entrypoint
- #4215: @josegonzalez Implement missing cleanup routines
- #4212: @josegonzalez Cleanup docker options during post-delete
- #4211: @ml-milan-vit Make the dokku-update command compatible with Dokku 0.22+

### New Features

- #4242: @josegonzalez Remove reference to 'whitelist'
- #4220: @josegonzalez Update plugn from 0.5.0 to 0.5.1
- #4241: @josegonzalez Properly handle stdout when capturing plugn output
- #4237: @josegonzalez Release dokku-update 0.2.0
- #4225: @znz Accept first pushed branch as deploy-branch

### Documentation

- #4236: @josegonzalez Remove note regarding not having an official client
- #4234: @josegonzalez Switch to bats --filter for running a single test
- #4222: @leopolicastro Fix typo in deployment tasks documentation
- #4221: @srr013 Updating readme for clarity on git push step
- #4214: @josegonzalez Expand backup and restore documentation
- #4213: @josegonzalez Enhance the 'plugin' plugin documentation

### Tests

- #4218: @josegonzalez Enable compilation cache

### Other

- #4230: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 186 to 187 in /tests/apps/php
- #4223: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.35.v20201120 to 11.0.0 in /tests/apps/java
- #4224: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 185 to 186 in /tests/apps/php
2020-12-13 22:04:14 -05:00
Jose Diaz-Gonzalez
dceaef20ed Release 0.22.0
# History

## 0.22.0

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.22.0/bootstrap.sh
sudo DOKKU_TAG=v0.22.0 bash bootstrap.sh
```

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

### Bug Fixes

- #4204: @josegonzalez Ensure the image is not an empty string
- #4198: @josegonzalez Reference extracted Procfile
- #4194: @josegonzalez Drop appName check in apps:report
- #4183: @josegonzalez Embed pb.UnimplementedGreeterServer to avoid linting issues
- #4182: @josegonzalez Upgrade herokuish to fix nodejs tests
- #4173: @karimsan Add build-essential to Vagrant provision
- #4181: @josegonzalez Conditionally mount the dokku-arch folder if it exists
- #4130: @josegonzalez Clear proxy configs on boot
- #4131: @josegonzalez Bump minimum docker version
- #4123: @fomojola Support for expected CHECKS text with special characters
- #4115: @josegonzalez Add missing labels to built images
- #4116: @Schlepptop Ensure config:clear an be called

### New Features

- #4209: @josegonzalez Add experimental support for Cloud Native Buildpacks (CNB)
- #4210: @josegonzalez Add migration guide link to release notes
- #4203: @josegonzalez Cleanup log output for failure case
- #4208: @ankane Add ability to change the access log format
- #4202: @josegonzalez Schedule related images for cleanup when retiring containers
- #4197: @josegonzalez Retire intermediate containers after use
- #4128: @fomojola Added the container index to the network-compute-ports trigger
- #4191: @josegonzalez Create codeql-analysis.yml
- #4139: @Yihao-G Allow controlling Nginx proxy-buffer-size, proxy-buffering, proxy-buffers, proxy-busy-buffers-size
- #4156: @ltalirz When `cert:add` remove previous cert before copying the new cert
- #4129: @josegonzalez Prohibit non-dns names for apps and process types
- #4125: @josegonzalez Allow customizing the various nginx templates
- #4121: @josegonzalez Add ability to disable custom ninx.conf.sigil extraction

### Refactors

- #4160: @nerg4l Rewrite logs plugin in Go
- #4149: @josegonzalez Rewrite ps plugin in golang
- #4080: @hugopeixoto Stop using VHOST when listing app domains and urls
- #4117: @josegonzalez Rewrite app-json plugin in golang
- #4113: @josegonzalez Drop herokuish release code

### Documentation

- #4196: @josegonzalez Correctly doc apps:report output
- #4195: @luizpicolo Fix whitespace in process-management docs
- #4184: @badsyntax Add note regarding using plugin triggers instead of sourcing functions
- #4188: @fomojola Added the autosync community plugin
- #4187: @nahtnam Add `-p` flag to "Run on External Volume" tutorial
- #4186: @badsyntax Add dokku-discourse to community plugins list
- #4170: @chrisjsimpson Add note on how to enable buildkit usage
- #4168: @josegonzalez Revert "The default branch for ruby-getting-started is 'main', not 'master"
- #4167: @nateww The default branch for ruby-getting-started is 'main', not 'master
- #4135: @znz Fix broken table
- #4140: @swrobel Note Ubuntu 20.04 support in README
- #4136: @hugopeixoto Update push command for sample app in docs
- #4124: @josegonzalez Note that docker options require app rebuilds
- #4098: @carlosgeos Add a note on how nginx handles load balancing
- #4111: @josegonzalez Add large version of dokku image
- #4100: @turicas Fix markdown syntax in nginx docs

### Other

- #4201: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.34.v20201102 to 9.4.35.v20201120 in /tests/apps/java
- #4200: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 183 to 185 in /tests/apps/php
- #4189: @dependabot-preview[bot] chore(deps): bump thin from 1.7.2 to 1.8.0 in /tests/apps/ruby
- #4175: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.33.v20201020 to 9.4.34.v20201102 in /tests/apps/java
- #4172: @dependabot-preview[bot] chore(deps): bump github.com/golang/protobuf from 1.4.2 to 1.4.3 in /tests/apps/gogrpc
- #4185: @dependabot-preview[bot] chore(deps): bump socket.io from 2.3.0 to 3.0.1 in /tests/apps/.websocket.disabled
- #4190: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 182 to 183 in /tests/apps/php
- #4165: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.31.v20200723 to 9.4.33.v20201020 in /tests/apps/java
- #4153: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 181 to 182 in /tests/apps/php
- #4144: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 180 to 181 in /tests/apps/php
- #4137: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 179 to 180 in /tests/apps/php
- #4118: @dependabot[bot] chore(deps): bump django from 3.0.2 to 3.0.7 in /tests/apps/dockerfile-release
- #4103: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 178 to 179 in /tests/apps/php
- #4091: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.30.v20200611 to 9.4.31.v20200723 in /tests/apps/java
2020-12-01 16:23:05 -05:00
Jose Diaz-Gonzalez
f7863c8391 fix: handle clone and rename properly 2020-11-28 00:39:28 -05:00
Jose Diaz-Gonzalez
bf17023639 refactor: simplify ps:scale setup 2020-11-23 00:11:10 -05:00
Jose Diaz-Gonzalez
97513dee91 fix: handle case where deploying app image does not exist
This happens if ps:scale is called before a deploy.

Also refactor GetDeployingAppImageName() to return an error as the second return parameter.
2020-11-23 00:11:00 -05:00
Jose Diaz-Gonzalez
fceb412fb1 fix: reference extracted Procfile
Rather than attempting to always extract the Procfile, reference the one that was extracted by the last deploy. This fixes issues where 'docker container cp' may fail intermittently for lord knows what reason.

Closes #4083
2020-11-22 17:14:18 -05:00
Jose Diaz-Gonzalez
ae1b1c7274 chore: move function to internal 2020-11-21 21:07:20 -05:00
Jose Diaz-Gonzalez
53a76b1353 feat: implement ps:retire 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
5fd1772c3a chore: drop implemented function 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
ab0cc6c444 fix: implement ps:restore
Also add all the niceties around parallelism that were introduced for the other commands.
2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
8ae597ad1d fix: correct help output 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
e6e5ede436 refactor: make parallel commands available to all of Dokku
There are other places in the codebase that currently act on all apps or could benefit from being able to do so. Being able to run `common.RunCommandAgainstAllApps()` and get that for free will be a boon to implementing this functionality elsewhere.
2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
a19efc1cfa chore: drop all references to all commands where possible. 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
28a36c4908 feat: add proper parallel support 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
6e0c376b62 fix: correctly handle property and data perms 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
c9a0f88bf1 fix: correct a few stickler errors 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
f558008574 fix: correct a few stickler errors 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
b44bc686a1 docs: update docs for ps commands 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
037b99865d fix: use CamelCase for constants 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
1b50b4ab0a fix: ensure the scale file has correct processes when it exists 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
bc9a60f696 feat: switch to updateScalefile from generateScalefile
The process is the same.
2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
44ce5c76ae fix: move log message to correct location 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
702e9cf66c fix: zero out entries that don't exist in the scale file 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
f13ee16ab8 feat: add support for process state in ps:report output 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
82f13af166 chore: return early 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
23ad4bb230 refactor: add ability to skip deploys and fix process scaling 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
a8ccc7d2a7 feat: generate the scale file after app creation
The web process always starts off at `1`, so this is relatively benign.
2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
0a533c754f refactor: split ps:scale func into different functions 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
f6efb53491 fix: reference image instead of imageTag 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
e8d0965a33 feat: implement all of ps:report 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
db435c40e5 fix: do not delete the destination scale file if it was not extracted previously 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
bf84405b43 fix: handle scaling properly when there is no procfile 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
833a64cc0e fix: check if it can scale by checking for an extracted file 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
54fb2b5d75 feat: suppress output when not necessary 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
815cd530c8 chore: remove functions 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
a93f504d45 chore: short-circuit procfile command fetching if there is no procfile 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
cae561f7b9 feat: extract procfile when fetching command as necessary 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
f9969a0e61 refactor: drop extra args from procfile-extract
They were not necessary.
2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
06ce3dfadb fix: remove unused variable 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
ab1d15216c refactor: drop the last argument from procfile-get-command
No external plugin should need to know the internals of where processes are.
2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
e8cfbfad36 fix: drop todos 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
e7ee7a1781 refactor: implement most of ps plugin in golang 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
3714a231a9 chore: drop unused code 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
696df45306 refactor: extract release_and_deploy calls to a plugin trigger
Better would be to separate the release and deploy aspects into distinct triggers - as well as have it release a specific image - but this is a good first pass.
2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
752a0cacd9 fix: clear proxy configs on boot
Unfortunately, Docker does not persist container IPs on boot, so containers may come up with the wrong IP, resulting in proxying to the incorrect app after a server restart. Instead, we should delete the configs and let ps:restore rebuild the proxy config correctly.

Closes #3932
2020-09-10 01:58:45 -04:00
Jose Diaz-Gonzalez
0f514f300e feat: prohibit non-dns names for apps and process types
This is necessary for ensuring ssl certificates can be auto-retrieved for apps, and also easing integration into schedulers that use names and process types as part of DNS records.

As well, this fixes an issue where we may potentially have invalid DNS entries when adding apps to custom networks.

Closes #4102
Closes #4114
2020-09-09 20:07:50 -04:00
Jose Diaz-Gonzalez
4d735b4d88 fix: do not output error on checking for process type existence 2020-08-31 18:55:39 -04:00
Jose Diaz-Gonzalez
9aab7dce7d feat: create ps directory on app create 2020-08-31 04:22:40 -04:00
Jose Diaz-Gonzalez
2478556df1 fix: ensure the base directory exists before extracting the file 2020-08-31 04:22:27 -04:00