mirror of
https://github.com/dokku/dokku.git
synced 2025-12-16 12:07:45 +01:00
Release 0.4.0
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,3 +4,4 @@ stack.tgz
|
||||
build
|
||||
tmp
|
||||
*.deb
|
||||
.ruby-version
|
||||
|
||||
72
HISTORY.md
72
HISTORY.md
@@ -1,5 +1,77 @@
|
||||
# History
|
||||
|
||||
## 0.4.0
|
||||
|
||||
This is our first minor release in almost a year. Many new features and removals have occurred, so here is a neat summary:
|
||||
|
||||
- Plugins are now triggered via `plugn`. Notably, you'll need add a `plugin.toml` to describe the plugin as well as use `plugn trigger` instead of `pluginhook` to trigger plugin callbacks. Please see the [plugin creation documentation](http://progrium.viewdocs.io/dokku/development/plugin-creation/) for more details.
|
||||
- A few new official plugins have been added to the core, including [image tagging](http://progrium.viewdocs.io/dokku/application-deployment/), [certificate management](http://progrium.viewdocs.io/dokku/deployment/ssl-configuration/), a tar-based deploy solution, and much more. Check out the *New Features* section for more details.
|
||||
- We've removed a few deprecated plugin callbacks. Please see the [plugin triggers documentation](http://progrium.viewdocs.io/dokku/development/plugin-triggers/) to see what is available.
|
||||
- [Official datastorage plugins](https://github.com/dokku) have been created for the most commonly used datastores. If you previously used/maintained a community contributed plugin, please check these out. We'll be adding more official plugins as time goes on.
|
||||
|
||||
Thanks to the *many* contributors for making this release our best release so far, and special thanks to both @michaelshobbs and @Flink for pushing along the `0.4.0` release!
|
||||
|
||||
### Deprecations and Removals
|
||||
|
||||
- #1372: @SonicHedgehog Do no longer force-install a default nginx.conf
|
||||
- #1415: @tilgovi Remove uses of (un)set-norestart
|
||||
- #1432: @josegonzalez Delete unmaintained AUTHORS file
|
||||
- #1450: @michaelshobbs Rename event plugin buildstep hooks to buildpack
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- #1344: @AdamVig Add better error checking on nginx:import-ssl
|
||||
- #1417: @josegonzalez Expose host and port in vagrant build vm
|
||||
- #1418: @josegonzalez Use cgroupfs-mount as alternative package to cgroup-lite dependency
|
||||
- #1419: @u2mejc Fix dokku ps <app> over ssh
|
||||
- #1422: @josegonzalez Guard against missing VHOST files when listing domains
|
||||
- #1428: @jimeh Use `$PLUGIN_PATH` instead of `$(dirname $0)/..`
|
||||
- #1430: @lubert Update vagrant box name to `bento/ubuntu-14.04`
|
||||
- #1439: @michaelshobbs Fix tar tests by sleeping for 5 seconds
|
||||
- #1447: @alanjds Properly detect app name in the official cli client
|
||||
- #1449: @josegonzalez Match herokuish deb with released version number
|
||||
- #1457: @lukechilds Bashstyle fixes
|
||||
- #1463: @josegonzalez Update `Xenify Distro` option for linode stackscript
|
||||
- #1464: @josegonzalez Limit number of log lines when calling `dokku logs -t`
|
||||
- #1466: @josegonzalez Follow bashstyle conventions where possible
|
||||
- #1471: @michaelshobbs Make the default scaling logic clearer
|
||||
- #1475: @josegonzalez Fix issue where restart on failure option overrode existing DOCKER_ARGS
|
||||
|
||||
### New features
|
||||
|
||||
- #1225: @michaelshobbs Add tags plugin to handle image tagging and deployment of tagged app images
|
||||
- #1228: @michaelshobbs Use plugn instead of pluginhook to trigger plugin hooks
|
||||
- #1402: @josegonzalez Consolidate configuration management into config plugin
|
||||
- #1414: @michaelshobbs Add certs plugin for certificate management
|
||||
- #1420: @josegonzalez Add `dokku enter` for connecting to an app container
|
||||
- #1421: @basicer Add tar plugin to manage tar-based deployments
|
||||
- #1423: @josegonzalez Set `DYNO_TYPE_NUMBER` environment variable for each container
|
||||
- #1431: @josegonzalez Add helper function for inspecting the state of a container
|
||||
- #1444: @josegonzalez Extract cleanup command into common function
|
||||
- #1445: @josegonzalez Create CONTRIBUTING.md
|
||||
- #1455: @michaelshobbs Continue and log an event if/when container retirement fails
|
||||
- #1458: @michaelshobbs Set Herokuish `TRACE=true` when `DOKKU_TRACE` is set
|
||||
- #1460: @michaelshobbs Bump herokuish version to 0.3.3
|
||||
- #1465: @josegonzalez Set DYNO environment variable to heroku-compatible value
|
||||
- #1467: @josegonzalez Upgrade dokku installation to use docker-engine
|
||||
- #1468: @michaelshobbs Clean up semver logic and run install-dependencies after package installation
|
||||
- #1469: @isundaylee Add nginx:access-logs and nginx:error-logs commands
|
||||
- #1470: @assaf Add nginx configuration for running behind load balancer
|
||||
- #1472: @michaelshobbs Use processes defined in `Procfile` when generating `DOKKU_SCALE` file
|
||||
- #1473: @josegonzalez Handle crashing containers by using restart=on-failure policy
|
||||
- #1476: @michaelshobbs Support static nginx port when deploying without an application VHOST
|
||||
- #1476: nginx proxy without VHOST
|
||||
- #1477: @arthurschreiber Support removing config variables that contain `\n`.
|
||||
|
||||
### Documentation
|
||||
|
||||
- #1407: @ertrzyiks Correct DOKKU_DOCKERFILE_PORT variable name in docs
|
||||
- #1408: @josegonzalez Add links to official dokku datastorage plugins
|
||||
- #1426: @henrik Update memcached link to maintained fork
|
||||
- #1437: @Flink Update compatibility version for several plugins
|
||||
- #1446: @johnfraney Correct nginx documentation
|
||||
- #1478: @eljojo Fix naming of herokuish package in installation docs
|
||||
|
||||
## 0.3.26
|
||||
|
||||
This release has a few new features, the largest of which is switching from buildstep to herokuish for building containers. Going forward, this should help ensure that built containers are as close to heroku containers as possible, and also allow us to be on the cutting edge of heroku buildpack support. Props to @michaelshobbs for his work on herokuish.
|
||||
|
||||
@@ -10,8 +10,8 @@ Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen. S
|
||||
|
||||
To install the latest stable release, you can run the following commands as a user that has access to `sudo`:
|
||||
|
||||
wget https://raw.github.com/progrium/dokku/v0.3.26/bootstrap.sh
|
||||
sudo DOKKU_TAG=v0.3.26 bash bootstrap.sh
|
||||
wget https://raw.github.com/progrium/dokku/v0.4.0/bootstrap.sh
|
||||
sudo DOKKU_TAG=v0.4.0 bash bootstrap.sh
|
||||
|
||||
### Upgrading
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ if ARGV[0] == "onboot"
|
||||
exit
|
||||
end
|
||||
|
||||
version = "v0.3.26"
|
||||
version = "v0.4.0"
|
||||
dokku_root = ENV["DOKKU_ROOT"] || "/home/dokku"
|
||||
admin_keys = `cat /root/.ssh/authorized_keys`.split("\n")
|
||||
hostname = `bash -c '[[ $(dig +short $HOSTNAME) ]] && echo $HOSTNAME || curl icanhazip.com'`.strip
|
||||
|
||||
12
deb.mk
12
deb.mk
@@ -10,13 +10,13 @@ DOKKU_ARCHITECTURE = amd64
|
||||
|
||||
PLUGN_DESCRIPTION = 'Hook system that lets users extend your application with plugins'
|
||||
PLUGN_REPO_NAME ?= progrium/plugn
|
||||
PLUGN_VERSION ?= 0.1.0
|
||||
PLUGN_VERSION ?= 0.2.0
|
||||
PLUGN_ARCHITECTURE = amd64
|
||||
PLUGN_PACKAGE_NAME = plugn_$(PLUGN_VERSION)_$(PLUGN_ARCHITECTURE).deb
|
||||
|
||||
SSHCOMMAND_DESCRIPTION = 'Turn SSH into a thin client specifically for your app'
|
||||
SSHCOMMAND_REPO_NAME ?= progrium/sshcommand
|
||||
SSHCOMMAND_VERSION ?= 0.0.1
|
||||
SSHCOMMAND_VERSION ?= 0.1.0
|
||||
SSHCOMMAND_ARCHITECTURE = amd64
|
||||
SSHCOMMAND_PACKAGE_NAME = sshcommand_$(SSHCOMMAND_VERSION)_$(SSHCOMMAND_ARCHITECTURE).deb
|
||||
|
||||
@@ -86,13 +86,13 @@ deb-dokku: deb-setup
|
||||
|
||||
cp -r debian /tmp/build/DEBIAN
|
||||
mkdir -p /tmp/build/usr/local/bin
|
||||
mkdir -p /tmp/build/var/lib/dokku
|
||||
mkdir -p /tmp/build/var/lib/dokku/core-plugins/available
|
||||
mkdir -p /tmp/build/usr/local/share/man/man1
|
||||
mkdir -p /tmp/build/usr/local/share/dokku/contrib
|
||||
|
||||
cp dokku /tmp/build/usr/local/bin
|
||||
cp -r plugins /tmp/build/var/lib/dokku
|
||||
find plugins/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read plugin; do touch /tmp/build/var/lib/dokku/plugins/$$plugin/.core; done
|
||||
cp -r plugins/* /tmp/build/var/lib/dokku/core-plugins/available
|
||||
find plugins/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read plugin; do touch /tmp/build/var/lib/dokku/core-plugins/available/$$plugin/.core; done
|
||||
$(MAKE) help2man
|
||||
$(MAKE) addman
|
||||
cp /usr/local/share/man/man1/dokku.1 /tmp/build/usr/local/share/man/man1/dokku.1
|
||||
@@ -128,7 +128,7 @@ deb-plugn: deb-setup
|
||||
mkdir -p /tmp/build/usr/local/bin $(GOPATH)
|
||||
sudo apt-get update -qq > /dev/null
|
||||
sudo apt-get install -qq -y git golang mercurial 2>&1 > /dev/null
|
||||
export PATH=$(PATH):$(GOROOT)/bin:$(GOPATH)/bin && export GOROOT=$(GOROOT) && export GOPATH=$(GOPATH) && go get "golang.org/x/crypto/ssh/terminal"
|
||||
export PATH=$(PATH):$(GOROOT)/bin:$(GOPATH)/bin && export GOROOT=$(GOROOT) && export GOPATH=$(GOPATH) && cd /tmp/tmp/plugn && make deps
|
||||
export PATH=$(PATH):$(GOROOT)/bin:$(GOPATH)/bin && export GOROOT=$(GOROOT) && export GOPATH=$(GOPATH) && cd /tmp/tmp/plugn && go build -o plugn
|
||||
mv /tmp/tmp/plugn/plugn /tmp/build/usr/local/bin/plugn
|
||||
|
||||
|
||||
4
debian/control
vendored
4
debian/control
vendored
@@ -3,7 +3,7 @@ Version: 0.3.12
|
||||
Section: base
|
||||
Priority: optional
|
||||
Architecture: amd64
|
||||
Depends: locales, git, make, curl, software-properties-common, docker-engine | lxc-docker, gcc, python-software-properties, man-db, herokuish, sshcommand, plugn
|
||||
Pre-Depends: nginx, dnsutils, ruby, ruby-dev, rubygem-rack, rubygem-rack-protection, rubygem-sinatra, rubygem-tilt, apparmor, cgroupfs-mount | cgroup-lite
|
||||
Depends: locales, git, make, curl, software-properties-common, docker-engine | lxc-docker, gcc, python-software-properties, man-db, herokuish, sshcommand
|
||||
Pre-Depends: nginx, dnsutils, ruby, ruby-dev, rubygem-rack, rubygem-rack-protection, rubygem-sinatra, rubygem-tilt, apparmor, cgroupfs-mount | cgroup-lite, plugn
|
||||
Maintainer: Jose Diaz-Gonzalez <dokku@josediazgonzalez.com>
|
||||
Description: Docker powered mini-Heroku in around 100 lines of Bash
|
||||
|
||||
28
debian/postinst
vendored
28
debian/postinst
vendored
@@ -16,7 +16,35 @@ case "$1" in
|
||||
sshcommand create dokku /usr/local/bin/dokku
|
||||
egrep -i "^docker" /etc/group || groupadd docker
|
||||
usermod -aG docker dokku
|
||||
|
||||
# setup plugin directories
|
||||
# should be replaced by `plugn init`
|
||||
mkdir -p /var/lib/dokku/core-plugins/available /var/lib/dokku/plugins/available
|
||||
mkdir -p /var/lib/dokku/core-plugins/enabled /var/lib/dokku/plugins/enabled
|
||||
touch /var/lib/dokku/core-plugins/config.toml /var/lib/dokku/plugins/config.toml
|
||||
|
||||
# migrate old plugins
|
||||
find /var/lib/dokku/plugins/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read plugin; do
|
||||
if [ "$plugin" = "available" ] || [ "$plugin" = "enabled" ]; then
|
||||
continue
|
||||
elif [ -f /var/lib/dokku/plugins/$plugin/.core ]; then
|
||||
rm -rf /var/lib/dokku/plugins/$plugin
|
||||
elif [ ! -d /var/lib/dokku/plugins/available/$plugin ]; then
|
||||
mv /var/lib/dokku/plugins/$plugin /var/lib/dokku/plugins/available;
|
||||
fi
|
||||
done
|
||||
|
||||
# enable all core plugins
|
||||
find /var/lib/dokku/core-plugins/available -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read plugin; do
|
||||
if [ ! -d /var/lib/dokku/plugins/available/$plugin ]; then
|
||||
ln -s /var/lib/dokku/core-plugins/available/$plugin /var/lib/dokku/plugins/available/$plugin;
|
||||
PLUGIN_PATH=/var/lib/dokku/core-plugins plugn enable $plugin
|
||||
PLUGIN_PATH=/var/lib/dokku/plugins plugn enable $plugin
|
||||
fi
|
||||
done
|
||||
|
||||
dokku plugin:install --core
|
||||
|
||||
rm -f /home/dokku/VERSION
|
||||
cp /var/lib/dokku/STABLE_VERSION /home/dokku/VERSION
|
||||
|
||||
|
||||
@@ -5,6 +5,8 @@ Dokku is released in intervals *at most* three weeks apart, though may be releas
|
||||
To propose a release, the following tasks need to be performed:
|
||||
|
||||
- The installable version must be changed in the `docs/installation.md` file.
|
||||
- The installable version must be changed in the `docs/home.html` file
|
||||
- The installable version must be changed in the `docs/index.md` file
|
||||
- The installable version must be changed in the `README.md` file.
|
||||
- The installable version must be changed in the `contrib/dokku-installer.rb` file.
|
||||
- A list of changes must be made in the `HISTORY.md`.
|
||||
|
||||
@@ -64,12 +64,12 @@
|
||||
<p class="line">
|
||||
<span class="path">~</span>
|
||||
<span class="prompt">$</span>
|
||||
<span class="command">wget https://raw.github.com/progrium/dokku/v0.3.26/bootstrap.sh</span>
|
||||
<span class="command">wget https://raw.github.com/progrium/dokku/v0.4.0/bootstrap.sh</span>
|
||||
</p>
|
||||
<p class="line">
|
||||
<span class="path">~</span>
|
||||
<span class="prompt">$</span>
|
||||
<span class="command">sudo DOKKU_TAG=v0.3.26 bash bootstrap.sh</span>
|
||||
<span class="command">sudo DOKKU_TAG=v0.4.0 bash bootstrap.sh</span>
|
||||
</p>
|
||||
<p class="line">
|
||||
<span class="output"># => Go to your server's IP and follow the web installer</span>
|
||||
|
||||
@@ -15,12 +15,12 @@
|
||||
<p class="line">
|
||||
<span class="path">~</span>
|
||||
<span class="prompt">$</span>
|
||||
<span class="command">wget https://raw.github.com/progrium/dokku/v0.3.26/bootstrap.sh</span>
|
||||
<span class="command">wget https://raw.github.com/progrium/dokku/v0.4.0/bootstrap.sh</span>
|
||||
</p>
|
||||
<p class="line">
|
||||
<span class="path">~</span>
|
||||
<span class="prompt">$</span>
|
||||
<span class="command">sudo DOKKU_TAG=v0.3.26 bash bootstrap.sh</span>
|
||||
<span class="command">sudo DOKKU_TAG=v0.4.0 bash bootstrap.sh</span>
|
||||
</p>
|
||||
<p class="line">
|
||||
<span class="output"># => Go to your server's IP and follow the web installer</span>
|
||||
|
||||
@@ -14,8 +14,8 @@ To install the latest stable version of dokku, you can run the following bootstr
|
||||
|
||||
```shell
|
||||
# installs dokku via apt-get
|
||||
wget https://raw.github.com/progrium/dokku/v0.3.26/bootstrap.sh
|
||||
sudo DOKKU_TAG=v0.3.26 bash bootstrap.sh
|
||||
wget https://raw.github.com/progrium/dokku/v0.4.0/bootstrap.sh
|
||||
sudo DOKKU_TAG=v0.4.0 bash bootstrap.sh
|
||||
|
||||
# By default, this will do cli-based setup, though you may *also*
|
||||
# go to your server's IP and follow the web installer
|
||||
|
||||
Reference in New Issue
Block a user