From 0655586745ad41db3f530b9b8944454a610e3130 Mon Sep 17 00:00:00 2001 From: Jacob Aronoff Date: Tue, 7 May 2024 14:31:01 -0400 Subject: [PATCH] did the thing --- specification.md | 170 +++++++++++++++++++++++------------------------ 1 file changed, 85 insertions(+), 85 deletions(-) diff --git a/specification.md b/specification.md index 98d0bc6..c3a9566 100644 --- a/specification.md +++ b/specification.md @@ -21,12 +21,12 @@ Status: [Beta] - [Introduction](#introduction) - [Communication Model](#communication-model) - - [WebSocket Transport](#websocket-transport) - - [WebSocket Message Format](#websocket-message-format) - - [WebSocket Message Exchange](#websocket-message-exchange) - - [Plain HTTP Transport](#plain-http-transport) - - [AgentToServer and ServerToAgent Messages](#agenttoserver-and-servertoagent-messages) - - [AgentToServer Message](#agenttoserver-message) + * [WebSocket Transport](#websocket-transport) + + [WebSocket Message Format](#websocket-message-format) + + [WebSocket Message Exchange](#websocket-message-exchange) + * [Plain HTTP Transport](#plain-http-transport) + * [AgentToServer and ServerToAgent Messages](#agenttoserver-and-servertoagent-messages) + + [AgentToServer Message](#agenttoserver-message) - [AgentToServer.instance_uid](#agenttoserverinstance_uid) - [AgentToServer.sequence_num](#agenttoserversequence_num) - [AgentToServer.agent_description](#agenttoserveragent_description) @@ -40,7 +40,7 @@ Status: [Beta] - [AgentToServer.connection_settings_request](#agenttoserverconnection_settings_request) - [AgentToServer.custom_capabilities](#agenttoservercustom_capabilities) - [AgentToServer.custom_message](#agenttoservercustom_message) - - [ServerToAgent Message](#servertoagent-message) + + [ServerToAgent Message](#servertoagent-message) - [ServerToAgent.instance_uid](#servertoagentinstance_uid) - [ServerToAgent.error_response](#servertoagenterror_response) - [ServerToAgent.remote_config](#servertoagentremote_config) @@ -52,35 +52,35 @@ Status: [Beta] - [ServerToAgent.command](#servertoagentcommand) - [ServerToAgent.custom_capabilities](#servertoagentcustom_capabilities) - [ServerToAgent.custom_message](#servertoagentcustom_message) - - [ServerErrorResponse Message](#servererrorresponse-message) + + [ServerErrorResponse Message](#servererrorresponse-message) - [ServerErrorResponse.type](#servererrorresponsetype) - [ServerErrorResponse.error_message](#servererrorresponseerror_message) - [ServerErrorResponse.retry_info](#servererrorresponseretry_info) - - [ServerToAgentCommand Message](#servertoagentcommand-message) + * [ServerToAgentCommand Message](#servertoagentcommand-message) - [Operation](#operation) - - [Status Reporting](#status-reporting) - - [Agent Status Compression](#agent-status-compression) - - [AgentDescription Message](#agentdescription-message) + * [Status Reporting](#status-reporting) + + [Agent Status Compression](#agent-status-compression) + + [AgentDescription Message](#agentdescription-message) - [AgentDescription.identifying_attributes](#agentdescriptionidentifying_attributes) - [AgentDescription.non_identifying_attributes](#agentdescriptionnon_identifying_attributes) - - [ComponentHealth Message](#componenthealth-message) + + [ComponentHealth Message](#componenthealth-message) - [ComponentHealth.healthy](#componenthealthhealthy) - [ComponentHealth.start_time_unix_nano](#componenthealthstart_time_unix_nano) - [ComponentHealth.last_error](#componenthealthlast_error) - [ComponentHealth.status](#componenthealthstatus) - [ComponentHealth.status_time_unix_nano](#componenthealthstatus_time_unix_nano) - [ComponentHealth.component_health_map](#componenthealthcomponent_health_map) - - [EffectiveConfig Message](#effectiveconfig-message) + + [EffectiveConfig Message](#effectiveconfig-message) - [EffectiveConfig.config_map](#effectiveconfigconfig_map) - - [RemoteConfigStatus Message](#remoteconfigstatus-message) + + [RemoteConfigStatus Message](#remoteconfigstatus-message) - [RemoteConfigStatus.last_remote_config_hash](#remoteconfigstatuslast_remote_config_hash) - [RemoteConfigStatus.status](#remoteconfigstatusstatus) - [RemoteConfigStatus.error_message](#remoteconfigstatuserror_message) - - [PackageStatuses Message](#packagestatuses-message) + + [PackageStatuses Message](#packagestatuses-message) - [PackageStatuses.packages](#packagestatusespackages) - [PackageStatuses.server_provided_all_packages_hash](#packagestatusesserver_provided_all_packages_hash) - [PackageStatuses.error_message](#packagestatuseserror_message) - - [PackageStatus Message](#packagestatus-message) + + [PackageStatus Message](#packagestatus-message) - [PackageStatus.name](#packagestatusname) - [PackageStatus.agent_has_version](#packagestatusagent_has_version) - [PackageStatus.agent_has_hash](#packagestatusagent_has_hash) @@ -88,121 +88,121 @@ Status: [Beta] - [PackageStatus.server_offered_hash](#packagestatusserver_offered_hash) - [PackageStatus.status](#packagestatusstatus) - [PackageStatus.error_message](#packagestatuserror_message) - - [Connection Settings Management](#connection-settings-management) - - [OpAMP Connection Setting Offer Flow](#opamp-connection-setting-offer-flow) - - [Trust On First Use](#trust-on-first-use) - - [Registration On First Use](#registration-on-first-use) - - [Agent-initiated CSR Flow](#agent-initiated-csr-flow) + * [Connection Settings Management](#connection-settings-management) + + [OpAMP Connection Setting Offer Flow](#opamp-connection-setting-offer-flow) + + [Trust On First Use](#trust-on-first-use) + + [Registration On First Use](#registration-on-first-use) + + [Agent-initiated CSR Flow](#agent-initiated-csr-flow) - [Using instance_uid in the CSR](#using-instance_uid-in-the-csr) - - [Revoking Access](#revoking-access) - - [Certificate Generation](#certificate-generation) - - [Connection Settings for "Other" Destinations](#connection-settings-for-other-destinations) - - [ConnectionSettingsRequest Message](#connectionsettingsrequest-message) - - [OpAMPConnectionSettingsRequest Message](#opampconnectionsettingsrequest-message) - - [CertificateRequest Message](#certificaterequest-message) - - [ConnectionSettingsOffers Message](#connectionsettingsoffers-message) + + [Revoking Access](#revoking-access) + + [Certificate Generation](#certificate-generation) + + [Connection Settings for "Other" Destinations](#connection-settings-for-other-destinations) + + [ConnectionSettingsRequest Message](#connectionsettingsrequest-message) + + [OpAMPConnectionSettingsRequest Message](#opampconnectionsettingsrequest-message) + + [CertificateRequest Message](#certificaterequest-message) + + [ConnectionSettingsOffers Message](#connectionsettingsoffers-message) - [ConnectionSettingsOffers.hash](#connectionsettingsoffershash) - [ConnectionSettingsOffers.opamp](#connectionsettingsoffersopamp) - [ConnectionSettingsOffers.own_metrics](#connectionsettingsoffersown_metrics) - [ConnectionSettingsOffers.own_traces](#connectionsettingsoffersown_traces) - [ConnectionSettingsOffers.own_logs](#connectionsettingsoffersown_logs) - [ConnectionSettingsOffers.other_connections](#connectionsettingsoffersother_connections) - - [OpAMPConnectionSettings](#opampconnectionsettings) + + [OpAMPConnectionSettings](#opampconnectionsettings) - [OpAMPConnectionSettings.destination_endpoint](#opampconnectionsettingsdestination_endpoint) - [OpAMPConnectionSettings.headers](#opampconnectionsettingsheaders) - [OpAMPConnectionSettings.certificate](#opampconnectionsettingscertificate) - [OpAMPConnectionSettings.heartbeat_interval_seconds](#opampconnectionsettingsheartbeat_interval_seconds) - - [TelemetryConnectionSettings](#telemetryconnectionsettings) + + [TelemetryConnectionSettings](#telemetryconnectionsettings) - [TelemetryConnectionSettings.destination_endpoint](#telemetryconnectionsettingsdestination_endpoint) - [TelemetryConnectionSettings.headers](#telemetryconnectionsettingsheaders) - [TelemetryConnectionSettings.certificate](#telemetryconnectionsettingscertificate) - - [OtherConnectionSettings](#otherconnectionsettings) + + [OtherConnectionSettings](#otherconnectionsettings) - [OtherConnectionSettings.destination_endpoint](#otherconnectionsettingsdestination_endpoint) - [OtherConnectionSettings.headers](#otherconnectionsettingsheaders) - [OtherConnectionSettings.certificate](#otherconnectionsettingscertificate) - [OtherConnectionSettings.other_settings](#otherconnectionsettingsother_settings) - - [Headers Message](#headers-message) - - [TLSCertificate Message](#tlscertificate-message) + + [Headers Message](#headers-message) + + [TLSCertificate Message](#tlscertificate-message) - [TLSCertificate.public_key](#tlscertificatepublic_key) - [TLSCertificate.private_key](#tlscertificateprivate_key) - [TLSCertificate.ca_public_key](#tlscertificateca_public_key) - - [Own Telemetry Reporting](#own-telemetry-reporting) - - [Configuration](#configuration) - - [Configuration Files](#configuration-files) - - [Security Considerations](#security-considerations) - - [AgentRemoteConfig Message](#agentremoteconfig-message) - - [Packages](#packages) - - [Downloading Packages](#downloading-packages) + * [Own Telemetry Reporting](#own-telemetry-reporting) + * [Configuration](#configuration) + + [Configuration Files](#configuration-files) + + [Security Considerations](#security-considerations) + + [AgentRemoteConfig Message](#agentremoteconfig-message) + * [Packages](#packages) + + [Downloading Packages](#downloading-packages) - [Step 1](#step-1) - [Step 2](#step-2) - [Step 3](#step-3) - - [Package Status Reporting](#package-status-reporting) - - [Calculating Hashes](#calculating-hashes) + + [Package Status Reporting](#package-status-reporting) + + [Calculating Hashes](#calculating-hashes) - [File Hash](#file-hash) - [Package Hash](#package-hash) - [All Packages Hash](#all-packages-hash) - - [Security Considerations](#security-considerations-1) - - [PackagesAvailable Message](#packagesavailable-message) + + [Security Considerations](#security-considerations-1) + + [PackagesAvailable Message](#packagesavailable-message) - [PackagesAvailable.packages](#packagesavailablepackages) - [PackagesAvailable.all_packages_hash](#packagesavailableall_packages_hash) - - [PackageAvailable Message](#packageavailable-message) + + [PackageAvailable Message](#packageavailable-message) - [PackageAvailable.type](#packageavailabletype) - [PackageAvailable.version](#packageavailableversion) - [PackageAvailable.file](#packageavailablefile) - [PackageAvailable.hash](#packageavailablehash) - - [DownloadableFile Message](#downloadablefile-message) + + [DownloadableFile Message](#downloadablefile-message) - [DownloadableFile.download_url](#downloadablefiledownload_url) - [DownloadableFile.content_hash](#downloadablefilecontent_hash) - [DownloadableFile.signature](#downloadablefilesignature) - - [Custom Messages](#custom-messages) - - [Motivation](#motivation) - - [CustomCapabilities](#customcapabilities) + * [Custom Messages](#custom-messages) + + [Motivation](#motivation) + + [CustomCapabilities](#customcapabilities) - [CustomCapabilities.capabilities](#customcapabilitiescapabilities) - - [CustomMessage](#custommessage) + + [CustomMessage](#custommessage) - [CustomMessage.capability](#custommessagecapability) - [CustomMessage.type](#custommessagetype) - [CustomMessage.data](#custommessagedata) - - [Examples](#examples) + + [Examples](#examples) - [Pause/Resume Example](#pauseresume-example) - - [Agent Connection](#agent-connection) - - [Pause](#pause) - - [Resume](#resume) + * [Agent Connection](#agent-connection) + * [Pause](#pause) + * [Resume](#resume) - [Service Discovery Example](#service-discovery-example) - - [Agent Connection](#agent-connection-1) - - [FindServices](#findservices) - - [FindServicesResponse](#findservicesresponse) + * [Agent Connection](#agent-connection-1) + * [FindServices](#findservices) + * [FindServicesResponse](#findservicesresponse) - [Connection Management](#connection-management) - - [Establishing Connection](#establishing-connection) - - [Closing Connection](#closing-connection) - - [WebSocket Transport, OpAMP Client Initiated](#websocket-transport-opamp-client-initiated) - - [WebSocket Transport, Server Initiated](#websocket-transport-server-initiated) - - [Plain HTTP Transport](#plain-http-transport-1) - - [Restoring WebSocket Connection](#restoring-websocket-connection) - - [Duplicate WebSocket Connections](#duplicate-websocket-connections) - - [Authentication](#authentication) - - [Bad Request](#bad-request) - - [Retrying Messages](#retrying-messages) - - [Throttling](#throttling) - - [WebSocket Transport](#websocket-transport-1) - - [Plain HTTP Transport](#plain-http-transport-2) + * [Establishing Connection](#establishing-connection) + * [Closing Connection](#closing-connection) + + [WebSocket Transport, OpAMP Client Initiated](#websocket-transport-opamp-client-initiated) + + [WebSocket Transport, Server Initiated](#websocket-transport-server-initiated) + + [Plain HTTP Transport](#plain-http-transport-1) + * [Restoring WebSocket Connection](#restoring-websocket-connection) + * [Duplicate WebSocket Connections](#duplicate-websocket-connections) + * [Authentication](#authentication) + * [Bad Request](#bad-request) + * [Retrying Messages](#retrying-messages) + * [Throttling](#throttling) + + [WebSocket Transport](#websocket-transport-1) + + [Plain HTTP Transport](#plain-http-transport-2) - [Security](#security) - - [General Recommendations](#general-recommendations) - - [Configuration Restrictions](#configuration-restrictions) - - [Opt-in Remote Configuration](#opt-in-remote-configuration) - - [Code Signing](#code-signing) + * [General Recommendations](#general-recommendations) + * [Configuration Restrictions](#configuration-restrictions) + * [Opt-in Remote Configuration](#opt-in-remote-configuration) + * [Code Signing](#code-signing) - [Interoperability](#interoperability) - - [Interoperability of Partial Implementations](#interoperability-of-partial-implementations) - - [Interoperability of Future Capabilities](#interoperability-of-future-capabilities) - - [Ignorable Capability Extensions](#ignorable-capability-extensions) - - [Non-Ignorable Capability Extensions](#non-ignorable-capability-extensions) - - [Protobuf Schema Stability](#protobuf-schema-stability) + * [Interoperability of Partial Implementations](#interoperability-of-partial-implementations) + * [Interoperability of Future Capabilities](#interoperability-of-future-capabilities) + + [Ignorable Capability Extensions](#ignorable-capability-extensions) + + [Non-Ignorable Capability Extensions](#non-ignorable-capability-extensions) + + [Protobuf Schema Stability](#protobuf-schema-stability) - [Future Possibilities](#future-possibilities) - [References](#references) - - [Agent Management](#agent-management) - - [Configuration Management](#configuration-management) - - [Security and Certificate Management](#security-and-certificate-management) - - [Cloud Provider Support](#cloud-provider-support) - - [Other](#other) + * [Agent Management](#agent-management) + * [Configuration Management](#configuration-management) + * [Security and Certificate Management](#security-and-certificate-management) + * [Cloud Provider Support](#cloud-provider-support) + * [Other](#other)