github.com/m3db/m3@v1.5.1-0.20231129193456-75a402aa583b/src/query/generated/proto/admin/database.proto (about) 1 2 syntax = "proto3"; 3 package admin; 4 5 import "github.com/m3db/m3/src/query/generated/proto/admin/namespace.proto"; 6 import "github.com/m3db/m3/src/query/generated/proto/admin/placement.proto"; 7 8 message DatabaseCreateRequest { 9 // Required fields 10 string namespace_name = 1; 11 string type = 2; 12 13 // Optional fields that may be inferred depending on database type 14 int32 num_shards = 3; 15 int32 replication_factor = 4; 16 17 // Explicit retention time using time shorthand, e.g. "48h" 18 string retention_time = 5; 19 20 // If no block size fields are set then the block size is 21 // derived from the length of the retention period 22 BlockSize block_size = 6; 23 24 // Required if not using local database type 25 repeated Host hosts = 7; 26 27 // Optional field to add an additional aggregated namespace. 28 AggregatedNamespace aggregated_namespace = 8; 29 } 30 31 message AggregatedNamespace { 32 // Required fields. 33 // Namespace name. 34 string name = 1; 35 36 // Time window to aggregate data points across. 37 // Uses same shorthand as retention_time. 38 string resolution = 2; 39 40 // Length of time to retain data. 41 string retention_time = 3; 42 } 43 44 message BlockSize { 45 // Explicit block size using time shorthand, e.g. "2h" 46 string time = 1; 47 // With the expected series datapoints per hour, use a recommended block size 48 int64 expected_series_datapoints_per_hour = 2; 49 } 50 51 message Host { 52 // Name (must be unique) of the host for logging/display purposes, can be hostname if desired, 53 // or UUID or any other string ID as used in third party inventory system 54 string id = 1; 55 // Address can be IP address or hostname, this is used to connect to the host 56 string address = 2; 57 // Port running the Node RPC listen address (currently TChannel/Thrift Node service) 58 uint32 port = 3; 59 // (Optional) Isolation group is an optional grouping, for instance to isolate replicas by 60 // zones use zone here, or to isolate by host racks use racks here 61 string isolation_group = 4; 62 // (Optional) Zone specifies the zone the host resides in, this is optional. 63 string zone = 5; 64 // (Optional) Weight specifies when considering how many shards to take how to weight 65 // this instance, do not specify to default to a weight of 1. 66 uint32 weight = 6; 67 } 68 69 message DatabaseCreateResponse { 70 admin.NamespaceGetResponse namespace = 1; 71 admin.PlacementGetResponse placement = 2; 72 }