Commit Graph

38 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
60acf68412 feat: use container name instead of container id for run:detached output
Closes #5170
2022-10-29 17:12:18 -04:00
Jose Diaz-Gonzalez
334e15fbb5 fix: do not attempt to start a container based on a non-release image
Closes #5065
2022-04-20 20:09:16 -04:00
Jose Diaz-Gonzalez
d9659b8cf2 fix: use array for arguments to container creation 2022-04-20 20:09:16 -04:00
Jose Diaz-Gonzalez
01b9f6f730 chore: drop commented out code 2022-04-20 20:09:16 -04:00
Jose Diaz-Gonzalez
53f7c89e46 fix: do not call procfile-get-command if there is no command specified 2022-04-20 20:09:16 -04:00
Jose Diaz-Gonzalez
a4be3a06f9 fix: properly quote arguments so that they preserve whitespace 2021-10-03 22:56:25 -04:00
Jose Diaz-Gonzalez
e636609fa8 fix: declare RUN_COMMAND after all other argument parsing has been performed
If it is declared sooner, the transformation of the command to the Procfile entry will be ignored.
2021-10-03 22:42:06 -04:00
Jose Diaz-Gonzalez
c266d8c41e chore: ignore shellcheck issues 2021-10-03 20:08:56 -04:00
Jose Diaz-Gonzalez
abfb0d3977 fix: do not require double quotes when issuing dokku run commands
This was broken in the #4736.
2021-10-03 19:46:42 -04:00
Jose Diaz-Gonzalez
775e78bd08 fix: disable some shellcheck rules 2021-08-12 21:15:15 -04:00
Jose Diaz-Gonzalez
a825e2678c fix: ensure env vars are injected for all run containers
CNB containers would otherwise not have them injected.
2021-08-12 21:12:01 -04:00
Jose Diaz-Gonzalez
e0453dbc15 refactor: use cron as the dyno type for one-off commands when running cron tasks 2021-07-27 02:58:45 -04: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
be26f45b5a fix: use correct plugin trigger 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
ebdf38e136 refactor: use procfile-get-command plugin trigger instead of direct ps function calls 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
236a279793 chore: add todos 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
7357579af2 refactor: standardize trigger code 2020-02-10 02:40:59 -05:00
Jose Diaz-Gonzalez
9818cc6461 feat: implement container network attaching
Containers can be attached:

- after they are created, but before they are started
- after a successful deploy, but before the proxy reloads

This allows folks to have flexibility around when they would like a container to be made available to a network.
2020-02-08 19:55:29 -05:00
Jose Diaz-Gonzalez
4613efe191 refactor: docker-args-process rework trigger arguments
The IMAGE_TAG is not always available, while the IMAGE_SOURCE_TYPE is. Since the point of these triggers was to unify the argument passed and make it easier to interact with them, this version makes more sense.

Closes #3780
2020-02-01 16:18:13 -08:00
Michael Hobbs
972830a5f3 fix: respect DOKKU_APP_USER in is_image_herokuish_based 2019-11-19 15:07:29 -07:00
Salvatore Ferrucci
48ee225dbe disable interactive mode when container is detached 2019-10-21 13:48:21 +02:00
Salvatore Ferrucci
750a31013f scheduler-docker-local: start container with --interactive (+)
attach container's STDIN if it has tty
2019-10-19 12:08:52 +02:00
Jose Diaz-Gonzalez
360c587086 feat: add scheduler-post-run trigger
After a `dokku run` container is created and started, this plugin trigger will allow developers to run auxiliary commands in response to that container.
2019-10-14 04:55:07 -04:00
Jose Diaz-Gonzalez
798725bb54 feat: allow passing labels to one-off dokku containers
This feature is allows users to add extra label metadata to one-off containers. As this can interfere with Dokku internals if they shadow labels used by plugins, care should be taken to avoid the `com.dokku` or `org.label-schema` namespace.

Also proper name run containers so they don't get random names from docker...
2019-09-16 23:10:14 -04: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
92d2895d99 feat: add container-type to run and deploy containers 2019-09-15 17:17:56 -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
d1af10fc51 feat: add labels to all build, commit, create, and run docker calls
This will allow us to further filter containers and images by application when cleaning up containers.

Refs #3515
2019-07-19 15:45:43 -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
a92687d3e8 fix: correct calls to fetch process-specific build and deploy args 2019-05-17 12:00:05 -04:00
Jose Diaz-Gonzalez
d30a948be0 feat: silence dokku run 'errors'
In certain cases, a command can be specified but found - or not - in the Procfile, resulting in unnecessary output for cron tasks.

Closes #3522
2019-05-12 05:15:53 -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
243d5ecc43 feat: integrate resource plugin with scheduler-docker-local 2019-04-08 11:31:34 -04:00
Jose Diaz-Gonzalez
c7b71b5d92 lint: remove unnecessary negation
Also use double-brackets where possible.

Fixes SC2236
2019-02-02 13:52:18 -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
0292c4ee3b refactor: move get_cmd_from_procfile to ps/functions
Procfile handling should only be performed in the ps plugin
2018-10-11 20:19:56 -04:00
Jose Diaz-Gonzalez
56b89ad07a feat: implement run command in scheduler-docker-local plugin 2018-04-06 22:53:02 -04:00