Commit Graph

519 Commits

Author SHA1 Message Date
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
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
Jose Diaz-Gonzalez
27a2478a33 Follow bashstyle where possible 2015-09-16 16:06:31 -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
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
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
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
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
30631692a5 cat is no longer needed by plugn 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
Jose Diaz-Gonzalez
525e6f503d Remove deprecated calls 2015-09-15 02:17:27 -07:00
Jose Diaz-Gonzalez
92497cf095 Do not delete containers with the label dokku.service
[ci skip]
2015-09-15 02:17:27 -07:00
Jose Diaz-Gonzalez
c9bca838f0 Add missing $ 2015-09-15 02:17:27 -07:00
Jose Diaz-Gonzalez
b3ddcbed53 Remove deprecated calls 2015-09-15 02:17:27 -07:00
Jose Diaz-Gonzalez
ce23cf6ce6 rename dokku_log_pluginhook_call 2015-09-15 02:16:40 -07:00
Jose Diaz-Gonzalez
ad72a137e1 Fix sourcing of functions 2015-09-15 02:16:40 -07:00
Michael Hobbs
6d70751cfc force removal of app directory on post-delete 2015-09-15 02:16:40 -07:00
Michael Hobbs
5d8359c12e fix nginx template paths 2015-09-15 02:16:40 -07:00
Michael Hobbs
7a545759f2 initial pass at switching to plugn 2015-09-15 02:16:40 -07:00
KernelMadness
7eb8da5302 limit amount of lines in "dokku logs -t" 2015-09-14 23:59:19 +03:00
Michael Hobbs
01525e3164 set TRACE=true when DOKKU_TRACE is set 2015-09-10 14:07:07 -07:00
Michael Hobbs
b2949d2199 log when killing old app container(s) fails 2015-09-10 08:47:48 -07:00
Jose Diaz-Gonzalez
88bd50abaf 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-08 14:35:00 -04:00
Michael Hobbs
b71f6f4660 rename buildstep hooks to buildpack 2015-09-08 08:50:17 -07:00
Jose Diaz-Gonzalez
34c5b53857 Do not delete containers with the label dokku.service
[ci skip]
2015-09-08 11:21:38 -04:00
Jose Diaz-Gonzalez
ba82b544f0 Proper spacing in dokku_log_warn 2015-09-06 19:40:44 -04:00
Jose Diaz-Gonzalez
d0c0ffc19c Do not remove any containers that have the label dokku. Closes #1220
This can be used to mark data containers as non-removable by the cleanup function
2015-09-06 19:23:15 -04:00
Jose Diaz-Gonzalez
342e9aa95b Move dokku cleanup into docker_cleanup function
This should slightly reduce DOKKU_TRACE output.
2015-09-06 19:21:12 -04:00
Michael Hobbs
515afa8d62 lintballs 2015-09-03 21:44:19 -07:00
Jose Diaz-Gonzalez
adfc3a8101 Use dokku_log_fail in favor of dokku_log_warn
If a command will exit because of invalid input, that isn't a warning, it's a failure.
2015-09-04 00:18:41 -04:00
Jose Diaz-Gonzalez
95161a2a9f Use dokku_log_fail in all cases where there is an exit 1 2015-09-04 00:17:45 -04:00
Jose Diaz-Gonzalez
76cf4d2969 Add support for certificate setting via files on disk (when on server)
This can be used as an alternative to importing via stdin, which may be preferred when working directly on a server, or via scripted installation/deployments.
2015-09-04 00:13:48 -04:00
Jose Diaz-Gonzalez
71ebf1e476 Add certs:update alias for certs:add 2015-09-04 00:00:07 -04:00
Jose Diaz-Gonzalez
db4e847e8d Update documentation on ssl management
Also move into subdirectory

[ci skip]
2015-09-03 23:35:18 -04:00
Jose Diaz-Gonzalez
d37e64d3d6 Move nginx:import-ssl to certs:add 2015-09-03 23:04:05 -04:00
Jose Diaz-Gonzalez
f2e153744c [ci skip] minor formatting changes 2015-09-03 22:38:24 -04:00
Michael Hobbs
5cb62b168f lintball. also run nginx:build-config if domains:add fails 2015-09-03 22:35:38 -04:00
Michael Hobbs
983e0910b1 implement certs:remove. spit out csr on certs:generate 2015-09-03 22:35:00 -04:00
Michael Hobbs
aec138ef32 heroku-like certs:info output 2015-09-03 22:35:00 -04:00