--output table|json. Bundle generation writes a .tar.gz archive as its intended side effect. JSON mode returns archive metadata and never prompts.
Generate a bundle
--file/-f option:
--output/-o has been removed. --output/-o now consistently selects table or json.
Options
Existing archives prompt in human mode. JSON mode fails with a conflict unless
--force or --yes is present.
JSON returns:
Collection behavior
Remote collectors usePOST /api/v1/support/collect and require an administrator account. They provide:
- Application and migration versions
- PostgreSQL, ClickHouse, and Redis health
- Allowlisted configuration
- Aggregate table counts
- Error fingerprints
- Recent redacted log records
remote_status and warnings; local collection continues. This fallback is never silent.
Individual collector failures are retained in the manifest and JSON result. If no collector produces data, the command exits with code 9 and does not create an archive.
Privacy and integrity
Support bundles contain aggregate diagnostics, not customer database rows or trace payloads. Protections include:- Configuration allowlisting before archive creation
- Redaction of passwords, tokens, API keys, private keys, authorization values, URL credentials, JWTs, AWS access keys, and high-entropy strings
- Redaction of collector error text before it enters the manifest
- Rejection of unknown collector names and unsafe archive paths
- Hashed host identity rather than a raw hostname
- SHA-256 inventory entries for every archived file
- Atomic archive replacement with mode
0600
Size budget
The uncompressed budget is 100 MB. Human mode asks before exceeding it. JSON mode requires--force and never prompts.
Inspect a bundle
--show, malformed or oversized manifests, and shown files larger than 1 MB. Unsafe archive members are omitted and reported as warnings.
Exit codes
Related
observal doctor: diagnose and repair telemetry instrumentationobserval ops telemetry status: check telemetry flow- Troubleshooting: deployment diagnosis

