Define relationships between your multiple apps
Back to home
On this page
When you set up a project containing multiple applications,
by default your apps can’t communicate with each other.
To enable connections, define relationships between apps using the http endpoint.
You can’t define circular relationships.
If app1 has a relationship to app2, then app2 can’t have a relationship to app1.
If you need data to go both ways, consider coordinating through a shared data store,
like a database or RabbitMQ server.
Relationships between apps use HTTP, not HTTPS. This is still secure because they’re internal and not exposed to the outside world.
Relationships example
You have two apps, app1 and app2, and app1 needs data from app2.
In your app configuration for app1, define a relationship to app2:
applications:
app1:
relationships:
api:
service: "app2"
endpoint: "http"Once they’re both built, app1 can access app2 at the following URL: http://api.internal.
The specific URL is always available through the service environment variables,
or through the PLATFORM_RELATIONSHIPS variable:
$ echo $API_HOST
api.internalIt uses the jq library, which is included in all app containers for this purpose.
$ echo $PLATFORM_RELATIONSHIPS | base64 --decode | jq '.api[0].host'
api.internal