syntax = "proto3";

package moby.buildkit.v1.types;

import "github.com/gogo/protobuf/gogoproto/gogo.proto";
import "github.com/moby/buildkit/solver/pb/ops.proto";

option (gogoproto.sizer_all) = true;
option (gogoproto.marshaler_all) = true;
option (gogoproto.unmarshaler_all) = true;

message WorkerRecord {
	string ID = 1;
	map<string, string> Labels = 2;
	repeated pb.Platform platforms = 3 [(gogoproto.nullable) = false];
	repeated GCPolicy GCPolicy = 4;
	BuildkitVersion BuildkitVersion = 5;
}

message GCPolicy {
	bool all = 1;
	int64 keepDuration = 2;
	int64 keepBytes = 3;
	repeated string filters = 4;
}

message BuildkitVersion {
	string package = 1;
	string version = 2;
	string revision = 3;
}
