on 07-30-2018 7:29 AM
I am trying to deploy our solution on SAP cloud foundry. The service consists of frontend and backend services. The frontend services have to communicate directly with the backend services. The backend services on the other hand should not be reachable publicly.
According to the cloud foundry documentation inter app communication can be achieved by using Internal Routes which should expose the special domain "apps.internal".
https://docs.cloudfoundry.org/devguide/deploy-apps/routes-domains.html#internal-routes
This feature does not seem to be available on SAP cloud foundry platform. Can you please advise how to implement inter app communication on SAP cloud platform?
A similar issue (although I believe I am trying to sort out a different problem).
One solution which involves a number of REST-based microservices (3 so far, let's call them A, B & C).
There is also an Angular UI and an app router ("@sap/approuter": "^8.5.0").
The router needs to know about A, B & C:
-- excerpt from router's xs-app.json:
{
"source": "/api/A/(.*)$",
"target": "/A/$1",
"destination": "A"
},
{
"source": "/api/B/(.*)$",
"target": "/B/$1",
"destination": "B"
},
{
"source": "/api/C/(.*)$",
"target": "/C/$1",
"destination": "C"
}
And that is fine so far.
Then there is the destinations environment variable in the manifest.yml to direct those destinations to real endpoints:
env:
destinations: >
[
{
"name": "A",
"url": "https://A.cfapps.eu10.hana.ondemand.com",
"forwardAuthToken": true
},
{
"name": "config",
"url": "https://B.cfapps.eu10.hana.ondemand.com",
"forwardAuthToken": true
},
{
"name": "config",
"url": "https://C.cfapps.eu10.hana.ondemand.com",
"forwardAuthToken": true
}
Of course, this is an issue A, B & C need to be unique.
But here is the thing, it is not necessary for this application for neither A, B or C to be accessible from the outside world, all access can be done via the approuter.
The solution would be to be able to do this instead:
env:
destinations: >
[
{
"name": "A",
"url": "https://A.apps.internal,
"forwardAuthToken": true
},
{
"name": "config",
"url": "https://B.apps.internal,
"forwardAuthToken": true
},
{
"name": "config",
"url": "https://C.apps.internal,
"forwardAuthToken": true
}
But this does not seem to work and I've tried all sorts of things.
http, https, use the actual port exposed by the service (8080).
Nothing works. Eventually I ssh'ed into the router and tried to connect to the internal services using curl:
curl -v http://A.apps.internal
curl -v http://A.apps.internal:8080
curl -v https://A.apps.internal
They all fail the same way, connection refused.
Is this achievable in SAP Cloud?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
matejdurajka Nope, but I also stopped looking for the solution to be honest 🙂
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
I would like to know how can we achieve app2app communication in CF?
Basically, we would like to call a SaaS app from another SaaS app. Both the saas apps reside in different provider accounts.
Regards,
Kush Sharma
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Turns out SAP CF does not support this feature. (C2C)
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
25 | |
12 | |
9 | |
6 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.