Skip to content

Download the support bundle.

GET
/v1/installer/diagnostics
Code sample: Shell / cURL
curl --request GET \
--url https://192.0.2.10:9443/v1/installer/diagnostics \
--header 'Authorization: <Authorization>'

A gzipped tar archive (application/gzip, served as an attachment) of what is needed to diagnose a failed install without a shell on the node: README.txt (what is in it), the status.json and the stored report.json, the whole event stream (events.jsonl) and the install log (install.log, from the end when it is long), the draft and installed node.yaml with its secrets redacted, the hardware discovery output (hardware.json), stage 1’s install record, the journal of the installer’s units and the warnings of this boot, the failed units, the network and disk state and the containers. It holds no password, key or token: the install code, the first admin’s credential file, OpenBao’s init record and the TLS key are never read, the install code is removed from anything that quotes it, and node.yaml goes through the same redaction the control plane’s copy does. A source that cannot be read is named in the README, not a reason to fail the download. Available in every phase, also before an install has started, and while the service lingers after a success.

The support bundle.

Media typeapplication/gzip
string format: binary
Content-Disposition
string

attachment; filename="stratum-diagnostics-<hostname>-<UTC time>.tgz".

No install code, or the wrong one.

Media typeapplication/problem+json

RFC 7807 problem details, the control plane’s shape.

object
type
required
string
title
required
string
status
required
integer
>= 400 <= 599
detail
string
code
required
string
requestId
required
string
errors

Field errors, for INVALID_CONFIG.

Array<object>
object
field
required

The structured field (network.floatingIpCidrs[1]); empty for the whole config. For a raw YAML draft, the node.yaml key.

string
message
required
string

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"requestId": "example",
"errors": [
{
"field": "example",
"message": "example"
}
]
}

Too many wrong install codes; wait for Retry-After.

Media typeapplication/problem+json

RFC 7807 problem details, the control plane’s shape.

object
type
required
string
title
required
string
status
required
integer
>= 400 <= 599
detail
string
code
required
string
requestId
required
string
errors

Field errors, for INVALID_CONFIG.

Array<object>
object
field
required

The structured field (network.floatingIpCidrs[1]); empty for the whole config. For a raw YAML draft, the node.yaml key.

string
message
required
string

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"requestId": "example",
"errors": [
{
"field": "example",
"message": "example"
}
]
}
Retry-After
integer

Seconds until the next attempt is considered.

The installer failed to answer.

Media typeapplication/problem+json

RFC 7807 problem details, the control plane’s shape.

object
type
required
string
title
required
string
status
required
integer
>= 400 <= 599
detail
string
code
required
string
requestId
required
string
errors

Field errors, for INVALID_CONFIG.

Array<object>
object
field
required

The structured field (network.floatingIpCidrs[1]); empty for the whole config. For a raw YAML draft, the node.yaml key.

string
message
required
string

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"code": "example",
"requestId": "example",
"errors": [
{
"field": "example",
"message": "example"
}
]
}