diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index fe6393d9233..ff0abace7e1 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -70,6 +70,7 @@ /public/app/features/provisioning @grafana/grafana-git-ui-sync-team /conf/provisioning/sample @grafana/grafana-git-ui-sync-team /pkg/registry/apis/provisioning @grafana/grafana-git-ui-sync-team +/scripts/parse-generated-api.ts @grafana/grafana-git-ui-sync-team /apps/alerting/ @grafana/alerting-backend @grafana/alerting-frontend /apps/playlist/ @grafana/grafana-app-platform-squad diff --git a/pkg/tests/apis/helper.go b/pkg/tests/apis/helper.go index 50bad1e1da7..8437ef1f82d 100644 --- a/pkg/tests/apis/helper.go +++ b/pkg/tests/apis/helper.go @@ -193,7 +193,7 @@ func (c *K8sTestHelper) VerifyStaticOpenAPISpec(gv schema.GroupVersion, fpath st body, err := os.ReadFile(fpath) if err == nil { specSaved := spec3.OpenAPI{} - err := specSaved.UnmarshalJSON(body) + err = specSaved.UnmarshalJSON(body) assert.NoError(c.t, err, "error reading") if !assert.Equal(c.t, specSaved, spec) { @@ -202,13 +202,13 @@ func (c *K8sTestHelper) VerifyStaticOpenAPISpec(gv schema.GroupVersion, fpath st } if err != nil { - pretty, err := json.MarshalIndent(spec, "", " ") - e2 := os.WriteFile(fpath, []byte(pretty), 0644) - if e2 != nil { - c.t.Errorf("error writing file: %s", e2.Error()) + pretty, _ := json.MarshalIndent(spec, "", " ") + err = os.WriteFile(fpath, pretty, 0644) + if err != nil { + require.NoError(c.t, err) } abs, _ := filepath.Abs(fpath) - c.t.Errorf("openapi spec has changed: %s (%s)", err.Error(), abs) + c.t.Errorf("openapi spec has changed: %s", abs) c.t.Fail() } } diff --git a/pkg/tests/apis/provisioning/testdata/openapi.json b/pkg/tests/apis/provisioning/testdata/openapi.json index debcea332bf..dc0dff70912 100644 --- a/pkg/tests/apis/provisioning/testdata/openapi.json +++ b/pkg/tests/apis/provisioning/testdata/openapi.json @@ -78,8 +78,8 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Job" + "kind": "Job", + "version": "v0alpha1" } }, "parameters": [ @@ -226,8 +226,8 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Job" + "kind": "Job", + "version": "v0alpha1" } }, "parameters": [ @@ -374,8 +374,8 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Job" + "kind": "Job", + "version": "v0alpha1" } }, "parameters": [ @@ -544,8 +544,8 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Repository" + "kind": "Repository", + "version": "v0alpha1" } }, "post": { @@ -658,8 +658,8 @@ "x-kubernetes-action": "post", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Repository" + "kind": "Repository", + "version": "v0alpha1" } }, "delete": { @@ -812,8 +812,8 @@ "x-kubernetes-action": "deletecollection", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Repository" + "kind": "Repository", + "version": "v0alpha1" } }, "parameters": [ @@ -870,8 +870,8 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Repository" + "kind": "Repository", + "version": "v0alpha1" } }, "put": { @@ -964,8 +964,8 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Repository" + "kind": "Repository", + "version": "v0alpha1" } }, "delete": { @@ -1066,8 +1066,8 @@ "x-kubernetes-action": "delete", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Repository" + "kind": "Repository", + "version": "v0alpha1" } }, "patch": { @@ -1184,8 +1184,8 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Repository" + "kind": "Repository", + "version": "v0alpha1" } }, "parameters": [ @@ -1242,8 +1242,8 @@ "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Job" + "kind": "Job", + "version": "v0alpha1" } }, "parameters": [ @@ -1336,8 +1336,8 @@ "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "ResourceWrapper" + "kind": "ResourceWrapper", + "version": "v0alpha1" } }, "parameters": [ @@ -1408,8 +1408,8 @@ "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "ResourceWrapper" + "kind": "ResourceWrapper", + "version": "v0alpha1" } }, "put": { @@ -1504,8 +1504,8 @@ "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "ResourceWrapper" + "kind": "ResourceWrapper", + "version": "v0alpha1" } }, "post": { @@ -1600,8 +1600,8 @@ "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "ResourceWrapper" + "kind": "ResourceWrapper", + "version": "v0alpha1" } }, "delete": { @@ -1656,8 +1656,8 @@ "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "ResourceWrapper" + "kind": "ResourceWrapper", + "version": "v0alpha1" } }, "parameters": [ @@ -1738,8 +1738,8 @@ "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "HistoryList" + "kind": "HistoryList", + "version": "v0alpha1" } }, "parameters": [ @@ -1810,8 +1810,8 @@ "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "HistoryList" + "kind": "HistoryList", + "version": "v0alpha1" } }, "parameters": [ @@ -1879,8 +1879,8 @@ "x-kubernetes-action": "get", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Repository" + "kind": "Repository", + "version": "v0alpha1" } }, "put": { @@ -1973,8 +1973,8 @@ "x-kubernetes-action": "put", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Repository" + "kind": "Repository", + "version": "v0alpha1" } }, "patch": { @@ -2091,8 +2091,8 @@ "x-kubernetes-action": "patch", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Repository" + "kind": "Repository", + "version": "v0alpha1" } }, "parameters": [ @@ -2149,8 +2149,8 @@ "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Job" + "kind": "Job", + "version": "v0alpha1" } }, "parameters": [ @@ -2227,8 +2227,8 @@ "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "TestResults" + "kind": "TestResults", + "version": "v0alpha1" } }, "parameters": [ @@ -2276,8 +2276,8 @@ "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "WebhookResponse" + "kind": "WebhookResponse", + "version": "v0alpha1" } }, "post": { @@ -2301,8 +2301,8 @@ "x-kubernetes-action": "connect", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "WebhookResponse" + "kind": "WebhookResponse", + "version": "v0alpha1" } }, "parameters": [ @@ -2370,8 +2370,8 @@ "x-kubernetes-action": "list", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Repository" + "kind": "Repository", + "version": "v0alpha1" } }, "parameters": [ @@ -2518,8 +2518,8 @@ "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Job" + "kind": "Job", + "version": "v0alpha1" } }, "parameters": [ @@ -2666,8 +2666,8 @@ "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Job" + "kind": "Job", + "version": "v0alpha1" } }, "parameters": [ @@ -2824,8 +2824,8 @@ "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Job" + "kind": "Job", + "version": "v0alpha1" } }, "parameters": [ @@ -2992,8 +2992,8 @@ "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Repository" + "kind": "Repository", + "version": "v0alpha1" } }, "parameters": [ @@ -3150,8 +3150,8 @@ "x-kubernetes-action": "watch", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Repository" + "kind": "Repository", + "version": "v0alpha1" } }, "parameters": [ @@ -3318,8 +3318,8 @@ "x-kubernetes-action": "watchlist", "x-kubernetes-group-version-kind": { "group": "provisioning.grafana.app", - "version": "v0alpha1", - "kind": "Repository" + "kind": "Repository", + "version": "v0alpha1" } }, "parameters": [