|  | syntax = "proto3"; | 
|  | package cloud.agent.api; | 
|  | option go_package = "source.monogon.dev/cloud/agent/api"; | 
|  |  | 
|  | // TakeoverInit is the message sent to the takeover process over an SSH session | 
|  | // during initialization. | 
|  | message TakeoverInit { | 
|  | // Machine ID of this machine to be taken over as assigned by the BMaaS | 
|  | // service. | 
|  | string machine_id = 1; | 
|  | // bmaas_endpoint is an address of the BMaaS service the agent should call | 
|  | // back to. | 
|  | string bmaas_endpoint = 2; | 
|  | // Optional CA certificate to be used instead of a public CA root store. | 
|  | // Formatted as raw ASN.1 DER. | 
|  | bytes ca_certificate = 3; | 
|  | } | 
|  |  | 
|  | message TakeoverSuccess { | 
|  | // init_message is the exact init message the agent received. | 
|  | TakeoverInit init_message = 1; | 
|  | // key is the agent's public key. | 
|  | bytes key = 2; | 
|  | // warnings contains a list of non-critical errors which occurred during the | 
|  | // takeover preparation. | 
|  | repeated string warning = 3; | 
|  | } | 
|  |  | 
|  | message TakeoverError { | 
|  | // Error message | 
|  | string message = 1; | 
|  | } | 
|  |  | 
|  | // TakeoverResponse is the message the takeover process sends back after | 
|  | // receiving an TakeoverInit message. | 
|  | message TakeoverResponse { | 
|  | oneof result { | 
|  | TakeoverSuccess success = 1; | 
|  | TakeoverError error = 2; | 
|  | } | 
|  | } |