Skip to main content

sap-kyma-cli

Use this skill for Kyma (BTP Kubernetes) deployment flows used by this cookbook — containerizing the agent template, applying k8s manifests, exposing via APIRule, and switching auth from noop to JWT/IAS. Complements the upstream `kyma-cli` skill at skills.cloud.sap.

Informações da origem

Repositório
SAP/custom-agentic-cookbook
Última atividade na origem
14 de agosto de 2026 às 10:39
Idioma detectado do SKILL.md
inglês
Estrelas
6
Forks
5

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
sap-kyma-cli
description
Use this skill for Kyma (BTP Kubernetes) deployment flows used by this cookbook — containerizing the agent template, applying k8s manifests, exposing via APIRule, and switching auth from noop to JWT/IAS. Complements the upstream `kyma-cli` skill at skills.cloud.sap.
# SAP Kyma CLI — agent-deploy patterns The canonical agent template ships a `Containerfile` and `k8s/` directory. Kyma deployment is `podman build && podman push && kubectl apply -f k8s/`. ## Setup ```bash # kubeconfig comes from BTP cockpit (kyma env instance → Kubeconfig URL) export KUBECONFIG=/path/to/kubeconfig.yaml kubectl get nodes # smoke ``` ## Build & push ```bash podman build -f Containerfile -t my-first-agent:0.1.0 . podman tag my-first-agent:0.1.0 $REGISTRY/my-first-agent:0.1.0 podman push $REGISTRY/my-first-agent:0.1.0 ``` In sovereign regions, $REGISTRY must be in-region — DockerHub is blocked. Use the customer's ACR / ECR / harbor. ## Deploy ```bash # Provide AI Core credentials as a secret (NEVER bake into the image). kubectl create secret generic aicore-credentials \ --from-env-file=.env.aicore kubectl apply -f k8s/deployment.yaml kubectl apply -f k8s/service.yaml kubectl apply -f k8s/apirule.yaml kubectl get apirule my-first-agent -o jsonpath='{.status.virtualService}' ``` ## Switch to JWT/IAS auth In `k8s/apirule.yaml` swap: ```yaml accessStrategies: - handler: noop ``` to: ```yaml accessStrategies: - handler: jwt config: trusted_issuers: - "https://<your-ias-tenant>.accounts.ondemand.com" jwks_urls: - "https://<your-ias-tenant>.accounts.ondemand.com/oauth2/certs" ``` The Agent Card and `/healthz` rules should stay `noop` — discovery and liveness must be public. ## Pitfalls - ImagePullBackOff in sovereign region → registry not whitelisted; switch to in-region registry. - APIRule pending → cluster's `kyma-system/kyma-gateway` not ready; wait, then check. - Forgetting `envFrom: secretRef: aicore-credentials` → 401 from AI Core at runtime. - HPA without resource requests on the deployment → no scaling. ## Verify ```bash kubectl rollout status deployment/my-first-agent curl -s https://my-first-agent.<cluster-domain>/.well-known/agent.json | jq .name ``` ## Cross-references - Upstream: `kyma-cli` skill at skills.cloud.sap - Deploy walkthrough: [`recipes/01-deploy/00-deploy-cf-or-kyma/`](../../recipes/01-deploy/00-deploy-cf-or-kyma/) (covers both runtimes; the Kyma branch is what applies here)
Ver no GitHub