Commit Graph

1785 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
70511c340d Check if command is implemented in a plugin before executing plugin code
Because of how plugin commands are implemented, their output can be incredibly verbose. Rather than executing even the `set -eo pipefail` parts of a plugin, we immediately check if the command is implemented by a plugin. If it is not, then we continue on as normal.

One side-effect of this change is that plugin commands need to be duplicated again:

- once in the command array
- once for the actual body of the command
- once in the help output

This is also quite hackish, and probably not the best way to decrease trace output. Note that we drop approximately 2k lines worth of logs with this change.
2015-09-18 16:09:59 -04:00
Jose Diaz-Gonzalez
467264d31f Drop another ~1k lines from DOKKU_TRACE output 2015-09-18 16:09:59 -04:00
Jose Diaz-Gonzalez
1e543afb78 Retrieve default docker args a single time 2015-09-18 16:09:59 -04:00
Jose Diaz-Gonzalez
b9ecb32d3f Reduce deploy trace output for multi-container applications
This reduces deploy output by moving `config:get` calls out of the main loop. Since the values are the same for each iteration, it does not make sense to re-retrieve them each time.
2015-09-18 16:08:24 -04:00
Jose Diaz-Gonzalez
bf1349bec8 Merge pull request #1477 from arthurschreiber/patch-2
Support removing config variables that contain `\n`.
2015-09-18 15:53:22 -04:00
Jose Diaz-Gonzalez
28450eb4f3 Merge pull request #1478 from eljojo/patch-1
Fix naming of herokuish package in installation docs
2015-09-18 15:52:54 -04:00
José Tomás Albornoz
068810ad36 Herokush -> herokuish
not that kind of kush
2015-09-18 18:51:11 +02:00
Arthur Schreiber
7a0161dd86 Add a testcase. 2015-09-18 15:34:46 +02:00
Arthur Schreiber
b6c4a750de Support removing config variables that contain \n. 2015-09-18 15:32:33 +02:00
Jose Diaz-Gonzalez
a1d8cc23b9 Merge pull request #1475 from progrium/josegonzalez-patch-1
Fix issue where restart on failure option overrode existing DOCKER_ARGS
2015-09-17 11:16:37 -07:00
Jose Diaz-Gonzalez
1975384292 Fix issue where restart on failure option overrode existing DOCKER_ARGS 2015-09-17 10:32:14 -07:00
Jose Diaz-Gonzalez
c1e9630052 Merge pull request #1473 from progrium/restart-crashing-apps
Handle crashing containers by using restart=on-failure policy
2015-09-17 10:20:14 -07:00
Jose Diaz-Gonzalez
ab8eb5a727 Handle crashing containers by using restart=on-failure policy
Previously a crashed container would stay down, regardless of exit status. In some cases, it may be useful to restart the container. For example, an application may not be correctly implementing their error handling, or the crash may be caused by a transient error.

By setting the restart policy to `on-failure:N` - where N is a number of max restarts - we can help developers guard against crashing applications. Note that this is not a replacement for proper error handling, nor does this include notifications to a developer when a container is restarted. Those patterns should be implemented application side, or via a feature request to docker.

The value is configurable at the app-level by setting DOKKU_RESTART_LIMIT to a number. By default, containers will be restarted a max of 10 times. If a container crashes during the check-deploy plugin trigger, then the deploy will be marked as a failure.

Closes #216
Closes #398
Closes #1327
2015-09-16 23:47:33 -07:00
Jose Diaz-Gonzalez
4ad955adcb Merge pull request #1472 from progrium/1442_mh-default-scaling
Use processes defined in `Procfile` when generating `DOKKU_SCALE` file
2015-09-16 20:44:36 -07:00
Michael Hobbs
c8b8b9bb93 generate DOKKU_SCALE based on Procfile if DOKKU_SCALE is not found. closes #1442 2015-09-16 17:17:26 -07:00
Michael Hobbs
1ebfedcfb5 [ci skip] make the default scaling logic clearer 2015-09-16 17:16:35 -07:00
Jose Diaz-Gonzalez
7443a2f49e Merge pull request #1466 from progrium/bashstyle
Follow bashstyle conventions where possible
2015-09-16 16:41:05 -07:00
Jose Diaz-Gonzalez
27a2478a33 Follow bashstyle where possible 2015-09-16 16:06:31 -07:00
Jose Diaz-Gonzalez
1c53250211 Merge pull request #1467 from progrium/1295-docker-engine
Upgrade dokku installation to use docker-engine
2015-09-16 16:02:02 -07:00
Jose Diaz-Gonzalez
30aa89ce8a Allow installation with lxc-docker
This will allow developers to run an `upgrade` on existing installations without breaking because docker-engine isn't yet in their apt lists...

[ci skip]
2015-09-16 15:53:08 -07:00
Jose Diaz-Gonzalez
ebe4af70dc Merge pull request #1471 from progrium/1442_mh-default-scaling
Make the default scaling logic clearer
2015-09-16 15:51:00 -07:00
Michael Hobbs
433ced0f26 [ci skip] make the default scaling logic clearer 2015-09-16 15:33:01 -07:00
Michael Hobbs
95388b07bb support DOCKER_VERSION when installing via Makefile 2015-09-16 15:21:09 -07:00
Jose Diaz-Gonzalez
1e479c63bd Upgrade dokku installation to use docker-engine
Also simplify deb-based installation everywhere.

Closes #1295
Closes #1461
2015-09-15 13:35:45 -07:00
Jose Diaz-Gonzalez
1be4b94226 Merge pull request #1469 from progrium/1352_mh-nginx-logs-commands
Add nginx:access-logs and nginx:error-logs without sudo requirement
2015-09-15 12:03:32 -07:00
Jose Diaz-Gonzalez
64b57359b5 Merge pull request #1470 from progrium/1055_mh-nginx-ssl-terminated
Add nginx configuration for running behind load balancer
2015-09-15 11:20:35 -07:00
Michael Hobbs
39aedd158b Merge pull request #1468 from progrium/mh-install-deps-in-bootstrap
clean up semver logic and run install-dependencies after package installation
2015-09-15 10:48:01 -07:00
Michael Hobbs
c62ac4bcc3 Merge pull request #1372 from SonicHedgehog/default-nginx-conf
Do no longer force-install a default nginx.conf
2015-09-15 10:47:57 -07:00
Michael Hobbs
964a84dc31 rename ssl terminated template to conform to naming scheme 2015-09-15 10:36:14 -07:00
Assaf Arkin
170f44f3d7 Added documentation 2015-09-15 10:31:27 -07:00
Assaf Arkin
1b84527f8c ADDED Nginx configuration for running behind load balancer 2015-09-15 10:31:27 -07:00
Michael Hobbs
72a1b76b63 don't require sudo for tailing logs since we're root anyway 2015-09-15 10:15:22 -07:00
Jiahao Li
cca49230d9 Add nginx:access-logs and nginx:error-logs.
Add two nginx subcommands to display nginx error/access logs for a particular app.
2015-09-15 10:08:52 -07:00
Michael Hobbs
9ea0a8fe8b [ci skip] clean up semver logic and run install-dependencies after package installation 2015-09-15 10:00:51 -07:00
Jose Diaz-Gonzalez
63d8994243 Merge pull request #1228 from progrium/mh-switch-to-plugn
switching from pluginhook to plugn
2015-09-15 09:16:36 -07:00
Jose Diaz-Gonzalez
c929edfbe5 Source plugins from $PLUGIN_AVAILABLE_PATH when not using common plugin
This will allow us to override any core plugin
2015-09-15 02:22:08 -07:00
Jose Diaz-Gonzalez
cadba248b6 Fix source paths for common functions
[ci skip]
2015-09-15 02:17:28 -07:00
Michael Hobbs
872fbc130e new trigger for failed container retirement 2015-09-15 02:17:28 -07:00
Michael Hobbs
5fdd69a657 remove remnants of bad rebase 2015-09-15 02:17:28 -07:00
Michael Hobbs
e8fb585fa8 rename buildstep hooks to buildpack 2015-09-15 02:17:28 -07:00
Jose Diaz-Gonzalez
4bcc9ac05d Remove deprecated calls 2015-09-15 02:17:28 -07:00
Michael Hobbs
8095df79f6 implement core plugin mgmt using plugn. add tests. 2015-09-15 02:17:28 -07:00
Michael Hobbs
d6341e9ab7 set DOKKU_API_VERSION initially to 1 2015-09-15 02:17:28 -07:00
Michael Hobbs
30631692a5 cat is no longer needed by plugn 2015-09-15 02:17:28 -07:00
Michael Hobbs
bef51a1c6b initial pass at converting deb to plugn 2015-09-15 02:17:28 -07:00
Michael Hobbs
424f9f1e5b only use plugn when referring to the project or command. otherwise use plugin 2015-09-15 02:17:28 -07:00
Michael Hobbs
18d234a925 move plugin-* to plugin: namespace 2015-09-15 02:17:28 -07:00
Michael Hobbs
e873f27eac remove remnants of bad rebase 2015-09-15 02:17:28 -07:00
Jose Diaz-Gonzalez
aaa7a4ecb0 Revert change that whitelisted dokku-labeled containers
Rather than having a one-off hack for "blessed" containers, we should solve the issue properly. As that would take a bit more work, reverting to the previous state is preferred.

Better that we solve a problem problem than with a hack that we'll need to roll back in the future.

Refs #1220

[ci skip]
2015-09-15 02:17:27 -07:00
Michael Hobbs
cd3af6b961 rename buildstep hooks to buildpack 2015-09-15 02:17:27 -07:00