Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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
3 changes: 3 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -901,7 +901,7 @@ wicketd-commission-types-versions = { path = "wicketd-commission-types/versions"
x509-cert = { version = "0.2.5", default-features = false }
xshell = "0.2.7"
zerocopy = "0.8.26"
zeroize = { version = "1.8.1", features = ["zeroize_derive", "std"] }
zeroize = { version = "1.8.1", features = ["zeroize_derive", "serde", "std"] }
zfs-test-harness = { path = "sled-storage/zfs-test-harness" }
zip = { version = "4.2.0", default-features = false, features = ["deflate","bzip2"] }
zone = { version = "0.3.1", default-features = false, features = ["async"] }
Expand Down
2 changes: 0 additions & 2 deletions clients/wicketd-client/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ progenitor::generate_api!(
BgpPeerAuthKind = wicket_common::rack_setup::BgpPeerAuthKind,
BgpPeerConfig = omicron_common::api::internal::shared::BgpPeerConfig,
BootstrapSledDescription = wicket_common::rack_setup::BootstrapSledDescription,
CertificateUploadResponse = wicketd_commission_types_versions::latest::rack_setup::CertificateUploadResponse,
ClearUpdateStateOptions = wicket_common::rack_update::ClearUpdateStateOptions,
ClearUpdateStateResponse = wicketd_commission_types_versions::latest::update::ClearUpdateStateResponse,
CurrentRssUserConfigInsensitive = wicket_common::rack_setup::CurrentRssUserConfigInsensitive,
Expand All @@ -66,7 +65,6 @@ progenitor::generate_api!(
ProgressEventForInstallinatorSpec = installinator_common::ProgressEvent,
ProgressEventForUplinkPreflightSpec = wicket_common::preflight_check::ProgressEvent,
ProgressEventForWicketdEngineSpec = wicket_common::update_events::ProgressEvent,
PutRssUserConfigInsensitive = wicketd_commission_types_versions::latest::rack_setup::PutRssUserConfigInsensitive,
RackV1Inventory = wicket_common::inventory::RackV1Inventory,
RotInventory = wicket_common::inventory::RotInventory,
RotSlot = wicket_common::inventory::RotSlot,
Expand Down
308 changes: 0 additions & 308 deletions openapi/wicketd.json
Original file line number Diff line number Diff line change
Expand Up @@ -319,29 +319,6 @@
"$ref": "#/components/responses/Error"
}
}
},
"post": {
"summary": "Run rack setup.",
"description": "Will return an error if not all of the rack setup configuration has been populated.",
"operationId": "post_run_rack_setup",
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RackInitUuid"
}
}
}
},
"4XX": {
"$ref": "#/components/responses/Error"
},
"5XX": {
"$ref": "#/components/responses/Error"
}
}
}
},
"/rack-setup/config": {
Expand All @@ -368,32 +345,6 @@
}
}
},
"put": {
"summary": "Update (a subset of) the current RSS configuration.",
"description": "Sensitive values (certificates and password hash) are not set through this endpoint.",
"operationId": "put_rss_config",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PutRssUserConfigInsensitive"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "resource updated"
},
"4XX": {
"$ref": "#/components/responses/Error"
},
"5XX": {
"$ref": "#/components/responses/Error"
}
}
},
"delete": {
"summary": "Reset all RSS configuration to their default values.",
"operationId": "delete_rss_config",
Expand Down Expand Up @@ -489,78 +440,6 @@
}
}
},
"/rack-setup/config/cert": {
"post": {
"summary": "Add an external certificate.",
"description": "This must be paired with its private key. They may be posted in either order, but one cannot post two certs in a row (or two keys in a row).",
"operationId": "post_rss_config_cert",
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "String",
"type": "string"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CertificateUploadResponse"
}
}
}
},
"4XX": {
"$ref": "#/components/responses/Error"
},
"5XX": {
"$ref": "#/components/responses/Error"
}
}
}
},
"/rack-setup/config/key": {
"post": {
"summary": "Add the private key of an external certificate.",
"description": "This must be paired with its certificate. They may be posted in either order, but one cannot post two keys in a row (or two certs in a row).",
"operationId": "post_rss_config_key",
"requestBody": {
"content": {
"application/json": {
"schema": {
"title": "String",
"type": "string"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CertificateUploadResponse"
}
}
}
},
"4XX": {
"$ref": "#/components/responses/Error"
},
"5XX": {
"$ref": "#/components/responses/Error"
}
}
}
},
"/rack-setup/config/multirack": {
"get": {
"summary": "Get the current status of the multirack join configuration.",
Expand Down Expand Up @@ -656,35 +535,6 @@
}
}
},
"/repository": {
"put": {
"summary": "Upload a TUF repository to the server.",
"description": "At any given time, wicketd will keep at most one TUF repository in memory. Any previously-uploaded repositories will be discarded.",
"operationId": "put_repository",
"requestBody": {
"content": {
"application/octet-stream": {
"schema": {
"type": "string",
"format": "binary"
}
}
},
"required": true
},
"responses": {
"204": {
"description": "resource updated"
},
"4XX": {
"$ref": "#/components/responses/Error"
},
"5XX": {
"$ref": "#/components/responses/Error"
}
}
}
},
"/update": {
"post": {
"summary": "An endpoint to start updating one or more sleds, switches and PSCs.",
Expand Down Expand Up @@ -1275,71 +1125,6 @@
"sleds"
]
},
"CertificateUploadResponse": {
"description": "The result of uploading half of a certificate/key pair.",
"oneOf": [
{
"description": "The key has been uploaded, but we're waiting on its corresponding certificate chain.",
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"waiting_on_cert"
]
}
},
"required": [
"status"
]
},
{
"description": "The cert chain has been uploaded, but we're waiting on its corresponding private key.",
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"waiting_on_key"
]
}
},
"required": [
"status"
]
},
{
"description": "A cert chain and its key have been accepted.",
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"cert_key_accepted"
]
}
},
"required": [
"status"
]
},
{
"description": "A cert chain and its key are valid, but have already been uploaded.",
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"cert_key_duplicate_ignored"
]
}
},
"required": [
"status"
]
}
]
},
"ClearUpdateStateOptions": {
"type": "object",
"properties": {
Expand Down Expand Up @@ -3493,99 +3278,6 @@
"hash"
]
},
"PutRssUserConfigInsensitive": {
"description": "The portion of the RSS configuration that can be posted in one shot.\n\nIt is provided by the operator uploading a TOML file. Sensitive values (certificates, the recovery password hash, and BGP authentication keys) are set separately.\n\nThis version replaces the flat `internal_services_ip_pool_ranges` of the initial version with fully-specified [`service_ip_pools`], letting operators name and describe each pool.\n\n[`service_ip_pools`]: Self::service_ip_pools",
"type": "object",
"properties": {
"allowed_source_ips": {
"description": "IPs or subnets allowed to make requests to user-facing services.",
"allOf": [
{
"$ref": "#/components/schemas/AllowedSourceIps"
}
]
},
"bootstrap_sleds": {
"description": "The slot numbers of the sleds to bring up during RSS.\n\nwicketd maps these back to sleds with the correct identifiers based on the bootstrap sleds it reports.",
"type": "array",
"items": {
"type": "integer",
"format": "uint16",
"minimum": 0
},
"uniqueItems": true
},
"dns_servers": {
"description": "The external DNS server addresses.",
"type": "array",
"items": {
"type": "string",
"format": "ip"
}
},
"external_dns_ips": {
"description": "Service IP addresses on which external DNS servers are run.",
"type": "array",
"items": {
"type": "string",
"format": "ip"
}
},
"external_dns_zone_name": {
"description": "The DNS zone name delegated to the rack for external DNS.",
"type": "string"
},
"external_jumbo_frames_opt_in_enabled": {
"description": "Enable the fleet-wide jumbo-frames opt-in.",
"default": false,
"type": "boolean"
},
"ntp_servers": {
"description": "The external NTP server addresses.",
"type": "array",
"items": {
"type": "string"
}
},
"rack_network_config": {
"description": "The user-specified rack network configuration.",
"allOf": [
{
"$ref": "#/components/schemas/UserSpecifiedRackNetworkConfig"
}
]
},
"service_ip_pools": {
"title": "IdOrdMap",
"description": "The service IP pools which may be used for internal services.",
"x-rust-type": {
"crate": "iddqd",
"parameters": [
{
"$ref": "#/components/schemas/ServiceIpPoolConfig"
}
],
"path": "iddqd::IdOrdMap",
"version": "*"
},
"type": "array",
"items": {
"$ref": "#/components/schemas/ServiceIpPoolConfig"
},
"uniqueItems": true
}
},
"required": [
"allowed_source_ips",
"bootstrap_sleds",
"dns_servers",
"external_dns_ips",
"external_dns_zone_name",
"ntp_servers",
"rack_network_config",
"service_ip_pools"
]
},
"RackInitUuid": {
"x-rust-type": {
"crate": "omicron-uuid-kinds",
Expand Down
Loading
Loading