Commit Graph

94 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
9ef9985d4a feat: add :pause subcommand and make :stop subcommand actually remove the container 2022-12-26 17:39:50 -05:00
Jose Diaz-Gonzalez
6214fd1096 fix: refactor how services are filtered
The previous method did not include the service type in the user-auth-service hook, which meant it was kinda guess/check as to whether a datastore was filtered correctly for the service in question.

Additionally, we now handle newlines correctly, ensuring that when there _is_ filtering, we treat each datastore as a distinct one.
2022-07-24 23:53:47 -04:00
Jose Diaz-Gonzalez
9c72f9a8e0 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
e9e46256e9 fix: ensure we respect the file path for service links 2022-07-07 03:07:37 -04:00
Jose Diaz-Gonzalez
099764aa40 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
9e5bf61dc0 fix: ensure the new service does not exist when cloning an existing service 2022-07-06 01:47:31 -04:00
Jose Diaz-Gonzalez
8c89467123 feat: add ability to skip restarts when linking datastores
This allows multiple datastores to be linked at a given time, thus decreasing provisioning times.
2021-12-25 16:44:16 -05:00
Jose Diaz-Gonzalez
88e6d790e1 feat: allow tailing a specific number of log lines 2021-10-26 22:27:15 -04:00
Jose Diaz-Gonzalez
93dbdc4da5 fix: silence config-options error when there are no config-options set 2021-10-24 05:08:30 -04:00
Jose Diaz-Gonzalez
cd18e9f4a3 feat: allow quiet header for :info command 2021-10-23 19:33:19 -04:00
Jose Diaz-Gonzalez
2e76628c88 fix: ensure cloned/renamed apps have a link to linked services
Previously they would just 'disappear', resulting in broken applications until the app was relinked to the service in question.

Closes dokku/dokku-redis#142
2021-09-13 04:27:29 -04:00
Jose Diaz-Gonzalez
7e73273ad3 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:42 -04:00
Jose Diaz-Gonzalez
d9a8bc3357 feat: allow setting shm-size on created containers
Refs dokku/dokku-postgres#188
Closes dokku/dokku-postgres#201
2021-09-13 00:46:49 -04:00
Jose Diaz-Gonzalez
943f90f4b8 fix: properly handle unlink on promoted service 2021-09-13 00:04:28 -04:00
Jose Diaz-Gonzalez
9cb2f75469 docs: make tense in command descriptions more consistent 2021-09-12 22:37:15 -04:00
Jose Diaz-Gonzalez
720ddea579 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
c259f0fb97 fix: copy any existing templates and drop unnecessary interactivity 2021-09-12 00:40:42 -04:00
Jose Diaz-Gonzalez
d2eecef68a refactor: use pre/post triggers for service-action naming
This is a bit more clear as the links aren't always idempotent and may have errors - this allows users to reconcile at what point a link may have failed so that they can take further action.
2021-02-25 16:05:25 -05:00
Jose Diaz-Gonzalez
9e0d948de7 feat: add service-action plugin trigger for link/unlink
This can be used to track in alternate systems when a service is linked/unlinked from an app by implementing the custom trigger.
2021-02-25 15:58:31 -05:00
Jose Diaz-Gonzalez
70c98338b0 fix: do not shadow TMPDIR variable
This enables usage of the plugin with libpam-tmpdir.

Refs dokku/dokku#3149
2021-01-17 21:02:28 -05:00
Jose Diaz-Gonzalez
e43904641b 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
01a1668867 fix: respect the TMPDIR environment variable
Refs dokku/dokku-redis#143
2020-05-15 00:57:21 -04:00
Jose Diaz-Gonzalez
9ace27266c 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:04 -04:00
Jose Diaz-Gonzalez
d2185f2144 feat: add service-specific header to info call 2020-03-20 15:59:03 -04:00
Jose Diaz-Gonzalez
e216b97c23 fix: correct service title 2020-03-06 10:19:43 -05:00
Jose Diaz-Gonzalez
bc9874bc49 refactor: drop full info from :list command
This can be fetched from :info if necessary, and slows down the list quite a bit.
2020-03-03 16:02:51 -05:00
Jose Diaz-Gonzalez
b7cfbd37b4 fix: speed up service_status by reducing container status calls 2020-03-03 15:57:21 -05:00
Jose Diaz-Gonzalez
0cec2f2119 chore: update dokku/ambassador version 2019-12-27 16:55:26 -05:00
Jose Diaz-Gonzalez
233b03e7ca chore: update dokku/s3backup version 2019-12-27 16:53:23 -05:00
Jose Diaz-Gonzalez
312d9298c7 feat: add service:links command
This allows users to script against apps that are linked to a given service
2019-07-15 14:59:05 -07:00
Jose Diaz-Gonzalez
5849f1f19f fix: use correct variable for checking for password file 2019-07-12 12:56:37 -07:00
Jose Diaz-Gonzalez
86e7d53749 chore: move to helper functions for fetching passwords 2019-07-11 16:34:35 -07:00
Jose Diaz-Gonzalez
46bd7f534f feat: update ambassador, s3backup, and wait images 2019-07-11 14:31:47 -07:00
Jose Diaz-Gonzalez
0c4db51565 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:55 -04:00
Jose Diaz-Gonzalez
6bab5bad28 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
86ff4b4cfa chore: reorder functions 2019-05-30 11:13:22 -04:00
Jose Diaz-Gonzalez
e8e645f087 chore: move retry-docker-command to common-functions 2019-05-30 11:11:02 -04:00
Jose Diaz-Gonzalez
7ddd0c9201 chore: run shfmt 2019-05-30 11:06:25 -04:00
Jose Diaz-Gonzalez
2ddc21b748 fix: update docker-s3backup image to fix backups to s3 2019-03-28 05:23:39 -04:00
Jose Diaz-Gonzalez
87c89f61af fix: correct issue where aliases were being generated incorrectly 2019-03-27 12:18:18 -04:00
Jose Diaz-Gonzalez
2b4cd95ddd feat: update to latest dokku/s3backup image 2019-03-25 13:47:03 -04:00
Jose Diaz-Gonzalez
0641b7baae feat: switch to updated ambassador image 2019-03-25 12:46:01 -04:00
Jose Diaz-Gonzalez
3742195ad1 chore: unify with other plugins 2019-03-19 15:00:55 -04:00
Jose Diaz-Gonzalez
744e65760b feat: Real docker-based testing
This pull request switches testing to use an actual docker daemon, vs mocking everything out.

It may also catch actual breaking issues in our tests, which is great!
2019-03-18 14:44:28 -04:00
Jose Diaz-Gonzalez
b28fd26815 fix: correct check to see if container exists 2019-03-16 20:40:07 -04:00
Jose Diaz-Gonzalez
7ce772224a fix: correct the validation message 2019-03-09 16:39:35 -05:00
Jose Diaz-Gonzalez
35d5e9cab4 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:24 -05:00
Jose Diaz-Gonzalez
e328b4c566 fix: correct ID check
It may be true in tests because we mock docker itself...
2019-03-09 15:24:20 -05:00
Jose Diaz-Gonzalez
d319ecf145 fix: correct check to see if service is running
This sometimes bizarrely returned a value of 'true' when it wasn't....
2019-03-09 15:09:14 -05:00
Jose Diaz-Gonzalez
ebb6e6f807 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 05:21:10 -05:00