Skip to content

Guide for Isolated Environment

Standard Procedure for Skybuffer Components in Isolated Pre-Production Landscapes

This procedure applies to isolated pre-production landscapes and must be executed prior to delivery to higher environments. All operations must be carried out by an authorized technical user with OS-level permissions (SAP HANA host) and SAP HANA XS Advanced administrative privileges (Space Developer / Space Manager).

Network Requirement During Initial Deployment: Staging processes for Python runtimes and buildpacks require downloading external dependencies, libraries, and models. If outbound connections are blocked, deployment will fail. The customer must provide temporary outbound internet access or configure an enterprise proxy for the initial deployment.

If an outbound proxy is required in your enterprise landscape, configure the XS CLI and environment variables:

# Configure proxy environment variables for staging/runtime
xs set-env <app_name> HTTP_PROXY http://<proxy-host>:<port>
xs set-env <app_name> HTTPS_PROXY http://<proxy-host>:<port>

Ensure that firewall rules permit outbound HTTPS traffic (port 443) to the following endpoints during staging:

  • .pytorch.org
  • .pypi.org
  • .pythonhosted.org
  • .python.org
  • .npmjs.org
  • .hf.co
  • huggingface.co
  • .unstructured.io
  • .githubusercontent.com
  • download.geonames.org:443

In an isolated environment, UI libraries cannot be pulled on-the-fly from the public internet. Skybuffer provides local delivery applications to host and serve these UI libraries directly within the XSA landscape.

Switch to the directory containing your packages and verify the presence of all .mtar archives and the extension descriptor (sapui5rt.mtaext):

ls -la *.mtar sapui5rt.mtaext

Log in to the XS Advanced Controller and target the dedicated deployment space:

xs login -a https://<xsa-controller-host>:39030 -u <tech_user> -s <target_space>

Verification: Run ‘xs target’ to confirm active Organization and Space.

Steps 2–3: Deploy Local UI & Runtime Foundation

Section titled “Steps 2–3: Deploy Local UI & Runtime Foundation”

Deploy the local UI library providers first before launching consumer apps:

xs deploy skybfrxts.mtar
xs deploy xsafecrt.mtar

Verification: CLI must output ‘Process finished with status: SUCCESS’.

Step 4: Deploy Core Application (Skybuffer YAI)

Section titled “Step 4: Deploy Core Application (Skybuffer YAI)”

Deploy the core module with the UI runtime extension file attached:

xs deploy skybfryai_0.0.1.mtar -e sapui5rt.mtaext

Verification: Run ‘xs app skybfryai’ — instance status must be RUNNING.

Steps 5–6: Deploy AI Core & RAG Services

Section titled “Steps 5–6: Deploy AI Core & RAG Services”

Install the Python AI core engine and the Retrieval-Augmented Generation (RAG) module:

xs deploy skybfryai_py_ai_core.mtar
xs deploy skybfryai_rag_m.mtar

Verification: Run ‘xs apps’ and confirm both services report 1/1 instances running.

Steps 7–8: Deploy Bot Connector & Translation Module

Section titled “Steps 7–8: Deploy Bot Connector & Translation Module”

Deploy the integration client connector and translation service:

xs deploy botclientconnector.mtar
xs deploy xsa_release_skybfryai_translate.mtar

Verification: Execute ‘xs apps’ and ensure all 7 components have status RUNNING.

4. Post-Deployment Routing & Port Validation

Section titled “4. Post-Deployment Routing & Port Validation”

SAP XS Advanced connects to deployed services via application hostnames + default domains or dedicated port mappings. During deployments or updates, routes and ports may be reassigned or unmapped.

Option A: Validation via XS Advanced Cockpit

Section titled “Option A: Validation via XS Advanced Cockpit”
  • Open XS Advanced Cockpit in your browser.
  • Navigate to Space -> Routes.
  • Verify that URLs and port assignments correspond to the target applications. If missing, recreate and rebind.

If a route is unmapped, missing, or assigned an incorrect port, execute:

# Unmap conflicting/outdated route
xs unmap-route <app-name> <your-xsa-domain> --port <old-port>
# Map correct route and port
xs map-route <app-name> <your-xsa-domain> --port <expected-port>
# Example for Bot Client Connector
xs map-route botclientconnector <your-xsa-domain> --port <expected-port>

Verification: Access the endpoint via browser or run a health-check curl command. The application should respond normally without 502/404 errors.