This allows workers to have tags assigned to them, which can then be filtered to control which targets they are allowed to serve.
42 lines
1.2 KiB
Protocol Buffer
42 lines
1.2 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package controller.servers.v1;
|
|
option go_package = "github.com/hashicorp/boundary/internal/servers;servers";
|
|
|
|
import "controller/storage/timestamp/v1/timestamp.proto";
|
|
|
|
// Server contains all fields related to a Controller or Worker resource
|
|
message Server {
|
|
// Private ID of the resource
|
|
string private_id = 10;
|
|
|
|
// Type of the resource (controller, worker)
|
|
string type = 20;
|
|
|
|
// Name of the resource. This is deprecated because we ended up setting the
|
|
// private ID and name to be identical, and there is currently no reason we
|
|
// can think of to allow a given server's name to match another within the
|
|
// same cluster. So we simply use the private ID and deprecate this.
|
|
string name = 30 [deprecated = true];
|
|
|
|
// Description of the resource
|
|
string description = 40;
|
|
|
|
// Address for the server
|
|
string address = 50;
|
|
|
|
// First seen time from the RDBMS
|
|
storage.timestamp.v1.Timestamp create_time = 60;
|
|
|
|
// Last time there was an update
|
|
storage.timestamp.v1.Timestamp update_time = 70;
|
|
|
|
// Tags for workers
|
|
map<string, TagValues> tags = 80;
|
|
}
|
|
|
|
// TagValues is used because map fields cannot be repeated but can be a
|
|
// message
|
|
message TagValues {
|
|
repeated string values = 10;
|
|
} |