Routing with Destinations
enosix Link allows for the configuration of route URLs using the SAP Destination Service. Routes are configured in link using User-Provided Environment Variables.
Configuring a destination to match sapcc on-premise configuration
Prior to these steps, your SAP Back-end should be exposed through the Connectivity service by following installation instructions through the Configure Connectivity service in SAP Cloud Foundry.
Configure Destination service in SAP BTP
The space Link is deployed to will need to have a destination service provisioned with the instance name of destination
, although it can be configured to use a specific instance. Configuring the destination instance
The enosix Link product supports the following Destination values:
Field | Supported Property |
---|---|
Proxy Type | OnPremise |
Type | HTTP |
Authentication | NoAuthentication ,PrincipalPropagation |
URL | virtual host and path you configured in Cloud Connector. Example, https://ensx-dev-ecc:80/enosix/paca if following the steps on the installation page |
Location ID | blank or the Location ID of a cloud connector |
The Location ID field can be used to identify which Cloud Connector Link will route the traffic through if multiple are connected to the same subaccount.
The Location ID can be found:
- On the Cloud Connectors screen in BTP after the instance name in
()
- On the Subaccount Overview screen in Cloud Connector
Sample Destination configuration
Configure the routing
Configure Link to match destination
Use the cloud foundry CLI with the following manifest.yaml
template.
---
applications:
- name: enosix-link-<company-name> # Add your company name
random-route: true # Remove this line in the production space
memory: 128M
docker:
image: enosix/link:stable
services:
- connectivity
- destination
health-check-type: http
health-check-http-endpoint: /health
env:
#Logging__LogLevel__Default: Trace # Used to enable detailed trace logging for submitting issues
Routes__dev__ConcurrentRequests: 10 # Throttle link to a limited number of requests concurrently, in order to reduce memory constraints.
Routes__dev__Token: 3de65974f59e200ef27e8ecfb84437f7 # Rename to a unique secret token
Routes__dev__Destination: sap-ensx-framework # Should match to the name of the destination configured in BTP Subaccount
Sample output from cf push
Pushing from manifest to org ****** / space ****** as ****************...
Using manifest file /Users/******/link/manifest.yaml
Getting app info...
Updating app with these attributes...
name: enosix-link
docker image: enosix/link:stable
command: /bin/sh -c dotnet link.dll
disk quota: 1G
health check http endpoint: /health
health check type: http
instances: 1
memory: 128M
stack: cflinuxfs3
services:
connectivity
env:
Routes__ConnectivityInstance
Routes__dev__Token
Routes__dev__Destination
Updating app link...
Mapping routes...
Stopping app...
Waiting for app to start...
name: link
requested state: started
routes: enosix-link.cfapps.us10.hana.ondemand.com
last uploaded: Mon 1 Jan 12:00:00 EST 2000
stack:
docker image: enosix/link:stable
type: web
instances: 1/1
memory usage: 128M
start command: /bin/sh -c dotnet link.dll
state since cpu memory disk details
#0 running 2020-02-13T21:34:01Z 7.3% 23.3M of 128M 158.9M of 1G
Routing explained
The template above will set the following:
- Cloud Foundry assigned route:
enosix-link.cfapps.us10.hana.ondemand.com
- Token:
3de65974f59e200ef27e8ecfb84437f7
Thus, the URL to access thesap-ecc-dev
system will be: https://enosix-link.cfapps.us10.hana.ondemand.com/3de65974f59e200ef27e8ecfb84437f7
That URL routes through the cloud connector to the SAP system:
https://enosix-link.cfapps.us10.hana.ondemand.com/3de65974f59e200ef27e8ecfb84437f7
-> [sapcc] -> http://sap-ecc-dev:80/enosix/paca