From a3d4d844e1b7decdfedb3311c19441dd4877b121 Mon Sep 17 00:00:00 2001 From: Steve Kuznetsov Date: Mon, 23 Feb 2026 20:20:43 -0700 Subject: [PATCH] tools/grafanactl: use sigs.k8s.io/yaml Signed-off-by: Steve Kuznetsov --- tools/grafanactl/config/config.go | 12 ++++++------ tools/grafanactl/go.mod | 3 ++- tools/grafanactl/go.sum | 7 +++++++ 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/tools/grafanactl/config/config.go b/tools/grafanactl/config/config.go index 161aba8..851a6ec 100644 --- a/tools/grafanactl/config/config.go +++ b/tools/grafanactl/config/config.go @@ -18,24 +18,24 @@ import ( "fmt" "os" - "gopkg.in/yaml.v3" + "sigs.k8s.io/yaml" ) // ObservabilityConfig represents the full observability configuration file type ObservabilityConfig struct { - GrafanaDashboards GrafanaDashboardsConfig `yaml:"grafana-dashboards"` + GrafanaDashboards GrafanaDashboardsConfig `json:"grafana-dashboards"` } // GrafanaDashboardsConfig represents the grafana-dashboards section type GrafanaDashboardsConfig struct { - AzureManagedFolders []string `yaml:"azureManagedFolders"` - DashboardFolders []DashboardFolder `yaml:"dashboardFolders"` + AzureManagedFolders []string `json:"azureManagedFolders"` + DashboardFolders []DashboardFolder `json:"dashboardFolders"` } // DashboardFolder represents a folder containing dashboards to sync type DashboardFolder struct { - Name string `yaml:"name"` - Path string `yaml:"path"` + Name string `json:"name"` + Path string `json:"path"` } // LoadFromFile reads and parses the observability config from a file diff --git a/tools/grafanactl/go.mod b/tools/grafanactl/go.mod index 41385e8..cde386f 100644 --- a/tools/grafanactl/go.mod +++ b/tools/grafanactl/go.mod @@ -11,7 +11,7 @@ require ( github.com/grafana-tools/sdk v0.0.0-20220919052116-6562121319fc github.com/hashicorp/go-retryablehttp v0.7.8 github.com/spf13/cobra v1.10.2 - gopkg.in/yaml.v3 v3.0.1 + sigs.k8s.io/yaml v1.6.0 ) require ( @@ -34,6 +34,7 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/rainycape/unidecode v0.0.0-20150907023854-cb7f23ec59be // indirect github.com/spf13/pflag v1.0.10 // indirect + go.yaml.in/yaml/v2 v2.4.3 // indirect golang.org/x/crypto v0.47.0 // indirect golang.org/x/net v0.49.0 // indirect golang.org/x/sys v0.40.0 // indirect diff --git a/tools/grafanactl/go.sum b/tools/grafanactl/go.sum index 49da6c7..237f761 100644 --- a/tools/grafanactl/go.sum +++ b/tools/grafanactl/go.sum @@ -45,6 +45,8 @@ github.com/gobwas/ws v1.2.1 h1:F2aeBZrm2NDsc7vbovKrWSogd4wvfAxg0FQ89/iqOTk= github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo= github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gosimple/slug v1.1.1 h1:fRu/digW+NMwBIP+RmviTK97Ho/bEj/C9swrCspN3D4= @@ -97,6 +99,9 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= +go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= +go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8= golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A= @@ -119,3 +124,5 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= k8s.io/apimachinery v0.35.1 h1:yxO6gV555P1YV0SANtnTjXYfiivaTPvCTKX6w6qdDsU= k8s.io/apimachinery v0.35.1/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns= +sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= +sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4=