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.
1. Network & Proxy Configuration
Section titled “1. Network & Proxy Configuration”If an outbound proxy is required in your enterprise landscape, configure the XS CLI and environment variables:
# Configure proxy environment variables for staging/runtimexs 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
2. Prerequisites & Verification
Section titled “2. Prerequisites & Verification”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.mtaext3. Deployment Sequence
Section titled “3. Deployment Sequence”Step 1: Authenticate to Target Space
Section titled “Step 1: Authenticate to Target Space”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.mtarxs deploy xsafecrt.mtarVerification: 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.mtaextVerification: 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.mtarxs deploy skybfryai_rag_m.mtarVerification: 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.mtarxs deploy xsa_release_skybfryai_translate.mtarVerification: 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.
Option B: CLI Route Re-mapping
Section titled “Option B: CLI Route Re-mapping”If a route is unmapped, missing, or assigned an incorrect port, execute:
# Unmap conflicting/outdated routexs unmap-route <app-name> <your-xsa-domain> --port <old-port>
# Map correct route and portxs map-route <app-name> <your-xsa-domain> --port <expected-port>
# Example for Bot Client Connectorxs 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.