Skip to content

Commit 10c6a7e

Browse files
committed
Fixes getServerVersion gql
Signed-off-by: nagesh bansal <[email protected]>
1 parent 3bac6d7 commit 10c6a7e

File tree

8 files changed

+92
-94
lines changed

8 files changed

+92
-94
lines changed

go.mod

+7-6
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ require (
1515
github.com/spf13/cobra v1.3.0
1616
github.com/spf13/viper v1.10.1
1717
gopkg.in/yaml.v2 v2.4.0
18-
k8s.io/api v0.26.0
19-
k8s.io/apimachinery v0.26.0
18+
k8s.io/api v0.27.3
19+
k8s.io/apimachinery v0.27.3
2020
k8s.io/client-go v12.0.0+incompatible
2121
sigs.k8s.io/yaml v1.3.0
2222
)
@@ -58,7 +58,7 @@ require (
5858
github.com/spf13/pflag v1.0.5 // indirect
5959
github.com/subosito/gotenv v1.2.0 // indirect
6060
golang.org/x/net v0.17.0 // indirect
61-
golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect
61+
golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b // indirect
6262
golang.org/x/sys v0.13.0 // indirect
6363
golang.org/x/term v0.13.0 // indirect
6464
golang.org/x/text v0.13.0 // indirect
@@ -70,10 +70,11 @@ require (
7070
gopkg.in/inf.v0 v0.9.1 // indirect
7171
gopkg.in/ini.v1 v1.66.3 // indirect
7272
gopkg.in/yaml.v3 v3.0.1 // indirect
73-
k8s.io/klog/v2 v2.80.1 // indirect
74-
k8s.io/kube-openapi v0.0.0-20220124234850-424119656bbf // indirect
75-
k8s.io/utils v0.0.0-20221107191617-1a15be271d1d // indirect
73+
k8s.io/klog/v2 v2.90.1 // indirect
74+
k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f // indirect
75+
k8s.io/utils v0.0.0-20230209194617-a36077c30491 // indirect
7676
sigs.k8s.io/controller-runtime v0.11.1 // indirect
77+
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
7778
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
7879
)
7980

go.sum

+20-36
Original file line numberDiff line numberDiff line change
@@ -135,19 +135,12 @@ github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V
135135
github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
136136
github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0=
137137
github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
138-
github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
139-
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
140-
github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
141-
github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
142-
github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
143-
github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
144-
github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs=
145-
github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns=
146-
github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
147-
github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
148-
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
149-
github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM=
150-
github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
138+
github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE=
139+
github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
140+
github.com/go-openapi/jsonreference v0.20.1 h1:FBLnyygC4/IZZr893oiomc9XaghoveYTrLC1F86HID8=
141+
github.com/go-openapi/jsonreference v0.20.1/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k=
142+
github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g=
143+
github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
151144
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
152145
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I=
153146
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
@@ -909,35 +902,26 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
909902
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
910903
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
911904
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
912-
k8s.io/api v0.21.2 h1:vz7DqmRsXTCSa6pNxXwQ1IYeAZgdIsua+DZU+o+SX3Y=
913-
k8s.io/api v0.21.2/go.mod h1:Lv6UGJZ1rlMI1qusN8ruAp9PUBFyBwpEHAdG24vIsiU=
914-
k8s.io/apimachinery v0.21.2 h1:vezUc/BHqWlQDnZ+XkrpXSmnANSLbpnlpwo0Lhk0gpc=
915-
k8s.io/apimachinery v0.21.2/go.mod h1:CdTY8fU/BlvAbJ2z/8kBwimGki5Zp8/fbVuLY8gJumM=
916-
k8s.io/client-go v0.21.2 h1:Q1j4L/iMN4pTw6Y4DWppBoUxgKO8LbffEMVEV00MUp0=
917-
k8s.io/client-go v0.21.2/go.mod h1:HdJ9iknWpbl3vMGtib6T2PyI/VYxiZfq936WNVHBRrA=
918-
k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
919-
k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
920-
k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
921-
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
922-
k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=
923-
k8s.io/klog/v2 v2.80.1 h1:atnLQ121W371wYYFawwYx1aEY2eUfs4l3J72wtgAwV4=
924-
k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
925-
k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7/go.mod h1:wXW5VT87nVfh/iLV8FpR2uDvrFyomxbtb1KivDbvPTE=
926-
k8s.io/kube-openapi v0.0.0-20220124234850-424119656bbf h1:M9XBsiMslw2lb2ZzglC0TOkBPK5NQi0/noUrdnoFwUg=
927-
k8s.io/kube-openapi v0.0.0-20220124234850-424119656bbf/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk=
928-
k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
929-
k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
930-
k8s.io/utils v0.0.0-20221107191617-1a15be271d1d h1:0Smp/HP1OH4Rvhe+4B8nWGERtlqAGSftbSbbmm45oFs=
931-
k8s.io/utils v0.0.0-20221107191617-1a15be271d1d/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
905+
k8s.io/api v0.27.3 h1:yR6oQXXnUEBWEWcvPWS0jQL575KoAboQPfJAuKNrw5Y=
906+
k8s.io/api v0.27.3/go.mod h1:C4BNvZnQOF7JA/0Xed2S+aUyJSfTGkGFxLXz9MnpIpg=
907+
k8s.io/apimachinery v0.27.3 h1:Ubye8oBufD04l9QnNtW05idcOe9Z3GQN8+7PqmuVcUM=
908+
k8s.io/apimachinery v0.27.3/go.mod h1:XNfZ6xklnMCOGGFNqXG7bUrQCoR04dh/E7FprV6pb+E=
909+
k8s.io/client-go v0.27.3 h1:7dnEGHZEJld3lYwxvLl7WoehK6lAq7GvgjxpA3nv1E8=
910+
k8s.io/client-go v0.27.3/go.mod h1:2MBEKuTo6V1lbKy3z1euEGnhPfGZLKTS9tiJ2xodM48=
911+
k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw=
912+
k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
913+
k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f h1:2kWPakN3i/k81b0gvD5C5FJ2kxm1WrQFanWchyKuqGg=
914+
k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f/go.mod h1:byini6yhqGC14c3ebc/QwanvYwhuMWF6yz2F8uwW8eg=
915+
k8s.io/utils v0.0.0-20230209194617-a36077c30491 h1:r0BAOLElQnnFhE/ApUsg3iHdVYYPBjNSSOMowRZxxsY=
916+
k8s.io/utils v0.0.0-20230209194617-a36077c30491/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
932917
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
933918
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
934919
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
935920
sigs.k8s.io/controller-runtime v0.11.1 h1:7YIHT2QnHJArj/dk9aUkYhfqfK5cIxPOX5gPECfdZLU=
936921
sigs.k8s.io/controller-runtime v0.11.1/go.mod h1:KKwLiTooNGu+JmLZGn9Sl3Gjmfj66eMbCQznLP5zcqA=
937-
sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=
938-
sigs.k8s.io/structured-merge-diff/v4 v4.1.0/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw=
922+
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
923+
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
939924
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
940925
sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E=
941-
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
942926
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
943927
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=

pkg/apis/experiment/experiment.go

-33
Original file line numberDiff line numberDiff line change
@@ -346,36 +346,3 @@ func DeleteChaosExperiment(projectID string, experimentID *string, cred types.Cr
346346
return DeleteChaosExperimentData{}, errors.New("Error while deleting the Chaos Experiment")
347347
}
348348
}
349-
350-
// GetServerVersion fetches the GQL server version
351-
func GetServerVersion(endpoint string) (ServerVersionResponse, error) {
352-
query := `{"query":"query{\n getServerVersion{\n key value\n }\n}"}`
353-
resp, err := apis.SendRequest(
354-
apis.SendRequestParams{
355-
Endpoint: endpoint + utils.GQLAPIPath,
356-
},
357-
[]byte(query),
358-
string(types.Post),
359-
)
360-
if err != nil {
361-
return ServerVersionResponse{}, err
362-
}
363-
bodyBytes, err := ioutil.ReadAll(resp.Body)
364-
defer resp.Body.Close()
365-
if err != nil {
366-
return ServerVersionResponse{}, err
367-
}
368-
if resp.StatusCode == http.StatusOK {
369-
var version ServerVersionResponse
370-
err = json.Unmarshal(bodyBytes, &version)
371-
if err != nil {
372-
return ServerVersionResponse{}, err
373-
}
374-
if len(version.Errors) > 0 {
375-
return ServerVersionResponse{}, errors.New(version.Errors[0].Message)
376-
}
377-
return version, nil
378-
} else {
379-
return ServerVersionResponse{}, errors.New(resp.Status)
380-
}
381-
}

pkg/apis/experiment/types.go

-17
Original file line numberDiff line numberDiff line change
@@ -94,20 +94,3 @@ type DeleteChaosExperimentGraphQLRequest struct {
9494
ExperimentRunID *string `json:"experimentRunID"`
9595
} `json:"variables"`
9696
}
97-
98-
type ServerVersionResponse struct {
99-
Data ServerVersionData `json:"data"`
100-
Errors []struct {
101-
Message string `json:"message"`
102-
Path []string `json:"path"`
103-
} `json:"errors"`
104-
}
105-
106-
type ServerVersionData struct {
107-
GetServerVersion GetServerVersionData `json:"getServerVersion"`
108-
}
109-
110-
type GetServerVersionData struct {
111-
Key string `json:"key"`
112-
Value string `json:"value"`
113-
}

pkg/apis/infrastructure/infra.go

+40
Original file line numberDiff line numberDiff line change
@@ -189,3 +189,43 @@ func DisconnectInfra(projectID string, infraID string, cred types.Credentials) (
189189
return DisconnectInfraData{}, err
190190
}
191191
}
192+
193+
// GetServerVersion fetches the GQL server version
194+
func GetServerVersion(endpoint string) (ServerVersionResponse, error) {
195+
var gqlReq ServerVersionRequest
196+
var err error
197+
198+
gqlReq.Query = ServerVersionQuery
199+
query, err := json.Marshal(gqlReq)
200+
if err != nil {
201+
return ServerVersionResponse{}, err
202+
}
203+
resp, err := apis.SendRequest(
204+
apis.SendRequestParams{
205+
Endpoint: endpoint + utils.GQLAPIPath,
206+
},
207+
query,
208+
string(types.Post),
209+
)
210+
if err != nil {
211+
return ServerVersionResponse{}, err
212+
}
213+
bodyBytes, err := ioutil.ReadAll(resp.Body)
214+
defer resp.Body.Close()
215+
if err != nil {
216+
return ServerVersionResponse{}, err
217+
}
218+
if resp.StatusCode == http.StatusOK {
219+
var version ServerVersionResponse
220+
err = json.Unmarshal(bodyBytes, &version)
221+
if err != nil {
222+
return ServerVersionResponse{}, err
223+
}
224+
if len(version.Errors) > 0 {
225+
return ServerVersionResponse{}, errors.New(version.Errors[0].Message)
226+
}
227+
return version, nil
228+
} else {
229+
return ServerVersionResponse{}, errors.New(resp.Status)
230+
}
231+
}

pkg/apis/infrastructure/query.go

+7
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,11 @@ const (
3030
}
3131
}
3232
}`
33+
34+
ServerVersionQuery = `query getServerVersion{
35+
getServerVersion{
36+
key
37+
value
38+
}
39+
}`
3340
)

pkg/apis/infrastructure/types.go

+16
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,19 @@ type DisconnectInfraGraphQLRequest struct {
6666
InfraID string `json:"infraID"`
6767
} `json:"variables"`
6868
}
69+
70+
type ServerVersionRequest struct {
71+
Query string `json:"query"`
72+
}
73+
74+
type ServerVersionResponse struct {
75+
Data ServerVersionData `json:"data"`
76+
Errors []struct {
77+
Message string `json:"message"`
78+
Path []string `json:"path"`
79+
} `json:"errors"`
80+
}
81+
82+
type ServerVersionData struct {
83+
GetServerVersion models.ServerVersionResponse `json:"getServerVersion"`
84+
}

pkg/cmd/config/setAccount.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import (
2222
"strings"
2323
"time"
2424

25-
"github.com/litmuschaos/litmusctl/pkg/apis/experiment"
25+
infra "github.com/litmuschaos/litmusctl/pkg/apis/infrastructure"
2626

2727
"github.com/golang-jwt/jwt"
2828
"github.com/litmuschaos/litmusctl/pkg/apis"
@@ -177,7 +177,7 @@ var setAccountCmd = &cobra.Command{
177177
utils.Red.Println("\nError: some flags are missing. Run 'litmusctl config set-account --help' for usage. ")
178178
}
179179

180-
serverResp, err := experiment.GetServerVersion(authInput.Endpoint)
180+
serverResp, err := infra.GetServerVersion(authInput.Endpoint)
181181
var isCompatible bool
182182
if err != nil {
183183
utils.Red.Println("\nError: ", err)

0 commit comments

Comments
 (0)