Currently, using `postgres:connect` with a script passed in through stdin, there is no way to know if the script failed or not.
This change aligns the behavior with eaa1c35769/docker-entrypoint.sh (L196) which returns an exit status.
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.
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.
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.
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 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.
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.
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