blob: a983a737b18ce59d0fc6e73e76ff1b8bbe22922a [file] [log] [blame] [edit]
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;
}
}