New to KubeDB? Please start here.
HanaDBOpsRequest
What is HanaDBOpsRequest
HanaDBOpsRequest is a Kubernetes Custom Resource Definition (CRD). It provides a declarative way to
run day-2 operations — such as restart, reconfiguration, scaling, volume expansion, storage
migration, TLS management, and credential rotation — against an existing HanaDB database. The KubeDB
Ops-manager operator watches HanaDBOpsRequest objects and orchestrates the change while keeping the
database available.
Supported operation types
Every operation type below is implemented by the KubeDB Ops-manager operator for HanaDB:
spec.type | What it does | Guide |
|---|---|---|
Restart | Rolling restart of the database pods. | Restart |
Reconfigure | Apply / change / remove custom global.ini configuration. | Reconfigure |
ReconfigureTLS | Add, rotate, or remove TLS certificates. | Reconfigure TLS |
VerticalScaling | Change CPU/memory of the database (and sidecar) containers. | Vertical Scaling |
VolumeExpansion | Grow the data PVCs (requires an expandable StorageClass). | Volume Expansion |
HorizontalScaling | Add/remove nodes of a System Replication cluster. | — |
StorageMigration | Move the data volumes to a different StorageClass. | Storage Migration |
RotateAuth | Rotate the SYSTEM password (auto-generated or user-provided). | Rotate Authentication |
HanaDBOpsRequest Spec
apiVersion: ops.kubedb.com/v1alpha1
kind: HanaDBOpsRequest
metadata:
name: hdbops-restart
namespace: demo
spec:
type: Restart
databaseRef:
name: hanadb-cluster
timeout: 30m
apply: IfReady
spec.databaseRef
spec.databaseRef.name is required and references the target HanaDB object in the same namespace.
spec.type
spec.type is required and is one of the supported operation types listed above.
spec.timeout
spec.timeout bounds how long the operation may run before it is marked failed (for example 30m). It
is required for StorageMigration and recommended for every storage-heavy or restart-heavy
operation.
spec.apply
spec.apply controls when the operation starts:
IfReady(default) — wait until the database isReadybefore applying.Always— apply even if the database is notReady(used byRestartto recover an unhealthy database).
Operation-specific fields
Each type reads its own sub-spec:
spec.restart— empty marker forRestart.spec.configuration—{ configSecret, applyConfig, removeCustomConfig, restart }forReconfigure.applyConfigkeys must beglobal.ini; the values are merged with the existing inline configuration.restartisauto(default),true, orfalse.spec.tls—{ issuerRef, certificates, rotateCertificates, remove }forReconfigureTLS.spec.verticalScaling—{ hanadb, coordinator, exporter }resources forVerticalScaling.spec.volumeExpansion—{ hanadb, mode }wheremodeisOnlineorOffline, forVolumeExpansion.spec.horizontalScaling—{ replicas }forHorizontalScaling(System Replication only,>= 2).spec.migration—{ storageClassName, oldPVReclaimPolicy }forStorageMigration.spec.authentication—{ secretRef }forRotateAuth(omit to auto-generate a new password).
HanaDBOpsRequest Status
status.phase of a HanaDBOpsRequest is one of Pending, Progressing, Successful, Failed,
Skipped, WaitingForApproval, Approved, or Denied. The status.conditions array records each
step of the operation (for example UpdatePetSets, RestartPods, Successful).
Next Steps
- Run a Restart or Reconfigure.
- Review the HanaDB CRD.































