Commit Graph

55 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
ef7894fdfa refactor: standardize help generation 2020-02-10 00:37:00 -05:00
Jose Diaz-Gonzalez
86795ddacc tests: run mvdan/shfmt on test runs
While I do not agree with _every_ style change, this will force Dokku to have consistent formatting across all shell scripts, which is arguably a Good Thing™.

The command used to reprocess everything is:

```shell
shfmt -l -bn -ci -i 2 -w .
```
2019-01-07 01:25:55 -05:00
Jose Diaz-Gonzalez
15a2b7cbce feat: sanitize docker inspect output with ps:inspect
Often-times, we will want to have the container inspect output for debugging purposes, but this process is:

- error prone, as the user needs to know what their containers are
- potentially insecure, as the output must be sanitized of sensitive data

Instead of making users wade through this process, we provide a helper `ps:inspect` command, that can be used to diagnose problems associated with containers that may or may not exist for an application.
2018-10-14 22:10:28 -04:00
Jose Diaz-Gonzalez
792b36d5cc feat: add ps:startall command 2018-04-26 17:34:06 -04:00
Sherman K
41dd72dd3e Add ps:stopall command to stop all apps 2018-01-19 00:23:31 +08:00
Jose Diaz-Gonzalez
31c9775ef4 docs: Add documentation surrounding flags that ps:report accepts
Closes #2631

[ci skip]
2017-03-04 16:17:27 -07:00
Mriyam Tamuli
45f8b8ccc8 Adds the report subcommand to the ps plugin 2016-12-01 11:39:18 +05:30
Jose Diaz-Gonzalez
7ccfdabc48 Document caveats around ps:rebuild and tags/tar deployed applications. Closes #2374
The tags and tar plugins do not necessarily build from source, and running `ps:rebuild` can have some unexpected output in certain cases. Rather than try to handle that complexity - it's a lot - documenting the edge cases is the most appropriate way forward.
2016-09-06 20:26:53 -04:00
Jose Diaz-Gonzalez
7ac284bdb6 Document all commands under the ps plugin 2016-09-03 15:51:35 -04:00
Jose Diaz-Gonzalez
59c9207797 Implement restart-policy handling. Closes #1734
Applications without a restart-policy will have their policies set to `on-failure:10`. Users can completely unset the restart-policy using the `docker-options` plugin, though this will be equivalent to setting it explicitly to `no`.

Restart policies must be explicitly set, and the following are all valid:

- no
- unless-stopped
- always
- on-failure
- on-failure:NUMBER
2016-07-02 17:22:54 -04:00
Michael Hobbs
de9b1f6273 [ci skip] make help desc local consistent 2016-03-22 13:33:35 -07:00
Justin Clark
14a1d06c03 Collapse help into expandable command topics 2016-03-22 10:50:20 -07:00
Michael S. Hobbs
89f289b433 subcommand restructure and bashstyle refactor. closes #1579 2016-03-03 22:11:35 -08:00
Michael Hobbs
d1b87bd7b7 cleanup shellcheck SC2086 2016-02-23 07:50:06 -08:00
Michael Hobbs
9842d7498b nginx-vhosts rewrite 2016-02-18 18:38:54 -08:00
Kazuhiro NISHIYAMA
99ce2fa51d no longer need to set nullglob 2016-01-14 23:34:03 +09:00
Justin Clark
ef7d49bafc Fix App tls has not been deployed error 2015-11-13 16:40:22 -08:00
Dan Callahan
c389b213b5 Resolve SC2162: 'read without -r mangles backslashes'
More information:

https://github.com/koalaman/shellcheck/wiki/SC2162

http://wiki.bash-hackers.org/commands/builtin/read
2015-11-04 20:40:42 -06:00
Michael Hobbs
e28c75e56a move RESTORE variable to DOKKU_APP namespace 2015-10-29 07:55:09 -07:00
Kamil Domański
6c19414b7a add ps:restore to start applications which weren't manually stopped 2015-10-26 20:06:53 +01:00
Kamil Domański
f705004975 Add post-stop plugn trigger 2015-10-26 17:57:18 +01:00
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
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
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
8095df79f6 implement core plugin mgmt using plugn. add tests. 2015-09-15 02:17:28 -07:00
Jose Diaz-Gonzalez
ad72a137e1 Fix sourcing of functions 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
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
Michael Hobbs
495b1d2ba0 refactor to explicitly set IMAGE via get_app_image_name() 2015-09-03 16:12:36 -07:00
Michael Hobbs
8be5c874ec errant use of local. derp 2015-09-02 11:59:50 -07:00
Michael Hobbs
04a4da7fc5 allow tagging and deployment of tagged app images 2015-09-02 11:18:01 -07:00
Jim Myhrberg
d5df6a4190 Use $PLUGIN_PATH instead of $(dirname $0)/..
As briefly discussed in #1425, source the `common/functions` file via an
absolute path, rather than determining the relative path by using
`dirname`. 3rd-party plugins should follow suit and use the new
`$PLUGIN_PATH` convention too.
2015-08-28 14:14:28 +01:00
Justin Clark
e349d38581 Fix dokku ps <app> over ssh
Resolved the TTY error when connecting over ssh.
Updated ps to use has_tty function.
2015-08-25 17:35:28 -07:00
Rob Blanckaert
98990b6885 Make dokku play nice when we have multiple receive-app hooks in various plugins. 2015-08-24 14:20:36 -04:00
Michael Hobbs
8edea8512d use /bin/sh instead of /bin/bash in order to support dockerfile images that don't include bash. fixes #1364 2015-08-03 11:42:30 -07:00
Michael Hobbs
b30db17def use column to format help output 2015-07-28 09:31:56 -07:00
Michael Hobbs
c7cb014580 convenience functions for app container state 2015-07-13 09:27:42 -07:00
Michael Hobbs
633c595311 use docker inspect instead of docker ps grep pattern. closes #1281 2015-07-13 09:09:38 -07:00
Michael Hobbs
a84397895a initial pass at config plugin arguments refactor 2015-07-06 19:41:17 -07:00
Michael Hobbs
2cb957d1dd move release_and_deploy to plugin functions. only attempt Procfile copy if we're buildstep based 2015-04-21 20:21:25 -07:00
Michael Hobbs
ddf893bc8a fix rebuildall and restartall 2015-04-21 14:33:28 -07:00
Michael Hobbs
14cc01dd5b use helper functions 2015-04-21 14:32:31 -07:00
Michael Hobbs
389b5efa06 only release and deploy if we're modifying scale settings 2015-04-21 14:32:30 -07:00
Michael Hobbs
e27d0e6fa5 wrap container id checks and reading into common function that attempts new and old style container id files
aggregate log streams
2015-04-21 14:32:30 -07:00
Michael Hobbs
33f872183e initial pass at container-level scaling 2015-04-21 14:27:23 -07:00
Michael Hobbs
7357df7c9d first pass at dockerfile support 2015-02-07 17:56:01 -08:00
Michael Hobbs
9164740117 rename log functions with dokku_log_ prefix 2015-02-06 08:28:14 -08:00
Michael Hobbs
6ad65dd9b4 first stab at a common functions library. include argument parsing and a few definitions wired up. closes #932. closes #945 2015-02-05 11:32:46 -08:00
Michael Hobbs
c96d139f54 use flock when (re)building/deploying 2015-01-28 16:18:57 -08:00