Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 11 additions & 8 deletions nexus/external-api/output/nexus_tags.txt
Original file line number Diff line number Diff line change
Expand Up @@ -63,14 +63,6 @@ support_bundle_index GET /experimental/v1/system/suppor
support_bundle_list GET /experimental/v1/system/support-bundles
support_bundle_update PUT /experimental/v1/system/support-bundles/{bundle_id}
support_bundle_view GET /experimental/v1/system/support-bundles/{bundle_id}
system_update_get_repository GET /v1/system/update/repository/{system_version}
system_update_put_repository PUT /v1/system/update/repository
system_update_trust_root_create POST /v1/system/update/trust-roots
system_update_trust_root_delete DELETE /v1/system/update/trust-roots/{trust_root_id}
system_update_trust_root_list GET /v1/system/update/trust-roots
system_update_trust_root_view GET /v1/system/update/trust-roots/{trust_root_id}
target_release_update PUT /v1/system/update/target-release
target_release_view GET /v1/system/update/target-release
timeseries_query POST /v1/timeseries/query

API operations found with tag "floating-ips"
Expand Down Expand Up @@ -302,6 +294,17 @@ API operations found with tag "system/status"
OPERATION ID METHOD URL PATH
ping GET /v1/ping

API operations found with tag "system/update"
OPERATION ID METHOD URL PATH
system_update_get_repository GET /v1/system/update/repository/{system_version}
system_update_put_repository PUT /v1/system/update/repository
system_update_trust_root_create POST /v1/system/update/trust-roots
system_update_trust_root_delete DELETE /v1/system/update/trust-roots/{trust_root_id}
system_update_trust_root_list GET /v1/system/update/trust-roots
system_update_trust_root_view GET /v1/system/update/trust-roots/{trust_root_id}
target_release_update PUT /v1/system/update/target-release
target_release_view GET /v1/system/update/target-release

API operations found with tag "tokens"
OPERATION ID METHOD URL PATH
current_user_access_token_delete DELETE /v1/me/access-tokens/{token_id}
Expand Down
24 changes: 15 additions & 9 deletions nexus/external-api/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,13 @@ const PUT_UPDATE_REPOSITORY_MAX_BYTES: usize = 4 * GIB;
external_docs = {
url = "http://docs.oxide.computer/api/system-silos"
}
}
},
"system/update" = {
description = "Upload and manage system updates",
external_docs = {
url = "http://docs.oxide.computer/api/system-update"
}
},
}
}
}]
Expand Down Expand Up @@ -2958,7 +2964,7 @@ pub trait NexusExternalApi {
#[endpoint {
method = PUT,
path = "/v1/system/update/repository",
tags = ["experimental"], // ["system/update"],
tags = ["system/update"],
request_body_max_bytes = PUT_UPDATE_REPOSITORY_MAX_BYTES,
}]
async fn system_update_put_repository(
Expand All @@ -2971,7 +2977,7 @@ pub trait NexusExternalApi {
#[endpoint {
method = GET,
path = "/v1/system/update/repository/{system_version}",
tags = ["experimental"], // ["system/update"],
tags = ["system/update"],
}]
async fn system_update_get_repository(
rqctx: RequestContext<Self::Context>,
Expand All @@ -2987,7 +2993,7 @@ pub trait NexusExternalApi {
#[endpoint {
method = GET,
path = "/v1/system/update/trust-roots",
tags = ["experimental"], // ["system/update"],
tags = ["system/update"],
}]
async fn system_update_trust_root_list(
rqctx: RequestContext<Self::Context>,
Expand All @@ -2998,7 +3004,7 @@ pub trait NexusExternalApi {
#[endpoint {
method = POST,
path = "/v1/system/update/trust-roots",
tags = ["experimental"], // ["system/update"],
tags = ["system/update"],
}]
async fn system_update_trust_root_create(
rqctx: RequestContext<Self::Context>,
Expand All @@ -3009,7 +3015,7 @@ pub trait NexusExternalApi {
#[endpoint {
method = GET,
path = "/v1/system/update/trust-roots/{trust_root_id}",
tags = ["experimental"], // ["system/update"],
tags = ["system/update"],
}]
async fn system_update_trust_root_view(
rqctx: RequestContext<Self::Context>,
Expand All @@ -3024,7 +3030,7 @@ pub trait NexusExternalApi {
#[endpoint {
method = DELETE,
path = "/v1/system/update/trust-roots/{trust_root_id}",
tags = ["experimental"], // ["system/update"],
tags = ["system/update"],
}]
async fn system_update_trust_root_delete(
rqctx: RequestContext<Self::Context>,
Expand All @@ -3041,7 +3047,7 @@ pub trait NexusExternalApi {
#[endpoint {
method = GET,
path = "/v1/system/update/target-release",
tags = ["experimental"], // "system/update"
tags = ["system/update"],
}]
async fn target_release_view(
rqctx: RequestContext<Self::Context>,
Expand All @@ -3055,7 +3061,7 @@ pub trait NexusExternalApi {
#[endpoint {
method = PUT,
path = "/v1/system/update/target-release",
tags = ["experimental"], // "system/update"
tags = ["system/update"],
}]
async fn target_release_update(
rqctx: RequestContext<Self::Context>,
Expand Down
23 changes: 15 additions & 8 deletions openapi/nexus.json
Original file line number Diff line number Diff line change
Expand Up @@ -10906,7 +10906,7 @@
"/v1/system/update/repository": {
"put": {
"tags": [
"experimental"
"system/update"
],
"summary": "Upload system release repository",
"description": "System release repositories are verified by the updates trust store.",
Expand Down Expand Up @@ -10956,7 +10956,7 @@
"/v1/system/update/repository/{system_version}": {
"get": {
"tags": [
"experimental"
"system/update"
],
"summary": "Fetch system release repository description by version",
"operationId": "system_update_get_repository",
Expand Down Expand Up @@ -10995,7 +10995,7 @@
"/v1/system/update/target-release": {
"get": {
"tags": [
"experimental"
"system/update"
],
"summary": "Get the current target release of the rack's system software",
"description": "This may not correspond to the actual software running on the rack at the time of request; it is instead the release that the rack reconfigurator should be moving towards as a goal state. After some number of planning and execution phases, the software running on the rack should eventually correspond to the release described here.",
Expand All @@ -11021,7 +11021,7 @@
},
"put": {
"tags": [
"experimental"
"system/update"
],
"summary": "Set the current target release of the rack's system software",
"description": "The rack reconfigurator will treat the software specified here as a goal state for the rack's software, and attempt to asynchronously update to that release.",
Expand Down Expand Up @@ -11059,7 +11059,7 @@
"/v1/system/update/trust-roots": {
"get": {
"tags": [
"experimental"
"system/update"
],
"summary": "List root roles in the updates trust store",
"description": "A root role is a JSON document describing the cryptographic keys that are trusted to sign system release repositories, as described by The Update Framework. Uploading a repository requires its metadata to be signed by keys trusted by the trust store.",
Expand Down Expand Up @@ -11117,7 +11117,7 @@
},
"post": {
"tags": [
"experimental"
"system/update"
],
"summary": "Add trusted root role to updates trust store",
"operationId": "system_update_trust_root_create",
Expand Down Expand Up @@ -11152,7 +11152,7 @@
"/v1/system/update/trust-roots/{trust_root_id}": {
"get": {
"tags": [
"experimental"
"system/update"
],
"summary": "Fetch trusted root role",
"operationId": "system_update_trust_root_view",
Expand Down Expand Up @@ -11189,7 +11189,7 @@
},
"delete": {
"tags": [
"experimental"
"system/update"
],
"summary": "Delete trusted root role",
"description": "Note that this method does not currently check for any uploaded system release repositories that would become untrusted after deleting the root role.",
Expand Down Expand Up @@ -28050,6 +28050,13 @@
"url": "http://docs.oxide.computer/api/system-status"
}
},
{
"name": "system/update",
"description": "Upload and manage system updates",
"externalDocs": {
"url": "http://docs.oxide.computer/api/system-update"
}
},
{
"name": "tokens",
"description": "API clients use device access tokens for authentication.",
Expand Down
Loading