Commit Graph

117 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
7230fbfccd refactor: use the same network alias as is used when running :link command
This allows for some degree of parity as the network will now resolve the same for both linked and networked containers.
2023-02-08 17:08:08 -05:00
Jose Diaz-Gonzalez
331b5197da fix: use correct alias for non-initial-network connect calls 2023-02-08 12:08:26 -05:00
Jose Diaz-Gonzalez
1925d15ffb fix: always use the network alias 2023-02-08 12:06:57 -05:00
Jose Diaz-Gonzalez
c0e8b7afb8 fix: set correct alias for wait container when not using an initial network 2023-02-08 11:53:45 -05:00
Jose Diaz-Gonzalez
3aa2c03834 feat: use service name as hostname 2023-02-08 11:01:02 -05:00
Jose Diaz-Gonzalez
b664ce6411 feat: add network alias that is $SERVICE_NAME.$SERVICE_TYPE
This alias is in addition to the existing dokku.$SERVICE_TYPE.$SERVICE_NAME network alias that is derived from the hostname.
2023-02-08 11:00:01 -05:00
Jose Diaz-Gonzalez
68b7e33a07 fix: remove old dump before writing it from the host 2023-02-08 03:12:31 -05:00
Jose Diaz-Gonzalez
8b9a03aa66 refactor: write rdb file outside of docker container command 2023-02-08 02:54:35 -05:00
Jose Diaz-Gonzalez
c3b51a064d fix: correct imports 2023-02-08 01:42:07 -05:00
Jose Diaz-Gonzalez
61c0ad851f feat: add service container log output on failure to start 2023-02-08 01:21:00 -05:00
josegonzalez
1e33752ea0 chore: drop debugging code 2023-02-07 21:57:19 -05:00
josegonzalez
02b6c50bb2 chore: drop extra ls 2023-02-07 21:56:25 -05:00
Jose Diaz-Gonzalez
cdb062fed1 debug 2023-02-07 21:46:24 -05:00
josegonzalez
76a5fbd9cb feat: more debugging 2023-02-07 21:18:32 -05:00
josegonzalez
2f4d5dfe38 feat: add more debug information 2023-02-07 20:46:54 -05:00
Jose Diaz-Gonzalez
acaaaf586b refactor: use direct functions instead of subcommands 2023-02-07 20:30:48 -05:00
Jose Diaz-Gonzalez
c0a393a7af feat: add ability to set multiple, comma-delimited post-create and post-start networks 2023-02-07 18:25:04 -05:00
Jose Diaz-Gonzalez
ea2a23b0b9 feat: add support for attaching to networks after service container creation and start 2023-02-07 18:25:04 -05:00
Jose Diaz-Gonzalez
ddfbbd6694 refactor: directly write out the cid file when creating the service container 2023-02-07 18:25:04 -05:00
Jose Diaz-Gonzalez
1a942e0484 fix: correct issue with checking if the service container is ready when using an initial-network 2023-02-07 18:25:04 -05:00
Jose Diaz-Gonzalez
b6ccd491fd feat: add support for specifying an initial-network property
This network is the network that is associated with the container on creation. If specified, then the bridge network is not attached to the service.

Only a single initial network can be specified at this time.
2023-02-07 18:25:04 -05:00
Jose Diaz-Gonzalez
646356d086 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
b50752d009 refactor: use namespaced docker commands for interacting with the docker binary 2023-02-07 03:39:42 -05:00
Jose Diaz-Gonzalez
725ec8ff59 chore: run shfmt 2022-07-25 01:15:32 -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
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
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
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
658e04df6f fix: allow non-english characters in :connect shell
Closes dokku/dokku-mysql#116
2021-09-12 08:24:53 -04:00
Jose Diaz-Gonzalez
9b6d6430fb feat: add the ability to constrain memory on service start/clone
Refs dokku/dokku-redis#86
2021-09-12 07:43:03 -04:00
Jose Diaz-Gonzalez
2e0e2db647 chore: show a better error message when the image is missing
Refs dokku/dokku-clickhouse#4
2021-09-12 00:54:24 -04:00
Jose Diaz-Gonzalez
bb2ba3807a feat: add plugin trigger for service creation and deletion 2021-02-25 19:54:59 -05:00
Tomáš Hromada
4170c0b993 Don't fill $SERVICE as username in service_url()
The URL generated by this plugin is invalid, but since Redis on versions 5 and lower didn't have a notion of usernames, it pretty much went unnoticed. 

Let's fix this by not setting the $SERVICE as the username in the service_url returned by this plugin.

I believe that clients ignore the username (otherwise the Redis connection wouldn't go through), so this should be a non-breaking change.

Fixes #155
2020-11-21 20:53:49 +01: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
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
3bfcb5bc2c chore: update dokku/wait version 2019-12-27 16:57:13 -05:00
V. Anastassiou
068145b46e Modify export command to use BGSAVE. 2019-09-19 13:40:28 -04: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
7ddd0c9201 chore: run shfmt 2019-05-30 11:06:25 -04:00
Jose Diaz-Gonzalez
9554b9a43f feat: switch to updated wait image 2019-03-25 12:46:42 -04:00
Jose Diaz-Gonzalez
6dce29fca8 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:36 -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
876ff0c330 chore: minor consolidation in functions files 2019-03-09 15:54:24 -05:00
Jose Diaz-Gonzalez
c5c681a95d 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
5fb9de0d7d Revert "Adds --sysctl vm.overcommit_memory=1 flag" 2018-10-11 14:24:24 -04:00