Commit Graph

59 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
27769f54b0 feat: disable herokuish usage on both armhf and arm64 platforms
We will not provide support for herokuish on either as herokuish is meant to be Heroku-compatible, and the Heroku stack does not support arm. Use 'pack' or Dockerfiles for app building instead.
2022-05-22 17:12:52 -04:00
Jose Diaz-Gonzalez
b146483940 fix: skip herokuish version in report output and disable the herokuish builder on armhf architectures
We don't skip pack as in theory they may be able to support arm in the future. Dockerfile builds should work fine, as long as all images in the FROM directives have arm versions.
Finally, the null builder _should_ always work, but of course YMMV :D
2021-10-28 10:07:18 -04:00
Jose Diaz-Gonzalez
dbc3d82017 refactor: move run command to it's own plugin 2021-07-27 02:56:39 -04:00
Jose Diaz-Gonzalez
033b0952dd feat: allow formatting :report command output as json 2021-02-01 22:23:30 -05:00
Jose Diaz-Gonzalez
9137be814c refactor: remove need for internal dokku calls
Avoid internal dokku calls will avoid potentially expensive subprocesses - in particular, user-auth will be re-invoked, which can be expensive.
2021-01-23 14:27:16 -05:00
Jose Diaz-Gonzalez
f7ef14d737 feat: add initial scheduled task implementation
This functionality enables users to manage a global crontab for the Dokku user that contains all scheduled tasks across all apps. Alternative schedulers can implement cron tasks as desired.
2021-01-20 14:49:48 -05:00
Jose Diaz-Gonzalez
0c182415a7 feat: add git version to output 2021-01-14 09:47:06 -05:00
Jose Diaz-Gonzalez
fd162f8895 feat: add verify_app_name calls to all shell subcommands
Without this, folks could potentially run commands against invalid applications.
2020-12-27 15:14:11 -05:00
Jose Diaz-Gonzalez
aa6a651f1d tests: correct test issues 2020-02-10 02:54:31 -05:00
Jose Diaz-Gonzalez
e67b96780d refactor: unify command declaration across codebase 2020-02-10 01:40:30 -05:00
Jose Diaz-Gonzalez
1cb586b2e7 refactor: standardize command naming
This standardization makes it somewhat easier to read stacktraces as the command names are all uniform, so it will be slightly easier to scan trace output.
2020-02-09 22:41:39 -05:00
Jose Diaz-Gonzalez
44fcea0ffa refactor: use new-style docker management commands
This PR uses the new syntax for commands introduced in Docker 1.13, making it a bit easier to understand just what a particular command is trying to do.

This also pushes the long-form syntax for docker command flags, which are also easier to understand at a glance.
2019-09-15 18:55:53 -04:00
Jose Diaz-Gonzalez
6836e56b24 refactor: add global docker build and run args
This reduces duplication and allows users to rely on global arguments to generate most labels needed.

The 'commit' command cannot have global arguments because the whitespace within the label change breaks string-based interpolation, and shell arrays cannot be exported.
2019-07-20 05:52:20 -04:00
Jose Diaz-Gonzalez
785d9b4937 feat: allow setting DOCKER_BIN path for docker execution
This change allows operators to specify a DOCKER_BIN environment variable. This will specify a binary to run when executing docker, which is useful in cases where the 'docker' command being run must be modified in a way that would otherwise be invasive to Dokku, but minimalistic if done within a wrapper.
2019-05-29 00:46:19 -04:00
Jose Diaz-Gonzalez
b2a0b69ed5 Merge branch 'master' into feature-run-env 2019-05-19 23:20:34 -07:00
Jose Diaz-Gonzalez
3fb8a576a0 fix: add trace:on and trace:off
Closes #3553
2019-05-16 18:24:59 -04:00
Jose Diaz-Gonzalez
6869fda75b fix: use DOKKU_IMAGE for report command 2019-05-06 10:51:20 -04:00
Alex Quick
dad5db4e9b [feature] add --env to dokku run
`dokku run [ --env KEY=VALUE | -e KEY=VALUE ] app command`

__note__ this changes the scheduler-run trigger to expect the following arguments:
scheduler_name, app_name, env_count, env_0, ..., env_n, app_arg_0, ..., app_arg_n

resolves: dokku/dokku#3291
2019-04-28 14:42:07 -04:00
Jose Diaz-Gonzalez
297a26aa20 feat: implement version flags
This moves the version command to the dokku binary, and also implements both -v and --version flags on the binary.
2019-03-11 21:50:05 -04:00
Jose Diaz-Gonzalez
9d45b0e2fb fix: set cleanup to global when no application is specified 2019-01-07 16:10:35 -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
53ad759da8 Merge pull request #3344 from dokku/non-interactive-report
Allow running dokku report without needing an interactive shell
2018-12-27 04:08:36 -05:00
Jose Diaz-Gonzalez
e838fe7b96 feat: allow triggering the full report for all apps via --all flag 2018-12-26 23:03:00 -05:00
Jose Diaz-Gonzalez
a688a23d1a fix: Allow running dokku report without needing an interactive shell 2018-12-26 23:00:36 -05:00
Jose Diaz-Gonzalez
ed190527ce feat: allow overriding the scheduler globally
Being able to override globally is useful for cases where a user will _always_ want their applications to be globally distributed
2018-09-30 21:36:53 -04:00
Jose Diaz-Gonzalez
4aac1fd936 feat: add report trigger
This allows users to quickly show the state of any configured application, as well as the state of their server. In doing so, we make it easy for them to provide information necessary for debugging in a single command.
2018-04-07 04:49:21 -04:00
Jose Diaz-Gonzalez
a21761d48d feat: indent report output 2018-04-07 01:35:16 -04:00
Jose Diaz-Gonzalez
867e3317aa chore: minor cleanup to container and argument handling 2018-04-06 22:53:02 -04:00
Jose Diaz-Gonzalez
c621b3ed69 chore: drop unused function 2018-04-06 22:53:02 -04:00
Jose Diaz-Gonzalez
da1ea2dda8 refactor: drop unmaintained ls subcommand
The correct way to handle getting the status should be ps:report.

Also cleaned up an issue where ps:report failed to catch errors for non-running containers.
2018-04-06 22:53:02 -04:00
Jose Diaz-Gonzalez
56b89ad07a feat: implement run command in scheduler-docker-local plugin 2018-04-06 22:53:02 -04:00
Alex Quick
686428a41a [config] lint fixes 2017-09-27 23:56:40 -04:00
Alex Quick
73e85b7df5 [config] preliminary Dockerfile support 2017-09-27 23:56:40 -04:00
Jose Diaz-Gonzalez
13ff7f7b96 feat: add DYNO environment variable to run containers. Closes #2837 2017-07-17 03:53:42 -06:00
Jose Diaz-Gonzalez
79f8c1581c refactor: allow skipping cleanup on a per-application basis
Also move all cleanup-related logic into docker_cleanup method
2017-07-02 16:54:26 -06:00
Weyert de Boer
442d2cc414 Ensure the plugin listing command is not the deprecated one but the new plugin:list one instead 2017-04-17 16:22:23 +01:00
Jose Diaz-Gonzalez
e441594981 chore: use correct source path 2017-02-20 20:11:53 -07:00
Jose Diaz-Gonzalez
72f1a85459 Use the deployed image name when running deploy tasks or running arbitrary commands
This ensures the proper image is in use, regardless of the phase in which dokku creates a docker container.
2016-07-05 02:37:50 -04:00
Michael Hobbs
ce3aa4b93e remove calls to dokku binary for build/receive/release 2016-06-17 16:40:35 -07:00
Michael Hobbs
ff18e0d6be cleanup external references to nginx-vhosts plugin 2016-06-16 16:04:44 -07:00
Michael Hobbs
5e9df3a92d Merge pull request #2168 from dokku/2073_mh-zero-downtime
allow zero-downtime to be completely disabled.
2016-06-16 12:46:30 -07:00
Michael Hobbs
5c741696fc Merge pull request #2109 from dokku/modify-deployed-image
Allow user to modify the repository and tag when deploying an app
2016-06-16 12:43:11 -07:00
Michael Hobbs
8e30722c1e Merge pull request #2050 from dokku/1570-repo-plugin
Implement repo:gc and repo:purge-cache
2016-06-16 12:42:25 -07:00
Michael Hobbs
cd48505922 Merge pull request #2018 from pascalw/feature/dokku-run-from-procfile
Support running Procfile commands using `dokku run`
2016-06-16 12:42:01 -07:00
Michael Hobbs
6bf9ef0aa5 mount storage mounts on build and filter for dockerfile apps. closes #2207 2016-06-10 13:50:53 -07:00
Jose Diaz-Gonzalez
2c1f32199a Implement repo:gc and repo:purge-cache
These are helper plugins that mimic the repo plugin: https://github.com/heroku/heroku-repo

The following commands will remain unimplemented:

- `clone`: not useful for the host client to clone
- `download`: currently not possible for us to "host" a tarball of the repo
- `reset`: we still store files in the repo (though we shouldn't) so we cannot easily reinitialize the repository.

Also fixes a potential race condition if two separate processes create an application's `$CACHE_DIR`.

Closes #1570
2016-06-09 20:05:19 -07:00
Michael Hobbs
1e0c585b74 allow zero-downtime to be completely disabled. closes #2073. closes #2125 2016-06-09 18:37:31 -07:00
Jose Diaz-Gonzalez
8597b692ee Add the ability to run containers in detached mode 2016-05-02 00:02:37 -04:00
Michael Hobbs
cb9efa3322 implement docker stop timeout. closes #2126 (#2148) 2016-04-26 18:06:55 -07:00
Jose Diaz-Gonzalez
d7566daacc Allow user to modify the repository and tag when deploying an app
Uses two new plugin triggers:

- deployed-app-repository
- deployed-app-image-tag

Useful when the image is a custom tagged image on a remote repository
2016-04-16 08:35:18 -04:00