From cec3c75a103a84e4f99621be938c7c704c7ad7b6 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Mon, 11 May 2026 20:55:11 +0200 Subject: [PATCH 01/11] feat: add uc dns set This allows manual setting of the cluster's domain name. I use this to make the local cluster admin aware that this has been done. (and then manually update the external dns) ``` % uc dns set ctrl.u.science.ru.nl Set cluster domain: ctrl.u.science.ru.nl Deploy the Caddy reverse proxy service ('uc caddy deploy') to enable internet access to your services via the reserved or your custom domain. % uc dns show ctrl.u.science.ru.nl % uc dns set ctrl.u.science.ru.nl Error: domain already reserved % uc dns release Released cluster domain: ctrl.u.science.ru.nl ``` See: #37 Signed-off-by: Miek Gieben --- api/pb/cluster.pb.go | 695 ++++++++++++++++++++++++++++++-- api/pb/cluster.proto | 5 + api/pb/cluster_grpc.pb.go | 38 ++ cmd/uc/dns/root.go | 1 + cmd/uc/dns/set.go | 64 +++ internal/machine/cluster/dns.go | 29 ++ 6 files changed, 797 insertions(+), 35 deletions(-) create mode 100644 cmd/uc/dns/set.go diff --git a/api/pb/cluster.pb.go b/api/pb/cluster.pb.go index 5efdf422..6f042979 100644 --- a/api/pb/cluster.pb.go +++ b/api/pb/cluster.pb.go @@ -124,7 +124,13 @@ func (x DNSRecord_RecordType) Number() protoreflect.EnumNumber { // Deprecated: Use DNSRecord_RecordType.Descriptor instead. func (DNSRecord_RecordType) EnumDescriptor() ([]byte, []int) { +<<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{9, 0} +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{9, 0} +======= + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{12, 0} +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go } type AddMachineRequest struct { @@ -339,6 +345,126 @@ func (x *ListMachinesResponse) GetMachines() []*MachineMember { return nil } +type UpdateMachineRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Machine to update + MachineId string `protobuf:"bytes,1,opt,name=machine_id,json=machineId,proto3" json:"machine_id,omitempty"` + // Updated machine information + Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name,omitempty"` + PublicIp *IP `protobuf:"bytes,3,opt,name=public_ip,json=publicIp,proto3,oneof" json:"public_ip,omitempty"` + Endpoints []*IPPort `protobuf:"bytes,4,rep,name=endpoints,proto3" json:"endpoints,omitempty"` +} + +func (x *UpdateMachineRequest) Reset() { + *x = UpdateMachineRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateMachineRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateMachineRequest) ProtoMessage() {} + +func (x *UpdateMachineRequest) ProtoReflect() protoreflect.Message { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateMachineRequest.ProtoReflect.Descriptor instead. +func (*UpdateMachineRequest) Descriptor() ([]byte, []int) { + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{4} +} + +func (x *UpdateMachineRequest) GetMachineId() string { + if x != nil { + return x.MachineId + } + return "" +} + +func (x *UpdateMachineRequest) GetName() string { + if x != nil && x.Name != nil { + return *x.Name + } + return "" +} + +func (x *UpdateMachineRequest) GetPublicIp() *IP { + if x != nil { + return x.PublicIp + } + return nil +} + +func (x *UpdateMachineRequest) GetEndpoints() []*IPPort { + if x != nil { + return x.Endpoints + } + return nil +} + +type UpdateMachineResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Machine *MachineInfo `protobuf:"bytes,1,opt,name=machine,proto3" json:"machine,omitempty"` +} + +func (x *UpdateMachineResponse) Reset() { + *x = UpdateMachineResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateMachineResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateMachineResponse) ProtoMessage() {} + +func (x *UpdateMachineResponse) ProtoReflect() protoreflect.Message { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateMachineResponse.ProtoReflect.Descriptor instead. +func (*UpdateMachineResponse) Descriptor() ([]byte, []int) { + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{5} +} + +func (x *UpdateMachineResponse) GetMachine() *MachineInfo { + if x != nil { + return x.Machine + } + return nil +} + type RemoveMachineRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -350,7 +476,13 @@ type RemoveMachineRequest struct { func (x *RemoveMachineRequest) Reset() { *x = RemoveMachineRequest{} if protoimpl.UnsafeEnabled { +<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[4] +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[4] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -363,7 +495,13 @@ func (x *RemoveMachineRequest) String() string { func (*RemoveMachineRequest) ProtoMessage() {} func (x *RemoveMachineRequest) ProtoReflect() protoreflect.Message { +<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[4] +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[4] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -376,7 +514,13 @@ func (x *RemoveMachineRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveMachineRequest.ProtoReflect.Descriptor instead. func (*RemoveMachineRequest) Descriptor() ([]byte, []int) { +<<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{4} +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{4} +======= + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{6} +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go } func (x *RemoveMachineRequest) GetId() string { @@ -397,7 +541,13 @@ type Domain struct { func (x *Domain) Reset() { *x = Domain{} if protoimpl.UnsafeEnabled { +<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[5] +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[5] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -410,7 +560,13 @@ func (x *Domain) String() string { func (*Domain) ProtoMessage() {} func (x *Domain) ProtoReflect() protoreflect.Message { +<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[5] +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[5] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -423,7 +579,13 @@ func (x *Domain) ProtoReflect() protoreflect.Message { // Deprecated: Use Domain.ProtoReflect.Descriptor instead. func (*Domain) Descriptor() ([]byte, []int) { +<<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{5} +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{5} +======= + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{7} +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go } func (x *Domain) GetName() string { @@ -444,7 +606,13 @@ type ReserveDomainRequest struct { func (x *ReserveDomainRequest) Reset() { *x = ReserveDomainRequest{} if protoimpl.UnsafeEnabled { +<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[6] +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -457,7 +625,13 @@ func (x *ReserveDomainRequest) String() string { func (*ReserveDomainRequest) ProtoMessage() {} func (x *ReserveDomainRequest) ProtoReflect() protoreflect.Message { +<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[6] +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -470,7 +644,13 @@ func (x *ReserveDomainRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReserveDomainRequest.ProtoReflect.Descriptor instead. func (*ReserveDomainRequest) Descriptor() ([]byte, []int) { +<<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{6} +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{6} +======= + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{8} +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go } func (x *ReserveDomainRequest) GetEndpoint() string { @@ -480,6 +660,53 @@ func (x *ReserveDomainRequest) GetEndpoint() string { return "" } +type SetDomainRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *SetDomainRequest) Reset() { + *x = SetDomainRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetDomainRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetDomainRequest) ProtoMessage() {} + +func (x *SetDomainRequest) ProtoReflect() protoreflect.Message { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetDomainRequest.ProtoReflect.Descriptor instead. +func (*SetDomainRequest) Descriptor() ([]byte, []int) { + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{9} +} + +func (x *SetDomainRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + type CreateDomainRecordsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -491,7 +718,13 @@ type CreateDomainRecordsRequest struct { func (x *CreateDomainRecordsRequest) Reset() { *x = CreateDomainRecordsRequest{} if protoimpl.UnsafeEnabled { +<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[7] +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[10] +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -504,7 +737,13 @@ func (x *CreateDomainRecordsRequest) String() string { func (*CreateDomainRecordsRequest) ProtoMessage() {} func (x *CreateDomainRecordsRequest) ProtoReflect() protoreflect.Message { +<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[7] +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[10] +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -517,7 +756,13 @@ func (x *CreateDomainRecordsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateDomainRecordsRequest.ProtoReflect.Descriptor instead. func (*CreateDomainRecordsRequest) Descriptor() ([]byte, []int) { +<<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{7} +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{7} +======= + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{10} +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go } func (x *CreateDomainRecordsRequest) GetRecords() []*DNSRecord { @@ -538,7 +783,13 @@ type CreateDomainRecordsResponse struct { func (x *CreateDomainRecordsResponse) Reset() { *x = CreateDomainRecordsResponse{} if protoimpl.UnsafeEnabled { +<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[8] +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[11] +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -551,7 +802,13 @@ func (x *CreateDomainRecordsResponse) String() string { func (*CreateDomainRecordsResponse) ProtoMessage() {} func (x *CreateDomainRecordsResponse) ProtoReflect() protoreflect.Message { +<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[8] +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[11] +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -564,7 +821,13 @@ func (x *CreateDomainRecordsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateDomainRecordsResponse.ProtoReflect.Descriptor instead. func (*CreateDomainRecordsResponse) Descriptor() ([]byte, []int) { +<<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{8} +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{8} +======= + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{11} +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go } func (x *CreateDomainRecordsResponse) GetRecords() []*DNSRecord { @@ -587,7 +850,13 @@ type DNSRecord struct { func (x *DNSRecord) Reset() { *x = DNSRecord{} if protoimpl.UnsafeEnabled { +<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[9] +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[9] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[12] +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -600,7 +869,13 @@ func (x *DNSRecord) String() string { func (*DNSRecord) ProtoMessage() {} func (x *DNSRecord) ProtoReflect() protoreflect.Message { +<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[9] +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[9] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[12] +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -613,7 +888,13 @@ func (x *DNSRecord) ProtoReflect() protoreflect.Message { // Deprecated: Use DNSRecord.ProtoReflect.Descriptor instead. func (*DNSRecord) Descriptor() ([]byte, []int) { +<<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{9} +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{9} +======= + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{12} +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go } func (x *DNSRecord) GetName() string { @@ -639,6 +920,7 @@ func (x *DNSRecord) GetValues() []string { var File_api_pb_cluster_proto protoreflect.FileDescriptor +<<<<<<< HEAD:api/pb/cluster.pb.go var file_api_pb_cluster_proto_rawDesc = []byte{ 0x0a, 0x14, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, @@ -733,6 +1015,231 @@ var file_api_pb_cluster_proto_rawDesc = []byte{ 0x2f, 0x70, 0x73, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x6b, 0x69, 0x2f, 0x75, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +var file_internal_machine_api_pb_cluster_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1b, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, + 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x70, 0x62, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x25, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x24, 0x0a, + 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x07, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x50, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x49, 0x70, 0x22, 0x40, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x0d, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, + 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x3d, 0x0a, + 0x0f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x06, 0x0a, + 0x02, 0x55, 0x50, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x53, 0x50, 0x45, 0x43, 0x54, + 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x22, 0x46, 0x0a, 0x14, + 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x06, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, 0x14, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x46, + 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x07, + 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x47, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, + 0x96, 0x01, 0x0a, 0x09, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x41, 0x10, 0x01, 0x12, 0x08, + 0x0a, 0x04, 0x41, 0x41, 0x41, 0x41, 0x10, 0x02, 0x32, 0xca, 0x03, 0x0a, 0x07, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x37, 0x0a, 0x0d, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x34, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x13, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x73, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x6b, 0x69, 0x2f, 0x75, + 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, + 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +======= +var file_internal_machine_api_pb_cluster_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1b, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, + 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x70, 0x62, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x25, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x24, 0x0a, + 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x07, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x50, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x49, 0x70, 0x22, 0x40, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x0d, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, + 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x3d, 0x0a, + 0x0f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x06, 0x0a, + 0x02, 0x55, 0x50, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x53, 0x50, 0x45, 0x43, 0x54, + 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x22, 0x46, 0x0a, 0x14, + 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, + 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, + 0x50, 0x48, 0x01, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x88, 0x01, 0x01, + 0x12, 0x29, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x50, 0x50, 0x6f, 0x72, 0x74, + 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, + 0x69, 0x70, 0x22, 0x43, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, + 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x26, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, + 0x1c, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, + 0x14, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x22, 0x26, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x1a, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, + 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x22, 0x47, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x09, 0x44, + 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x41, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x41, 0x41, + 0x41, 0x10, 0x02, 0x32, 0xc3, 0x04, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x3d, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, + 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x37, 0x0a, + 0x0d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x34, 0x0a, 0x0d, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0x58, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x73, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, + 0x6b, 0x69, 0x2f, 0x75, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go } var ( @@ -747,55 +1254,90 @@ func file_api_pb_cluster_proto_rawDescGZIP() []byte { return file_api_pb_cluster_proto_rawDescData } +<<<<<<< HEAD:api/pb/cluster.pb.go var file_api_pb_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_api_pb_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_api_pb_cluster_proto_goTypes = []any{ +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +var file_internal_machine_api_pb_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_internal_machine_api_pb_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_internal_machine_api_pb_cluster_proto_goTypes = []any{ +======= +var file_internal_machine_api_pb_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_internal_machine_api_pb_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_internal_machine_api_pb_cluster_proto_goTypes = []any{ +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go (MachineMember_MembershipState)(0), // 0: api.MachineMember.MembershipState (DNSRecord_RecordType)(0), // 1: api.DNSRecord.RecordType (*AddMachineRequest)(nil), // 2: api.AddMachineRequest (*AddMachineResponse)(nil), // 3: api.AddMachineResponse (*MachineMember)(nil), // 4: api.MachineMember (*ListMachinesResponse)(nil), // 5: api.ListMachinesResponse - (*RemoveMachineRequest)(nil), // 6: api.RemoveMachineRequest - (*Domain)(nil), // 7: api.Domain - (*ReserveDomainRequest)(nil), // 8: api.ReserveDomainRequest - (*CreateDomainRecordsRequest)(nil), // 9: api.CreateDomainRecordsRequest - (*CreateDomainRecordsResponse)(nil), // 10: api.CreateDomainRecordsResponse - (*DNSRecord)(nil), // 11: api.DNSRecord - (*NetworkConfig)(nil), // 12: api.NetworkConfig - (*IP)(nil), // 13: api.IP - (*MachineInfo)(nil), // 14: api.MachineInfo - (*emptypb.Empty)(nil), // 15: google.protobuf.Empty + (*UpdateMachineRequest)(nil), // 6: api.UpdateMachineRequest + (*UpdateMachineResponse)(nil), // 7: api.UpdateMachineResponse + (*RemoveMachineRequest)(nil), // 8: api.RemoveMachineRequest + (*Domain)(nil), // 9: api.Domain + (*ReserveDomainRequest)(nil), // 10: api.ReserveDomainRequest + (*SetDomainRequest)(nil), // 11: api.SetDomainRequest + (*CreateDomainRecordsRequest)(nil), // 12: api.CreateDomainRecordsRequest + (*CreateDomainRecordsResponse)(nil), // 13: api.CreateDomainRecordsResponse + (*DNSRecord)(nil), // 14: api.DNSRecord + (*NetworkConfig)(nil), // 15: api.NetworkConfig + (*IP)(nil), // 16: api.IP + (*MachineInfo)(nil), // 17: api.MachineInfo + (*IPPort)(nil), // 18: api.IPPort + (*emptypb.Empty)(nil), // 19: google.protobuf.Empty } +<<<<<<< HEAD:api/pb/cluster.pb.go var file_api_pb_cluster_proto_depIdxs = []int32{ 12, // 0: api.AddMachineRequest.network:type_name -> api.NetworkConfig 13, // 1: api.AddMachineRequest.public_ip:type_name -> api.IP 14, // 2: api.AddMachineResponse.machine:type_name -> api.MachineInfo 14, // 3: api.MachineMember.machine:type_name -> api.MachineInfo +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +var file_internal_machine_api_pb_cluster_proto_depIdxs = []int32{ + 12, // 0: api.AddMachineRequest.network:type_name -> api.NetworkConfig + 13, // 1: api.AddMachineRequest.public_ip:type_name -> api.IP + 14, // 2: api.AddMachineResponse.machine:type_name -> api.MachineInfo + 14, // 3: api.MachineMember.machine:type_name -> api.MachineInfo +======= +var file_internal_machine_api_pb_cluster_proto_depIdxs = []int32{ + 15, // 0: api.AddMachineRequest.network:type_name -> api.NetworkConfig + 16, // 1: api.AddMachineRequest.public_ip:type_name -> api.IP + 17, // 2: api.AddMachineResponse.machine:type_name -> api.MachineInfo + 17, // 3: api.MachineMember.machine:type_name -> api.MachineInfo +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go 0, // 4: api.MachineMember.state:type_name -> api.MachineMember.MembershipState 4, // 5: api.ListMachinesResponse.machines:type_name -> api.MachineMember - 11, // 6: api.CreateDomainRecordsRequest.records:type_name -> api.DNSRecord - 11, // 7: api.CreateDomainRecordsResponse.records:type_name -> api.DNSRecord - 1, // 8: api.DNSRecord.type:type_name -> api.DNSRecord.RecordType - 2, // 9: api.Cluster.AddMachine:input_type -> api.AddMachineRequest - 15, // 10: api.Cluster.ListMachines:input_type -> google.protobuf.Empty - 6, // 11: api.Cluster.RemoveMachine:input_type -> api.RemoveMachineRequest - 8, // 12: api.Cluster.ReserveDomain:input_type -> api.ReserveDomainRequest - 15, // 13: api.Cluster.GetDomain:input_type -> google.protobuf.Empty - 15, // 14: api.Cluster.ReleaseDomain:input_type -> google.protobuf.Empty - 9, // 15: api.Cluster.CreateDomainRecords:input_type -> api.CreateDomainRecordsRequest - 3, // 16: api.Cluster.AddMachine:output_type -> api.AddMachineResponse - 5, // 17: api.Cluster.ListMachines:output_type -> api.ListMachinesResponse - 15, // 18: api.Cluster.RemoveMachine:output_type -> google.protobuf.Empty - 7, // 19: api.Cluster.ReserveDomain:output_type -> api.Domain - 7, // 20: api.Cluster.GetDomain:output_type -> api.Domain - 7, // 21: api.Cluster.ReleaseDomain:output_type -> api.Domain - 10, // 22: api.Cluster.CreateDomainRecords:output_type -> api.CreateDomainRecordsResponse - 16, // [16:23] is the sub-list for method output_type - 9, // [9:16] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name + 16, // 6: api.UpdateMachineRequest.public_ip:type_name -> api.IP + 18, // 7: api.UpdateMachineRequest.endpoints:type_name -> api.IPPort + 17, // 8: api.UpdateMachineResponse.machine:type_name -> api.MachineInfo + 14, // 9: api.CreateDomainRecordsRequest.records:type_name -> api.DNSRecord + 14, // 10: api.CreateDomainRecordsResponse.records:type_name -> api.DNSRecord + 1, // 11: api.DNSRecord.type:type_name -> api.DNSRecord.RecordType + 2, // 12: api.Cluster.AddMachine:input_type -> api.AddMachineRequest + 19, // 13: api.Cluster.ListMachines:input_type -> google.protobuf.Empty + 6, // 14: api.Cluster.UpdateMachine:input_type -> api.UpdateMachineRequest + 8, // 15: api.Cluster.RemoveMachine:input_type -> api.RemoveMachineRequest + 10, // 16: api.Cluster.ReserveDomain:input_type -> api.ReserveDomainRequest + 11, // 17: api.Cluster.SetDomain:input_type -> api.SetDomainRequest + 19, // 18: api.Cluster.GetDomain:input_type -> google.protobuf.Empty + 19, // 19: api.Cluster.ReleaseDomain:input_type -> google.protobuf.Empty + 12, // 20: api.Cluster.CreateDomainRecords:input_type -> api.CreateDomainRecordsRequest + 3, // 21: api.Cluster.AddMachine:output_type -> api.AddMachineResponse + 5, // 22: api.Cluster.ListMachines:output_type -> api.ListMachinesResponse + 7, // 23: api.Cluster.UpdateMachine:output_type -> api.UpdateMachineResponse + 19, // 24: api.Cluster.RemoveMachine:output_type -> google.protobuf.Empty + 9, // 25: api.Cluster.ReserveDomain:output_type -> api.Domain + 9, // 26: api.Cluster.SetDomain:output_type -> api.Domain + 9, // 27: api.Cluster.GetDomain:output_type -> api.Domain + 9, // 28: api.Cluster.ReleaseDomain:output_type -> api.Domain + 13, // 29: api.Cluster.CreateDomainRecords:output_type -> api.CreateDomainRecordsResponse + 21, // [21:30] is the sub-list for method output_type + 12, // [12:21] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } func init() { file_api_pb_cluster_proto_init() } @@ -854,8 +1396,16 @@ func file_api_pb_cluster_proto_init() { return nil } } +<<<<<<< HEAD:api/pb/cluster.pb.go file_api_pb_cluster_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*RemoveMachineRequest); i { +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + file_internal_machine_api_pb_cluster_proto_msgTypes[4].Exporter = func(v any, i int) any { + switch v := v.(*RemoveMachineRequest); i { +======= + file_internal_machine_api_pb_cluster_proto_msgTypes[4].Exporter = func(v any, i int) any { + switch v := v.(*UpdateMachineRequest); i { +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go case 0: return &v.state case 1: @@ -866,8 +1416,16 @@ func file_api_pb_cluster_proto_init() { return nil } } +<<<<<<< HEAD:api/pb/cluster.pb.go file_api_pb_cluster_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*Domain); i { +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + file_internal_machine_api_pb_cluster_proto_msgTypes[5].Exporter = func(v any, i int) any { + switch v := v.(*Domain); i { +======= + file_internal_machine_api_pb_cluster_proto_msgTypes[5].Exporter = func(v any, i int) any { + switch v := v.(*UpdateMachineResponse); i { +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go case 0: return &v.state case 1: @@ -878,8 +1436,16 @@ func file_api_pb_cluster_proto_init() { return nil } } +<<<<<<< HEAD:api/pb/cluster.pb.go file_api_pb_cluster_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*ReserveDomainRequest); i { +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + file_internal_machine_api_pb_cluster_proto_msgTypes[6].Exporter = func(v any, i int) any { + switch v := v.(*ReserveDomainRequest); i { +======= + file_internal_machine_api_pb_cluster_proto_msgTypes[6].Exporter = func(v any, i int) any { + switch v := v.(*RemoveMachineRequest); i { +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go case 0: return &v.state case 1: @@ -890,8 +1456,65 @@ func file_api_pb_cluster_proto_init() { return nil } } +<<<<<<< HEAD:api/pb/cluster.pb.go file_api_pb_cluster_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*CreateDomainRecordsRequest); i { +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + file_internal_machine_api_pb_cluster_proto_msgTypes[7].Exporter = func(v any, i int) any { + switch v := v.(*CreateDomainRecordsRequest); i { +======= + file_internal_machine_api_pb_cluster_proto_msgTypes[7].Exporter = func(v any, i int) any { + switch v := v.(*Domain); i { +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } +<<<<<<< HEAD:api/pb/cluster.pb.go + file_api_pb_cluster_proto_msgTypes[8].Exporter = func(v any, i int) any { + switch v := v.(*CreateDomainRecordsResponse); i { +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + file_internal_machine_api_pb_cluster_proto_msgTypes[8].Exporter = func(v any, i int) any { + switch v := v.(*CreateDomainRecordsResponse); i { +======= + file_internal_machine_api_pb_cluster_proto_msgTypes[8].Exporter = func(v any, i int) any { + switch v := v.(*ReserveDomainRequest); i { +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } +<<<<<<< HEAD:api/pb/cluster.pb.go + file_api_pb_cluster_proto_msgTypes[9].Exporter = func(v any, i int) any { +||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + file_internal_machine_api_pb_cluster_proto_msgTypes[9].Exporter = func(v any, i int) any { +======= + file_internal_machine_api_pb_cluster_proto_msgTypes[9].Exporter = func(v any, i int) any { + switch v := v.(*SetDomainRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_machine_api_pb_cluster_proto_msgTypes[10].Exporter = func(v any, i int) any { + switch v := v.(*CreateDomainRecordsRequest); i { case 0: return &v.state case 1: @@ -902,7 +1525,7 @@ func file_api_pb_cluster_proto_init() { return nil } } - file_api_pb_cluster_proto_msgTypes[8].Exporter = func(v any, i int) any { + file_internal_machine_api_pb_cluster_proto_msgTypes[11].Exporter = func(v any, i int) any { switch v := v.(*CreateDomainRecordsResponse); i { case 0: return &v.state @@ -914,7 +1537,8 @@ func file_api_pb_cluster_proto_init() { return nil } } - file_api_pb_cluster_proto_msgTypes[9].Exporter = func(v any, i int) any { + file_internal_machine_api_pb_cluster_proto_msgTypes[12].Exporter = func(v any, i int) any { +>>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go switch v := v.(*DNSRecord); i { case 0: return &v.state @@ -927,13 +1551,14 @@ func file_api_pb_cluster_proto_init() { } } } + file_internal_machine_api_pb_cluster_proto_msgTypes[4].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_api_pb_cluster_proto_rawDesc, NumEnums: 2, - NumMessages: 10, + NumMessages: 13, NumExtensions: 0, NumServices: 1, }, diff --git a/api/pb/cluster.proto b/api/pb/cluster.proto index cb9ef95d..c9269b0f 100644 --- a/api/pb/cluster.proto +++ b/api/pb/cluster.proto @@ -14,6 +14,7 @@ service Cluster { rpc RemoveMachine(RemoveMachineRequest) returns (google.protobuf.Empty); rpc ReserveDomain(ReserveDomainRequest) returns (Domain); + rpc SetDomain(SetDomainRequest) returns (Domain); rpc GetDomain(google.protobuf.Empty) returns (Domain); rpc ReleaseDomain(google.protobuf.Empty) returns (Domain); rpc CreateDomainRecords(CreateDomainRecordsRequest) returns (CreateDomainRecordsResponse); @@ -62,6 +63,10 @@ message ReserveDomainRequest { string endpoint = 1; } +message SetDomainRequest { + string name = 1; +} + message CreateDomainRecordsRequest { repeated DNSRecord records = 1; } diff --git a/api/pb/cluster_grpc.pb.go b/api/pb/cluster_grpc.pb.go index 8979a127..5ef40ded 100644 --- a/api/pb/cluster_grpc.pb.go +++ b/api/pb/cluster_grpc.pb.go @@ -24,6 +24,7 @@ const ( Cluster_ListMachines_FullMethodName = "/api.Cluster/ListMachines" Cluster_RemoveMachine_FullMethodName = "/api.Cluster/RemoveMachine" Cluster_ReserveDomain_FullMethodName = "/api.Cluster/ReserveDomain" + Cluster_SetDomain_FullMethodName = "/api.Cluster/SetDomain" Cluster_GetDomain_FullMethodName = "/api.Cluster/GetDomain" Cluster_ReleaseDomain_FullMethodName = "/api.Cluster/ReleaseDomain" Cluster_CreateDomainRecords_FullMethodName = "/api.Cluster/CreateDomainRecords" @@ -37,6 +38,7 @@ type ClusterClient interface { ListMachines(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListMachinesResponse, error) RemoveMachine(ctx context.Context, in *RemoveMachineRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) ReserveDomain(ctx context.Context, in *ReserveDomainRequest, opts ...grpc.CallOption) (*Domain, error) + SetDomain(ctx context.Context, in *SetDomainRequest, opts ...grpc.CallOption) (*Domain, error) GetDomain(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Domain, error) ReleaseDomain(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Domain, error) CreateDomainRecords(ctx context.Context, in *CreateDomainRecordsRequest, opts ...grpc.CallOption) (*CreateDomainRecordsResponse, error) @@ -90,6 +92,16 @@ func (c *clusterClient) ReserveDomain(ctx context.Context, in *ReserveDomainRequ return out, nil } +func (c *clusterClient) SetDomain(ctx context.Context, in *SetDomainRequest, opts ...grpc.CallOption) (*Domain, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(Domain) + err := c.cc.Invoke(ctx, Cluster_SetDomain_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *clusterClient) GetDomain(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Domain, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(Domain) @@ -128,6 +140,7 @@ type ClusterServer interface { ListMachines(context.Context, *emptypb.Empty) (*ListMachinesResponse, error) RemoveMachine(context.Context, *RemoveMachineRequest) (*emptypb.Empty, error) ReserveDomain(context.Context, *ReserveDomainRequest) (*Domain, error) + SetDomain(context.Context, *SetDomainRequest) (*Domain, error) GetDomain(context.Context, *emptypb.Empty) (*Domain, error) ReleaseDomain(context.Context, *emptypb.Empty) (*Domain, error) CreateDomainRecords(context.Context, *CreateDomainRecordsRequest) (*CreateDomainRecordsResponse, error) @@ -153,6 +166,9 @@ func (UnimplementedClusterServer) RemoveMachine(context.Context, *RemoveMachineR func (UnimplementedClusterServer) ReserveDomain(context.Context, *ReserveDomainRequest) (*Domain, error) { return nil, status.Errorf(codes.Unimplemented, "method ReserveDomain not implemented") } +func (UnimplementedClusterServer) SetDomain(context.Context, *SetDomainRequest) (*Domain, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetDomain not implemented") +} func (UnimplementedClusterServer) GetDomain(context.Context, *emptypb.Empty) (*Domain, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDomain not implemented") } @@ -255,6 +271,24 @@ func _Cluster_ReserveDomain_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } +func _Cluster_SetDomain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetDomainRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ClusterServer).SetDomain(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: Cluster_SetDomain_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ClusterServer).SetDomain(ctx, req.(*SetDomainRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Cluster_GetDomain_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(emptypb.Empty) if err := dec(in); err != nil { @@ -332,6 +366,10 @@ var Cluster_ServiceDesc = grpc.ServiceDesc{ MethodName: "ReserveDomain", Handler: _Cluster_ReserveDomain_Handler, }, + { + MethodName: "SetDomain", + Handler: _Cluster_SetDomain_Handler, + }, { MethodName: "GetDomain", Handler: _Cluster_GetDomain_Handler, diff --git a/cmd/uc/dns/root.go b/cmd/uc/dns/root.go index 187afafb..ab9c07e3 100644 --- a/cmd/uc/dns/root.go +++ b/cmd/uc/dns/root.go @@ -17,6 +17,7 @@ func NewRootCommand() *cobra.Command { NewReleaseCommand(), NewReserveCommand(), NewShowCommand(), + NewSetCommand(), ) return cmd } diff --git a/cmd/uc/dns/set.go b/cmd/uc/dns/set.go new file mode 100644 index 00000000..c86005c8 --- /dev/null +++ b/cmd/uc/dns/set.go @@ -0,0 +1,64 @@ +package dns + +import ( + "context" + "errors" + "fmt" + + "github.com/psviderski/uncloud/cmd/uc/caddy" + "github.com/psviderski/uncloud/internal/cli" + "github.com/psviderski/uncloud/internal/machine/api/pb" + "github.com/psviderski/uncloud/pkg/api" + "github.com/psviderski/uncloud/pkg/client" + "github.com/spf13/cobra" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +func NewSetCommand() *cobra.Command { + cmd := &cobra.Command{ + Use: "set DOMAIN_NAME", + Args: cobra.ExactArgs(1), + Short: "Set a cluster domain directly in the cluster.", + Long: "Set a cluster domain directly in the cluster, bypassing Uncloud DNS. " + + "This assumes the DNS is externally set up.", + RunE: func(cmd *cobra.Command, args []string) error { + uncli := cmd.Context().Value("cli").(*cli.CLI) + return set(cmd.Context(), uncli, args[0]) + }, + } + + return cmd +} + +func set(ctx context.Context, uncli *cli.CLI, name string) error { + clusterClient, err := uncli.ConnectCluster(ctx) + if err != nil { + return fmt.Errorf("connect to cluster: %w", err) + } + defer clusterClient.Close() + + // need 2 dots normally, and most be domain name. + + domain, err := clusterClient.SetDomain(ctx, &pb.SetDomainRequest{Name: name}) + if err != nil { + if status.Convert(err).Code() == codes.AlreadyExists { + return errors.New("domain already reserved") + } + return err + } + + fmt.Printf("Set cluster domain: %s\n", domain.Name) + + // Update cluster domain records in Uncloud DNS to point to machines running caddy service if it has been deployed. + if _, err = clusterClient.InspectService(ctx, client.CaddyServiceName); err != nil { + if errors.Is(err, api.ErrNotFound) { + fmt.Println("Deploy the Caddy reverse proxy service ('uc caddy deploy') to enable internet access " + + "to your services via the reserved or your custom domain.") + return nil + } + return fmt.Errorf("inspect caddy service: %w", err) + } + + return caddy.UpdateDomainRecords(ctx, clusterClient, uncli.ProgressOut()) +} diff --git a/internal/machine/cluster/dns.go b/internal/machine/cluster/dns.go index c414ec84..74264009 100644 --- a/internal/machine/cluster/dns.go +++ b/internal/machine/cluster/dns.go @@ -112,6 +112,35 @@ func (c *Cluster) ReleaseDomain(ctx context.Context, _ *emptypb.Empty) (*pb.Doma return &pb.Domain{Name: domain.Name}, nil } +func (c *Cluster) SetDomain(ctx context.Context, req *pb.SetDomainRequest) (*pb.Domain, error) { + if err := c.checkReady(); err != nil { + return nil, err + } + + if _, err := c.storedDomain(ctx); err == nil { + return nil, status.Errorf(codes.AlreadyExists, "domain already reserved") + } else { + if s := status.Convert(err); s.Code() != codes.NotFound { + return nil, err + } + } + + domain := uncloudDNSDomain{ + Endpoint: "", + Name: req.Name, + Token: "", + } + domainJSON, err := json.Marshal(domain) + if err != nil { + return nil, status.Errorf(codes.Internal, "marshal set domain for store: %v", err) + } + if err = c.store.Put(ctx, uncloudDNSKey, domainJSON); err != nil { + return nil, status.Errorf(codes.Internal, "store set domain: %v", err) + } + + return &pb.Domain{Name: req.Name}, nil +} + func (c *Cluster) CreateDomainRecords( ctx context.Context, req *pb.CreateDomainRecordsRequest, ) (*pb.CreateDomainRecordsResponse, error) { From d1fe23dec0b8c4092e56095908e8cee22cafd973 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Mon, 11 May 2026 20:58:20 +0200 Subject: [PATCH 02/11] docs Signed-off-by: Miek Gieben --- website/docs/9-cli-reference/uc_dns.md | 1 + 1 file changed, 1 insertion(+) diff --git a/website/docs/9-cli-reference/uc_dns.md b/website/docs/9-cli-reference/uc_dns.md index 1bbabf0c..b4519622 100644 --- a/website/docs/9-cli-reference/uc_dns.md +++ b/website/docs/9-cli-reference/uc_dns.md @@ -27,5 +27,6 @@ DNS commands allow you to reserve or release a unique 'xxxxxx.uncld.dev' domain * [uc](uc.md) - A CLI tool for managing Uncloud resources such as machines, services, and volumes. * [uc dns release](uc_dns_release.md) - Release the reserved cluster domain. * [uc dns reserve](uc_dns_reserve.md) - Reserve a cluster domain in Uncloud DNS. +* [uc dns set](uc_dns_set.md) - Set a cluster domain directly in the cluster. * [uc dns show](uc_dns_show.md) - Print the cluster domain name. From 5fb80e20714d2cc507496328c0677226968f4031 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Mon, 11 May 2026 21:03:38 +0200 Subject: [PATCH 03/11] check validatity Signed-off-by: Miek Gieben --- cmd/uc/dns/set.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cmd/uc/dns/set.go b/cmd/uc/dns/set.go index c86005c8..81fb73c2 100644 --- a/cmd/uc/dns/set.go +++ b/cmd/uc/dns/set.go @@ -5,6 +5,7 @@ import ( "errors" "fmt" + "github.com/miekg/dns" "github.com/psviderski/uncloud/cmd/uc/caddy" "github.com/psviderski/uncloud/internal/cli" "github.com/psviderski/uncloud/internal/machine/api/pb" @@ -32,14 +33,17 @@ func NewSetCommand() *cobra.Command { } func set(ctx context.Context, uncli *cli.CLI, name string) error { + labels, ok := dns.IsDomainName(name) + if !ok || labels < 3 { + return fmt.Errorf("domain '%s' is not a valid name", name) + } + clusterClient, err := uncli.ConnectCluster(ctx) if err != nil { return fmt.Errorf("connect to cluster: %w", err) } defer clusterClient.Close() - // need 2 dots normally, and most be domain name. - domain, err := clusterClient.SetDomain(ctx, &pb.SetDomainRequest{Name: name}) if err != nil { if status.Convert(err).Code() == codes.AlreadyExists { From 81d36edc667197d0db89e434cf3e2177bd84378e Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Tue, 12 May 2026 10:52:45 +0200 Subject: [PATCH 04/11] No need to call out to update anything, as set doesnt use uncloud dns Signed-off-by: Miek Gieben --- cmd/uc/dns/set.go | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/cmd/uc/dns/set.go b/cmd/uc/dns/set.go index 81fb73c2..1b5597d0 100644 --- a/cmd/uc/dns/set.go +++ b/cmd/uc/dns/set.go @@ -6,11 +6,8 @@ import ( "fmt" "github.com/miekg/dns" - "github.com/psviderski/uncloud/cmd/uc/caddy" "github.com/psviderski/uncloud/internal/cli" "github.com/psviderski/uncloud/internal/machine/api/pb" - "github.com/psviderski/uncloud/pkg/api" - "github.com/psviderski/uncloud/pkg/client" "github.com/spf13/cobra" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -54,15 +51,7 @@ func set(ctx context.Context, uncli *cli.CLI, name string) error { fmt.Printf("Set cluster domain: %s\n", domain.Name) - // Update cluster domain records in Uncloud DNS to point to machines running caddy service if it has been deployed. - if _, err = clusterClient.InspectService(ctx, client.CaddyServiceName); err != nil { - if errors.Is(err, api.ErrNotFound) { - fmt.Println("Deploy the Caddy reverse proxy service ('uc caddy deploy') to enable internet access " + - "to your services via the reserved or your custom domain.") - return nil - } - return fmt.Errorf("inspect caddy service: %w", err) - } - - return caddy.UpdateDomainRecords(ctx, clusterClient, uncli.ProgressOut()) + // No need to update anything as the domain records pointing to this cluster should be wildcard, so all + // names already exist. + return nil } From ad2e1a06d58a4bc1c101d9fe8523de28dbc1bc33 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Wed, 10 Jun 2026 11:02:09 +0200 Subject: [PATCH 05/11] Ignore domain when there is no endpoint Prevents this error, when you know what you're doing: Error: failed to update DNS records pointing to caddy service: create cluster domain records in Uncloud DNS: rpc error: code = Unknown desc = Post "/domains/ctrl.u.science.ru.nl/records": unsupported protocol scheme "" Signed-off-by: Miek Gieben --- internal/machine/cluster/dns.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/machine/cluster/dns.go b/internal/machine/cluster/dns.go index 74264009..ffc9bb6c 100644 --- a/internal/machine/cluster/dns.go +++ b/internal/machine/cluster/dns.go @@ -153,6 +153,10 @@ func (c *Cluster) CreateDomainRecords( return nil, err } + if domain.Endpoint == "" { // uc dns set has set a name + return &pb.CreateDomainRecordsResponse{}, nil + } + dnsClient := dns.NewClient() recordsReq := make([]dns.RecordRequest, len(req.Records)) for i, r := range req.Records { From 47a4a9158ec316a49d29cefc58c1463b6c3874fa Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Wed, 24 Jun 2026 07:03:08 +0200 Subject: [PATCH 06/11] from main Signed-off-by: Miek Gieben --- api/pb/cluster.pb.go | 589 +++++++++++++++++++++++++++---------------- 1 file changed, 375 insertions(+), 214 deletions(-) diff --git a/api/pb/cluster.pb.go b/api/pb/cluster.pb.go index 6f042979..8bc0c81f 100644 --- a/api/pb/cluster.pb.go +++ b/api/pb/cluster.pb.go @@ -124,6 +124,7 @@ func (x DNSRecord_RecordType) Number() protoreflect.EnumNumber { // Deprecated: Use DNSRecord_RecordType.Descriptor instead. func (DNSRecord_RecordType) EnumDescriptor() ([]byte, []int) { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{9, 0} ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -131,6 +132,11 @@ func (DNSRecord_RecordType) EnumDescriptor() ([]byte, []int) { ======= return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{12, 0} >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{12, 0} +======= + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{9, 0} +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go } type AddMachineRequest struct { @@ -345,126 +351,6 @@ func (x *ListMachinesResponse) GetMachines() []*MachineMember { return nil } -type UpdateMachineRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Machine to update - MachineId string `protobuf:"bytes,1,opt,name=machine_id,json=machineId,proto3" json:"machine_id,omitempty"` - // Updated machine information - Name *string `protobuf:"bytes,2,opt,name=name,proto3,oneof" json:"name,omitempty"` - PublicIp *IP `protobuf:"bytes,3,opt,name=public_ip,json=publicIp,proto3,oneof" json:"public_ip,omitempty"` - Endpoints []*IPPort `protobuf:"bytes,4,rep,name=endpoints,proto3" json:"endpoints,omitempty"` -} - -func (x *UpdateMachineRequest) Reset() { - *x = UpdateMachineRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateMachineRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateMachineRequest) ProtoMessage() {} - -func (x *UpdateMachineRequest) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateMachineRequest.ProtoReflect.Descriptor instead. -func (*UpdateMachineRequest) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{4} -} - -func (x *UpdateMachineRequest) GetMachineId() string { - if x != nil { - return x.MachineId - } - return "" -} - -func (x *UpdateMachineRequest) GetName() string { - if x != nil && x.Name != nil { - return *x.Name - } - return "" -} - -func (x *UpdateMachineRequest) GetPublicIp() *IP { - if x != nil { - return x.PublicIp - } - return nil -} - -func (x *UpdateMachineRequest) GetEndpoints() []*IPPort { - if x != nil { - return x.Endpoints - } - return nil -} - -type UpdateMachineResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Machine *MachineInfo `protobuf:"bytes,1,opt,name=machine,proto3" json:"machine,omitempty"` -} - -func (x *UpdateMachineResponse) Reset() { - *x = UpdateMachineResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateMachineResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateMachineResponse) ProtoMessage() {} - -func (x *UpdateMachineResponse) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateMachineResponse.ProtoReflect.Descriptor instead. -func (*UpdateMachineResponse) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{5} -} - -func (x *UpdateMachineResponse) GetMachine() *MachineInfo { - if x != nil { - return x.Machine - } - return nil -} - type RemoveMachineRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -476,6 +362,7 @@ type RemoveMachineRequest struct { func (x *RemoveMachineRequest) Reset() { *x = RemoveMachineRequest{} if protoimpl.UnsafeEnabled { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[4] ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -483,6 +370,11 @@ func (x *RemoveMachineRequest) Reset() { ======= mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[4] +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -495,6 +387,7 @@ func (x *RemoveMachineRequest) String() string { func (*RemoveMachineRequest) ProtoMessage() {} func (x *RemoveMachineRequest) ProtoReflect() protoreflect.Message { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[4] ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -502,6 +395,11 @@ func (x *RemoveMachineRequest) ProtoReflect() protoreflect.Message { ======= mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[4] +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -514,6 +412,7 @@ func (x *RemoveMachineRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveMachineRequest.ProtoReflect.Descriptor instead. func (*RemoveMachineRequest) Descriptor() ([]byte, []int) { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{4} ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -521,6 +420,11 @@ func (*RemoveMachineRequest) Descriptor() ([]byte, []int) { ======= return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{6} >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{6} +======= + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{4} +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go } func (x *RemoveMachineRequest) GetId() string { @@ -541,6 +445,7 @@ type Domain struct { func (x *Domain) Reset() { *x = Domain{} if protoimpl.UnsafeEnabled { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[5] ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -548,6 +453,11 @@ func (x *Domain) Reset() { ======= mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[5] +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -560,6 +470,7 @@ func (x *Domain) String() string { func (*Domain) ProtoMessage() {} func (x *Domain) ProtoReflect() protoreflect.Message { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[5] ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -567,6 +478,11 @@ func (x *Domain) ProtoReflect() protoreflect.Message { ======= mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[5] +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -579,6 +495,7 @@ func (x *Domain) ProtoReflect() protoreflect.Message { // Deprecated: Use Domain.ProtoReflect.Descriptor instead. func (*Domain) Descriptor() ([]byte, []int) { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{5} ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -586,6 +503,11 @@ func (*Domain) Descriptor() ([]byte, []int) { ======= return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{7} >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{7} +======= + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{5} +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go } func (x *Domain) GetName() string { @@ -606,6 +528,7 @@ type ReserveDomainRequest struct { func (x *ReserveDomainRequest) Reset() { *x = ReserveDomainRequest{} if protoimpl.UnsafeEnabled { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[6] ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -613,6 +536,11 @@ func (x *ReserveDomainRequest) Reset() { ======= mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -625,6 +553,7 @@ func (x *ReserveDomainRequest) String() string { func (*ReserveDomainRequest) ProtoMessage() {} func (x *ReserveDomainRequest) ProtoReflect() protoreflect.Message { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[6] ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -632,6 +561,11 @@ func (x *ReserveDomainRequest) ProtoReflect() protoreflect.Message { ======= mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -644,6 +578,7 @@ func (x *ReserveDomainRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReserveDomainRequest.ProtoReflect.Descriptor instead. func (*ReserveDomainRequest) Descriptor() ([]byte, []int) { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{6} ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -651,6 +586,11 @@ func (*ReserveDomainRequest) Descriptor() ([]byte, []int) { ======= return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{8} >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{8} +======= + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{6} +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go } func (x *ReserveDomainRequest) GetEndpoint() string { @@ -660,53 +600,6 @@ func (x *ReserveDomainRequest) GetEndpoint() string { return "" } -type SetDomainRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` -} - -func (x *SetDomainRequest) Reset() { - *x = SetDomainRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetDomainRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetDomainRequest) ProtoMessage() {} - -func (x *SetDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetDomainRequest.ProtoReflect.Descriptor instead. -func (*SetDomainRequest) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{9} -} - -func (x *SetDomainRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - type CreateDomainRecordsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -718,6 +611,7 @@ type CreateDomainRecordsRequest struct { func (x *CreateDomainRecordsRequest) Reset() { *x = CreateDomainRecordsRequest{} if protoimpl.UnsafeEnabled { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[7] ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -725,6 +619,11 @@ func (x *CreateDomainRecordsRequest) Reset() { ======= mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[10] >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[10] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -737,6 +636,7 @@ func (x *CreateDomainRecordsRequest) String() string { func (*CreateDomainRecordsRequest) ProtoMessage() {} func (x *CreateDomainRecordsRequest) ProtoReflect() protoreflect.Message { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[7] ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -744,6 +644,11 @@ func (x *CreateDomainRecordsRequest) ProtoReflect() protoreflect.Message { ======= mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[10] >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[10] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -756,6 +661,7 @@ func (x *CreateDomainRecordsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateDomainRecordsRequest.ProtoReflect.Descriptor instead. func (*CreateDomainRecordsRequest) Descriptor() ([]byte, []int) { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{7} ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -763,6 +669,11 @@ func (*CreateDomainRecordsRequest) Descriptor() ([]byte, []int) { ======= return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{10} >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{10} +======= + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{7} +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go } func (x *CreateDomainRecordsRequest) GetRecords() []*DNSRecord { @@ -783,6 +694,7 @@ type CreateDomainRecordsResponse struct { func (x *CreateDomainRecordsResponse) Reset() { *x = CreateDomainRecordsResponse{} if protoimpl.UnsafeEnabled { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[8] ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -790,6 +702,11 @@ func (x *CreateDomainRecordsResponse) Reset() { ======= mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[11] >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[11] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -802,6 +719,7 @@ func (x *CreateDomainRecordsResponse) String() string { func (*CreateDomainRecordsResponse) ProtoMessage() {} func (x *CreateDomainRecordsResponse) ProtoReflect() protoreflect.Message { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[8] ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -809,6 +727,11 @@ func (x *CreateDomainRecordsResponse) ProtoReflect() protoreflect.Message { ======= mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[11] >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[11] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -821,6 +744,7 @@ func (x *CreateDomainRecordsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateDomainRecordsResponse.ProtoReflect.Descriptor instead. func (*CreateDomainRecordsResponse) Descriptor() ([]byte, []int) { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{8} ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -828,6 +752,11 @@ func (*CreateDomainRecordsResponse) Descriptor() ([]byte, []int) { ======= return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{11} >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{11} +======= + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{8} +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go } func (x *CreateDomainRecordsResponse) GetRecords() []*DNSRecord { @@ -850,6 +779,7 @@ type DNSRecord struct { func (x *DNSRecord) Reset() { *x = DNSRecord{} if protoimpl.UnsafeEnabled { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[9] ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -857,6 +787,11 @@ func (x *DNSRecord) Reset() { ======= mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[12] >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[12] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[9] +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -869,6 +804,7 @@ func (x *DNSRecord) String() string { func (*DNSRecord) ProtoMessage() {} func (x *DNSRecord) ProtoReflect() protoreflect.Message { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[9] ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -876,6 +812,11 @@ func (x *DNSRecord) ProtoReflect() protoreflect.Message { ======= mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[12] >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[12] +======= + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[9] +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -888,6 +829,7 @@ func (x *DNSRecord) ProtoReflect() protoreflect.Message { // Deprecated: Use DNSRecord.ProtoReflect.Descriptor instead. func (*DNSRecord) Descriptor() ([]byte, []int) { +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{9} ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -895,6 +837,11 @@ func (*DNSRecord) Descriptor() ([]byte, []int) { ======= return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{12} >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{12} +======= + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{9} +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go } func (x *DNSRecord) GetName() string { @@ -1153,6 +1100,7 @@ var file_internal_machine_api_pb_cluster_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x68, +<<<<<<< HEAD:api/pb/cluster.pb.go 0x69, 0x6e, 0x65, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, @@ -1240,6 +1188,155 @@ var file_internal_machine_api_pb_cluster_proto_rawDesc = []byte{ 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + 0x69, 0x6e, 0x65, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, + 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, + 0x50, 0x48, 0x01, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x88, 0x01, 0x01, + 0x12, 0x29, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x50, 0x50, 0x6f, 0x72, 0x74, + 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, + 0x69, 0x70, 0x22, 0x43, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, + 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x26, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, + 0x1c, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, + 0x14, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x22, 0x26, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x1a, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, + 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x22, 0x47, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x09, 0x44, + 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x41, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x41, 0x41, + 0x41, 0x10, 0x02, 0x32, 0xc3, 0x04, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x3d, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, + 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x37, 0x0a, + 0x0d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x34, 0x0a, 0x0d, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0x58, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x73, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, + 0x6b, 0x69, 0x2f, 0x75, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +======= + 0x69, 0x6e, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x06, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, 0x14, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x46, + 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x07, + 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x47, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, + 0x96, 0x01, 0x0a, 0x09, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x41, 0x10, 0x01, 0x12, 0x08, + 0x0a, 0x04, 0x41, 0x41, 0x41, 0x41, 0x10, 0x02, 0x32, 0xca, 0x03, 0x0a, 0x07, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x37, 0x0a, 0x0d, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x34, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x13, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x73, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x6b, 0x69, 0x2f, 0x75, + 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, + 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go } var ( @@ -1264,7 +1361,7 @@ var file_internal_machine_api_pb_cluster_proto_msgTypes = make([]protoimpl.Messa var file_internal_machine_api_pb_cluster_proto_goTypes = []any{ ======= var file_internal_machine_api_pb_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_internal_machine_api_pb_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_internal_machine_api_pb_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_internal_machine_api_pb_cluster_proto_goTypes = []any{ >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go (MachineMember_MembershipState)(0), // 0: api.MachineMember.MembershipState @@ -1273,20 +1370,16 @@ var file_internal_machine_api_pb_cluster_proto_goTypes = []any{ (*AddMachineResponse)(nil), // 3: api.AddMachineResponse (*MachineMember)(nil), // 4: api.MachineMember (*ListMachinesResponse)(nil), // 5: api.ListMachinesResponse - (*UpdateMachineRequest)(nil), // 6: api.UpdateMachineRequest - (*UpdateMachineResponse)(nil), // 7: api.UpdateMachineResponse - (*RemoveMachineRequest)(nil), // 8: api.RemoveMachineRequest - (*Domain)(nil), // 9: api.Domain - (*ReserveDomainRequest)(nil), // 10: api.ReserveDomainRequest - (*SetDomainRequest)(nil), // 11: api.SetDomainRequest - (*CreateDomainRecordsRequest)(nil), // 12: api.CreateDomainRecordsRequest - (*CreateDomainRecordsResponse)(nil), // 13: api.CreateDomainRecordsResponse - (*DNSRecord)(nil), // 14: api.DNSRecord - (*NetworkConfig)(nil), // 15: api.NetworkConfig - (*IP)(nil), // 16: api.IP - (*MachineInfo)(nil), // 17: api.MachineInfo - (*IPPort)(nil), // 18: api.IPPort - (*emptypb.Empty)(nil), // 19: google.protobuf.Empty + (*RemoveMachineRequest)(nil), // 6: api.RemoveMachineRequest + (*Domain)(nil), // 7: api.Domain + (*ReserveDomainRequest)(nil), // 8: api.ReserveDomainRequest + (*CreateDomainRecordsRequest)(nil), // 9: api.CreateDomainRecordsRequest + (*CreateDomainRecordsResponse)(nil), // 10: api.CreateDomainRecordsResponse + (*DNSRecord)(nil), // 11: api.DNSRecord + (*NetworkConfig)(nil), // 12: api.NetworkConfig + (*IP)(nil), // 13: api.IP + (*MachineInfo)(nil), // 14: api.MachineInfo + (*emptypb.Empty)(nil), // 15: google.protobuf.Empty } <<<<<<< HEAD:api/pb/cluster.pb.go var file_api_pb_cluster_proto_depIdxs = []int32{ @@ -1302,42 +1395,47 @@ var file_internal_machine_api_pb_cluster_proto_depIdxs = []int32{ 14, // 3: api.MachineMember.machine:type_name -> api.MachineInfo ======= var file_internal_machine_api_pb_cluster_proto_depIdxs = []int32{ +<<<<<<< HEAD:api/pb/cluster.pb.go 15, // 0: api.AddMachineRequest.network:type_name -> api.NetworkConfig 16, // 1: api.AddMachineRequest.public_ip:type_name -> api.IP 17, // 2: api.AddMachineResponse.machine:type_name -> api.MachineInfo 17, // 3: api.MachineMember.machine:type_name -> api.MachineInfo >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + 15, // 0: api.AddMachineRequest.network:type_name -> api.NetworkConfig + 16, // 1: api.AddMachineRequest.public_ip:type_name -> api.IP + 17, // 2: api.AddMachineResponse.machine:type_name -> api.MachineInfo + 17, // 3: api.MachineMember.machine:type_name -> api.MachineInfo +======= + 12, // 0: api.AddMachineRequest.network:type_name -> api.NetworkConfig + 13, // 1: api.AddMachineRequest.public_ip:type_name -> api.IP + 14, // 2: api.AddMachineResponse.machine:type_name -> api.MachineInfo + 14, // 3: api.MachineMember.machine:type_name -> api.MachineInfo +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go 0, // 4: api.MachineMember.state:type_name -> api.MachineMember.MembershipState 4, // 5: api.ListMachinesResponse.machines:type_name -> api.MachineMember - 16, // 6: api.UpdateMachineRequest.public_ip:type_name -> api.IP - 18, // 7: api.UpdateMachineRequest.endpoints:type_name -> api.IPPort - 17, // 8: api.UpdateMachineResponse.machine:type_name -> api.MachineInfo - 14, // 9: api.CreateDomainRecordsRequest.records:type_name -> api.DNSRecord - 14, // 10: api.CreateDomainRecordsResponse.records:type_name -> api.DNSRecord - 1, // 11: api.DNSRecord.type:type_name -> api.DNSRecord.RecordType - 2, // 12: api.Cluster.AddMachine:input_type -> api.AddMachineRequest - 19, // 13: api.Cluster.ListMachines:input_type -> google.protobuf.Empty - 6, // 14: api.Cluster.UpdateMachine:input_type -> api.UpdateMachineRequest - 8, // 15: api.Cluster.RemoveMachine:input_type -> api.RemoveMachineRequest - 10, // 16: api.Cluster.ReserveDomain:input_type -> api.ReserveDomainRequest - 11, // 17: api.Cluster.SetDomain:input_type -> api.SetDomainRequest - 19, // 18: api.Cluster.GetDomain:input_type -> google.protobuf.Empty - 19, // 19: api.Cluster.ReleaseDomain:input_type -> google.protobuf.Empty - 12, // 20: api.Cluster.CreateDomainRecords:input_type -> api.CreateDomainRecordsRequest - 3, // 21: api.Cluster.AddMachine:output_type -> api.AddMachineResponse - 5, // 22: api.Cluster.ListMachines:output_type -> api.ListMachinesResponse - 7, // 23: api.Cluster.UpdateMachine:output_type -> api.UpdateMachineResponse - 19, // 24: api.Cluster.RemoveMachine:output_type -> google.protobuf.Empty - 9, // 25: api.Cluster.ReserveDomain:output_type -> api.Domain - 9, // 26: api.Cluster.SetDomain:output_type -> api.Domain - 9, // 27: api.Cluster.GetDomain:output_type -> api.Domain - 9, // 28: api.Cluster.ReleaseDomain:output_type -> api.Domain - 13, // 29: api.Cluster.CreateDomainRecords:output_type -> api.CreateDomainRecordsResponse - 21, // [21:30] is the sub-list for method output_type - 12, // [12:21] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name + 11, // 6: api.CreateDomainRecordsRequest.records:type_name -> api.DNSRecord + 11, // 7: api.CreateDomainRecordsResponse.records:type_name -> api.DNSRecord + 1, // 8: api.DNSRecord.type:type_name -> api.DNSRecord.RecordType + 2, // 9: api.Cluster.AddMachine:input_type -> api.AddMachineRequest + 15, // 10: api.Cluster.ListMachines:input_type -> google.protobuf.Empty + 6, // 11: api.Cluster.RemoveMachine:input_type -> api.RemoveMachineRequest + 8, // 12: api.Cluster.ReserveDomain:input_type -> api.ReserveDomainRequest + 15, // 13: api.Cluster.GetDomain:input_type -> google.protobuf.Empty + 15, // 14: api.Cluster.ReleaseDomain:input_type -> google.protobuf.Empty + 9, // 15: api.Cluster.CreateDomainRecords:input_type -> api.CreateDomainRecordsRequest + 3, // 16: api.Cluster.AddMachine:output_type -> api.AddMachineResponse + 5, // 17: api.Cluster.ListMachines:output_type -> api.ListMachinesResponse + 15, // 18: api.Cluster.RemoveMachine:output_type -> google.protobuf.Empty + 7, // 19: api.Cluster.ReserveDomain:output_type -> api.Domain + 7, // 20: api.Cluster.GetDomain:output_type -> api.Domain + 7, // 21: api.Cluster.ReleaseDomain:output_type -> api.Domain + 10, // 22: api.Cluster.CreateDomainRecords:output_type -> api.CreateDomainRecordsResponse + 16, // [16:23] is the sub-list for method output_type + 9, // [9:16] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name } func init() { file_api_pb_cluster_proto_init() } @@ -1404,6 +1502,7 @@ func file_api_pb_cluster_proto_init() { switch v := v.(*RemoveMachineRequest); i { ======= file_internal_machine_api_pb_cluster_proto_msgTypes[4].Exporter = func(v any, i int) any { +<<<<<<< HEAD:api/pb/cluster.pb.go switch v := v.(*UpdateMachineRequest); i { >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go case 0: @@ -1444,6 +1543,33 @@ func file_api_pb_cluster_proto_init() { switch v := v.(*ReserveDomainRequest); i { ======= file_internal_machine_api_pb_cluster_proto_msgTypes[6].Exporter = func(v any, i int) any { +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + switch v := v.(*UpdateMachineRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_machine_api_pb_cluster_proto_msgTypes[5].Exporter = func(v any, i int) any { + switch v := v.(*UpdateMachineResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_machine_api_pb_cluster_proto_msgTypes[6].Exporter = func(v any, i int) any { +======= +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go switch v := v.(*RemoveMachineRequest); i { >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go case 0: @@ -1456,6 +1582,7 @@ func file_api_pb_cluster_proto_init() { return nil } } +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go file_api_pb_cluster_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*CreateDomainRecordsRequest); i { @@ -1464,6 +1591,11 @@ func file_api_pb_cluster_proto_init() { switch v := v.(*CreateDomainRecordsRequest); i { ======= file_internal_machine_api_pb_cluster_proto_msgTypes[7].Exporter = func(v any, i int) any { +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + file_internal_machine_api_pb_cluster_proto_msgTypes[7].Exporter = func(v any, i int) any { +======= + file_internal_machine_api_pb_cluster_proto_msgTypes[5].Exporter = func(v any, i int) any { +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go switch v := v.(*Domain); i { >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go case 0: @@ -1476,6 +1608,7 @@ func file_api_pb_cluster_proto_init() { return nil } } +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go file_api_pb_cluster_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*CreateDomainRecordsResponse); i { @@ -1484,6 +1617,11 @@ func file_api_pb_cluster_proto_init() { switch v := v.(*CreateDomainRecordsResponse); i { ======= file_internal_machine_api_pb_cluster_proto_msgTypes[8].Exporter = func(v any, i int) any { +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + file_internal_machine_api_pb_cluster_proto_msgTypes[8].Exporter = func(v any, i int) any { +======= + file_internal_machine_api_pb_cluster_proto_msgTypes[6].Exporter = func(v any, i int) any { +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go switch v := v.(*ReserveDomainRequest); i { >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go case 0: @@ -1496,6 +1634,7 @@ func file_api_pb_cluster_proto_init() { return nil } } +<<<<<<< HEAD:api/pb/cluster.pb.go <<<<<<< HEAD:api/pb/cluster.pb.go file_api_pb_cluster_proto_msgTypes[9].Exporter = func(v any, i int) any { ||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go @@ -1514,6 +1653,23 @@ func file_api_pb_cluster_proto_init() { } } file_internal_machine_api_pb_cluster_proto_msgTypes[10].Exporter = func(v any, i int) any { +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + file_internal_machine_api_pb_cluster_proto_msgTypes[9].Exporter = func(v any, i int) any { + switch v := v.(*SetDomainRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_machine_api_pb_cluster_proto_msgTypes[10].Exporter = func(v any, i int) any { +======= + file_internal_machine_api_pb_cluster_proto_msgTypes[7].Exporter = func(v any, i int) any { +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go switch v := v.(*CreateDomainRecordsRequest); i { case 0: return &v.state @@ -1525,7 +1681,7 @@ func file_api_pb_cluster_proto_init() { return nil } } - file_internal_machine_api_pb_cluster_proto_msgTypes[11].Exporter = func(v any, i int) any { + file_internal_machine_api_pb_cluster_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*CreateDomainRecordsResponse); i { case 0: return &v.state @@ -1537,8 +1693,14 @@ func file_api_pb_cluster_proto_init() { return nil } } +<<<<<<< HEAD:api/pb/cluster.pb.go file_internal_machine_api_pb_cluster_proto_msgTypes[12].Exporter = func(v any, i int) any { >>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go +||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go + file_internal_machine_api_pb_cluster_proto_msgTypes[12].Exporter = func(v any, i int) any { +======= + file_internal_machine_api_pb_cluster_proto_msgTypes[9].Exporter = func(v any, i int) any { +>>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go switch v := v.(*DNSRecord); i { case 0: return &v.state @@ -1551,14 +1713,13 @@ func file_api_pb_cluster_proto_init() { } } } - file_internal_machine_api_pb_cluster_proto_msgTypes[4].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_api_pb_cluster_proto_rawDesc, NumEnums: 2, - NumMessages: 13, + NumMessages: 10, NumExtensions: 0, NumServices: 1, }, From 54a7328a343149c7f859e9c097308937639bb23c Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Wed, 24 Jun 2026 07:13:01 +0200 Subject: [PATCH 07/11] mise proto && make cli-docs Signed-off-by: Miek Gieben --- internal/machine/api/pb/cluster.pb.go | 1020 ++++++++++++++++++++ website/docs/9-cli-reference/uc_dns_set.md | 31 + 2 files changed, 1051 insertions(+) create mode 100644 internal/machine/api/pb/cluster.pb.go create mode 100644 website/docs/9-cli-reference/uc_dns_set.md diff --git a/internal/machine/api/pb/cluster.pb.go b/internal/machine/api/pb/cluster.pb.go new file mode 100644 index 00000000..61b79970 --- /dev/null +++ b/internal/machine/api/pb/cluster.pb.go @@ -0,0 +1,1020 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc v5.27.3 +// source: internal/machine/api/pb/cluster.proto + +package pb + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + emptypb "google.golang.org/protobuf/types/known/emptypb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type MachineMember_MembershipState int32 + +const ( + MachineMember_UNKNOWN MachineMember_MembershipState = 0 + // The member is active. + MachineMember_UP MachineMember_MembershipState = 1 + // The member is active, but at least one cluster member suspects its down. For all purposes, + // a SUSPECT member is treated as if it were UP until either it refutes the suspicion (becoming UP) + // or fails to do so (being declared DOWN). + MachineMember_SUSPECT MachineMember_MembershipState = 2 + // The member is confirmed DOWN. + MachineMember_DOWN MachineMember_MembershipState = 3 +) + +// Enum value maps for MachineMember_MembershipState. +var ( + MachineMember_MembershipState_name = map[int32]string{ + 0: "UNKNOWN", + 1: "UP", + 2: "SUSPECT", + 3: "DOWN", + } + MachineMember_MembershipState_value = map[string]int32{ + "UNKNOWN": 0, + "UP": 1, + "SUSPECT": 2, + "DOWN": 3, + } +) + +func (x MachineMember_MembershipState) Enum() *MachineMember_MembershipState { + p := new(MachineMember_MembershipState) + *p = x + return p +} + +func (x MachineMember_MembershipState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (MachineMember_MembershipState) Descriptor() protoreflect.EnumDescriptor { + return file_internal_machine_api_pb_cluster_proto_enumTypes[0].Descriptor() +} + +func (MachineMember_MembershipState) Type() protoreflect.EnumType { + return &file_internal_machine_api_pb_cluster_proto_enumTypes[0] +} + +func (x MachineMember_MembershipState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use MachineMember_MembershipState.Descriptor instead. +func (MachineMember_MembershipState) EnumDescriptor() ([]byte, []int) { + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{2, 0} +} + +type DNSRecord_RecordType int32 + +const ( + DNSRecord_UNSPECIFIED DNSRecord_RecordType = 0 + DNSRecord_A DNSRecord_RecordType = 1 + DNSRecord_AAAA DNSRecord_RecordType = 2 +) + +// Enum value maps for DNSRecord_RecordType. +var ( + DNSRecord_RecordType_name = map[int32]string{ + 0: "UNSPECIFIED", + 1: "A", + 2: "AAAA", + } + DNSRecord_RecordType_value = map[string]int32{ + "UNSPECIFIED": 0, + "A": 1, + "AAAA": 2, + } +) + +func (x DNSRecord_RecordType) Enum() *DNSRecord_RecordType { + p := new(DNSRecord_RecordType) + *p = x + return p +} + +func (x DNSRecord_RecordType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DNSRecord_RecordType) Descriptor() protoreflect.EnumDescriptor { + return file_internal_machine_api_pb_cluster_proto_enumTypes[1].Descriptor() +} + +func (DNSRecord_RecordType) Type() protoreflect.EnumType { + return &file_internal_machine_api_pb_cluster_proto_enumTypes[1] +} + +func (x DNSRecord_RecordType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DNSRecord_RecordType.Descriptor instead. +func (DNSRecord_RecordType) EnumDescriptor() ([]byte, []int) { + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{10, 0} +} + +type AddMachineRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Network *NetworkConfig `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"` + PublicIp *IP `protobuf:"bytes,3,opt,name=public_ip,json=publicIp,proto3" json:"public_ip,omitempty"` +} + +func (x *AddMachineRequest) Reset() { + *x = AddMachineRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddMachineRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddMachineRequest) ProtoMessage() {} + +func (x *AddMachineRequest) ProtoReflect() protoreflect.Message { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddMachineRequest.ProtoReflect.Descriptor instead. +func (*AddMachineRequest) Descriptor() ([]byte, []int) { + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{0} +} + +func (x *AddMachineRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AddMachineRequest) GetNetwork() *NetworkConfig { + if x != nil { + return x.Network + } + return nil +} + +func (x *AddMachineRequest) GetPublicIp() *IP { + if x != nil { + return x.PublicIp + } + return nil +} + +type AddMachineResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Machine *MachineInfo `protobuf:"bytes,1,opt,name=machine,proto3" json:"machine,omitempty"` +} + +func (x *AddMachineResponse) Reset() { + *x = AddMachineResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddMachineResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddMachineResponse) ProtoMessage() {} + +func (x *AddMachineResponse) ProtoReflect() protoreflect.Message { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddMachineResponse.ProtoReflect.Descriptor instead. +func (*AddMachineResponse) Descriptor() ([]byte, []int) { + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{1} +} + +func (x *AddMachineResponse) GetMachine() *MachineInfo { + if x != nil { + return x.Machine + } + return nil +} + +type MachineMember struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Machine *MachineInfo `protobuf:"bytes,1,opt,name=machine,proto3" json:"machine,omitempty"` + State MachineMember_MembershipState `protobuf:"varint,2,opt,name=state,proto3,enum=api.MachineMember_MembershipState" json:"state,omitempty"` +} + +func (x *MachineMember) Reset() { + *x = MachineMember{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MachineMember) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MachineMember) ProtoMessage() {} + +func (x *MachineMember) ProtoReflect() protoreflect.Message { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MachineMember.ProtoReflect.Descriptor instead. +func (*MachineMember) Descriptor() ([]byte, []int) { + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{2} +} + +func (x *MachineMember) GetMachine() *MachineInfo { + if x != nil { + return x.Machine + } + return nil +} + +func (x *MachineMember) GetState() MachineMember_MembershipState { + if x != nil { + return x.State + } + return MachineMember_UNKNOWN +} + +type ListMachinesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Machines []*MachineMember `protobuf:"bytes,1,rep,name=machines,proto3" json:"machines,omitempty"` +} + +func (x *ListMachinesResponse) Reset() { + *x = ListMachinesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListMachinesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListMachinesResponse) ProtoMessage() {} + +func (x *ListMachinesResponse) ProtoReflect() protoreflect.Message { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListMachinesResponse.ProtoReflect.Descriptor instead. +func (*ListMachinesResponse) Descriptor() ([]byte, []int) { + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{3} +} + +func (x *ListMachinesResponse) GetMachines() []*MachineMember { + if x != nil { + return x.Machines + } + return nil +} + +type RemoveMachineRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *RemoveMachineRequest) Reset() { + *x = RemoveMachineRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveMachineRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveMachineRequest) ProtoMessage() {} + +func (x *RemoveMachineRequest) ProtoReflect() protoreflect.Message { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveMachineRequest.ProtoReflect.Descriptor instead. +func (*RemoveMachineRequest) Descriptor() ([]byte, []int) { + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{4} +} + +func (x *RemoveMachineRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type Domain struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *Domain) Reset() { + *x = Domain{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Domain) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Domain) ProtoMessage() {} + +func (x *Domain) ProtoReflect() protoreflect.Message { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Domain.ProtoReflect.Descriptor instead. +func (*Domain) Descriptor() ([]byte, []int) { + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{5} +} + +func (x *Domain) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type ReserveDomainRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` +} + +func (x *ReserveDomainRequest) Reset() { + *x = ReserveDomainRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReserveDomainRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReserveDomainRequest) ProtoMessage() {} + +func (x *ReserveDomainRequest) ProtoReflect() protoreflect.Message { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReserveDomainRequest.ProtoReflect.Descriptor instead. +func (*ReserveDomainRequest) Descriptor() ([]byte, []int) { + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{6} +} + +func (x *ReserveDomainRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +type SetDomainRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *SetDomainRequest) Reset() { + *x = SetDomainRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetDomainRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetDomainRequest) ProtoMessage() {} + +func (x *SetDomainRequest) ProtoReflect() protoreflect.Message { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetDomainRequest.ProtoReflect.Descriptor instead. +func (*SetDomainRequest) Descriptor() ([]byte, []int) { + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{7} +} + +func (x *SetDomainRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type CreateDomainRecordsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Records []*DNSRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` +} + +func (x *CreateDomainRecordsRequest) Reset() { + *x = CreateDomainRecordsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDomainRecordsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDomainRecordsRequest) ProtoMessage() {} + +func (x *CreateDomainRecordsRequest) ProtoReflect() protoreflect.Message { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateDomainRecordsRequest.ProtoReflect.Descriptor instead. +func (*CreateDomainRecordsRequest) Descriptor() ([]byte, []int) { + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{8} +} + +func (x *CreateDomainRecordsRequest) GetRecords() []*DNSRecord { + if x != nil { + return x.Records + } + return nil +} + +type CreateDomainRecordsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Records []*DNSRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` +} + +func (x *CreateDomainRecordsResponse) Reset() { + *x = CreateDomainRecordsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDomainRecordsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDomainRecordsResponse) ProtoMessage() {} + +func (x *CreateDomainRecordsResponse) ProtoReflect() protoreflect.Message { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateDomainRecordsResponse.ProtoReflect.Descriptor instead. +func (*CreateDomainRecordsResponse) Descriptor() ([]byte, []int) { + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{9} +} + +func (x *CreateDomainRecordsResponse) GetRecords() []*DNSRecord { + if x != nil { + return x.Records + } + return nil +} + +type DNSRecord struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Type DNSRecord_RecordType `protobuf:"varint,2,opt,name=type,proto3,enum=api.DNSRecord_RecordType" json:"type,omitempty"` + Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` +} + +func (x *DNSRecord) Reset() { + *x = DNSRecord{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DNSRecord) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DNSRecord) ProtoMessage() {} + +func (x *DNSRecord) ProtoReflect() protoreflect.Message { + mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DNSRecord.ProtoReflect.Descriptor instead. +func (*DNSRecord) Descriptor() ([]byte, []int) { + return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{10} +} + +func (x *DNSRecord) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DNSRecord) GetType() DNSRecord_RecordType { + if x != nil { + return x.Type + } + return DNSRecord_UNSPECIFIED +} + +func (x *DNSRecord) GetValues() []string { + if x != nil { + return x.Values + } + return nil +} + +var File_internal_machine_api_pb_cluster_proto protoreflect.FileDescriptor + +var file_internal_machine_api_pb_cluster_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1b, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, + 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x70, 0x62, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x25, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x24, 0x0a, + 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x07, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x50, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, + 0x63, 0x49, 0x70, 0x22, 0x40, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x0d, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, + 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x3d, 0x0a, + 0x0f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x06, 0x0a, + 0x02, 0x55, 0x50, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x53, 0x50, 0x45, 0x43, 0x54, + 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x22, 0x46, 0x0a, 0x14, + 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x06, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, 0x14, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x26, + 0x0a, 0x10, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x47, + 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, + 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, + 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x09, 0x44, 0x4e, 0x53, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, + 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x22, 0x2e, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, + 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x05, 0x0a, 0x01, 0x41, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x41, 0x41, 0x41, 0x10, 0x02, + 0x32, 0xfb, 0x03, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0a, + 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x4c, + 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, + 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, + 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x37, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x09, 0x53, + 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, + 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x09, + 0x47, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x34, + 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x37, + 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x73, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x73, 0x6b, 0x69, 0x2f, 0x75, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_internal_machine_api_pb_cluster_proto_rawDescOnce sync.Once + file_internal_machine_api_pb_cluster_proto_rawDescData = file_internal_machine_api_pb_cluster_proto_rawDesc +) + +func file_internal_machine_api_pb_cluster_proto_rawDescGZIP() []byte { + file_internal_machine_api_pb_cluster_proto_rawDescOnce.Do(func() { + file_internal_machine_api_pb_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_internal_machine_api_pb_cluster_proto_rawDescData) + }) + return file_internal_machine_api_pb_cluster_proto_rawDescData +} + +var file_internal_machine_api_pb_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_internal_machine_api_pb_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_internal_machine_api_pb_cluster_proto_goTypes = []any{ + (MachineMember_MembershipState)(0), // 0: api.MachineMember.MembershipState + (DNSRecord_RecordType)(0), // 1: api.DNSRecord.RecordType + (*AddMachineRequest)(nil), // 2: api.AddMachineRequest + (*AddMachineResponse)(nil), // 3: api.AddMachineResponse + (*MachineMember)(nil), // 4: api.MachineMember + (*ListMachinesResponse)(nil), // 5: api.ListMachinesResponse + (*RemoveMachineRequest)(nil), // 6: api.RemoveMachineRequest + (*Domain)(nil), // 7: api.Domain + (*ReserveDomainRequest)(nil), // 8: api.ReserveDomainRequest + (*SetDomainRequest)(nil), // 9: api.SetDomainRequest + (*CreateDomainRecordsRequest)(nil), // 10: api.CreateDomainRecordsRequest + (*CreateDomainRecordsResponse)(nil), // 11: api.CreateDomainRecordsResponse + (*DNSRecord)(nil), // 12: api.DNSRecord + (*NetworkConfig)(nil), // 13: api.NetworkConfig + (*IP)(nil), // 14: api.IP + (*MachineInfo)(nil), // 15: api.MachineInfo + (*emptypb.Empty)(nil), // 16: google.protobuf.Empty +} +var file_internal_machine_api_pb_cluster_proto_depIdxs = []int32{ + 13, // 0: api.AddMachineRequest.network:type_name -> api.NetworkConfig + 14, // 1: api.AddMachineRequest.public_ip:type_name -> api.IP + 15, // 2: api.AddMachineResponse.machine:type_name -> api.MachineInfo + 15, // 3: api.MachineMember.machine:type_name -> api.MachineInfo + 0, // 4: api.MachineMember.state:type_name -> api.MachineMember.MembershipState + 4, // 5: api.ListMachinesResponse.machines:type_name -> api.MachineMember + 12, // 6: api.CreateDomainRecordsRequest.records:type_name -> api.DNSRecord + 12, // 7: api.CreateDomainRecordsResponse.records:type_name -> api.DNSRecord + 1, // 8: api.DNSRecord.type:type_name -> api.DNSRecord.RecordType + 2, // 9: api.Cluster.AddMachine:input_type -> api.AddMachineRequest + 16, // 10: api.Cluster.ListMachines:input_type -> google.protobuf.Empty + 6, // 11: api.Cluster.RemoveMachine:input_type -> api.RemoveMachineRequest + 8, // 12: api.Cluster.ReserveDomain:input_type -> api.ReserveDomainRequest + 9, // 13: api.Cluster.SetDomain:input_type -> api.SetDomainRequest + 16, // 14: api.Cluster.GetDomain:input_type -> google.protobuf.Empty + 16, // 15: api.Cluster.ReleaseDomain:input_type -> google.protobuf.Empty + 10, // 16: api.Cluster.CreateDomainRecords:input_type -> api.CreateDomainRecordsRequest + 3, // 17: api.Cluster.AddMachine:output_type -> api.AddMachineResponse + 5, // 18: api.Cluster.ListMachines:output_type -> api.ListMachinesResponse + 16, // 19: api.Cluster.RemoveMachine:output_type -> google.protobuf.Empty + 7, // 20: api.Cluster.ReserveDomain:output_type -> api.Domain + 7, // 21: api.Cluster.SetDomain:output_type -> api.Domain + 7, // 22: api.Cluster.GetDomain:output_type -> api.Domain + 7, // 23: api.Cluster.ReleaseDomain:output_type -> api.Domain + 11, // 24: api.Cluster.CreateDomainRecords:output_type -> api.CreateDomainRecordsResponse + 17, // [17:25] is the sub-list for method output_type + 9, // [9:17] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { file_internal_machine_api_pb_cluster_proto_init() } +func file_internal_machine_api_pb_cluster_proto_init() { + if File_internal_machine_api_pb_cluster_proto != nil { + return + } + file_internal_machine_api_pb_common_proto_init() + file_internal_machine_api_pb_machine_proto_init() + if !protoimpl.UnsafeEnabled { + file_internal_machine_api_pb_cluster_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*AddMachineRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_machine_api_pb_cluster_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*AddMachineResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_machine_api_pb_cluster_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*MachineMember); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_machine_api_pb_cluster_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*ListMachinesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_machine_api_pb_cluster_proto_msgTypes[4].Exporter = func(v any, i int) any { + switch v := v.(*RemoveMachineRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_machine_api_pb_cluster_proto_msgTypes[5].Exporter = func(v any, i int) any { + switch v := v.(*Domain); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_machine_api_pb_cluster_proto_msgTypes[6].Exporter = func(v any, i int) any { + switch v := v.(*ReserveDomainRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_machine_api_pb_cluster_proto_msgTypes[7].Exporter = func(v any, i int) any { + switch v := v.(*SetDomainRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_machine_api_pb_cluster_proto_msgTypes[8].Exporter = func(v any, i int) any { + switch v := v.(*CreateDomainRecordsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_machine_api_pb_cluster_proto_msgTypes[9].Exporter = func(v any, i int) any { + switch v := v.(*CreateDomainRecordsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_machine_api_pb_cluster_proto_msgTypes[10].Exporter = func(v any, i int) any { + switch v := v.(*DNSRecord); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_internal_machine_api_pb_cluster_proto_rawDesc, + NumEnums: 2, + NumMessages: 11, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_internal_machine_api_pb_cluster_proto_goTypes, + DependencyIndexes: file_internal_machine_api_pb_cluster_proto_depIdxs, + EnumInfos: file_internal_machine_api_pb_cluster_proto_enumTypes, + MessageInfos: file_internal_machine_api_pb_cluster_proto_msgTypes, + }.Build() + File_internal_machine_api_pb_cluster_proto = out.File + file_internal_machine_api_pb_cluster_proto_rawDesc = nil + file_internal_machine_api_pb_cluster_proto_goTypes = nil + file_internal_machine_api_pb_cluster_proto_depIdxs = nil +} diff --git a/website/docs/9-cli-reference/uc_dns_set.md b/website/docs/9-cli-reference/uc_dns_set.md new file mode 100644 index 00000000..634ca461 --- /dev/null +++ b/website/docs/9-cli-reference/uc_dns_set.md @@ -0,0 +1,31 @@ +# uc dns set + +Set a cluster domain directly in the cluster. + +## Synopsis + +Set a cluster domain directly in the cluster, bypassing Uncloud DNS. This assumes the DNS is externally set up. + +``` +uc dns set DOMAIN_NAME [flags] +``` + +## Options + +``` + -h, --help help for set +``` + +## Options inherited from parent commands + +``` + --connect string Connect to a remote cluster machine without using the Uncloud configuration file. [$UNCLOUD_CONNECT] + Format: [ssh://]user@host[:port], ssh+go://user@host[:port], tcp://host:port, or unix:///path/to/uncloud.sock + -c, --context string Name of the cluster context to use (default is the current context). [$UNCLOUD_CONTEXT] + --uncloud-config string Path to the Uncloud configuration file. [$UNCLOUD_CONFIG] (default "~/.config/uncloud/config.yaml") +``` + +## See also + +* [uc dns](uc_dns.md) - Manage cluster domain in Uncloud DNS. + From 3fc1cddf0192f928c26ff82b0ac4b1b89f9b8bf5 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Tue, 15 Sep 2026 14:36:28 +0200 Subject: [PATCH 08/11] Rebase and and generate protos again Signed-off-by: Miek Gieben --- api/pb/cluster.pb.go | 1007 ++++++------------------------------------ 1 file changed, 144 insertions(+), 863 deletions(-) diff --git a/api/pb/cluster.pb.go b/api/pb/cluster.pb.go index 8bc0c81f..677b3a81 100644 --- a/api/pb/cluster.pb.go +++ b/api/pb/cluster.pb.go @@ -124,19 +124,7 @@ func (x DNSRecord_RecordType) Number() protoreflect.EnumNumber { // Deprecated: Use DNSRecord_RecordType.Descriptor instead. func (DNSRecord_RecordType) EnumDescriptor() ([]byte, []int) { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go - return file_api_pb_cluster_proto_rawDescGZIP(), []int{9, 0} -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{9, 0} -======= - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{12, 0} ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{12, 0} -======= - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{9, 0} ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go + return file_api_pb_cluster_proto_rawDescGZIP(), []int{10, 0} } type AddMachineRequest struct { @@ -362,19 +350,7 @@ type RemoveMachineRequest struct { func (x *RemoveMachineRequest) Reset() { *x = RemoveMachineRequest{} if protoimpl.UnsafeEnabled { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[4] -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[4] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[4] ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -387,19 +363,7 @@ func (x *RemoveMachineRequest) String() string { func (*RemoveMachineRequest) ProtoMessage() {} func (x *RemoveMachineRequest) ProtoReflect() protoreflect.Message { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[4] -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[4] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[4] ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -412,19 +376,7 @@ func (x *RemoveMachineRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RemoveMachineRequest.ProtoReflect.Descriptor instead. func (*RemoveMachineRequest) Descriptor() ([]byte, []int) { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{4} -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{4} -======= - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{6} ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{6} -======= - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{4} ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go } func (x *RemoveMachineRequest) GetId() string { @@ -445,19 +397,7 @@ type Domain struct { func (x *Domain) Reset() { *x = Domain{} if protoimpl.UnsafeEnabled { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[5] -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[5] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[5] ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -470,19 +410,7 @@ func (x *Domain) String() string { func (*Domain) ProtoMessage() {} func (x *Domain) ProtoReflect() protoreflect.Message { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[5] -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[5] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[5] ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -495,19 +423,7 @@ func (x *Domain) ProtoReflect() protoreflect.Message { // Deprecated: Use Domain.ProtoReflect.Descriptor instead. func (*Domain) Descriptor() ([]byte, []int) { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{5} -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{5} -======= - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{7} ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{7} -======= - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{5} ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go } func (x *Domain) GetName() string { @@ -528,19 +444,7 @@ type ReserveDomainRequest struct { func (x *ReserveDomainRequest) Reset() { *x = ReserveDomainRequest{} if protoimpl.UnsafeEnabled { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[6] -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -553,19 +457,7 @@ func (x *ReserveDomainRequest) String() string { func (*ReserveDomainRequest) ProtoMessage() {} func (x *ReserveDomainRequest) ProtoReflect() protoreflect.Message { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go mi := &file_api_pb_cluster_proto_msgTypes[6] -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -578,19 +470,7 @@ func (x *ReserveDomainRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReserveDomainRequest.ProtoReflect.Descriptor instead. func (*ReserveDomainRequest) Descriptor() ([]byte, []int) { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go return file_api_pb_cluster_proto_rawDescGZIP(), []int{6} -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{6} -======= - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{8} ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{8} -======= - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{6} ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go } func (x *ReserveDomainRequest) GetEndpoint() string { @@ -600,6 +480,53 @@ func (x *ReserveDomainRequest) GetEndpoint() string { return "" } +type SetDomainRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *SetDomainRequest) Reset() { + *x = SetDomainRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_pb_cluster_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetDomainRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetDomainRequest) ProtoMessage() {} + +func (x *SetDomainRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_pb_cluster_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetDomainRequest.ProtoReflect.Descriptor instead. +func (*SetDomainRequest) Descriptor() ([]byte, []int) { + return file_api_pb_cluster_proto_rawDescGZIP(), []int{7} +} + +func (x *SetDomainRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + type CreateDomainRecordsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -611,19 +538,7 @@ type CreateDomainRecordsRequest struct { func (x *CreateDomainRecordsRequest) Reset() { *x = CreateDomainRecordsRequest{} if protoimpl.UnsafeEnabled { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go - mi := &file_api_pb_cluster_proto_msgTypes[7] -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[10] ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[10] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_api_pb_cluster_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -636,19 +551,7 @@ func (x *CreateDomainRecordsRequest) String() string { func (*CreateDomainRecordsRequest) ProtoMessage() {} func (x *CreateDomainRecordsRequest) ProtoReflect() protoreflect.Message { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go - mi := &file_api_pb_cluster_proto_msgTypes[7] -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[10] ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[10] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_api_pb_cluster_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -661,19 +564,7 @@ func (x *CreateDomainRecordsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateDomainRecordsRequest.ProtoReflect.Descriptor instead. func (*CreateDomainRecordsRequest) Descriptor() ([]byte, []int) { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go - return file_api_pb_cluster_proto_rawDescGZIP(), []int{7} -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{7} -======= - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{10} ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{10} -======= - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{7} ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go + return file_api_pb_cluster_proto_rawDescGZIP(), []int{8} } func (x *CreateDomainRecordsRequest) GetRecords() []*DNSRecord { @@ -694,19 +585,7 @@ type CreateDomainRecordsResponse struct { func (x *CreateDomainRecordsResponse) Reset() { *x = CreateDomainRecordsResponse{} if protoimpl.UnsafeEnabled { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go - mi := &file_api_pb_cluster_proto_msgTypes[8] -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[11] ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[11] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_api_pb_cluster_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -719,19 +598,7 @@ func (x *CreateDomainRecordsResponse) String() string { func (*CreateDomainRecordsResponse) ProtoMessage() {} func (x *CreateDomainRecordsResponse) ProtoReflect() protoreflect.Message { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go - mi := &file_api_pb_cluster_proto_msgTypes[8] -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[11] ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[11] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_api_pb_cluster_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -744,19 +611,7 @@ func (x *CreateDomainRecordsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateDomainRecordsResponse.ProtoReflect.Descriptor instead. func (*CreateDomainRecordsResponse) Descriptor() ([]byte, []int) { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go - return file_api_pb_cluster_proto_rawDescGZIP(), []int{8} -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{8} -======= - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{11} ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{11} -======= - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{8} ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go + return file_api_pb_cluster_proto_rawDescGZIP(), []int{9} } func (x *CreateDomainRecordsResponse) GetRecords() []*DNSRecord { @@ -779,19 +634,7 @@ type DNSRecord struct { func (x *DNSRecord) Reset() { *x = DNSRecord{} if protoimpl.UnsafeEnabled { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go - mi := &file_api_pb_cluster_proto_msgTypes[9] -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[9] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[12] ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[12] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[9] ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_api_pb_cluster_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -804,19 +647,7 @@ func (x *DNSRecord) String() string { func (*DNSRecord) ProtoMessage() {} func (x *DNSRecord) ProtoReflect() protoreflect.Message { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go - mi := &file_api_pb_cluster_proto_msgTypes[9] -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[9] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[12] ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[12] -======= - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[9] ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go + mi := &file_api_pb_cluster_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -829,19 +660,7 @@ func (x *DNSRecord) ProtoReflect() protoreflect.Message { // Deprecated: Use DNSRecord.ProtoReflect.Descriptor instead. func (*DNSRecord) Descriptor() ([]byte, []int) { -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go - return file_api_pb_cluster_proto_rawDescGZIP(), []int{9} -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{9} -======= - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{12} ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{12} -======= - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{9} ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go + return file_api_pb_cluster_proto_rawDescGZIP(), []int{10} } func (x *DNSRecord) GetName() string { @@ -867,7 +686,6 @@ func (x *DNSRecord) GetValues() []string { var File_api_pb_cluster_proto protoreflect.FileDescriptor -<<<<<<< HEAD:api/pb/cluster.pb.go var file_api_pb_cluster_proto_rawDesc = []byte{ 0x0a, 0x14, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, @@ -910,433 +728,63 @@ var file_api_pb_cluster_proto_rawDesc = []byte{ 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x46, 0x0a, 0x1a, 0x43, + 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x26, 0x0a, 0x10, 0x53, + 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x47, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x73, 0x22, 0x47, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x96, 0x01, 0x0a, - 0x09, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x41, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, - 0x41, 0x41, 0x41, 0x10, 0x02, 0x32, 0xca, 0x03, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x12, 0x3d, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, - 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, - 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x41, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, - 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x37, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x12, 0x30, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x12, 0x34, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, - 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x42, 0x26, 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x70, 0x73, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x6b, 0x69, 0x2f, 0x75, 0x6e, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -var file_internal_machine_api_pb_cluster_proto_rawDesc = []byte{ - 0x0a, 0x25, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1b, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, - 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x70, 0x62, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x25, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x24, 0x0a, - 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x07, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x50, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x49, 0x70, 0x22, 0x40, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x6d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x0d, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, - 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x3d, 0x0a, - 0x0f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x06, 0x0a, - 0x02, 0x55, 0x50, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x53, 0x50, 0x45, 0x43, 0x54, - 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x22, 0x46, 0x0a, 0x14, - 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x06, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, 0x14, 0x52, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x46, - 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x07, - 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x47, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, - 0x96, 0x01, 0x0a, 0x09, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x41, 0x10, 0x01, 0x12, 0x08, - 0x0a, 0x04, 0x41, 0x41, 0x41, 0x41, 0x10, 0x02, 0x32, 0xca, 0x03, 0x0a, 0x07, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x37, 0x0a, 0x0d, 0x52, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x34, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x09, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x2e, 0x0a, + 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, + 0x41, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x41, 0x41, 0x41, 0x10, 0x02, 0x32, 0xfb, 0x03, + 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0a, 0x41, 0x64, 0x64, + 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, + 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, + 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, + 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x52, + 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, + 0x37, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x13, 0x43, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x34, 0x0a, 0x0d, 0x52, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x12, 0x58, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x73, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x6b, 0x69, 0x2f, 0x75, - 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -======= -var file_internal_machine_api_pb_cluster_proto_rawDesc = []byte{ - 0x0a, 0x25, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1b, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, - 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x70, 0x62, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x25, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x24, 0x0a, - 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x07, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x50, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x49, 0x70, 0x22, 0x40, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x6d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x0d, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, - 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x3d, 0x0a, - 0x0f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x06, 0x0a, - 0x02, 0x55, 0x50, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x53, 0x50, 0x45, 0x43, 0x54, - 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x22, 0x46, 0x0a, 0x14, - 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x68, -<<<<<<< HEAD:api/pb/cluster.pb.go - 0x69, 0x6e, 0x65, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, - 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, - 0x50, 0x48, 0x01, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x88, 0x01, 0x01, - 0x12, 0x29, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x50, 0x50, 0x6f, 0x72, 0x74, - 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, - 0x69, 0x70, 0x22, 0x43, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x6d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x26, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, - 0x1c, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, - 0x14, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x22, 0x26, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x1a, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, - 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x73, 0x22, 0x47, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x09, 0x44, - 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x41, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x41, 0x41, - 0x41, 0x10, 0x02, 0x32, 0xc3, 0x04, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, - 0x3d, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, - 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x37, 0x0a, - 0x0d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x34, 0x0a, 0x0d, 0x52, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, - 0x58, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x73, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, - 0x6b, 0x69, 0x2f, 0x75, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - 0x69, 0x6e, 0x65, 0x73, 0x22, 0xbb, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, - 0x0a, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, - 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, - 0x50, 0x48, 0x01, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x88, 0x01, 0x01, - 0x12, 0x29, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x50, 0x50, 0x6f, 0x72, 0x74, - 0x52, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, - 0x69, 0x70, 0x22, 0x43, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x6d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0x26, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, - 0x1c, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, - 0x14, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x22, 0x26, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x1a, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, - 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x73, 0x22, 0x47, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x09, 0x44, - 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x41, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x41, 0x41, - 0x41, 0x10, 0x02, 0x32, 0xc3, 0x04, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, - 0x3d, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, - 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x16, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x52, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x37, 0x0a, - 0x0d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x34, 0x0a, 0x0d, 0x52, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, - 0x58, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x73, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, - 0x6b, 0x69, 0x2f, 0x75, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -======= - 0x69, 0x6e, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x06, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, 0x14, 0x52, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x46, - 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x07, - 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x47, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, - 0x96, 0x01, 0x0a, 0x09, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x41, 0x10, 0x01, 0x12, 0x08, - 0x0a, 0x04, 0x41, 0x41, 0x41, 0x41, 0x10, 0x02, 0x32, 0xca, 0x03, 0x0a, 0x07, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x37, 0x0a, 0x0d, 0x52, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x34, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x13, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x73, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x6b, 0x69, 0x2f, 0x75, - 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go + 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x26, 0x5a, 0x24, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x73, 0x76, 0x69, 0x64, 0x65, + 0x72, 0x73, 0x6b, 0x69, 0x2f, 0x75, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1351,19 +799,9 @@ func file_api_pb_cluster_proto_rawDescGZIP() []byte { return file_api_pb_cluster_proto_rawDescData } -<<<<<<< HEAD:api/pb/cluster.pb.go var file_api_pb_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_api_pb_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 10) +var file_api_pb_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_api_pb_cluster_proto_goTypes = []any{ -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -var file_internal_machine_api_pb_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_internal_machine_api_pb_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 10) -var file_internal_machine_api_pb_cluster_proto_goTypes = []any{ -======= -var file_internal_machine_api_pb_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_internal_machine_api_pb_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 10) -var file_internal_machine_api_pb_cluster_proto_goTypes = []any{ ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go (MachineMember_MembershipState)(0), // 0: api.MachineMember.MembershipState (DNSRecord_RecordType)(0), // 1: api.DNSRecord.RecordType (*AddMachineRequest)(nil), // 2: api.AddMachineRequest @@ -1373,66 +811,43 @@ var file_internal_machine_api_pb_cluster_proto_goTypes = []any{ (*RemoveMachineRequest)(nil), // 6: api.RemoveMachineRequest (*Domain)(nil), // 7: api.Domain (*ReserveDomainRequest)(nil), // 8: api.ReserveDomainRequest - (*CreateDomainRecordsRequest)(nil), // 9: api.CreateDomainRecordsRequest - (*CreateDomainRecordsResponse)(nil), // 10: api.CreateDomainRecordsResponse - (*DNSRecord)(nil), // 11: api.DNSRecord - (*NetworkConfig)(nil), // 12: api.NetworkConfig - (*IP)(nil), // 13: api.IP - (*MachineInfo)(nil), // 14: api.MachineInfo - (*emptypb.Empty)(nil), // 15: google.protobuf.Empty + (*SetDomainRequest)(nil), // 9: api.SetDomainRequest + (*CreateDomainRecordsRequest)(nil), // 10: api.CreateDomainRecordsRequest + (*CreateDomainRecordsResponse)(nil), // 11: api.CreateDomainRecordsResponse + (*DNSRecord)(nil), // 12: api.DNSRecord + (*NetworkConfig)(nil), // 13: api.NetworkConfig + (*IP)(nil), // 14: api.IP + (*MachineInfo)(nil), // 15: api.MachineInfo + (*emptypb.Empty)(nil), // 16: google.protobuf.Empty } -<<<<<<< HEAD:api/pb/cluster.pb.go var file_api_pb_cluster_proto_depIdxs = []int32{ - 12, // 0: api.AddMachineRequest.network:type_name -> api.NetworkConfig - 13, // 1: api.AddMachineRequest.public_ip:type_name -> api.IP - 14, // 2: api.AddMachineResponse.machine:type_name -> api.MachineInfo - 14, // 3: api.MachineMember.machine:type_name -> api.MachineInfo -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -var file_internal_machine_api_pb_cluster_proto_depIdxs = []int32{ - 12, // 0: api.AddMachineRequest.network:type_name -> api.NetworkConfig - 13, // 1: api.AddMachineRequest.public_ip:type_name -> api.IP - 14, // 2: api.AddMachineResponse.machine:type_name -> api.MachineInfo - 14, // 3: api.MachineMember.machine:type_name -> api.MachineInfo -======= -var file_internal_machine_api_pb_cluster_proto_depIdxs = []int32{ -<<<<<<< HEAD:api/pb/cluster.pb.go - 15, // 0: api.AddMachineRequest.network:type_name -> api.NetworkConfig - 16, // 1: api.AddMachineRequest.public_ip:type_name -> api.IP - 17, // 2: api.AddMachineResponse.machine:type_name -> api.MachineInfo - 17, // 3: api.MachineMember.machine:type_name -> api.MachineInfo ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - 15, // 0: api.AddMachineRequest.network:type_name -> api.NetworkConfig - 16, // 1: api.AddMachineRequest.public_ip:type_name -> api.IP - 17, // 2: api.AddMachineResponse.machine:type_name -> api.MachineInfo - 17, // 3: api.MachineMember.machine:type_name -> api.MachineInfo -======= - 12, // 0: api.AddMachineRequest.network:type_name -> api.NetworkConfig - 13, // 1: api.AddMachineRequest.public_ip:type_name -> api.IP - 14, // 2: api.AddMachineResponse.machine:type_name -> api.MachineInfo - 14, // 3: api.MachineMember.machine:type_name -> api.MachineInfo ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go + 13, // 0: api.AddMachineRequest.network:type_name -> api.NetworkConfig + 14, // 1: api.AddMachineRequest.public_ip:type_name -> api.IP + 15, // 2: api.AddMachineResponse.machine:type_name -> api.MachineInfo + 15, // 3: api.MachineMember.machine:type_name -> api.MachineInfo 0, // 4: api.MachineMember.state:type_name -> api.MachineMember.MembershipState 4, // 5: api.ListMachinesResponse.machines:type_name -> api.MachineMember - 11, // 6: api.CreateDomainRecordsRequest.records:type_name -> api.DNSRecord - 11, // 7: api.CreateDomainRecordsResponse.records:type_name -> api.DNSRecord + 12, // 6: api.CreateDomainRecordsRequest.records:type_name -> api.DNSRecord + 12, // 7: api.CreateDomainRecordsResponse.records:type_name -> api.DNSRecord 1, // 8: api.DNSRecord.type:type_name -> api.DNSRecord.RecordType 2, // 9: api.Cluster.AddMachine:input_type -> api.AddMachineRequest - 15, // 10: api.Cluster.ListMachines:input_type -> google.protobuf.Empty + 16, // 10: api.Cluster.ListMachines:input_type -> google.protobuf.Empty 6, // 11: api.Cluster.RemoveMachine:input_type -> api.RemoveMachineRequest 8, // 12: api.Cluster.ReserveDomain:input_type -> api.ReserveDomainRequest - 15, // 13: api.Cluster.GetDomain:input_type -> google.protobuf.Empty - 15, // 14: api.Cluster.ReleaseDomain:input_type -> google.protobuf.Empty - 9, // 15: api.Cluster.CreateDomainRecords:input_type -> api.CreateDomainRecordsRequest - 3, // 16: api.Cluster.AddMachine:output_type -> api.AddMachineResponse - 5, // 17: api.Cluster.ListMachines:output_type -> api.ListMachinesResponse - 15, // 18: api.Cluster.RemoveMachine:output_type -> google.protobuf.Empty - 7, // 19: api.Cluster.ReserveDomain:output_type -> api.Domain - 7, // 20: api.Cluster.GetDomain:output_type -> api.Domain - 7, // 21: api.Cluster.ReleaseDomain:output_type -> api.Domain - 10, // 22: api.Cluster.CreateDomainRecords:output_type -> api.CreateDomainRecordsResponse - 16, // [16:23] is the sub-list for method output_type - 9, // [9:16] is the sub-list for method input_type + 9, // 13: api.Cluster.SetDomain:input_type -> api.SetDomainRequest + 16, // 14: api.Cluster.GetDomain:input_type -> google.protobuf.Empty + 16, // 15: api.Cluster.ReleaseDomain:input_type -> google.protobuf.Empty + 10, // 16: api.Cluster.CreateDomainRecords:input_type -> api.CreateDomainRecordsRequest + 3, // 17: api.Cluster.AddMachine:output_type -> api.AddMachineResponse + 5, // 18: api.Cluster.ListMachines:output_type -> api.ListMachinesResponse + 16, // 19: api.Cluster.RemoveMachine:output_type -> google.protobuf.Empty + 7, // 20: api.Cluster.ReserveDomain:output_type -> api.Domain + 7, // 21: api.Cluster.SetDomain:output_type -> api.Domain + 7, // 22: api.Cluster.GetDomain:output_type -> api.Domain + 7, // 23: api.Cluster.ReleaseDomain:output_type -> api.Domain + 11, // 24: api.Cluster.CreateDomainRecords:output_type -> api.CreateDomainRecordsResponse + 17, // [17:25] is the sub-list for method output_type + 9, // [9:17] is the sub-list for method input_type 9, // [9:9] is the sub-list for extension type_name 9, // [9:9] is the sub-list for extension extendee 0, // [0:9] is the sub-list for field type_name @@ -1494,17 +909,8 @@ func file_api_pb_cluster_proto_init() { return nil } } -<<<<<<< HEAD:api/pb/cluster.pb.go file_api_pb_cluster_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*RemoveMachineRequest); i { -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - file_internal_machine_api_pb_cluster_proto_msgTypes[4].Exporter = func(v any, i int) any { - switch v := v.(*RemoveMachineRequest); i { -======= - file_internal_machine_api_pb_cluster_proto_msgTypes[4].Exporter = func(v any, i int) any { -<<<<<<< HEAD:api/pb/cluster.pb.go - switch v := v.(*UpdateMachineRequest); i { ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go case 0: return &v.state case 1: @@ -1515,16 +921,8 @@ func file_api_pb_cluster_proto_init() { return nil } } -<<<<<<< HEAD:api/pb/cluster.pb.go file_api_pb_cluster_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*Domain); i { -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - file_internal_machine_api_pb_cluster_proto_msgTypes[5].Exporter = func(v any, i int) any { - switch v := v.(*Domain); i { -======= - file_internal_machine_api_pb_cluster_proto_msgTypes[5].Exporter = func(v any, i int) any { - switch v := v.(*UpdateMachineResponse); i { ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go case 0: return &v.state case 1: @@ -1535,16 +933,8 @@ func file_api_pb_cluster_proto_init() { return nil } } -<<<<<<< HEAD:api/pb/cluster.pb.go file_api_pb_cluster_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*ReserveDomainRequest); i { -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - file_internal_machine_api_pb_cluster_proto_msgTypes[6].Exporter = func(v any, i int) any { - switch v := v.(*ReserveDomainRequest); i { -======= - file_internal_machine_api_pb_cluster_proto_msgTypes[6].Exporter = func(v any, i int) any { -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - switch v := v.(*UpdateMachineRequest); i { case 0: return &v.state case 1: @@ -1555,49 +945,8 @@ func file_api_pb_cluster_proto_init() { return nil } } - file_internal_machine_api_pb_cluster_proto_msgTypes[5].Exporter = func(v any, i int) any { - switch v := v.(*UpdateMachineResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_internal_machine_api_pb_cluster_proto_msgTypes[6].Exporter = func(v any, i int) any { -======= ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go - switch v := v.(*RemoveMachineRequest); i { ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go file_api_pb_cluster_proto_msgTypes[7].Exporter = func(v any, i int) any { - switch v := v.(*CreateDomainRecordsRequest); i { -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - file_internal_machine_api_pb_cluster_proto_msgTypes[7].Exporter = func(v any, i int) any { - switch v := v.(*CreateDomainRecordsRequest); i { -======= - file_internal_machine_api_pb_cluster_proto_msgTypes[7].Exporter = func(v any, i int) any { -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - file_internal_machine_api_pb_cluster_proto_msgTypes[7].Exporter = func(v any, i int) any { -======= - file_internal_machine_api_pb_cluster_proto_msgTypes[5].Exporter = func(v any, i int) any { ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go - switch v := v.(*Domain); i { ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go + switch v := v.(*SetDomainRequest); i { case 0: return &v.state case 1: @@ -1608,68 +957,7 @@ func file_api_pb_cluster_proto_init() { return nil } } -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go file_api_pb_cluster_proto_msgTypes[8].Exporter = func(v any, i int) any { - switch v := v.(*CreateDomainRecordsResponse); i { -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - file_internal_machine_api_pb_cluster_proto_msgTypes[8].Exporter = func(v any, i int) any { - switch v := v.(*CreateDomainRecordsResponse); i { -======= - file_internal_machine_api_pb_cluster_proto_msgTypes[8].Exporter = func(v any, i int) any { -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - file_internal_machine_api_pb_cluster_proto_msgTypes[8].Exporter = func(v any, i int) any { -======= - file_internal_machine_api_pb_cluster_proto_msgTypes[6].Exporter = func(v any, i int) any { ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go - switch v := v.(*ReserveDomainRequest); i { ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } -<<<<<<< HEAD:api/pb/cluster.pb.go -<<<<<<< HEAD:api/pb/cluster.pb.go - file_api_pb_cluster_proto_msgTypes[9].Exporter = func(v any, i int) any { -||||||| parent of bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go - file_internal_machine_api_pb_cluster_proto_msgTypes[9].Exporter = func(v any, i int) any { -======= - file_internal_machine_api_pb_cluster_proto_msgTypes[9].Exporter = func(v any, i int) any { - switch v := v.(*SetDomainRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_internal_machine_api_pb_cluster_proto_msgTypes[10].Exporter = func(v any, i int) any { -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - file_internal_machine_api_pb_cluster_proto_msgTypes[9].Exporter = func(v any, i int) any { - switch v := v.(*SetDomainRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_internal_machine_api_pb_cluster_proto_msgTypes[10].Exporter = func(v any, i int) any { -======= - file_internal_machine_api_pb_cluster_proto_msgTypes[7].Exporter = func(v any, i int) any { ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go switch v := v.(*CreateDomainRecordsRequest); i { case 0: return &v.state @@ -1681,7 +969,7 @@ func file_api_pb_cluster_proto_init() { return nil } } - file_internal_machine_api_pb_cluster_proto_msgTypes[8].Exporter = func(v any, i int) any { + file_api_pb_cluster_proto_msgTypes[9].Exporter = func(v any, i int) any { switch v := v.(*CreateDomainRecordsResponse); i { case 0: return &v.state @@ -1693,14 +981,7 @@ func file_api_pb_cluster_proto_init() { return nil } } -<<<<<<< HEAD:api/pb/cluster.pb.go - file_internal_machine_api_pb_cluster_proto_msgTypes[12].Exporter = func(v any, i int) any { ->>>>>>> bbbdfd4 (feat: add uc dns set):internal/machine/api/pb/cluster.pb.go -||||||| parent of 062f862 (from main):internal/machine/api/pb/cluster.pb.go - file_internal_machine_api_pb_cluster_proto_msgTypes[12].Exporter = func(v any, i int) any { -======= - file_internal_machine_api_pb_cluster_proto_msgTypes[9].Exporter = func(v any, i int) any { ->>>>>>> 062f862 (from main):internal/machine/api/pb/cluster.pb.go + file_api_pb_cluster_proto_msgTypes[10].Exporter = func(v any, i int) any { switch v := v.(*DNSRecord); i { case 0: return &v.state @@ -1719,7 +1000,7 @@ func file_api_pb_cluster_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_api_pb_cluster_proto_rawDesc, NumEnums: 2, - NumMessages: 10, + NumMessages: 11, NumExtensions: 0, NumServices: 1, }, From b28c45802992d0489d0fee34111c2dfac8e106d8 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Tue, 15 Sep 2026 14:39:48 +0200 Subject: [PATCH 09/11] Rebase and fix Signed-off-by: Miek Gieben --- cmd/uc/dns/set.go | 2 +- internal/machine/api/pb/cluster.pb.go | 1020 ------------------------- 2 files changed, 1 insertion(+), 1021 deletions(-) delete mode 100644 internal/machine/api/pb/cluster.pb.go diff --git a/cmd/uc/dns/set.go b/cmd/uc/dns/set.go index 1b5597d0..b737f7c2 100644 --- a/cmd/uc/dns/set.go +++ b/cmd/uc/dns/set.go @@ -6,8 +6,8 @@ import ( "fmt" "github.com/miekg/dns" + "github.com/psviderski/uncloud/api/pb" "github.com/psviderski/uncloud/internal/cli" - "github.com/psviderski/uncloud/internal/machine/api/pb" "github.com/spf13/cobra" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" diff --git a/internal/machine/api/pb/cluster.pb.go b/internal/machine/api/pb/cluster.pb.go deleted file mode 100644 index 61b79970..00000000 --- a/internal/machine/api/pb/cluster.pb.go +++ /dev/null @@ -1,1020 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.34.2 -// protoc v5.27.3 -// source: internal/machine/api/pb/cluster.proto - -package pb - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - emptypb "google.golang.org/protobuf/types/known/emptypb" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type MachineMember_MembershipState int32 - -const ( - MachineMember_UNKNOWN MachineMember_MembershipState = 0 - // The member is active. - MachineMember_UP MachineMember_MembershipState = 1 - // The member is active, but at least one cluster member suspects its down. For all purposes, - // a SUSPECT member is treated as if it were UP until either it refutes the suspicion (becoming UP) - // or fails to do so (being declared DOWN). - MachineMember_SUSPECT MachineMember_MembershipState = 2 - // The member is confirmed DOWN. - MachineMember_DOWN MachineMember_MembershipState = 3 -) - -// Enum value maps for MachineMember_MembershipState. -var ( - MachineMember_MembershipState_name = map[int32]string{ - 0: "UNKNOWN", - 1: "UP", - 2: "SUSPECT", - 3: "DOWN", - } - MachineMember_MembershipState_value = map[string]int32{ - "UNKNOWN": 0, - "UP": 1, - "SUSPECT": 2, - "DOWN": 3, - } -) - -func (x MachineMember_MembershipState) Enum() *MachineMember_MembershipState { - p := new(MachineMember_MembershipState) - *p = x - return p -} - -func (x MachineMember_MembershipState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (MachineMember_MembershipState) Descriptor() protoreflect.EnumDescriptor { - return file_internal_machine_api_pb_cluster_proto_enumTypes[0].Descriptor() -} - -func (MachineMember_MembershipState) Type() protoreflect.EnumType { - return &file_internal_machine_api_pb_cluster_proto_enumTypes[0] -} - -func (x MachineMember_MembershipState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use MachineMember_MembershipState.Descriptor instead. -func (MachineMember_MembershipState) EnumDescriptor() ([]byte, []int) { - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{2, 0} -} - -type DNSRecord_RecordType int32 - -const ( - DNSRecord_UNSPECIFIED DNSRecord_RecordType = 0 - DNSRecord_A DNSRecord_RecordType = 1 - DNSRecord_AAAA DNSRecord_RecordType = 2 -) - -// Enum value maps for DNSRecord_RecordType. -var ( - DNSRecord_RecordType_name = map[int32]string{ - 0: "UNSPECIFIED", - 1: "A", - 2: "AAAA", - } - DNSRecord_RecordType_value = map[string]int32{ - "UNSPECIFIED": 0, - "A": 1, - "AAAA": 2, - } -) - -func (x DNSRecord_RecordType) Enum() *DNSRecord_RecordType { - p := new(DNSRecord_RecordType) - *p = x - return p -} - -func (x DNSRecord_RecordType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (DNSRecord_RecordType) Descriptor() protoreflect.EnumDescriptor { - return file_internal_machine_api_pb_cluster_proto_enumTypes[1].Descriptor() -} - -func (DNSRecord_RecordType) Type() protoreflect.EnumType { - return &file_internal_machine_api_pb_cluster_proto_enumTypes[1] -} - -func (x DNSRecord_RecordType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use DNSRecord_RecordType.Descriptor instead. -func (DNSRecord_RecordType) EnumDescriptor() ([]byte, []int) { - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{10, 0} -} - -type AddMachineRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Network *NetworkConfig `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"` - PublicIp *IP `protobuf:"bytes,3,opt,name=public_ip,json=publicIp,proto3" json:"public_ip,omitempty"` -} - -func (x *AddMachineRequest) Reset() { - *x = AddMachineRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddMachineRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddMachineRequest) ProtoMessage() {} - -func (x *AddMachineRequest) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddMachineRequest.ProtoReflect.Descriptor instead. -func (*AddMachineRequest) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{0} -} - -func (x *AddMachineRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *AddMachineRequest) GetNetwork() *NetworkConfig { - if x != nil { - return x.Network - } - return nil -} - -func (x *AddMachineRequest) GetPublicIp() *IP { - if x != nil { - return x.PublicIp - } - return nil -} - -type AddMachineResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Machine *MachineInfo `protobuf:"bytes,1,opt,name=machine,proto3" json:"machine,omitempty"` -} - -func (x *AddMachineResponse) Reset() { - *x = AddMachineResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddMachineResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddMachineResponse) ProtoMessage() {} - -func (x *AddMachineResponse) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddMachineResponse.ProtoReflect.Descriptor instead. -func (*AddMachineResponse) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{1} -} - -func (x *AddMachineResponse) GetMachine() *MachineInfo { - if x != nil { - return x.Machine - } - return nil -} - -type MachineMember struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Machine *MachineInfo `protobuf:"bytes,1,opt,name=machine,proto3" json:"machine,omitempty"` - State MachineMember_MembershipState `protobuf:"varint,2,opt,name=state,proto3,enum=api.MachineMember_MembershipState" json:"state,omitempty"` -} - -func (x *MachineMember) Reset() { - *x = MachineMember{} - if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MachineMember) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MachineMember) ProtoMessage() {} - -func (x *MachineMember) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MachineMember.ProtoReflect.Descriptor instead. -func (*MachineMember) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{2} -} - -func (x *MachineMember) GetMachine() *MachineInfo { - if x != nil { - return x.Machine - } - return nil -} - -func (x *MachineMember) GetState() MachineMember_MembershipState { - if x != nil { - return x.State - } - return MachineMember_UNKNOWN -} - -type ListMachinesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Machines []*MachineMember `protobuf:"bytes,1,rep,name=machines,proto3" json:"machines,omitempty"` -} - -func (x *ListMachinesResponse) Reset() { - *x = ListMachinesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListMachinesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListMachinesResponse) ProtoMessage() {} - -func (x *ListMachinesResponse) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListMachinesResponse.ProtoReflect.Descriptor instead. -func (*ListMachinesResponse) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{3} -} - -func (x *ListMachinesResponse) GetMachines() []*MachineMember { - if x != nil { - return x.Machines - } - return nil -} - -type RemoveMachineRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *RemoveMachineRequest) Reset() { - *x = RemoveMachineRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RemoveMachineRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RemoveMachineRequest) ProtoMessage() {} - -func (x *RemoveMachineRequest) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RemoveMachineRequest.ProtoReflect.Descriptor instead. -func (*RemoveMachineRequest) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{4} -} - -func (x *RemoveMachineRequest) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -type Domain struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` -} - -func (x *Domain) Reset() { - *x = Domain{} - if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Domain) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Domain) ProtoMessage() {} - -func (x *Domain) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Domain.ProtoReflect.Descriptor instead. -func (*Domain) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{5} -} - -func (x *Domain) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -type ReserveDomainRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` -} - -func (x *ReserveDomainRequest) Reset() { - *x = ReserveDomainRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ReserveDomainRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReserveDomainRequest) ProtoMessage() {} - -func (x *ReserveDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReserveDomainRequest.ProtoReflect.Descriptor instead. -func (*ReserveDomainRequest) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{6} -} - -func (x *ReserveDomainRequest) GetEndpoint() string { - if x != nil { - return x.Endpoint - } - return "" -} - -type SetDomainRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` -} - -func (x *SetDomainRequest) Reset() { - *x = SetDomainRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetDomainRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetDomainRequest) ProtoMessage() {} - -func (x *SetDomainRequest) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetDomainRequest.ProtoReflect.Descriptor instead. -func (*SetDomainRequest) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{7} -} - -func (x *SetDomainRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -type CreateDomainRecordsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Records []*DNSRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` -} - -func (x *CreateDomainRecordsRequest) Reset() { - *x = CreateDomainRecordsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateDomainRecordsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateDomainRecordsRequest) ProtoMessage() {} - -func (x *CreateDomainRecordsRequest) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateDomainRecordsRequest.ProtoReflect.Descriptor instead. -func (*CreateDomainRecordsRequest) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{8} -} - -func (x *CreateDomainRecordsRequest) GetRecords() []*DNSRecord { - if x != nil { - return x.Records - } - return nil -} - -type CreateDomainRecordsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Records []*DNSRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` -} - -func (x *CreateDomainRecordsResponse) Reset() { - *x = CreateDomainRecordsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateDomainRecordsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateDomainRecordsResponse) ProtoMessage() {} - -func (x *CreateDomainRecordsResponse) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CreateDomainRecordsResponse.ProtoReflect.Descriptor instead. -func (*CreateDomainRecordsResponse) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{9} -} - -func (x *CreateDomainRecordsResponse) GetRecords() []*DNSRecord { - if x != nil { - return x.Records - } - return nil -} - -type DNSRecord struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Type DNSRecord_RecordType `protobuf:"varint,2,opt,name=type,proto3,enum=api.DNSRecord_RecordType" json:"type,omitempty"` - Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` -} - -func (x *DNSRecord) Reset() { - *x = DNSRecord{} - if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DNSRecord) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DNSRecord) ProtoMessage() {} - -func (x *DNSRecord) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_cluster_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DNSRecord.ProtoReflect.Descriptor instead. -func (*DNSRecord) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_cluster_proto_rawDescGZIP(), []int{10} -} - -func (x *DNSRecord) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *DNSRecord) GetType() DNSRecord_RecordType { - if x != nil { - return x.Type - } - return DNSRecord_UNSPECIFIED -} - -func (x *DNSRecord) GetValues() []string { - if x != nil { - return x.Values - } - return nil -} - -var File_internal_machine_api_pb_cluster_proto protoreflect.FileDescriptor - -var file_internal_machine_api_pb_cluster_proto_rawDesc = []byte{ - 0x0a, 0x25, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1b, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, - 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x70, 0x62, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x25, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x24, 0x0a, - 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x07, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x50, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x49, 0x70, 0x22, 0x40, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x6d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x0d, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, - 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x07, 0x6d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, - 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x3d, 0x0a, - 0x0f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x06, 0x0a, - 0x02, 0x55, 0x50, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x53, 0x50, 0x45, 0x43, 0x54, - 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x22, 0x46, 0x0a, 0x14, - 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x06, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, 0x14, 0x52, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x26, - 0x0a, 0x10, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x47, - 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, - 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, - 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x09, 0x44, 0x4e, 0x53, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, - 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x22, 0x2e, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, - 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x05, 0x0a, 0x01, 0x41, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x41, 0x41, 0x41, 0x10, 0x02, - 0x32, 0xfb, 0x03, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0a, - 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x4c, - 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, - 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, - 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x12, 0x37, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x09, 0x53, - 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, - 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x09, - 0x47, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x34, - 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x37, - 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x73, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x73, 0x6b, 0x69, 0x2f, 0x75, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_internal_machine_api_pb_cluster_proto_rawDescOnce sync.Once - file_internal_machine_api_pb_cluster_proto_rawDescData = file_internal_machine_api_pb_cluster_proto_rawDesc -) - -func file_internal_machine_api_pb_cluster_proto_rawDescGZIP() []byte { - file_internal_machine_api_pb_cluster_proto_rawDescOnce.Do(func() { - file_internal_machine_api_pb_cluster_proto_rawDescData = protoimpl.X.CompressGZIP(file_internal_machine_api_pb_cluster_proto_rawDescData) - }) - return file_internal_machine_api_pb_cluster_proto_rawDescData -} - -var file_internal_machine_api_pb_cluster_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_internal_machine_api_pb_cluster_proto_msgTypes = make([]protoimpl.MessageInfo, 11) -var file_internal_machine_api_pb_cluster_proto_goTypes = []any{ - (MachineMember_MembershipState)(0), // 0: api.MachineMember.MembershipState - (DNSRecord_RecordType)(0), // 1: api.DNSRecord.RecordType - (*AddMachineRequest)(nil), // 2: api.AddMachineRequest - (*AddMachineResponse)(nil), // 3: api.AddMachineResponse - (*MachineMember)(nil), // 4: api.MachineMember - (*ListMachinesResponse)(nil), // 5: api.ListMachinesResponse - (*RemoveMachineRequest)(nil), // 6: api.RemoveMachineRequest - (*Domain)(nil), // 7: api.Domain - (*ReserveDomainRequest)(nil), // 8: api.ReserveDomainRequest - (*SetDomainRequest)(nil), // 9: api.SetDomainRequest - (*CreateDomainRecordsRequest)(nil), // 10: api.CreateDomainRecordsRequest - (*CreateDomainRecordsResponse)(nil), // 11: api.CreateDomainRecordsResponse - (*DNSRecord)(nil), // 12: api.DNSRecord - (*NetworkConfig)(nil), // 13: api.NetworkConfig - (*IP)(nil), // 14: api.IP - (*MachineInfo)(nil), // 15: api.MachineInfo - (*emptypb.Empty)(nil), // 16: google.protobuf.Empty -} -var file_internal_machine_api_pb_cluster_proto_depIdxs = []int32{ - 13, // 0: api.AddMachineRequest.network:type_name -> api.NetworkConfig - 14, // 1: api.AddMachineRequest.public_ip:type_name -> api.IP - 15, // 2: api.AddMachineResponse.machine:type_name -> api.MachineInfo - 15, // 3: api.MachineMember.machine:type_name -> api.MachineInfo - 0, // 4: api.MachineMember.state:type_name -> api.MachineMember.MembershipState - 4, // 5: api.ListMachinesResponse.machines:type_name -> api.MachineMember - 12, // 6: api.CreateDomainRecordsRequest.records:type_name -> api.DNSRecord - 12, // 7: api.CreateDomainRecordsResponse.records:type_name -> api.DNSRecord - 1, // 8: api.DNSRecord.type:type_name -> api.DNSRecord.RecordType - 2, // 9: api.Cluster.AddMachine:input_type -> api.AddMachineRequest - 16, // 10: api.Cluster.ListMachines:input_type -> google.protobuf.Empty - 6, // 11: api.Cluster.RemoveMachine:input_type -> api.RemoveMachineRequest - 8, // 12: api.Cluster.ReserveDomain:input_type -> api.ReserveDomainRequest - 9, // 13: api.Cluster.SetDomain:input_type -> api.SetDomainRequest - 16, // 14: api.Cluster.GetDomain:input_type -> google.protobuf.Empty - 16, // 15: api.Cluster.ReleaseDomain:input_type -> google.protobuf.Empty - 10, // 16: api.Cluster.CreateDomainRecords:input_type -> api.CreateDomainRecordsRequest - 3, // 17: api.Cluster.AddMachine:output_type -> api.AddMachineResponse - 5, // 18: api.Cluster.ListMachines:output_type -> api.ListMachinesResponse - 16, // 19: api.Cluster.RemoveMachine:output_type -> google.protobuf.Empty - 7, // 20: api.Cluster.ReserveDomain:output_type -> api.Domain - 7, // 21: api.Cluster.SetDomain:output_type -> api.Domain - 7, // 22: api.Cluster.GetDomain:output_type -> api.Domain - 7, // 23: api.Cluster.ReleaseDomain:output_type -> api.Domain - 11, // 24: api.Cluster.CreateDomainRecords:output_type -> api.CreateDomainRecordsResponse - 17, // [17:25] is the sub-list for method output_type - 9, // [9:17] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name -} - -func init() { file_internal_machine_api_pb_cluster_proto_init() } -func file_internal_machine_api_pb_cluster_proto_init() { - if File_internal_machine_api_pb_cluster_proto != nil { - return - } - file_internal_machine_api_pb_common_proto_init() - file_internal_machine_api_pb_machine_proto_init() - if !protoimpl.UnsafeEnabled { - file_internal_machine_api_pb_cluster_proto_msgTypes[0].Exporter = func(v any, i int) any { - switch v := v.(*AddMachineRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_internal_machine_api_pb_cluster_proto_msgTypes[1].Exporter = func(v any, i int) any { - switch v := v.(*AddMachineResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_internal_machine_api_pb_cluster_proto_msgTypes[2].Exporter = func(v any, i int) any { - switch v := v.(*MachineMember); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_internal_machine_api_pb_cluster_proto_msgTypes[3].Exporter = func(v any, i int) any { - switch v := v.(*ListMachinesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_internal_machine_api_pb_cluster_proto_msgTypes[4].Exporter = func(v any, i int) any { - switch v := v.(*RemoveMachineRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_internal_machine_api_pb_cluster_proto_msgTypes[5].Exporter = func(v any, i int) any { - switch v := v.(*Domain); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_internal_machine_api_pb_cluster_proto_msgTypes[6].Exporter = func(v any, i int) any { - switch v := v.(*ReserveDomainRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_internal_machine_api_pb_cluster_proto_msgTypes[7].Exporter = func(v any, i int) any { - switch v := v.(*SetDomainRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_internal_machine_api_pb_cluster_proto_msgTypes[8].Exporter = func(v any, i int) any { - switch v := v.(*CreateDomainRecordsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_internal_machine_api_pb_cluster_proto_msgTypes[9].Exporter = func(v any, i int) any { - switch v := v.(*CreateDomainRecordsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_internal_machine_api_pb_cluster_proto_msgTypes[10].Exporter = func(v any, i int) any { - switch v := v.(*DNSRecord); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_internal_machine_api_pb_cluster_proto_rawDesc, - NumEnums: 2, - NumMessages: 11, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_internal_machine_api_pb_cluster_proto_goTypes, - DependencyIndexes: file_internal_machine_api_pb_cluster_proto_depIdxs, - EnumInfos: file_internal_machine_api_pb_cluster_proto_enumTypes, - MessageInfos: file_internal_machine_api_pb_cluster_proto_msgTypes, - }.Build() - File_internal_machine_api_pb_cluster_proto = out.File - file_internal_machine_api_pb_cluster_proto_rawDesc = nil - file_internal_machine_api_pb_cluster_proto_goTypes = nil - file_internal_machine_api_pb_cluster_proto_depIdxs = nil -} From 9ee3ca15eb09fa6d46e2b69031c6041a8d6f5ec6 Mon Sep 17 00:00:00 2001 From: Pasha Sviderski Date: Fri, 25 Sep 2026 16:20:54 +1000 Subject: [PATCH 10/11] feat(dns): allow setting an externally managed cluster domain --- api/pb/cluster.pb.go | 140 ++++++++++-------- api/pb/cluster.proto | 6 +- api/pb/cluster_grpc.pb.go | 10 +- cmd/uc/caddy/deploy.go | 6 +- cmd/uc/dns/release.go | 1 + cmd/uc/dns/reserve.go | 3 +- cmd/uc/dns/root.go | 8 +- cmd/uc/dns/set.go | 38 +++-- cmd/uc/dns/show.go | 4 +- internal/machine/cluster/dns.go | 77 ++++++---- pkg/api/client.go | 2 +- pkg/api/dns.go | 8 + pkg/client/compose/deploy.go | 4 +- pkg/client/deploy/deploy.go | 4 +- pkg/client/dns.go | 27 +++- website/docs/9-cli-reference/uc.md | 2 +- website/docs/9-cli-reference/uc_dns.md | 8 +- .../docs/9-cli-reference/uc_dns_release.md | 2 +- .../docs/9-cli-reference/uc_dns_reserve.md | 2 +- website/docs/9-cli-reference/uc_dns_set.md | 15 +- website/docs/9-cli-reference/uc_dns_show.md | 2 +- 21 files changed, 233 insertions(+), 136 deletions(-) create mode 100644 pkg/api/dns.go diff --git a/api/pb/cluster.pb.go b/api/pb/cluster.pb.go index 677b3a81..8295a382 100644 --- a/api/pb/cluster.pb.go +++ b/api/pb/cluster.pb.go @@ -392,6 +392,9 @@ type Domain struct { unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Whether the domain is reserved in Uncloud DNS. Older daemons (<0.21) omit this field + // and only support reserved domains, so clients should treat absence as true. + Reserved *bool `protobuf:"varint,2,opt,name=reserved,proto3,oneof" json:"reserved,omitempty"` } func (x *Domain) Reset() { @@ -433,6 +436,13 @@ func (x *Domain) GetName() string { return "" } +func (x *Domain) GetReserved() bool { + if x != nil && x.Reserved != nil { + return *x.Reserved + } + return false +} + type ReserveDomainRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -485,6 +495,7 @@ type SetDomainRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // An externally managed domain name. Empty clears a manually set domain. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` } @@ -723,68 +734,72 @@ var file_api_pb_cluster_proto_rawDesc = []byte{ 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x14, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x06, 0x44, 0x6f, 0x6d, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4a, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x32, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x26, 0x0a, 0x10, 0x53, - 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, - 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x47, 0x0a, 0x1b, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x09, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x2e, 0x0a, - 0x0a, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, - 0x41, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x41, 0x41, 0x41, 0x10, 0x02, 0x32, 0xfb, 0x03, - 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0a, 0x41, 0x64, 0x64, - 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, - 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, - 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, - 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, - 0x37, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, - 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2f, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x44, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x65, 0x74, - 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x34, 0x0a, 0x0d, 0x52, - 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, - 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x12, 0x58, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, - 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x26, 0x5a, 0x24, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x73, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x73, 0x6b, 0x69, 0x2f, 0x75, 0x6e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x22, 0x32, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x26, 0x0a, 0x10, 0x53, 0x65, 0x74, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x46, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0x47, 0x0a, 0x1b, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x09, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x4e, 0x53, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x2e, 0x0a, 0x0a, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01, 0x41, 0x10, + 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x41, 0x41, 0x41, 0x10, 0x02, 0x32, 0x86, 0x04, 0x0a, 0x07, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x4d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, + 0x63, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0d, 0x52, 0x65, 0x6d, + 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x37, 0x0a, + 0x0d, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x44, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x3a, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x12, 0x30, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x34, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0b, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x58, 0x0a, 0x13, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x26, 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x70, 0x73, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x6b, 0x69, 0x2f, 0x75, 0x6e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -842,7 +857,7 @@ var file_api_pb_cluster_proto_depIdxs = []int32{ 5, // 18: api.Cluster.ListMachines:output_type -> api.ListMachinesResponse 16, // 19: api.Cluster.RemoveMachine:output_type -> google.protobuf.Empty 7, // 20: api.Cluster.ReserveDomain:output_type -> api.Domain - 7, // 21: api.Cluster.SetDomain:output_type -> api.Domain + 16, // 21: api.Cluster.SetDomain:output_type -> google.protobuf.Empty 7, // 22: api.Cluster.GetDomain:output_type -> api.Domain 7, // 23: api.Cluster.ReleaseDomain:output_type -> api.Domain 11, // 24: api.Cluster.CreateDomainRecords:output_type -> api.CreateDomainRecordsResponse @@ -994,6 +1009,7 @@ func file_api_pb_cluster_proto_init() { } } } + file_api_pb_cluster_proto_msgTypes[5].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/api/pb/cluster.proto b/api/pb/cluster.proto index c9269b0f..6956d578 100644 --- a/api/pb/cluster.proto +++ b/api/pb/cluster.proto @@ -14,7 +14,7 @@ service Cluster { rpc RemoveMachine(RemoveMachineRequest) returns (google.protobuf.Empty); rpc ReserveDomain(ReserveDomainRequest) returns (Domain); - rpc SetDomain(SetDomainRequest) returns (Domain); + rpc SetDomain(SetDomainRequest) returns (google.protobuf.Empty); rpc GetDomain(google.protobuf.Empty) returns (Domain); rpc ReleaseDomain(google.protobuf.Empty) returns (Domain); rpc CreateDomainRecords(CreateDomainRecordsRequest) returns (CreateDomainRecordsResponse); @@ -57,6 +57,9 @@ message RemoveMachineRequest { message Domain { string name = 1; + // Whether the domain is reserved in Uncloud DNS. Older daemons (<0.21) omit this field + // and only support reserved domains, so clients should treat absence as true. + optional bool reserved = 2; } message ReserveDomainRequest { @@ -64,6 +67,7 @@ message ReserveDomainRequest { } message SetDomainRequest { + // An externally managed domain name. Empty clears a manually set domain. string name = 1; } diff --git a/api/pb/cluster_grpc.pb.go b/api/pb/cluster_grpc.pb.go index 5ef40ded..b7b1bfa0 100644 --- a/api/pb/cluster_grpc.pb.go +++ b/api/pb/cluster_grpc.pb.go @@ -38,7 +38,7 @@ type ClusterClient interface { ListMachines(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListMachinesResponse, error) RemoveMachine(ctx context.Context, in *RemoveMachineRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) ReserveDomain(ctx context.Context, in *ReserveDomainRequest, opts ...grpc.CallOption) (*Domain, error) - SetDomain(ctx context.Context, in *SetDomainRequest, opts ...grpc.CallOption) (*Domain, error) + SetDomain(ctx context.Context, in *SetDomainRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) GetDomain(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Domain, error) ReleaseDomain(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*Domain, error) CreateDomainRecords(ctx context.Context, in *CreateDomainRecordsRequest, opts ...grpc.CallOption) (*CreateDomainRecordsResponse, error) @@ -92,9 +92,9 @@ func (c *clusterClient) ReserveDomain(ctx context.Context, in *ReserveDomainRequ return out, nil } -func (c *clusterClient) SetDomain(ctx context.Context, in *SetDomainRequest, opts ...grpc.CallOption) (*Domain, error) { +func (c *clusterClient) SetDomain(ctx context.Context, in *SetDomainRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) - out := new(Domain) + out := new(emptypb.Empty) err := c.cc.Invoke(ctx, Cluster_SetDomain_FullMethodName, in, out, cOpts...) if err != nil { return nil, err @@ -140,7 +140,7 @@ type ClusterServer interface { ListMachines(context.Context, *emptypb.Empty) (*ListMachinesResponse, error) RemoveMachine(context.Context, *RemoveMachineRequest) (*emptypb.Empty, error) ReserveDomain(context.Context, *ReserveDomainRequest) (*Domain, error) - SetDomain(context.Context, *SetDomainRequest) (*Domain, error) + SetDomain(context.Context, *SetDomainRequest) (*emptypb.Empty, error) GetDomain(context.Context, *emptypb.Empty) (*Domain, error) ReleaseDomain(context.Context, *emptypb.Empty) (*Domain, error) CreateDomainRecords(context.Context, *CreateDomainRecordsRequest) (*CreateDomainRecordsResponse, error) @@ -166,7 +166,7 @@ func (UnimplementedClusterServer) RemoveMachine(context.Context, *RemoveMachineR func (UnimplementedClusterServer) ReserveDomain(context.Context, *ReserveDomainRequest) (*Domain, error) { return nil, status.Errorf(codes.Unimplemented, "method ReserveDomain not implemented") } -func (UnimplementedClusterServer) SetDomain(context.Context, *SetDomainRequest) (*Domain, error) { +func (UnimplementedClusterServer) SetDomain(context.Context, *SetDomainRequest) (*emptypb.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method SetDomain not implemented") } func (UnimplementedClusterServer) GetDomain(context.Context, *emptypb.Empty) (*Domain, error) { diff --git a/cmd/uc/caddy/deploy.go b/cmd/uc/caddy/deploy.go index ebb3d2d3..02e5030a 100644 --- a/cmd/uc/caddy/deploy.go +++ b/cmd/uc/caddy/deploy.go @@ -202,6 +202,10 @@ func UpdateDomainRecords(ctx context.Context, clusterClient *client.Client, prog } return fmt.Errorf("get cluster domain: %w", err) } + if !domain.Reserved { + fmt.Printf("Skipping DNS records update as cluster domain '%s' is managed externally.\n", domain.Name) + return nil + } fmt.Println("Updating cluster domain records in Uncloud DNS to point to machines running caddy service...") // TODO: split the method into two: one to get the records and one to update them to ask for update confirmation. @@ -216,7 +220,7 @@ func UpdateDomainRecords(ctx context.Context, clusterClient *client.Client, prog if errors.Is(err, client.ErrNoReachableMachines) { fmt.Println() fmt.Printf("DNS records for domain '%s' could not be updated as there are no internet-reachable "+ - "machines running caddy containers.\n", domain) + "machines running caddy containers.\n", domain.Name) fmt.Println() fmt.Println("Possible solutions:") fmt.Println("- Ensure your machines have public IP addresses") diff --git a/cmd/uc/dns/release.go b/cmd/uc/dns/release.go index 6c8fb2da..8400cff9 100644 --- a/cmd/uc/dns/release.go +++ b/cmd/uc/dns/release.go @@ -37,6 +37,7 @@ func release(ctx context.Context, uncli *cli.CLI) error { if status.Convert(err).Code() == codes.NotFound { return errors.New("no domain reserved") } + return fmt.Errorf("release cluster domain: %w", err) } fmt.Printf("Released cluster domain: %s\n", domain.Name) diff --git a/cmd/uc/dns/reserve.go b/cmd/uc/dns/reserve.go index 7670a22f..794bb5e7 100644 --- a/cmd/uc/dns/reserve.go +++ b/cmd/uc/dns/reserve.go @@ -49,7 +49,8 @@ func reserve(ctx context.Context, uncli *cli.CLI, opts reserveOptions) error { domain, err := clusterClient.ReserveDomain(ctx, &pb.ReserveDomainRequest{Endpoint: opts.endpoint}) if err != nil { if status.Convert(err).Code() == codes.AlreadyExists { - return errors.New("domain already reserved") + return errors.New("cluster domain already configured, unset it with 'uc dns set \"\"' " + + "or release a reservation with 'uc dns release' first") } return err } diff --git a/cmd/uc/dns/root.go b/cmd/uc/dns/root.go index ab9c07e3..f7ef350f 100644 --- a/cmd/uc/dns/root.go +++ b/cmd/uc/dns/root.go @@ -7,11 +7,13 @@ import ( func NewRootCommand() *cobra.Command { cmd := &cobra.Command{ Use: "dns", - Short: "Manage cluster domain in Uncloud DNS.", - Long: "Manage cluster domain in Uncloud DNS.\n" + + Short: "Manage the cluster domain.", + Long: "Manage the cluster domain.\n" + "DNS commands allow you to reserve or release a unique 'xxxxxx.uncld.dev' domain for your " + "cluster. When reserved, Caddy service deployments will automatically update DNS records to route " + - "traffic to the services in the cluster.", + "traffic to the services in the cluster.\n\n" + + "EXPERIMENTAL: Use 'uc dns set' to configure an externally managed domain instead. " + + "Uncloud does not manage DNS records for manually set domains.", } cmd.AddCommand( NewReleaseCommand(), diff --git a/cmd/uc/dns/set.go b/cmd/uc/dns/set.go index b737f7c2..5047b18f 100644 --- a/cmd/uc/dns/set.go +++ b/cmd/uc/dns/set.go @@ -8,6 +8,7 @@ import ( "github.com/miekg/dns" "github.com/psviderski/uncloud/api/pb" "github.com/psviderski/uncloud/internal/cli" + "github.com/psviderski/uncloud/internal/cli/tui" "github.com/spf13/cobra" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -17,9 +18,14 @@ func NewSetCommand() *cobra.Command { cmd := &cobra.Command{ Use: "set DOMAIN_NAME", Args: cobra.ExactArgs(1), - Short: "Set a cluster domain directly in the cluster.", - Long: "Set a cluster domain directly in the cluster, bypassing Uncloud DNS. " + - "This assumes the DNS is externally set up.", + Short: "Set or unset an externally managed cluster domain (EXPERIMENTAL).", + Long: "EXPERIMENTAL: Set the cluster domain used to generate ingress hostnames for services.\n" + + "Configure wildcard DNS records for this domain with your DNS provider. " + + "Uncloud will not create, verify, update, or delete external DNS records.\n" + + "Pass an empty string to unset a manually set domain. " + + "Use 'uc dns release' to release a domain reserved in Uncloud DNS. " + + "Setting or unsetting the domain does not change existing service hostnames.", + Example: " uc dns set apps.example.com\n uc dns set \"\"", RunE: func(cmd *cobra.Command, args []string) error { uncli := cmd.Context().Value("cli").(*cli.CLI) return set(cmd.Context(), uncli, args[0]) @@ -30,10 +36,12 @@ func NewSetCommand() *cobra.Command { } func set(ctx context.Context, uncli *cli.CLI, name string) error { - labels, ok := dns.IsDomainName(name) - if !ok || labels < 3 { - return fmt.Errorf("domain '%s' is not a valid name", name) + if name != "" { + if labels, ok := dns.IsDomainName(name); !ok || labels < 2 { + return fmt.Errorf("invalid cluster domain %q: must be a valid domain name with at least two labels", name) + } } + tui.PrintWarning("Setting an externally managed cluster domain is experimental.") clusterClient, err := uncli.ConnectCluster(ctx) if err != nil { @@ -41,17 +49,21 @@ func set(ctx context.Context, uncli *cli.CLI, name string) error { } defer clusterClient.Close() - domain, err := clusterClient.SetDomain(ctx, &pb.SetDomainRequest{Name: name}) + _, err = clusterClient.SetDomain(ctx, &pb.SetDomainRequest{Name: name}) if err != nil { if status.Convert(err).Code() == codes.AlreadyExists { - return errors.New("domain already reserved") + return errors.New("cluster domain already configured, unset it with 'uc dns set \"\"' or " + + "release a reservation with 'uc dns release' first") } - return err + return fmt.Errorf("set cluster domain: %w", err) } - fmt.Printf("Set cluster domain: %s\n", domain.Name) - - // No need to update anything as the domain records pointing to this cluster should be wildcard, so all - // names already exist. + if name == "" { + fmt.Println("Unset cluster domain. External DNS records have not been changed.") + return nil + } + fmt.Printf("Set cluster domain: %s\n", name) + fmt.Println("DNS is managed externally. " + + "Configure wildcard DNS records pointing to machines running the Caddy service.") return nil } diff --git a/cmd/uc/dns/show.go b/cmd/uc/dns/show.go index b9a1fc64..3f03073b 100644 --- a/cmd/uc/dns/show.go +++ b/cmd/uc/dns/show.go @@ -33,11 +33,11 @@ func show(ctx context.Context, uncli *cli.CLI) error { domain, err := clusterClient.GetDomain(ctx) if err != nil { if errors.Is(err, api.ErrNotFound) { - return errors.New("no domain reserved") + return errors.New("no cluster domain configured") } return err } - fmt.Println(domain) + fmt.Println(domain.Name) return nil } diff --git a/internal/machine/cluster/dns.go b/internal/machine/cluster/dns.go index ffc9bb6c..2b16ef3a 100644 --- a/internal/machine/cluster/dns.go +++ b/internal/machine/cluster/dns.go @@ -4,20 +4,24 @@ import ( "context" "encoding/json" "errors" + "strings" + "github.com/miekg/dns" "github.com/psviderski/uncloud/api/pb" - "github.com/psviderski/uncloud/internal/dns" + undns "github.com/psviderski/uncloud/internal/dns" "github.com/psviderski/uncloud/internal/machine/store" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/emptypb" ) -// uncloudDNSKey is the key used to store the details of the reserved domain in the store. +// uncloudDNSKey stores the cluster domain and, when reserved, its Uncloud DNS credentials. const uncloudDNSKey = "uncloud_dns" type uncloudDNSDomain struct { // Endpoint is the API endpoint of the Uncloud DNS service where the domain is reserved. + // An empty endpoint means the domain is managed externally. Endpoint string Name string // TODO: encrypt the token in the store. @@ -34,14 +38,14 @@ func (c *Cluster) ReserveDomain(ctx context.Context, req *pb.ReserveDomainReques } if _, err := c.storedDomain(ctx); err == nil { - return nil, status.Errorf(codes.AlreadyExists, "domain already reserved") + return nil, status.Error(codes.AlreadyExists, "cluster domain already configured") } else { if s := status.Convert(err); s.Code() != codes.NotFound { return nil, err } } - dnsClient := dns.NewClient() + dnsClient := undns.NewClient() name, token, err := dnsClient.ReserveDomain(req.Endpoint) if err != nil { return nil, status.Error(codes.Internal, err.Error()) @@ -60,7 +64,7 @@ func (c *Cluster) ReserveDomain(ctx context.Context, req *pb.ReserveDomainReques return nil, status.Errorf(codes.Internal, "store reserved domain: %v", err) } - return &pb.Domain{Name: name}, nil + return &pb.Domain{Name: name, Reserved: proto.Bool(true)}, nil } func (c *Cluster) GetDomain(ctx context.Context, _ *emptypb.Empty) (*pb.Domain, error) { @@ -73,7 +77,7 @@ func (c *Cluster) GetDomain(ctx context.Context, _ *emptypb.Empty) (*pb.Domain, return nil, err } - return &pb.Domain{Name: domain.Name}, nil + return &pb.Domain{Name: domain.Name, Reserved: proto.Bool(domain.Endpoint != "")}, nil } func (c *Cluster) storedDomain(ctx context.Context) (uncloudDNSDomain, error) { @@ -103,33 +107,54 @@ func (c *Cluster) ReleaseDomain(ctx context.Context, _ *emptypb.Empty) (*pb.Doma if err != nil { return nil, err } + if domain.Endpoint == "" { + return nil, status.Error(codes.FailedPrecondition, + "cluster domain is set manually, use 'uc dns set \"\"' to unset it") + } if err = c.store.Delete(ctx, uncloudDNSKey); err != nil { return nil, status.Errorf(codes.Internal, "delete domain from store: %v", err) } // TODO: implement and call Uncloud DNS endpoint to release/delete the domain. - return &pb.Domain{Name: domain.Name}, nil + return &pb.Domain{Name: domain.Name, Reserved: proto.Bool(true)}, nil } -func (c *Cluster) SetDomain(ctx context.Context, req *pb.SetDomainRequest) (*pb.Domain, error) { +func (c *Cluster) SetDomain(ctx context.Context, req *pb.SetDomainRequest) (*emptypb.Empty, error) { if err := c.checkReady(); err != nil { return nil, err } - if _, err := c.storedDomain(ctx); err == nil { - return nil, status.Errorf(codes.AlreadyExists, "domain already reserved") - } else { - if s := status.Convert(err); s.Code() != codes.NotFound { - return nil, err + name := req.GetName() + if name != "" { + if labels, ok := dns.IsDomainName(name); !ok || labels < 2 { + return nil, status.Errorf(codes.InvalidArgument, + "invalid cluster domain '%s': must be a valid domain name with at least two labels", name) } } + name = strings.ToLower(strings.TrimSuffix(name, ".")) - domain := uncloudDNSDomain{ - Endpoint: "", - Name: req.Name, - Token: "", + existing, err := c.storedDomain(ctx) + if err != nil && status.Code(err) != codes.NotFound { + return nil, err } + if name == "" { + if err == nil { + if existing.Endpoint != "" { + return nil, status.Error(codes.FailedPrecondition, + "cluster domain is reserved in Uncloud DNS, use 'uc dns release' to release it") + } + if err := c.store.Delete(ctx, uncloudDNSKey); err != nil { + return nil, status.Errorf(codes.Internal, "unset cluster domain: %v", err) + } + } + return &emptypb.Empty{}, nil + } + if err == nil { + return nil, status.Error(codes.AlreadyExists, "cluster domain already configured") + } + + domain := uncloudDNSDomain{Name: name} domainJSON, err := json.Marshal(domain) if err != nil { return nil, status.Errorf(codes.Internal, "marshal set domain for store: %v", err) @@ -138,7 +163,7 @@ func (c *Cluster) SetDomain(ctx context.Context, req *pb.SetDomainRequest) (*pb. return nil, status.Errorf(codes.Internal, "store set domain: %v", err) } - return &pb.Domain{Name: req.Name}, nil + return &emptypb.Empty{}, nil } func (c *Cluster) CreateDomainRecords( @@ -153,16 +178,16 @@ func (c *Cluster) CreateDomainRecords( return nil, err } - if domain.Endpoint == "" { // uc dns set has set a name - return &pb.CreateDomainRecordsResponse{}, nil + if domain.Endpoint == "" { + return nil, status.Error(codes.FailedPrecondition, "cluster domain is not reserved in Uncloud DNS") } - dnsClient := dns.NewClient() - recordsReq := make([]dns.RecordRequest, len(req.Records)) + dnsClient := undns.NewClient() + recordsReq := make([]undns.RecordRequest, len(req.Records)) for i, r := range req.Records { - recordsReq[i] = dns.RecordRequest{ + recordsReq[i] = undns.RecordRequest{ Name: r.Name, - Type: dns.RecordType(r.Type.String()), + Type: undns.RecordType(r.Type.String()), Values: r.Values, } } @@ -182,9 +207,9 @@ func (c *Cluster) CreateDomainRecords( } switch r.Type { - case dns.RecordTypeA: + case undns.RecordTypeA: resp.Records[i].Type = pb.DNSRecord_A - case dns.RecordTypeAAAA: + case undns.RecordTypeAAAA: resp.Records[i].Type = pb.DNSRecord_AAAA } } diff --git a/pkg/api/client.go b/pkg/api/client.go index f8243f8a..8276dcf5 100644 --- a/pkg/api/client.go +++ b/pkg/api/client.go @@ -36,7 +36,7 @@ type ContainerClient interface { } type DNSClient interface { - GetDomain(ctx context.Context) (string, error) + GetDomain(ctx context.Context) (ClusterDomain, error) } type ImageClient interface { diff --git a/pkg/api/dns.go b/pkg/api/dns.go new file mode 100644 index 00000000..5f50f749 --- /dev/null +++ b/pkg/api/dns.go @@ -0,0 +1,8 @@ +package api + +// ClusterDomain is the domain name assigned to the cluster. +type ClusterDomain struct { + Name string + // Reserved reports whether the domain is reserved in Uncloud DNS or set and managed externally. + Reserved bool +} diff --git a/pkg/client/compose/deploy.go b/pkg/client/compose/deploy.go index 02bb6549..92d2b9ba 100644 --- a/pkg/client/compose/deploy.go +++ b/pkg/client/compose/deploy.go @@ -46,8 +46,8 @@ func NewDeploymentWithStrategy(ctx context.Context, cli Client, project *types.P return nil, fmt.Errorf("get cluster domain: %w", err) } resolver := &deploy.ServiceSpecResolver{ - // If the domain is not found (not reserved), an empty domain is used for the resolver. - ClusterDomain: domain, + // If no domain is configured, an empty domain is used for the resolver. + ClusterDomain: domain.Name, } return &Deployment{ diff --git a/pkg/client/deploy/deploy.go b/pkg/client/deploy/deploy.go index 73e3ea0d..4869c69e 100644 --- a/pkg/client/deploy/deploy.go +++ b/pkg/client/deploy/deploy.go @@ -306,8 +306,8 @@ func (d *Deployment) Plan(ctx context.Context) (ServicePlan, error) { return ServicePlan{}, fmt.Errorf("get cluster domain: %w", err) } specResolver := &ServiceSpecResolver{ - // If the domain is not found (not reserved), an empty domain is used for the resolver. - ClusterDomain: clusterDomain, + // If no domain is configured, an empty domain is used for the resolver. + ClusterDomain: clusterDomain.Name, } resolvedSpec, err := specResolver.Resolve(d.Spec) diff --git a/pkg/client/dns.go b/pkg/client/dns.go index 457a1a4f..0c13fe13 100644 --- a/pkg/client/dns.go +++ b/pkg/client/dns.go @@ -21,17 +21,21 @@ import ( "google.golang.org/grpc/status" ) -// GetDomain returns the cluster domain name or ErrNotFound if it hasn't been reserved yet. -func (cli *Client) GetDomain(ctx context.Context) (string, error) { +// GetDomain returns the cluster domain or api.ErrNotFound if none is configured. +func (cli *Client) GetDomain(ctx context.Context) (api.ClusterDomain, error) { domain, err := cli.ClusterClient.GetDomain(ctx, nil) if err != nil { - if status.Convert(err).Code() == codes.NotFound { - return "", api.ErrNotFound + if status.Code(err) == codes.NotFound { + return api.ClusterDomain{}, api.ErrNotFound } - return "", err + return api.ClusterDomain{}, err } - return domain.Name, nil + return api.ClusterDomain{ + Name: domain.Name, + // Older daemons (<0.21) omit Reserved and only support reserved domains. + Reserved: domain.Reserved == nil || domain.GetReserved(), + }, nil } var ErrNoReachableMachines = errors.New("no internet-reachable machines running service containers") @@ -39,8 +43,17 @@ var ErrNoReachableMachines = errors.New("no internet-reachable machines running // CreateIngressRecords verifies which machines running the specified service (typically Caddy) are reachable from // the internet, then creates DNS records for the cluster domain pointing to those machines. It tests each machine // by sending HTTP requests to their public IPs. Only machines that respond correctly with their machine ID are included -// in the resulting DNS configuration. Returns the created DNS records or an error. +// in the resulting DNS configuration. The domain must be reserved in Uncloud DNS. +// Returns the created DNS records or an error. func (cli *Client) CreateIngressRecords(ctx context.Context, serviceID string) ([]*pb.DNSRecord, error) { + domain, err := cli.GetDomain(ctx) + if err != nil { + return nil, fmt.Errorf("get cluster domain: %w", err) + } + if !domain.Reserved { + return nil, status.Error(codes.FailedPrecondition, "cluster domain is not reserved in Uncloud DNS") + } + svc, err := cli.InspectService(ctx, serviceID) if err != nil { return nil, fmt.Errorf("inspect service '%s': %w", serviceID, err) diff --git a/website/docs/9-cli-reference/uc.md b/website/docs/9-cli-reference/uc.md index feb32eee..3d8dc948 100644 --- a/website/docs/9-cli-reference/uc.md +++ b/website/docs/9-cli-reference/uc.md @@ -18,7 +18,7 @@ A CLI tool for managing Uncloud resources such as machines, services, and volume * [uc caddy](uc_caddy.md) - Manage Caddy reverse proxy service. * [uc ctx](uc_ctx.md) - Switch between different cluster contexts. Contains subcommands to manage contexts. * [uc deploy](uc_deploy.md) - Deploy services from a Compose file. -* [uc dns](uc_dns.md) - Manage cluster domain in Uncloud DNS. +* [uc dns](uc_dns.md) - Manage the cluster domain. * [uc exec](uc_exec.md) - Execute a command in a running service container. * [uc image](uc_image.md) - Manage images on machines in the cluster. * [uc images](uc_images.md) - List images on machines in the cluster. diff --git a/website/docs/9-cli-reference/uc_dns.md b/website/docs/9-cli-reference/uc_dns.md index b4519622..186b9c5d 100644 --- a/website/docs/9-cli-reference/uc_dns.md +++ b/website/docs/9-cli-reference/uc_dns.md @@ -1,12 +1,14 @@ # uc dns -Manage cluster domain in Uncloud DNS. +Manage the cluster domain. ## Synopsis -Manage cluster domain in Uncloud DNS. +Manage the cluster domain. DNS commands allow you to reserve or release a unique 'xxxxxx.uncld.dev' domain for your cluster. When reserved, Caddy service deployments will automatically update DNS records to route traffic to the services in the cluster. +EXPERIMENTAL: Use 'uc dns set' to configure an externally managed domain instead. Uncloud does not manage DNS records for manually set domains. + ## Options ``` @@ -27,6 +29,6 @@ DNS commands allow you to reserve or release a unique 'xxxxxx.uncld.dev' domain * [uc](uc.md) - A CLI tool for managing Uncloud resources such as machines, services, and volumes. * [uc dns release](uc_dns_release.md) - Release the reserved cluster domain. * [uc dns reserve](uc_dns_reserve.md) - Reserve a cluster domain in Uncloud DNS. -* [uc dns set](uc_dns_set.md) - Set a cluster domain directly in the cluster. +* [uc dns set](uc_dns_set.md) - Set or unset an externally managed cluster domain (EXPERIMENTAL). * [uc dns show](uc_dns_show.md) - Print the cluster domain name. diff --git a/website/docs/9-cli-reference/uc_dns_release.md b/website/docs/9-cli-reference/uc_dns_release.md index 455d0af0..e0b83664 100644 --- a/website/docs/9-cli-reference/uc_dns_release.md +++ b/website/docs/9-cli-reference/uc_dns_release.md @@ -23,5 +23,5 @@ uc dns release [flags] ## See also -* [uc dns](uc_dns.md) - Manage cluster domain in Uncloud DNS. +* [uc dns](uc_dns.md) - Manage the cluster domain. diff --git a/website/docs/9-cli-reference/uc_dns_reserve.md b/website/docs/9-cli-reference/uc_dns_reserve.md index 0f09e3f9..1462f78e 100644 --- a/website/docs/9-cli-reference/uc_dns_reserve.md +++ b/website/docs/9-cli-reference/uc_dns_reserve.md @@ -24,5 +24,5 @@ uc dns reserve [flags] ## See also -* [uc dns](uc_dns.md) - Manage cluster domain in Uncloud DNS. +* [uc dns](uc_dns.md) - Manage the cluster domain. diff --git a/website/docs/9-cli-reference/uc_dns_set.md b/website/docs/9-cli-reference/uc_dns_set.md index 634ca461..f19323c8 100644 --- a/website/docs/9-cli-reference/uc_dns_set.md +++ b/website/docs/9-cli-reference/uc_dns_set.md @@ -1,15 +1,24 @@ # uc dns set -Set a cluster domain directly in the cluster. +Set or unset an externally managed cluster domain (EXPERIMENTAL). ## Synopsis -Set a cluster domain directly in the cluster, bypassing Uncloud DNS. This assumes the DNS is externally set up. +EXPERIMENTAL: Set the cluster domain used to generate ingress hostnames for services. +Configure wildcard DNS records for this domain with your DNS provider. Uncloud will not create, verify, update, or delete external DNS records. +Pass an empty string to unset a manually set domain. Use 'uc dns release' to release a domain reserved in Uncloud DNS. Setting or unsetting the domain does not change existing service hostnames. ``` uc dns set DOMAIN_NAME [flags] ``` +## Examples + +``` + uc dns set apps.example.com + uc dns set "" +``` + ## Options ``` @@ -27,5 +36,5 @@ uc dns set DOMAIN_NAME [flags] ## See also -* [uc dns](uc_dns.md) - Manage cluster domain in Uncloud DNS. +* [uc dns](uc_dns.md) - Manage the cluster domain. diff --git a/website/docs/9-cli-reference/uc_dns_show.md b/website/docs/9-cli-reference/uc_dns_show.md index 9a7eaaf3..3e45553f 100644 --- a/website/docs/9-cli-reference/uc_dns_show.md +++ b/website/docs/9-cli-reference/uc_dns_show.md @@ -23,5 +23,5 @@ uc dns show [flags] ## See also -* [uc dns](uc_dns.md) - Manage cluster domain in Uncloud DNS. +* [uc dns](uc_dns.md) - Manage the cluster domain. From ebecf334d77c16435a6465b919b7725738ebeda2 Mon Sep 17 00:00:00 2001 From: Pasha Sviderski Date: Fri, 25 Sep 2026 17:24:13 +1000 Subject: [PATCH 11/11] chore(dns): require minimum server version 0.21 --- cmd/uc/dns/set.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmd/uc/dns/set.go b/cmd/uc/dns/set.go index 5047b18f..ff4c057d 100644 --- a/cmd/uc/dns/set.go +++ b/cmd/uc/dns/set.go @@ -9,8 +9,10 @@ import ( "github.com/psviderski/uncloud/api/pb" "github.com/psviderski/uncloud/internal/cli" "github.com/psviderski/uncloud/internal/cli/tui" + "github.com/psviderski/uncloud/internal/grpcversion" "github.com/spf13/cobra" "google.golang.org/grpc/codes" + "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" ) @@ -49,6 +51,7 @@ func set(ctx context.Context, uncli *cli.CLI, name string) error { } defer clusterClient.Close() + ctx = metadata.AppendToOutgoingContext(ctx, grpcversion.MetadataKeyMinServerVersion, "0.21.0") _, err = clusterClient.SetDomain(ctx, &pb.SetDomainRequest{Name: name}) if err != nil { if status.Convert(err).Code() == codes.AlreadyExists {