diff --git a/Makefile b/Makefile index f5042b2d..14ddda41 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ NS?=openfaas .PHONY: build-gateway build-gateway: - (cd gateway; docker buildx build --platform linux/amd64 -t $NS/gateway:latest-dev .) + (cd gateway; docker buildx build --platform linux/amd64 -t ${NS}/gateway:latest-dev .) # .PHONY: test-ci # test-ci: diff --git a/gateway/handlers/infohandler.go b/gateway/handlers/infohandler.go index daace8c4..99273aa3 100644 --- a/gateway/handlers/infohandler.go +++ b/gateway/handlers/infohandler.go @@ -11,6 +11,7 @@ import ( "io/ioutil" "net/http/httptest" + providerTypes "github.com/openfaas/faas-provider/types" "github.com/openfaas/faas/gateway/types" "github.com/openfaas/faas/gateway/version" ) @@ -24,8 +25,7 @@ func MakeInfoHandler(h http.Handler) http.HandlerFunc { defer upstreamCall.Body.Close() - provider := make(map[string]interface{}) - providerVersion := &types.VersionInfo{} + var provider *providerTypes.ProviderInfo upstreamBody, _ := ioutil.ReadAll(upstreamCall.Body) err := json.Unmarshal(upstreamBody, &provider) @@ -33,22 +33,14 @@ func MakeInfoHandler(h http.Handler) http.HandlerFunc { log.Printf("Error unmarshalling provider json from body %s. Error %s\n", upstreamBody, err.Error()) } - versionMap := provider["version"].(map[string]interface{}) - providerVersion.SHA = versionMap["sha"].(string) - providerVersion.Release = versionMap["release"].(string) - gatewayInfo := &types.GatewayInfo{ - Version: &types.VersionInfo{ + Version: &providerTypes.VersionInfo{ CommitMessage: version.GitCommitMessage, Release: version.BuildVersion(), SHA: version.GitCommitSHA, }, - Provider: &types.ProviderInfo{ - Version: providerVersion, - Name: provider["provider"].(string), - Orchestration: provider["orchestration"].(string), - }, - Arch: types.Arch, + Provider: provider, + Arch: types.Arch, } jsonOut, marshalErr := json.Marshal(gatewayInfo) diff --git a/gateway/types/inforequest.go b/gateway/types/inforequest.go index a07883be..12103703 100644 --- a/gateway/types/inforequest.go +++ b/gateway/types/inforequest.go @@ -1,25 +1,13 @@ package types +import providerTypes "github.com/openfaas/faas-provider/types" + // Platform architecture the gateway is running on var Arch string // GatewayInfo provides information about the gateway and it's connected components type GatewayInfo struct { - Provider *ProviderInfo `json:"provider"` - Version *VersionInfo `json:"version"` - Arch string `json:"arch"` -} - -// ProviderInfo provides information about the configured provider -type ProviderInfo struct { - Name string `json:"provider"` - Version *VersionInfo `json:"version"` - Orchestration string `json:"orchestration"` -} - -// VersionInfo provides the commit message, sha and release version number -type VersionInfo struct { - CommitMessage string `json:"commit_message,omitempty"` - SHA string `json:"sha"` - Release string `json:"release"` + Provider *providerTypes.ProviderInfo `json:"provider"` + Version *providerTypes.VersionInfo `json:"version"` + Arch string `json:"arch"` } diff --git a/gateway/vendor/modules.txt b/gateway/vendor/modules.txt index 88b80e0c..442b56d1 100644 --- a/gateway/vendor/modules.txt +++ b/gateway/vendor/modules.txt @@ -111,4 +111,4 @@ google.golang.org/protobuf/runtime/protoiface google.golang.org/protobuf/runtime/protoimpl google.golang.org/protobuf/types/known/anypb google.golang.org/protobuf/types/known/durationpb -google.golang.org/protobuf/types/known/timestamppb +google.golang.org/protobuf/types/known/timestamppb \ No newline at end of file