diff --git a/.github/workflows/go-tests.yml b/.github/workflows/go-tests.yml index 8ee00618..7914f7ef 100644 --- a/.github/workflows/go-tests.yml +++ b/.github/workflows/go-tests.yml @@ -12,6 +12,7 @@ on: paths: - ".github/**" - "**.go" + - "**.proto" - "go.*" - "Makefile" - "scripts/**" @@ -34,3 +35,27 @@ jobs: - name: Run tests run: make test timeout-minutes: 10 + + check-protobuf: + runs-on: ${{ matrix.os }} + timeout-minutes: 10 + strategy: + matrix: + # Run on more platforms so that mise lockfile checksums are checked/generated for all platforms. + # See https://github.com/jdx/mise/issues/4276 for details. + os: [ubuntu-latest, macos-latest] + steps: + - name: Checkout code + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + + - name: Install Mise + uses: jdx/mise-action@13abe502c30c1559a5c37dff303831bab82c9402 # v2.2.3 + with: + version: "2025.6.5" + + - name: Generate Protobuf files + run: | + make proto + # check if the generated files are up to date + git diff --exit-code || + (echo "Generated protobuf files are not up to date. Please run 'make proto' and commit the changes." && exit 1) diff --git a/.mise.lock b/.mise.lock new file mode 100644 index 00000000..a6e50d32 --- /dev/null +++ b/.mise.lock @@ -0,0 +1,31 @@ +[tools.go] +version = "1.23.10" +backend = "core:go" + +[tools.go.checksums] +"go1.23.10.darwin-arm64.tar.gz" = "sha256:25c64bfa8a8fd8e7f62fb54afa4354af8409a4bb2358c2699a1003b733e6fce5" +"go1.23.10.linux-amd64.tar.gz" = "sha256:535f9f81802499f2a7dbfa70abb8fda3793725fcc29460f719815f6e10b5fd60" + +[tools.protoc] +version = "27.3" +backend = "aqua:protocolbuffers/protobuf/protoc" + +[tools.protoc.checksums] +"protoc-27.3-linux-x86_64.zip" = "sha256:6dab2adab83f915126cab53540d48957c40e9e9023969c3e84d44bfb936c7741" +"protoc-27.3-osx-aarch_64.zip" = "sha256:b22116bd97cdbd7ea25346abe635a9df268515fe5ef5afa93cd9a68fc2513f84" + +[tools.protoc-gen-go] +version = "1.34.2" +backend = "aqua:protocolbuffers/protobuf-go/protoc-gen-go" + +[tools.protoc-gen-go.checksums] +"protoc-gen-go.v1.34.2.darwin.arm64.tar.gz" = "sha256:17aca7f948dbb624049030cf841e35895cf34183ba006e721247fdeb95ff2780" +"protoc-gen-go.v1.34.2.linux.amd64.tar.gz" = "sha256:b87bc134dee55576a842141bf0ed27761c635d746780fce5dee038c6dd16554f" + +[tools.protoc-gen-go-grpc] +version = "1.5.1" +backend = "aqua:grpc/grpc-go/protoc-gen-go-grpc" + +[tools.protoc-gen-go-grpc.checksums] +"protoc-gen-go-grpc.v1.5.1.darwin.arm64.tar.gz" = "sha256:d6083feb51dcfe59f26793e99ef01ef5eac68b64294ec2546711f614ac5878f3" +"protoc-gen-go-grpc.v1.5.1.linux.amd64.tar.gz" = "sha256:a6cac4ea731e54aea304ad44d704a69d1cdc82997084b33637e21a89dc9229d6" diff --git a/.mise.toml b/.mise.toml index d23908e9..88883a4a 100644 --- a/.mise.toml +++ b/.mise.toml @@ -1,5 +1,11 @@ +[settings] +experimental = true + [tools] go = "1.23" +protoc = "27.3" +protoc-gen-go = "1.34.2" +protoc-gen-go-grpc = "1.5.1" [env] _.file = ".env" diff --git a/Makefile b/Makefile index 03911945..8bcf3f5c 100644 --- a/Makefile +++ b/Makefile @@ -92,9 +92,3 @@ vet: .PHONY: docs-image-push docs-image: docker buildx build --push --platform linux/amd64,linux/arm64 -t "$(DOCS_IMAGE)" ./docs - -.PHONY: install-dev -install-dev: - go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.2 - go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.5.1 -# TODO: install a pinned protoc version diff --git a/internal/machine/api/pb/machine.pb.go b/internal/machine/api/pb/machine.pb.go index b0982a9b..ac589a74 100644 --- a/internal/machine/api/pb/machine.pb.go +++ b/internal/machine/api/pb/machine.pb.go @@ -21,63 +21,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type CheckPrerequisitesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Overall status of the checks. - Satisfied bool `protobuf:"varint,1,opt,name=satisfied,proto3" json:"satisfied,omitempty"` - // Error message if not satisfied (empty if all checks pass). - Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` -} - -func (x *CheckPrerequisitesResponse) Reset() { - *x = CheckPrerequisitesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_machine_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CheckPrerequisitesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CheckPrerequisitesResponse) ProtoMessage() {} - -func (x *CheckPrerequisitesResponse) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_machine_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 CheckPrerequisitesResponse.ProtoReflect.Descriptor instead. -func (*CheckPrerequisitesResponse) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_machine_proto_rawDescGZIP(), []int{0} -} - -func (x *CheckPrerequisitesResponse) GetSatisfied() bool { - if x != nil { - return x.Satisfied - } - return false -} - -func (x *CheckPrerequisitesResponse) GetError() string { - if x != nil { - return x.Error - } - return "" -} - type MachineInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -92,7 +35,7 @@ type MachineInfo struct { func (x *MachineInfo) Reset() { *x = MachineInfo{} if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_machine_proto_msgTypes[1] + mi := &file_internal_machine_api_pb_machine_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -105,7 +48,7 @@ func (x *MachineInfo) String() string { func (*MachineInfo) ProtoMessage() {} func (x *MachineInfo) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_machine_proto_msgTypes[1] + mi := &file_internal_machine_api_pb_machine_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -118,7 +61,7 @@ func (x *MachineInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use MachineInfo.ProtoReflect.Descriptor instead. func (*MachineInfo) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_machine_proto_rawDescGZIP(), []int{1} + return file_internal_machine_api_pb_machine_proto_rawDescGZIP(), []int{0} } func (x *MachineInfo) GetId() string { @@ -163,7 +106,7 @@ type NetworkConfig struct { func (x *NetworkConfig) Reset() { *x = NetworkConfig{} if protoimpl.UnsafeEnabled { - mi := &file_internal_machine_api_pb_machine_proto_msgTypes[2] + mi := &file_internal_machine_api_pb_machine_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -176,7 +119,7 @@ func (x *NetworkConfig) String() string { func (*NetworkConfig) ProtoMessage() {} func (x *NetworkConfig) ProtoReflect() protoreflect.Message { - mi := &file_internal_machine_api_pb_machine_proto_msgTypes[2] + mi := &file_internal_machine_api_pb_machine_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -189,7 +132,7 @@ func (x *NetworkConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use NetworkConfig.ProtoReflect.Descriptor instead. func (*NetworkConfig) Descriptor() ([]byte, []int) { - return file_internal_machine_api_pb_machine_proto_rawDescGZIP(), []int{2} + return file_internal_machine_api_pb_machine_proto_rawDescGZIP(), []int{1} } func (x *NetworkConfig) GetSubnet() *IPPrefix { @@ -220,6 +163,63 @@ func (x *NetworkConfig) GetPublicKey() []byte { return nil } +type CheckPrerequisitesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Overall status of the checks. + Satisfied bool `protobuf:"varint,1,opt,name=satisfied,proto3" json:"satisfied,omitempty"` + // Error message if not satisfied (empty if all checks pass). + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *CheckPrerequisitesResponse) Reset() { + *x = CheckPrerequisitesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_machine_api_pb_machine_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckPrerequisitesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckPrerequisitesResponse) ProtoMessage() {} + +func (x *CheckPrerequisitesResponse) ProtoReflect() protoreflect.Message { + mi := &file_internal_machine_api_pb_machine_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 CheckPrerequisitesResponse.ProtoReflect.Descriptor instead. +func (*CheckPrerequisitesResponse) Descriptor() ([]byte, []int) { + return file_internal_machine_api_pb_machine_proto_rawDescGZIP(), []int{2} +} + +func (x *CheckPrerequisitesResponse) GetSatisfied() bool { + if x != nil { + return x.Satisfied + } + return false +} + +func (x *CheckPrerequisitesResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + type InitClusterRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -697,31 +697,31 @@ var file_internal_machine_api_pb_machine_proto_rawDesc = []byte{ 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, 0x22, - 0x50, 0x0a, 0x1a, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x72, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x73, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x22, 0x85, 0x01, 0x0a, 0x0b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x18, 0x03, 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, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x50, 0x52, - 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x22, 0xae, 0x01, 0x0a, 0x0d, 0x4e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x06, 0x73, - 0x75, 0x62, 0x6e, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x49, 0x50, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, - 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x0d, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x49, 0x50, 0x52, 0x0c, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x70, - 0x12, 0x29, 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 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, 0x12, 0x1d, 0x0a, 0x0a, 0x70, - 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0xc3, 0x01, 0x0a, 0x12, 0x49, + 0x85, 0x01, 0x0a, 0x0b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x03, + 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, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x50, 0x52, 0x08, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x22, 0xae, 0x01, 0x0a, 0x0d, 0x4e, 0x65, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x06, 0x73, 0x75, 0x62, + 0x6e, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x49, 0x50, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x06, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, + 0x12, 0x2c, 0x0a, 0x0d, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x50, + 0x52, 0x0c, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x12, 0x29, + 0x0a, 0x09, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x03, 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, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, + 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x50, 0x0a, 0x1a, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x50, 0x72, 0x65, 0x72, 0x65, 0x71, 0x75, 0x69, 0x73, 0x69, 0x74, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, + 0x69, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x61, 0x74, 0x69, 0x73, + 0x66, 0x69, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xc3, 0x01, 0x0a, 0x12, 0x49, 0x6e, 0x69, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x4e, @@ -813,9 +813,9 @@ func file_internal_machine_api_pb_machine_proto_rawDescGZIP() []byte { var file_internal_machine_api_pb_machine_proto_msgTypes = make([]protoimpl.MessageInfo, 11) var file_internal_machine_api_pb_machine_proto_goTypes = []any{ - (*CheckPrerequisitesResponse)(nil), // 0: api.CheckPrerequisitesResponse - (*MachineInfo)(nil), // 1: api.MachineInfo - (*NetworkConfig)(nil), // 2: api.NetworkConfig + (*MachineInfo)(nil), // 0: api.MachineInfo + (*NetworkConfig)(nil), // 1: api.NetworkConfig + (*CheckPrerequisitesResponse)(nil), // 2: api.CheckPrerequisitesResponse (*InitClusterRequest)(nil), // 3: api.InitClusterRequest (*InitClusterResponse)(nil), // 4: api.InitClusterResponse (*JoinClusterRequest)(nil), // 5: api.JoinClusterRequest @@ -830,16 +830,16 @@ var file_internal_machine_api_pb_machine_proto_goTypes = []any{ (*emptypb.Empty)(nil), // 14: google.protobuf.Empty } var file_internal_machine_api_pb_machine_proto_depIdxs = []int32{ - 2, // 0: api.MachineInfo.network:type_name -> api.NetworkConfig + 1, // 0: api.MachineInfo.network:type_name -> api.NetworkConfig 11, // 1: api.MachineInfo.public_ip:type_name -> api.IP 12, // 2: api.NetworkConfig.subnet:type_name -> api.IPPrefix 11, // 3: api.NetworkConfig.management_ip:type_name -> api.IP 13, // 4: api.NetworkConfig.endpoints:type_name -> api.IPPort 12, // 5: api.InitClusterRequest.network:type_name -> api.IPPrefix 11, // 6: api.InitClusterRequest.public_ip:type_name -> api.IP - 1, // 7: api.InitClusterResponse.machine:type_name -> api.MachineInfo - 1, // 8: api.JoinClusterRequest.machine:type_name -> api.MachineInfo - 1, // 9: api.JoinClusterRequest.other_machines:type_name -> api.MachineInfo + 0, // 7: api.InitClusterResponse.machine:type_name -> api.MachineInfo + 0, // 8: api.JoinClusterRequest.machine:type_name -> api.MachineInfo + 0, // 9: api.JoinClusterRequest.other_machines:type_name -> api.MachineInfo 10, // 10: api.Service.containers:type_name -> api.Service.Container 7, // 11: api.InspectServiceResponse.service:type_name -> api.Service 14, // 12: api.Machine.CheckPrerequisites:input_type -> google.protobuf.Empty @@ -848,11 +848,11 @@ var file_internal_machine_api_pb_machine_proto_depIdxs = []int32{ 14, // 15: api.Machine.Token:input_type -> google.protobuf.Empty 14, // 16: api.Machine.Inspect:input_type -> google.protobuf.Empty 8, // 17: api.Machine.InspectService:input_type -> api.InspectServiceRequest - 0, // 18: api.Machine.CheckPrerequisites:output_type -> api.CheckPrerequisitesResponse + 2, // 18: api.Machine.CheckPrerequisites:output_type -> api.CheckPrerequisitesResponse 4, // 19: api.Machine.InitCluster:output_type -> api.InitClusterResponse 14, // 20: api.Machine.JoinCluster:output_type -> google.protobuf.Empty 6, // 21: api.Machine.Token:output_type -> api.TokenResponse - 1, // 22: api.Machine.Inspect:output_type -> api.MachineInfo + 0, // 22: api.Machine.Inspect:output_type -> api.MachineInfo 9, // 23: api.Machine.InspectService:output_type -> api.InspectServiceResponse 18, // [18:24] is the sub-list for method output_type 12, // [12:18] is the sub-list for method input_type @@ -869,18 +869,6 @@ func file_internal_machine_api_pb_machine_proto_init() { file_internal_machine_api_pb_common_proto_init() if !protoimpl.UnsafeEnabled { file_internal_machine_api_pb_machine_proto_msgTypes[0].Exporter = func(v any, i int) any { - switch v := v.(*CheckPrerequisitesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_internal_machine_api_pb_machine_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*MachineInfo); i { case 0: return &v.state @@ -892,7 +880,7 @@ func file_internal_machine_api_pb_machine_proto_init() { return nil } } - file_internal_machine_api_pb_machine_proto_msgTypes[2].Exporter = func(v any, i int) any { + file_internal_machine_api_pb_machine_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*NetworkConfig); i { case 0: return &v.state @@ -904,6 +892,18 @@ func file_internal_machine_api_pb_machine_proto_init() { return nil } } + file_internal_machine_api_pb_machine_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*CheckPrerequisitesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } file_internal_machine_api_pb_machine_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*InitClusterRequest); i { case 0: diff --git a/internal/machine/api/pb/machine_grpc.pb.go b/internal/machine/api/pb/machine_grpc.pb.go index 8b521d3f..eccd76a6 100644 --- a/internal/machine/api/pb/machine_grpc.pb.go +++ b/internal/machine/api/pb/machine_grpc.pb.go @@ -32,6 +32,7 @@ const ( // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type MachineClient interface { + // CheckPrerequisites verifies if the machine meets all necessary system requirements to participate in the cluster. CheckPrerequisites(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*CheckPrerequisitesResponse, error) InitCluster(ctx context.Context, in *InitClusterRequest, opts ...grpc.CallOption) (*InitClusterResponse, error) JoinCluster(ctx context.Context, in *JoinClusterRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) @@ -112,6 +113,7 @@ func (c *machineClient) InspectService(ctx context.Context, in *InspectServiceRe // All implementations must embed UnimplementedMachineServer // for forward compatibility. type MachineServer interface { + // CheckPrerequisites verifies if the machine meets all necessary system requirements to participate in the cluster. CheckPrerequisites(context.Context, *emptypb.Empty) (*CheckPrerequisitesResponse, error) InitCluster(context.Context, *InitClusterRequest) (*InitClusterResponse, error) JoinCluster(context.Context, *JoinClusterRequest) (*emptypb.Empty, error)