refactor(coderd): move healthcheck report structs to codersdk (#12279)

Moves healthcheck report-related structs from coderd/healthcheck to codersdk
This prevents an import cycle when adding a codersdk.Client method to hit /api/v2/debug/health.
This commit is contained in:
Cian Johnston
2024-02-23 13:13:28 +00:00
committed by GitHub
parent aa7a9f5cc4
commit 2cb9bfd517
21 changed files with 2314 additions and 2298 deletions
+397 -396
View File
@@ -413,7 +413,7 @@
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/healthcheck.Report"
"$ref": "#/definitions/codersdk.HealthcheckReport"
}
}
}
@@ -7465,6 +7465,47 @@
"enum": ["all", "application_connect"],
"x-enum-varnames": ["APIKeyScopeAll", "APIKeyScopeApplicationConnect"]
},
"codersdk.AccessURLReport": {
"type": "object",
"properties": {
"access_url": {
"type": "string"
},
"dismissed": {
"type": "boolean"
},
"error": {
"type": "string"
},
"healthy": {
"description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.",
"type": "boolean"
},
"healthz_response": {
"type": "string"
},
"reachable": {
"type": "boolean"
},
"severity": {
"enum": ["ok", "warning", "error"],
"allOf": [
{
"$ref": "#/definitions/health.Severity"
}
]
},
"status_code": {
"type": "integer"
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/definitions/health.Message"
}
}
}
},
"codersdk.AddLicenseRequest": {
"type": "object",
"required": ["license"],
@@ -8306,6 +8347,118 @@
}
}
},
"codersdk.DERPHealthReport": {
"type": "object",
"properties": {
"dismissed": {
"type": "boolean"
},
"error": {
"type": "string"
},
"healthy": {
"description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.",
"type": "boolean"
},
"netcheck": {
"$ref": "#/definitions/netcheck.Report"
},
"netcheck_err": {
"type": "string"
},
"netcheck_logs": {
"type": "array",
"items": {
"type": "string"
}
},
"regions": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/codersdk.DERPRegionReport"
}
},
"severity": {
"enum": ["ok", "warning", "error"],
"allOf": [
{
"$ref": "#/definitions/health.Severity"
}
]
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/definitions/health.Message"
}
}
}
},
"codersdk.DERPNodeReport": {
"type": "object",
"properties": {
"can_exchange_messages": {
"type": "boolean"
},
"client_errs": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"client_logs": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"error": {
"type": "string"
},
"healthy": {
"description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.",
"type": "boolean"
},
"node": {
"$ref": "#/definitions/tailcfg.DERPNode"
},
"node_info": {
"$ref": "#/definitions/derp.ServerInfoMessage"
},
"round_trip_ping": {
"type": "string"
},
"round_trip_ping_ms": {
"type": "integer"
},
"severity": {
"enum": ["ok", "warning", "error"],
"allOf": [
{
"$ref": "#/definitions/health.Severity"
}
]
},
"stun": {
"$ref": "#/definitions/codersdk.STUNReport"
},
"uses_websocket": {
"type": "boolean"
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/definitions/health.Message"
}
}
}
},
"codersdk.DERPRegion": {
"type": "object",
"properties": {
@@ -8317,6 +8470,41 @@
}
}
},
"codersdk.DERPRegionReport": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"healthy": {
"description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.",
"type": "boolean"
},
"node_reports": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.DERPNodeReport"
}
},
"region": {
"$ref": "#/definitions/tailcfg.DERPRegion"
},
"severity": {
"enum": ["ok", "warning", "error"],
"allOf": [
{
"$ref": "#/definitions/health.Severity"
}
]
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/definitions/health.Message"
}
}
}
},
"codersdk.DERPServerConfig": {
"type": "object",
"properties": {
@@ -8357,6 +8545,47 @@
}
}
},
"codersdk.DatabaseReport": {
"type": "object",
"properties": {
"dismissed": {
"type": "boolean"
},
"error": {
"type": "string"
},
"healthy": {
"description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.",
"type": "boolean"
},
"latency": {
"type": "string"
},
"latency_ms": {
"type": "integer"
},
"reachable": {
"type": "boolean"
},
"severity": {
"enum": ["ok", "warning", "error"],
"allOf": [
{
"$ref": "#/definitions/health.Severity"
}
]
},
"threshold_ms": {
"type": "integer"
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/definitions/health.Message"
}
}
}
},
"codersdk.DeleteWorkspaceAgentPortShareRequest": {
"type": "object",
"properties": {
@@ -9020,6 +9249,58 @@
}
}
},
"codersdk.HealthcheckReport": {
"type": "object",
"properties": {
"access_url": {
"$ref": "#/definitions/codersdk.AccessURLReport"
},
"coder_version": {
"description": "The Coder version of the server that the report was generated on.",
"type": "string"
},
"database": {
"$ref": "#/definitions/codersdk.DatabaseReport"
},
"derp": {
"$ref": "#/definitions/codersdk.DERPHealthReport"
},
"failing_sections": {
"description": "FailingSections is a list of sections that have failed their healthcheck.",
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.HealthSection"
}
},
"healthy": {
"description": "Healthy is true if the report returns no errors.\nDeprecated: use `Severity` instead",
"type": "boolean"
},
"provisioner_daemons": {
"$ref": "#/definitions/codersdk.ProvisionerDaemonsReport"
},
"severity": {
"description": "Severity indicates the status of Coder health.",
"enum": ["ok", "warning", "error"],
"allOf": [
{
"$ref": "#/definitions/health.Severity"
}
]
},
"time": {
"description": "Time is the time the report was generated at.",
"type": "string",
"format": "date-time"
},
"websocket": {
"$ref": "#/definitions/codersdk.WebsocketReport"
},
"workspace_proxy": {
"$ref": "#/definitions/codersdk.WorkspaceProxyReport"
}
}
},
"codersdk.InsightsReportInterval": {
"type": "string",
"enum": ["day", "week"],
@@ -9651,6 +9932,46 @@
}
}
},
"codersdk.ProvisionerDaemonsReport": {
"type": "object",
"properties": {
"dismissed": {
"type": "boolean"
},
"error": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.ProvisionerDaemonsReportItem"
}
},
"severity": {
"$ref": "#/definitions/health.Severity"
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/definitions/health.Message"
}
}
}
},
"codersdk.ProvisionerDaemonsReportItem": {
"type": "object",
"properties": {
"provisioner_daemon": {
"$ref": "#/definitions/codersdk.ProvisionerDaemon"
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/definitions/health.Message"
}
}
}
},
"codersdk.ProvisionerJob": {
"type": "object",
"properties": {
@@ -10136,6 +10457,20 @@
}
}
},
"codersdk.STUNReport": {
"type": "object",
"properties": {
"canSTUN": {
"type": "boolean"
},
"enabled": {
"type": "boolean"
},
"error": {
"type": "string"
}
}
},
"codersdk.ServiceBannerConfig": {
"type": "object",
"properties": {
@@ -11387,6 +11722,41 @@
}
}
},
"codersdk.WebsocketReport": {
"type": "object",
"properties": {
"body": {
"type": "string"
},
"code": {
"type": "integer"
},
"dismissed": {
"type": "boolean"
},
"error": {
"type": "string"
},
"healthy": {
"description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.",
"type": "boolean"
},
"severity": {
"enum": ["ok", "warning", "error"],
"allOf": [
{
"$ref": "#/definitions/health.Severity"
}
]
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"codersdk.Workspace": {
"type": "object",
"properties": {
@@ -12177,6 +12547,32 @@
}
}
},
"codersdk.WorkspaceProxyReport": {
"type": "object",
"properties": {
"dismissed": {
"type": "boolean"
},
"error": {
"type": "string"
},
"healthy": {
"type": "boolean"
},
"severity": {
"$ref": "#/definitions/health.Severity"
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/definitions/health.Message"
}
},
"workspace_proxies": {
"$ref": "#/definitions/codersdk.RegionsResponse-codersdk_WorkspaceProxy"
}
}
},
"codersdk.WorkspaceProxyStatus": {
"type": "object",
"properties": {
@@ -12356,167 +12752,6 @@
}
}
},
"derphealth.NodeReport": {
"type": "object",
"properties": {
"can_exchange_messages": {
"type": "boolean"
},
"client_errs": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"client_logs": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"error": {
"type": "string"
},
"healthy": {
"description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.",
"type": "boolean"
},
"node": {
"$ref": "#/definitions/tailcfg.DERPNode"
},
"node_info": {
"$ref": "#/definitions/derp.ServerInfoMessage"
},
"round_trip_ping": {
"type": "string"
},
"round_trip_ping_ms": {
"type": "integer"
},
"severity": {
"enum": ["ok", "warning", "error"],
"allOf": [
{
"$ref": "#/definitions/health.Severity"
}
]
},
"stun": {
"$ref": "#/definitions/derphealth.StunReport"
},
"uses_websocket": {
"type": "boolean"
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/definitions/health.Message"
}
}
}
},
"derphealth.RegionReport": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"healthy": {
"description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.",
"type": "boolean"
},
"node_reports": {
"type": "array",
"items": {
"$ref": "#/definitions/derphealth.NodeReport"
}
},
"region": {
"$ref": "#/definitions/tailcfg.DERPRegion"
},
"severity": {
"enum": ["ok", "warning", "error"],
"allOf": [
{
"$ref": "#/definitions/health.Severity"
}
]
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/definitions/health.Message"
}
}
}
},
"derphealth.Report": {
"type": "object",
"properties": {
"dismissed": {
"type": "boolean"
},
"error": {
"type": "string"
},
"healthy": {
"description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.",
"type": "boolean"
},
"netcheck": {
"$ref": "#/definitions/netcheck.Report"
},
"netcheck_err": {
"type": "string"
},
"netcheck_logs": {
"type": "array",
"items": {
"type": "string"
}
},
"regions": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/derphealth.RegionReport"
}
},
"severity": {
"enum": ["ok", "warning", "error"],
"allOf": [
{
"$ref": "#/definitions/health.Severity"
}
]
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/definitions/health.Message"
}
}
}
},
"derphealth.StunReport": {
"type": "object",
"properties": {
"canSTUN": {
"type": "boolean"
},
"enabled": {
"type": "boolean"
},
"error": {
"type": "string"
}
}
},
"health.Code": {
"type": "string",
"enum": [
@@ -12578,240 +12813,6 @@
"enum": ["ok", "warning", "error"],
"x-enum-varnames": ["SeverityOK", "SeverityWarning", "SeverityError"]
},
"healthcheck.AccessURLReport": {
"type": "object",
"properties": {
"access_url": {
"type": "string"
},
"dismissed": {
"type": "boolean"
},
"error": {
"type": "string"
},
"healthy": {
"description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.",
"type": "boolean"
},
"healthz_response": {
"type": "string"
},
"reachable": {
"type": "boolean"
},
"severity": {
"enum": ["ok", "warning", "error"],
"allOf": [
{
"$ref": "#/definitions/health.Severity"
}
]
},
"status_code": {
"type": "integer"
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/definitions/health.Message"
}
}
}
},
"healthcheck.DatabaseReport": {
"type": "object",
"properties": {
"dismissed": {
"type": "boolean"
},
"error": {
"type": "string"
},
"healthy": {
"description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.",
"type": "boolean"
},
"latency": {
"type": "string"
},
"latency_ms": {
"type": "integer"
},
"reachable": {
"type": "boolean"
},
"severity": {
"enum": ["ok", "warning", "error"],
"allOf": [
{
"$ref": "#/definitions/health.Severity"
}
]
},
"threshold_ms": {
"type": "integer"
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/definitions/health.Message"
}
}
}
},
"healthcheck.ProvisionerDaemonsReport": {
"type": "object",
"properties": {
"dismissed": {
"type": "boolean"
},
"error": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"$ref": "#/definitions/healthcheck.ProvisionerDaemonsReportItem"
}
},
"severity": {
"$ref": "#/definitions/health.Severity"
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/definitions/health.Message"
}
}
}
},
"healthcheck.ProvisionerDaemonsReportItem": {
"type": "object",
"properties": {
"provisioner_daemon": {
"$ref": "#/definitions/codersdk.ProvisionerDaemon"
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/definitions/health.Message"
}
}
}
},
"healthcheck.Report": {
"type": "object",
"properties": {
"access_url": {
"$ref": "#/definitions/healthcheck.AccessURLReport"
},
"coder_version": {
"description": "The Coder version of the server that the report was generated on.",
"type": "string"
},
"database": {
"$ref": "#/definitions/healthcheck.DatabaseReport"
},
"derp": {
"$ref": "#/definitions/derphealth.Report"
},
"failing_sections": {
"description": "FailingSections is a list of sections that have failed their healthcheck.",
"type": "array",
"items": {
"$ref": "#/definitions/codersdk.HealthSection"
}
},
"healthy": {
"description": "Healthy is true if the report returns no errors.\nDeprecated: use `Severity` instead",
"type": "boolean"
},
"provisioner_daemons": {
"$ref": "#/definitions/healthcheck.ProvisionerDaemonsReport"
},
"severity": {
"description": "Severity indicates the status of Coder health.",
"enum": ["ok", "warning", "error"],
"allOf": [
{
"$ref": "#/definitions/health.Severity"
}
]
},
"time": {
"description": "Time is the time the report was generated at.",
"type": "string"
},
"websocket": {
"$ref": "#/definitions/healthcheck.WebsocketReport"
},
"workspace_proxy": {
"$ref": "#/definitions/healthcheck.WorkspaceProxyReport"
}
}
},
"healthcheck.WebsocketReport": {
"type": "object",
"properties": {
"body": {
"type": "string"
},
"code": {
"type": "integer"
},
"dismissed": {
"type": "boolean"
},
"error": {
"type": "string"
},
"healthy": {
"description": "Healthy is deprecated and left for backward compatibility purposes, use `Severity` instead.",
"type": "boolean"
},
"severity": {
"enum": ["ok", "warning", "error"],
"allOf": [
{
"$ref": "#/definitions/health.Severity"
}
]
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"healthcheck.WorkspaceProxyReport": {
"type": "object",
"properties": {
"dismissed": {
"type": "boolean"
},
"error": {
"type": "string"
},
"healthy": {
"type": "boolean"
},
"severity": {
"$ref": "#/definitions/health.Severity"
},
"warnings": {
"type": "array",
"items": {
"$ref": "#/definitions/health.Message"
}
},
"workspace_proxies": {
"$ref": "#/definitions/codersdk.RegionsResponse-codersdk_WorkspaceProxy"
}
}
},
"key.NodePublic": {
"type": "object"
},