Previously we were exporting DATABASE_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 DATABASE_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 DATABASE_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>_URL. For example, this can give:
DOKKU_POSTGRES_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)
Previously we were exporting
DATABASE_URL
via the docker-args* hooks. This seems to confuse our users (since the env var is not displayed when callingdokku 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 exportingDATABASE_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 (_URL. For example, this can give:
DOKKU_POSTGRES_BLACK_URL.
config
anddocker-options
) so config is set on the linked application and can be reviewed by the user easily. We also handle the case whereDATABASE_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>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 usingdokku 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)