This is mainly used for elasticsearch but adding it to the generic test suite for all datastore plugins makes it easier to copy the travis config to each plugin.
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
This was used to delete an errant '*' service that was accidentally created during service deletion. That was fixed in dokku/dokku-redis#126 - and the respective PRs for each service - and is thus no longer necessary.
The fix was done by utilizing pushd when iterating over folders instead of trying to get a subdirectory with a partially quoted path.
Closesdokku/dokku-redis#130
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.
Rather than dancing around what version of busybox to use, pin it to the latest, known good version of busybox. This will give us confidence in what is being shipped and run on a user's machine.
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.
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!
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.
Closesdokku/dokku-redis#99Closesdokku/dokku-mysql#47Closesdokku/dokku-mongo#86Closesdokku/dokku-redis#81