Documentation

CAP Operator takes the complexity out of running SAP Cloud Application Programming Model (CAP) applications on Kubernetes — so you ship features, not infrastructure.

Whether you’re building a full SaaS platform with hundreds of tenants or a lean shared service with no tenant lifecycle at all, CAP Operator handles the heavy lifting:

  • Multi-tenant applications — end-to-end SaaS lifecycle: onboarding, upgrades, deprovisioning, and everything in between, wired directly to SAP SaaS Provisioning service.
  • Services-only (tenant-agnostic) applications — expose workloads publicly via named subdomains with zero tenant subscription overhead. Perfect for shared APIs and platform services.

Deploy fast, deploy clean

  • One-command deployment of CAP servers, Approuters, and supporting workloads — networking included.
  • Content deployers run as ordered Kubernetes jobs on every release, so your HTML5 apps and service configurations are always in sync.
  • Services-only mode lets you go live without an Approuter or subscription flow, just clean subdomain-based exposure.

Own your tenant lifecycle

  • Asynchronous tenant onboarding and offboarding, driven by SAP SaaS Provisioning service and executed as Kubernetes jobs.
  • Automated tenant upgrades the moment a new version is ready — no manual rollouts.
  • Fully sequenced operation pipelines with pre/post hooks and per-step failure control, so complex provisioning logic stays readable and reliable.
  • Subscription dependency callbacks handled automatically, with per-service opt-in control.
  • Pin individual tenants to a version when you need to — upgrade on your terms.

Networking that just works

  • Automatic TLS certificate provisioning and DNS entry management, including customer-specific domains.
  • Namespace-scoped and cluster-scoped domain resources — share a domain across applications or keep it isolated.
  • Mutual TLS and Go-template-based custom DNS generation for advanced networking scenarios.

Built for production operations

  • Credential rotation triggers automatic rolling restarts of only the affected workloads — everything else keeps running.
  • Prometheus-driven cleanup automatically retires unused application versions, keeping your cluster lean.
  • Version affinity (experimental): users stay on the version they started with until their session ends, making zero-downtime upgrades a reality.
  • Rich Prometheus metrics across the controller and subscription server — reconciliation errors, tenant operation durations, subscription request rates, and more.

The following interactive walkthrough shows the major automation steps handled by CAP Operator during application deployment — step through them, or press Play to watch the sequence:

CAP Operator Deployment automation, step by step
Kubernetes ClusterSAP BTPCAP Operator custom resourcesCAPApplication7Scheduled Routinesrotation · cleanupCAPApplicationVersionCAPTenantSubscriptionProviderSubscriptionsDomain / ClusterDomainIstioGardenerSubaccountServices · DestinationsHTML5 App RepoXSUAA / IASSaaS ProvisioningSAP HANA CloudDatabaseHDI containers3Content DeployerJobs → SAP BTP4WorkloadsApprouter · CAP Server5Tenant Operationprovision · upgrade1Istio Gatewayingress entry6Virtual Serviceroutes → Approuter2DNS & TLSrecords + certificates(Gardener)
The big picture

From custom resources to a running app

CAP Operator turns a handful of Kubernetes custom resources into a fully wired, running SAP CAP application — networking, content, workloads and the tenant lifecycle included. Here is what it automates on every deployment.

Click any step on the map or the navigation below — or press Play to tour the sequence.

1 Networking

Istio Gateway

CAP Operator creates the Istio Gateway that serves as the cluster's ingress entry point — the single front door through which all incoming traffic reaches the application.

2 Networking

DNS & TLS provisioned

Wildcard and subdomain DNS records plus matching TLS certificates are requested through Gardener, so every tenant and service URL is both reachable and secure — including customer-specific domains.

3 Content

Content Deployment Jobs

Running first as ordered Kubernetes Jobs, these push Fiori UIs, destinations and authentication config into SAP BTP — so the app's content is in place before the workloads start serving traffic.

4 Workloads

Approuter, CAP Server & more

The application Deployments are rolled out together, each wired with the credentials and per-workload configuration it needs to talk to SAP BTP services and SAP HANA Cloud.

5 Tenancy

Tenant Operation Job

A Kubernetes Job handles the full tenant lifecycle — provisioning, upgrade or deprovisioning — driven asynchronously by the SAP SaaS Provisioning service.

6 Networking

Virtual Service

Created last, once tenants are ready: the Virtual Service routes Gateway traffic to the Approuter, exposing the application's tenant and service routes to the outside world.

7 Operations

Scheduled Routines

Running continuously beyond the initial rollout: rolling restarts on credential rotation, and Prometheus-driven cleanup that retires unused application versions to keep the cluster lean.

Explore the following sections to learn more.


Concepts

Motivation and overview of components

What's New

Discover the latest features and improvements in CAP Operator

Installation

How to install CAP Operator in a Kubernetes cluster

Configuration

How to configure CAP Operator

Usage

How to manage the application with CAP Operator

Troubleshooting

Common issues and how to solve them

Support

How to get support and how to reach out

Reference

API reference