Commit Graph

84 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
b68083401e feat: use mongosh for connect commands
Closes #156
2023-02-07 05:48:20 -05:00
Jose Diaz-Gonzalez
44e7921822 refactor: use DOCKER_BIN env var instead of calling docker directly
This will allow us to alias the docker binary with podman for most actions - other than updating running containers.
2023-02-07 03:53:08 -05:00
Jose Diaz-Gonzalez
5f5eb56a99 refactor: use namespaced docker commands for interacting with the docker binary 2023-02-07 03:39:42 -05:00
Jose Diaz-Gonzalez
9f8d1d2c2e refactor: set the plugin name as the first argument to the service-action trigger
This is a breaking change, but is necessary as otherwise it is impossible to know which datastore plugin a team is meant for.
2022-07-10 15:29:11 -04:00
Jose Diaz-Gonzalez
881f07df19 feat: implement service filtering
If a user implements the user-auth-service trigger in a plugin and that plugin does not echo the passed in app(s) on stdout, the app is assumed to not exist. This mirrors the functionality for applications in regards to auth filtering.

This may still need auditing to ensure it covers everything and doesn't cause issues, but local testing implies that everything is working as expected.
2022-07-07 02:54:14 -04:00
Jose Diaz-Gonzalez
fa5548b6fc fix: pin the image and image version of a created service at creation time
This will help ensure that users upgrading to a new plugin version who stop/start databases will always get the same version. This is particularly important for datastores such as elasticsearch and postgres that have more involved upgraded processes.
2021-09-13 02:28:41 -04:00
Jose Diaz-Gonzalez
87bd7e61ad feat: allow setting shm-size on created containers
Refs dokku/dokku-postgres#188
Closes dokku/dokku-postgres#201
2021-09-13 00:46:48 -04:00
Jose Diaz-Gonzalez
38d30d24b5 feat: add ability to set container config options during create/clone/upgrade actions
Also add to documentation where possible.

Closes dokku/dokku-mongo#131
2021-09-12 22:16:14 -04:00
Jose Diaz-Gonzalez
008fe264c5 fix: allow non-english characters in :connect shell
Closes dokku/dokku-mysql#116
2021-09-12 08:25:19 -04:00
Jose Diaz-Gonzalez
dd8a5a41f0 feat: add the ability to constrain memory on service start/clone
Refs dokku/dokku-redis#86
2021-09-12 07:43:01 -04:00
Jose Diaz-Gonzalez
ffddb96ec4 chore: show a better error message when the image is missing
Refs dokku/dokku-clickhouse#4
2021-09-12 00:54:23 -04:00
Jose Diaz-Gonzalez
483e6c54cc feat: add plugin trigger for service creation and deletion 2021-02-25 19:54:59 -05:00
Jose Diaz-Gonzalez
31ade32c05 fix: allow config directory to be configurable
For postgres, the config directory doesn't actually exist, so adding this configurability allows the plugin's info command to report correctly.
2020-05-16 02:49:34 -04:00
Jose Diaz-Gonzalez
61664799dd feat: move all image names to config file
This allows us to more quickly update the image versions in use for tertiary images.
2020-03-30 20:09:03 -04:00
Jose Diaz-Gonzalez
f5e0d87501 chore: update dokku/wait version 2019-12-27 16:57:13 -05:00
Jose Diaz-Gonzalez
2b507c6938 chore: move to helper functions for fetching passwords 2019-07-11 16:34:35 -07:00
Jose Diaz-Gonzalez
20deba8771 feat: update ambassador, s3backup, and wait images 2019-07-11 14:31:47 -07:00
Jose Diaz-Gonzalez
0ba13eec86 fix: ensure the tracked container id is up to date
If the ID file contained an incorrect value, calling :start would say the service is started but :info would still show the container as missing.

Also fix an issue where docker inspect leaked stderr when the container was missing.

Refs dokku/dokku-redis#133
2019-06-11 15:44:54 -04:00
Jose Diaz-Gonzalez
ade8b44569 feat: re-allow dashes in names
This PR allows dashes in service names, while still sanitizing them before they are used as database names. If the datastore is pre-existing, the datatabase name is assumed to be the same as the service name, and returned appropriately.
2019-05-30 17:03:48 -04:00
Jose Diaz-Gonzalez
238f09dae0 chore: run shfmt 2019-05-30 11:06:25 -04:00
Jose Diaz-Gonzalez
f2846ab25b feat: switch to updated wait image 2019-03-25 12:46:42 -04:00
Jose Diaz-Gonzalez
1a4e141279 fix: correct handling of container retrieval
In the previous method, if the container was renamed or there were multiple names attached to the container, fetching the container ID would fail as the regex would only match at the end. Instead of using grep, use the docker 'filter' functionality to fetch the container ID as appropriate.
2019-03-25 12:37:35 -04:00
Jose Diaz-Gonzalez
bc6a5422d6 fix: correct the validation message 2019-03-09 16:39:34 -05:00
Jose Diaz-Gonzalez
cd5b3a14b8 fix: Strictly validate service names
We previously allowed a wide range of service names. As the service name is sometimes used to name databases, the name was actually more restricted than any character, resulting in services that wouldn't start. Going forward, only alphanumeric and underscore characters are allowed.

This only impacts service creation. Any services with invalid names should be migrated to a new service, with the data exported and imported as normal.

Closes dokku/dokku-redis#99
Closes dokku/dokku-mysql#47
Closes dokku/dokku-mongo#86
Closes dokku/dokku-redis#81
2019-03-09 15:54:21 -05:00
Jose Diaz-Gonzalez
682110c06e chore: minor consolidation in functions files 2019-03-09 15:54:21 -05:00
Jose Diaz-Gonzalez
1ce8d1747b fix: correct issues where docker ps is truncated
This should actually be refactored to avoid the grep call completely, but the current fix will correct the issue for now.

Refs dokku/dokku-postgres#131
2018-12-02 14:29:24 -05:00
Jose Diaz-Gonzalez
4ae25c179c feat: add ability to upgrade service image and image-version 2018-10-10 00:13:56 -04:00
Jose Diaz-Gonzalez
6380a5db56 refactor: make variable as dns hostname more clear 2018-04-24 02:54:42 -04:00
Jose Diaz-Gonzalez
df593ec155 refactor: move unimplemented command detection into config file 2018-04-24 00:27:14 -04:00
Jose Diaz-Gonzalez
58557dcd91 refactor: allow usage of the same variable to disable docker pulls 2018-04-23 06:56:36 -04:00
Jose Diaz-Gonzalez
e9cd0094fc feat: use custom env var to disable pull actions 2018-04-11 15:11:26 -04:00
Jose Diaz-Gonzalez
c14cff0342 feat: support a separate data root for Docker bind mounts
This does not fix the :backup subcommand, which uses a temporary directory mounted to /backup.
2018-04-10 23:10:24 -04:00
Jose Diaz-Gonzalez
ed7acd355b feat: limit the mongodump output so the mongo:export command can run via ssh
Closes #84
2018-02-26 01:01:18 -05:00
Joseph Cutrono
75571ad7f2 using gzip as standard for backup and restore. upgrading mongo version. 2017-10-23 00:13:04 -04:00
Jose Diaz-Gonzalez
3d9930369e feat: add support for enhanced help output 2017-09-11 01:25:22 -04:00
Jose Diaz-Gonzalez
7d150f8797 Allow specifying custom config options via flag
Refs dokku/dokku-redis#64
Closes #37
2017-08-26 18:20:22 -04:00
Jose Diaz-Gonzalez
014d7b1e76 feat: add ability to specify custom flags on clone/create
Refs dokku/dokku-redis#64
2017-08-26 18:10:36 -04:00
Jose Diaz-Gonzalez
f001535060 feat: add s3 backup support 2016-10-31 11:39:22 -06:00
Jose Diaz-Gonzalez
dfddeaa13c Pin dokkupaas/wait:0.2 2016-09-21 01:27:00 -06:00
Jose Diaz-Gonzalez
83f9ed8615 Move link file creation up 2016-08-29 10:38:39 -04:00
Jose Diaz-Gonzalez
70a3c0646a Refactor common functions into separate file 2016-08-29 02:36:08 -04:00
Jose Diaz-Gonzalez
59fe01c0cf Add --internal-ip flag to info command 2016-08-28 23:24:15 -04:00
Jose Diaz-Gonzalez
c2ba33bcdd Fix expose tests 2016-08-28 22:15:01 -04:00
Jose Diaz-Gonzalez
4e4629a7c5 Document exposed ports when an invalid number of arguments are specified 2016-08-28 21:24:44 -04:00
Jose Diaz-Gonzalez
bd3cda4e42 Add --id flag 2016-08-28 17:55:44 -04:00
Jose Diaz-Gonzalez
c806328cc8 Add support for flags on the service:info command 2016-08-28 05:38:03 -04:00
Jose Diaz-Gonzalez
4e046f4d38 Secure password file 2016-08-27 01:38:38 -04:00
Jose Diaz-Gonzalez
1924739d74 Use cat and double-quotes when retrieving the password 2016-08-27 01:34:41 -04:00
Jose Diaz-Gonzalez
fbfacb44c4 Add missing mkdir calls 2016-08-27 01:34:37 -04:00
Jose Diaz-Gonzalez
95e9fd114e Add missing SERVICE_ROOT env var 2016-08-27 01:10:28 -04:00