7 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
ddf4d4d58c chore: gitignore bootstrap file and minor cleanup of ci 2021-04-25 02:54:07 -04:00
Jose Diaz-Gonzalez
e666251bde chore: unify with other plugins 2019-03-19 14:58:28 -04:00
Jose Diaz-Gonzalez
9b8fabc2e7 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:27 -04:00
Jose Diaz-Gonzalez
cc6e8b631b fix: use gnu readlink to make tests pass on os x 2017-08-26 05:38:22 -04:00
Jose Diaz-Gonzalez
9d49ee0edc Ignore .vagrant directory 2016-01-17 21:40:10 -05:00
Loïc Guitaut
5eed4378aa Revamp link/unlink commands
Previously we were exporting `MONGO_URL` via the docker-args* hooks.
This seems to confuse our users (since the env var is not displayed
when calling `dokku config`) and in some cases it also seems that the
env var is not correctly set.
Another problem is if several services are linked to the same app and
if they are exporting `MONGO_URL` as well. Then we don’t know what
will be set.

To resolve theses issues, this patch changes the way we manage the env
vars. We use standard dokku commands (`config` and `docker-options`) so
config is set on the linked application and can be reviewed by the user
easily.
We also handle the case where `MONGO_URL` is already set on the
linked application. When it’s the case, we automatically generate
another env var based on the following pattern: DOKKU_<service
name>_<random unused color>_URL. For example, this can give:
DOKKU_MONGO_BLACK_URL.

Since naming is now handled automatically, the `alias` command has been
removed. If the user wants to set a different env var on her app, it’s
just a matter of using `dokku config:set` and pasting the wanted value.

IP in DSN has been removed in favor of host name exported by docker in
the container. This is more robust and simpler since the IP can change
but the name will remain the same if the service container restarts for
instance.

With all those changes, a new command has been introduced: `promote`.
The goal of this command is to easily set a service as the primary one
when several are linked to an app. (see README for an example)
2015-10-05 18:11:25 +02:00
Loïc Guitaut
12557fbaa1 Add tests for every implemented command 2015-09-10 16:21:35 +02:00