virtbuf/droplet.proto

45 lines
1.5 KiB
Protocol Buffer
Raw Normal View History

2024-10-18 20:58:15 -05:00
syntax = "proto3";
package virtbuf;
import "google/protobuf/any.proto";
message Droplets {
repeated Droplet droplets = 1;
}
2024-10-18 20:58:15 -05:00
message Droplet {
string uuid = 1; // should be unique across the cluster
string hostname = 2; // should be unique and work in DNS
int64 cpus = 3; // what's the point of int64 vs int32
int64 memory = 4; // in bytes
string start_state = 5; // what the state of the droplet is SUPPOSED TO BE ('on' or 'off')
string notes = 6; // maybe useful for something
string preferred_hypervisor = 7; // the hypervisor to prefer to run the droplet on
string qemu_arch = 8; // what arch. example: "x86_64" or "riscv64"
string qemu_cpu = 9; // qemu-system -cpu help
string qemu_machine = 10; // qemu-system -machine help
int64 spice_port = 11; // preferred port to use for spice
repeated Network networks = 12; // really just mac addresses. should be unique across cluster
repeated Disk disks = 13; // disks to attach
// trying to figure out how this stuff should work
google.protobuf.Any testany = 14;
StorageInfo humantest = 15;
}
2024-10-18 20:58:15 -05:00
message Network {
string mac = 1;
string name = 2;
}
message Disk {
string filename = 1;
int64 size = 2;
}
message StorageInfo {
int64 capacity = 1; // Stores the storage capacity in bytes.
2024-10-18 20:58:15 -05:00
}