Diagnostic privacy
Status: Beta.
POST /api/v1/support/diagnostics(cluster.admin) previews or downloads a bundle. Uploading is a separate route that needsconfirm: true. Application logs are not collected yet (Zorvia does not retain them); thelogssection says so.
A bundle contains​
Zorvia, Kubernetes, KubeVirt and CDI versions; sanitized VM specifications and recent events; relevant storage and scheduling conditions; operation failures from the audit trail; component health and configuration summaries.
A bundle never contains​
Credentials, Secret contents, kubeconfigs, tokens, cloud-init user data, guest disks or memory dumps.
Handling rules​
- Free-form text is redacted for sensitive values.
- An administrator can preview the exact contents before export.
- Default is a local download. Uploading to support is a separate, explicit action.
- Attachment size limits and retention are configurable (
ZORVIA_SUPPORT_ATTACHMENT_*). - Case and attachment access is isolated by customer organization.
How it is enforced​
- The bundle is built from an allow-list of fields; Secrets, kubeconfigs and guest disks are never requested from the cluster.
- Every value then passes through redaction: keys such as
password,secret,token,kubeconfig,cloudInit*,userDatalose their value, env-style{name: DB_PASSWORD, value: ...}pairs lose the value, and strings are scrubbed for bearer/basic credentials, JWTs, PEM blocks,key=valuesecrets, URL credentials, AWS keys and long base64 blobs. Redaction errs toward removing too much. - Each section fails independently (
{"error": ...}), so a partial cluster outage still yields a usable bundle. - The default call is a preview that returns the manifest (sections, sizes, sha256, exclusions) and the full bundle. Nothing is sent anywhere.
- Upload attaches a freshly generated bundle to a case you can access, is limited by the attachment size cap, and is recorded on the case as a customer action.