Observability
The operator provides observability through two event channels: Ververica Platform Events and Kubernetes Events. Together, they give you full visibility into the deployment lifecycle without needing to inspect operator logs directly.
In Ververica Platform 3, the operator emits its own lifecycle events to the Ververica Platform Events API in addition to mirroring Ververica Platform events to Kubernetes. The Ververica Platform 2 operator only mirrored Ververica Platform events to Kubernetes and did not emit its own lifecycle events.
Ververica Platform Events
The operator emits lifecycle events to the Ververica Platform Events API. These events appear in the deployment's Events tab in the Ververica Platform UI, alongside other platform events.
Event emission is best-effort. If the Events API is unreachable or returns an error, the failure is logged but does not affect the reconcile loop.
Normal Events
Normal events confirm that the operator successfully performed an action.
| Event | When emitted | Message |
|---|---|---|
| Deployment created | CR is reconciled for the first time and a new deployment is created in Ververica Platform | Kubernetes operator created deployment |
| Config projected | CR spec changes are projected to Ververica Platform without a state change | Kubernetes operator projected deployment config (mode=PATCH) or (mode=PUT) |
| Config projected with state change | CR spec changes include a state transition | Kubernetes operator projected deployment config (mode=PATCH) including state change: CANCELLED → RUNNING |
| Savepoint triggered | A savepoint nonce change is processed successfully | Kubernetes operator triggered savepoint |
| Restart triggered | A restart nonce change is processed successfully | Kubernetes operator triggered job restart |
Warning Events
Warning events indicate that the operator detected a problem or could not complete an action. Each warning event corresponds to a condition on the CR — check the CR conditions for full details.
| Event | When emitted | Message |
|---|---|---|
| Sync disabled | CR spec changed but sync is disabled | Spec changes not projected — sync is disabled. Enable sync to resume projection. |
| Autopilot override | Autopilot is active and the CR's parallelism differs from Ververica Platform's | CR parallelism (X) not applied — Autopilot is ACTIVE (AppManager parallelism: Y) |
| Savepoint blocked | A savepoint was requested but the job is not RUNNING | Savepoint not triggered — job is <status>. Apply a new savepointNonce when the job is RUNNING. |
| Restart blocked | A restart was requested but the job is not RUNNING | Restart not triggered — job is <status>. Apply a new restartNonce when the job is RUNNING. |
| Deletion blocked | CR deletion was attempted but the deployment is still active | Cannot delete — deployment is in state <state>. Set to CANCELLED before deleting. |
| Out-of-band deletion | The Ververica Platform deployment was deleted outside the operator (for example, through a direct database modification) | AppManager deployment was deleted out-of-band. Manual intervention required. |
| Orphaned record | The operator's internal mapping is missing but the Ververica Platform deployment still exists | Database record missing but AppManager deployment still exists. Manual intervention required. |
Event Deduplication
Warning events that correspond to persistent conditions — sync disabled, Autopilot override, deletion blocked, out-of-band deletion, and orphaned record — are deduplicated. The event is emitted only when the condition first transitions, not on every reconcile cycle. This prevents the Events tab from filling up with repeated warnings.
Savepoint blocked and restart blocked warnings are not deduplicated because they fire only when the CR spec changes, once per nonce change attempt.
Kubernetes Events
The operator mirrors Ververica Platform job and deployment events to Kubernetes core/v1 Events. These are standard Kubernetes events associated with the VvpDeployment CR and are accessible through standard Kubernetes tooling:
kubectl get events --field-selector involvedObject.kind=VvpDeployment
kubectl describe vvpdeployment my-deployment
Events are polled from Ververica Platform on each reconcile cycle and mirrored to Kubernetes — they are not real-time. There might be a delay of up to one reconcile interval before a Ververica Platform event appears as a Kubernetes Event. Mirroring is best-effort; failures are logged but do not affect the reconcile loop.
Event Format
Each mirrored event includes:
| Field | Description |
|---|---|
Reason | A short CamelCase identifier suitable for filtering and alerting (for example, JobStarted, SavepointFailed, StateTransitionCompleted). |
Type | Normal for informational events, Warning for failures such as job creation failure or savepoint failure. |
Message | A human-readable description from Ververica Platform, prefixed with the original Ververica Platform event name for traceability (for example, [JOB_SUCCESSFULLY_STARTED] Job started successfully). |
Mirrored events cover Ververica Platform deployment lifecycle activity including state transitions, job lifecycle (creation, start, finish, failure), savepoint operations, and resource upgrades. Operator-emitted events from Ververica Platform Events are also mirrored.
This integration lets you monitor deployment lifecycle events using your existing Kubernetes monitoring infrastructure — Prometheus alerting on events, log aggregation, event exporters — without needing access to the Ververica Platform UI.