Skip to content

About

Ship your own sandboxed AI operations agent to Kyma in two hours

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

707 Commits

Folders and files

XP266 - Ship your own sandboxed AI operations agent to Kyma in two hours

REUSE status

Piotr Tesny

Description

This repository contains the material for the SAP TechEd 2026 session XP266 - Ship your own sandboxed AI operations agent to Kyma in two hours.

Important

What does an AI agent do when something fails in production? Find out by causing the failure yourself. Deploy a reasoning agent into Kyma, connect it to the SAP AI Core foundation, and give it full observability to diagnose what broke. Leave with practical patterns for cost control and monitoring.

Overview

Modern Kubernetes operations need more than dashboards β€” they need reasoning.
In this hands-on you meet a fully in-cluster, sandboxed AI operations agent running on SAP BTP, Kyma runtime and talking to SAP AI Core.
It's a Goose agent with live kubectl access: it investigates the cluster autonomously and writes its findings as Busola in-cluster health reports.
It also streams its LLM spend to SAP Cloud Logging β€” all routed through a LiteLLM proxy and deployed declaratively with KRO.

Note

New to the jargon?

  • Kyma β€” SAP's managed Kubernetes runtime on BTP.
  • Busola β€” the Kyma dashboard.
  • Goose β€” an open-source agentic CLI (the reasoning agent).
  • LiteLLM proxy β€” the in-cluster gateway that routes model calls to SAP AI Core.
  • SAP AI Core β€” SAP's model-serving platform (Claude Β· GPT Β· Mistral Β· Nova).
  • KRO β€” Kubernetes Resource Orchestrator; packages the whole stack as one declarative unit.
  • CLS β€” SAP Cloud Logging; SAP's OpenSearch-based observability service.

πŸ‘‰ The whole premise is in the title: the agent is sandboxed.

  • βœ… Giving an AI agent a shell and a kubeconfig normally means a bad prompt β€” or a prompt-injection β€” can delete your workloads or leak a token.
  • βœ… Here the sandbox itself is the guardrail: each agent runs in a disposable, per-session pod that by construction cannot reach the internet or the API server, and never holds the LLM key β€” it sends a sentinel, and the gateway injects the real key at the edge.
  • βœ… The same container image runs at three trust levels β€” contained (no cluster access), scoped-ops (read-only), or web terminal (whatever your own account is allowed to do) β€” pick the level that matches each workload.
  • βœ… It is the 100% stock NVIDIA OpenShell + Kubernetes agent-sandbox chart on Kyma, no fork.

πŸ‘‰ The sandbox blocks the agent from the outside

  • βœ… Kubernetes RBAC refuses writes
  • βœ… there is no network route to the internet
  • βœ… and the LLM key never enters the pod.

πŸ‘‰ A prompt-injected or buggy agent hits the exact same walls as a well-behaved one β€” it cannot argue its way out, because the walls are not written in the prompt.
πŸ‘‰ That is why you can let it run unsupervised.

Everything is already deployed and wired up for you on your personal Kyma runtime β€” the provisioning and bootstrapping are done. Your two hours are spent understanding how the pieces fit and playing with the running system:

  • 🩺 experiment with the diagnostics' prompts and watch the Cluster Health Reports change (Exercise 1);
  • πŸ’¬ chat with the interactive chat agent (Exercise 2);
  • πŸ““ explore OpenShell sandboxes with JupyterHub notebooks (Exercise 3);
  • πŸ›‘οΈ watch a sandboxed agent hit its guardrails β€” denied the internet and the API server (Exercise 4);
  • βš™οΈ run the OpenShell-admin and NVIDIA GitHub Actions workflows (Exercise 4 Β· Exercise 5);
  • πŸ’° and close with the spend dashboards (Exercise 6).

The LLM gateway (calling SAP AI Core through the proxy) and the in-cluster web terminal are covered in the appendices.

This is the self-hosted agent layer of the SAP AI landscape β€” everything below runs inside your Kyma runtime and reaches SAP AI Core through one proxy.

flowchart LR
  subgraph KYMA["☸️ Your SAP BTP, Kyma runtime β€” all pre-deployed"]
    direction TB
    TERM["πŸ–₯️ Busola web terminal<br/>Goose Β· Claude Code"]
    GOOSE["πŸ”Ž Goose diagnostic jobs<br/>autonomous kubectl"]
    OC["πŸ’¬ Chat UI<br/>interactive agent"]
    JH["πŸ““ JupyterHub<br/>Python + notebooks"]
    LITELLM["πŸ”€ LiteLLM proxy :4001<br/>tier aliases Β· drop_params"]
    CHR["πŸ“„ ClusterHealthReport Β·<br/>AuditLogCatalog Β· FleetStatus<br/>(Busola custom resources)"]
    CLS["πŸ“Š Kyma Telemetry β†’<br/>SAP Cloud Logging<br/>spend dashboards"]
  end
  AICORE["☁️ SAP AI Core<br/>Claude · GPT · Mistral · Nova"]

  TERM --> LITELLM
  GOOSE --> LITELLM
  OC --> LITELLM
  JH --> LITELLM
  LITELLM --> AICORE
  GOOSE --> CHR
  GOOSE -. hand-off .-> OC
  GOOSE -. hand-off .-> JH
  LITELLM --> CLS
Loading

Requirements

Important

Everything is pre-provisioned and pre-deployed for you β€” there is no infrastructure to install or configure. You only need:

  • βœ… The provided TechEd laptop, with the Chrome browser and a public internet connection.
  • βœ… Your personal SAP BTP, Kyma runtime (xp266-NNN) β€” the Busola URL and single sign-on are handed out at the start of the session.
  • βœ… A GitHub account β€” several exercises run as GitHub Actions workflows. If you don't have one, sign up before the session (or at the very start).

Important

  • βœ… The session content is provided exclusively on the public SAP-samples GitHub. A couple of exercises are implemented as CI/CD GitHub Actions workflows (GHA).
  • βœ… To run them you need to fork this repository to your own GitHub account and enable GitHub Actions on your fork.
  • βœ… That is the only setup, it is all done in the browser, and it is required for the GHA-based exercises.

πŸ‘‰ Walk-through: Appendix 0 β€” Fork this repo & enable GitHub Actions (about 2 minutes).

Important

Security is paramount β€” you never handle a credential. The GHA exercises use GitHub's OIDC-delegated authentication, so there are no Kubernetes or BTP credentials to copy anywhere (why OIDC):

  • βœ… The GitHub Actions workflow acts as the OIDC provider.
  • βœ… Every Kyma runtime in the landscape is pre-configured to trust GitHub's token issuer (via the built-in Gardener OIDC shoot extension).
  • βœ… SAP Cloud Identity Services (the BTP platform IDP) is federated with the GitHub Actions OIDC provider.
  • βœ… As a result, short-lived tokens are fetched and rotated automatically on your behalf, for both Kubernetes and BTP operations.

Note

πŸ‘‰ Personal devices ought not to be used for this session β€” please use the provided TechEd laptop.
πŸ‘‰ Every exercise runs in the browser β€” Busola, JupyterHub, and GitHub Actions.
πŸ‘‰ No local kubectl, no IDE, no cloud account, nothing to install.

Exercises

Appendix

Important

  • βœ… Every exercise can be completed entirely in the browser β€” no laptop terminal is required.
  • βœ… A few exercises offer an optional in-cluster web-terminal step, always marked πŸ”§ Go deeper (optional).
  • βœ… Wherever one appears there is a UI (Busola) or Run workflow (GitHub Actions) way to reach the same result.
  • βœ… Whatever your level, you can succeed with clicks alone.

Note

Every step is copy-paste ready β€” the two hours are short by design. If you fall behind, each exercise is self-contained; jump to whichever interests you most.

See it live β€” SAP TechEd 2026 (XP266)

XP266 | Ship your own sandboxed AI operations agent to Kyma in two hours.

What does an AI agent do when something fails in production? Find out by causing the failure yourself. Deploy a reasoning agent into Kyma, connect it to the SAP AI Core foundation, and give it full observability to diagnose what broke. Leave with practical patterns for cost control and monitoring.

Piotr Tesny
  • 🏷️ Session code β€” XP266
  • πŸŽ“ Type β€” Hands-on workshop
  • πŸ“ Venue β€” Messe Berlin Β· Messedamm 22, 14055 Berlin
  • πŸšͺ Room β€” Hands-On Room Hall 6.2
  • πŸ“… Date β€” 27 October 2026 (conference runs 27–29 October)
  • πŸ• Time β€” 13:30 – 15:30 CET (Berlin) Β· 18:00 – 20:00 IST (Mumbai) Β· 08:30 – 10:30 EDT (New York)

Contributing

Please read the CONTRIBUTING.md to understand the contribution guidelines.

Code of Conduct

Please read the SAP Open Source Code of Conduct.

How to obtain support

Support for the content in this repository is available during the actual time of the online session for which this content has been designed. Otherwise, you may request support via the Issues tab.

License

Copyright 2026 SAP SE or an SAP affiliate company and teched2026-XP266 contributors. Please see our LICENSE for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.

About

Ship your own sandboxed AI operations agent to Kyma in two hours

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors