Use sigs.k8s.io/yaml instead of gopkg.in/yaml

Since we have a Kubernetes-specific fork of go-yaml, use that
consistently throughout the project. This doesn't eliminate the
dependencies on gopkg.in/yaml, which are still used indirectly; but it
ensures that the whole project benefits from fixes or changes to
sigs.k8s.io/yaml.

Signed-off-by: Stephen Kitt <skitt@redhat.com>
This commit is contained in:
Stephen Kitt 2024-10-07 14:27:52 +02:00
parent aca3214a70
commit f1fa4086b3
No known key found for this signature in database
GPG Key ID: 1CC5FA453662A71D
27 changed files with 33 additions and 34 deletions

View File

@ -25,10 +25,11 @@ import (
"github.com/spf13/cobra"
"github.com/spf13/pflag"
"gopkg.in/yaml.v2"
"k8s.io/cli-runtime/pkg/genericiooptions"
"k8s.io/kubectl/pkg/cmd"
"k8s.io/kubernetes/cmd/genutils"
yaml "sigs.k8s.io/yaml/goyaml.v2"
)
type cmdOption struct {

View File

@ -27,7 +27,7 @@ import (
"path/filepath"
"strings"
"gopkg.in/yaml.v2"
yaml "sigs.k8s.io/yaml/goyaml.v2"
)
// Package is a subset of cmd/go.Package

View File

@ -24,11 +24,11 @@ import (
"time"
"github.com/stretchr/testify/require"
"gopkg.in/yaml.v2"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/cmd/kubelet/app/options"
kubeletconfiginternal "k8s.io/kubernetes/pkg/kubelet/apis/config"
yaml "sigs.k8s.io/yaml/goyaml.v2"
)
func TestValueOfAllocatableResources(t *testing.T) {

View File

@ -22,7 +22,7 @@ import (
"io"
"os"
"gopkg.in/yaml.v3"
yaml "sigs.k8s.io/yaml/goyaml.v3"
)
func main() {

4
go.mod
View File

@ -86,8 +86,6 @@ require (
google.golang.org/protobuf v1.34.2
gopkg.in/evanphx/json-patch.v4 v4.12.0
gopkg.in/square/go-jose.v2 v2.6.0
gopkg.in/yaml.v2 v2.4.0
gopkg.in/yaml.v3 v3.0.1
k8s.io/api v0.0.0
k8s.io/apiextensions-apiserver v0.0.0
k8s.io/apimachinery v0.0.0
@ -221,6 +219,8 @@ require (
google.golang.org/genproto/googleapis/api v0.0.0-20240528184218-531527333157 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9 // indirect
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.30.3 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect

View File

@ -24,7 +24,6 @@ require (
google.golang.org/grpc v1.65.0
google.golang.org/protobuf v1.34.2
gopkg.in/evanphx/json-patch.v4 v4.12.0
gopkg.in/yaml.v2 v2.4.0
k8s.io/api v0.0.0
k8s.io/apimachinery v0.0.0
k8s.io/apiserver v0.0.0
@ -121,6 +120,7 @@ require (
google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9 // indirect
k8s.io/kms v0.0.0 // indirect

View File

@ -28,7 +28,6 @@ import (
openapi_v2 "github.com/google/gnostic-models/openapiv2"
"github.com/google/go-cmp/cmp"
fuzz "github.com/google/gofuzz"
"gopkg.in/yaml.v2"
"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions"
apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
@ -36,6 +35,7 @@ import (
"k8s.io/kube-openapi/pkg/util/proto"
"k8s.io/kube-openapi/pkg/validation/spec"
"k8s.io/utils/pointer"
yaml "sigs.k8s.io/yaml/goyaml.v2"
)
func Test_ConvertJSONSchemaPropsToOpenAPIv2Schema(t *testing.T) {

View File

@ -18,7 +18,6 @@ require (
golang.org/x/sync v0.8.0
golang.org/x/text v0.17.0
gopkg.in/evanphx/json-patch.v4 v4.12.0
gopkg.in/yaml.v2 v2.4.0
k8s.io/api v0.0.0
k8s.io/apimachinery v0.0.0
k8s.io/client-go v0.0.0
@ -68,6 +67,7 @@ require (
golang.org/x/time v0.3.0 // indirect
google.golang.org/protobuf v1.34.2 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect

View File

@ -21,11 +21,11 @@ import (
"fmt"
openapi_v2 "github.com/google/gnostic-models/openapiv2"
yaml "gopkg.in/yaml.v2"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/discovery"
"k8s.io/client-go/dynamic"
yaml "sigs.k8s.io/yaml/goyaml.v2"
)
func NewQueryParamVerifier(dynamicClient dynamic.Interface, openAPIGetter discovery.OpenAPISchemaInterface, queryParam VerifiableQueryParam) *QueryParamVerifier {

View File

@ -19,13 +19,11 @@ package generators
import (
"io"
"gopkg.in/yaml.v2"
"k8s.io/kube-openapi/pkg/schemaconv"
"k8s.io/gengo/v2/generator"
"k8s.io/gengo/v2/namer"
"k8s.io/gengo/v2/types"
"k8s.io/kube-openapi/pkg/schemaconv"
yaml "sigs.k8s.io/yaml/goyaml.v2"
)
// utilGenerator generates the ForKind() utility function.

View File

@ -14,11 +14,11 @@ require (
github.com/google/gofuzz v1.2.0
github.com/spf13/pflag v1.0.5
golang.org/x/text v0.17.0
gopkg.in/yaml.v2 v2.4.0
k8s.io/apimachinery v0.0.0
k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9
k8s.io/klog/v2 v2.130.1
k8s.io/kube-openapi v0.0.0-20240827152857-f7e401e7b4c2
sigs.k8s.io/yaml v1.4.0
)
require (
@ -39,6 +39,7 @@ require (
golang.org/x/sync v0.8.0 // indirect
golang.org/x/tools v0.24.0 // indirect
google.golang.org/protobuf v1.34.2 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect

View File

@ -26,12 +26,12 @@ require (
go.opentelemetry.io/otel/trace v1.28.0
go.uber.org/zap v1.27.0
golang.org/x/sys v0.23.0
gopkg.in/yaml.v2 v2.4.0
k8s.io/apimachinery v0.0.0
k8s.io/client-go v0.0.0
k8s.io/klog/v2 v2.130.1
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd
sigs.k8s.io/yaml v1.4.0
)
require (
@ -76,11 +76,11 @@ require (
google.golang.org/grpc v1.65.0 // indirect
google.golang.org/protobuf v1.34.2 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/api v0.0.0 // indirect
k8s.io/kube-openapi v0.0.0-20240827152857-f7e401e7b4c2 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
)
replace (

View File

@ -25,11 +25,11 @@ import (
"time"
"github.com/prometheus/client_golang/prometheus"
"gopkg.in/yaml.v2"
"k8s.io/apimachinery/pkg/util/sets"
promext "k8s.io/component-base/metrics/prometheusextension"
"k8s.io/klog/v2"
yaml "sigs.k8s.io/yaml/goyaml.v2"
)
var (

View File

@ -76,6 +76,7 @@ require (
k8s.io/kube-openapi v0.0.0-20240827152857-f7e401e7b4c2 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
)
replace (

View File

@ -30,7 +30,6 @@ require (
github.com/stretchr/testify v1.9.0
golang.org/x/sys v0.23.0
gopkg.in/evanphx/json-patch.v4 v4.12.0
gopkg.in/yaml.v2 v2.4.0
k8s.io/api v0.0.0
k8s.io/apimachinery v0.0.0
k8s.io/cli-runtime v0.0.0
@ -93,6 +92,7 @@ require (
golang.org/x/tools v0.24.0 // indirect
google.golang.org/protobuf v1.34.2 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
sigs.k8s.io/kustomize/api v0.17.2 // indirect
)

View File

@ -30,8 +30,6 @@ import (
"github.com/google/go-cmp/cmp"
"github.com/spf13/cobra"
yaml "gopkg.in/yaml.v2"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/cli-runtime/pkg/genericiooptions"
@ -41,6 +39,7 @@ import (
"k8s.io/kubectl/pkg/cmd/create"
cmdtesting "k8s.io/kubectl/pkg/cmd/testing"
cmdutil "k8s.io/kubectl/pkg/cmd/util"
yaml "sigs.k8s.io/yaml/goyaml.v2"
)
type EditTestCase struct {

View File

@ -25,7 +25,7 @@ import (
"os"
"strings"
yaml "gopkg.in/yaml.v2"
yaml "sigs.k8s.io/yaml/goyaml.v2"
)
type EditTestCase struct {

View File

@ -31,9 +31,9 @@ import (
"strings"
"text/template"
"gopkg.in/yaml.v2"
"github.com/onsi/ginkgo/v2/types"
yaml "sigs.k8s.io/yaml/goyaml.v2"
)
// ConformanceData describes the structure of the conformance.yaml file

View File

@ -24,7 +24,7 @@ import (
"testing"
"github.com/onsi/ginkgo/v2"
"gopkg.in/yaml.v2"
yaml "sigs.k8s.io/yaml/goyaml.v2"
// Never, ever remove the line with "/ginkgo". Without it,
// the ginkgo test runner will not detect that this

View File

@ -35,7 +35,6 @@ rules:
- selectorRegexp: ^github.com/|^gopkg.in
allowedPrefixes: [
"gopkg.in/inf.v0",
"gopkg.in/yaml.v2",
"gopkg.in/evanphx/json-patch.v4",
"github.com/blang/semver/",
"github.com/davecgh/go-spew/spew",

View File

@ -19,12 +19,12 @@ package kubeadm
import (
"context"
"gopkg.in/yaml.v2"
authv1 "k8s.io/api/authorization/v1"
rbacv1 "k8s.io/api/rbac/v1"
clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/test/e2e/framework"
admissionapi "k8s.io/pod-security-admission/api"
yaml "sigs.k8s.io/yaml/goyaml.v2"
"github.com/onsi/ginkgo/v2"
"github.com/onsi/gomega"

View File

@ -29,9 +29,9 @@ import (
"github.com/google/go-cmp/cmp"
"github.com/spf13/cobra"
"gopkg.in/yaml.v2"
"k8s.io/apimachinery/pkg/util/version"
yaml "sigs.k8s.io/yaml/goyaml.v2"
)
var (

View File

@ -23,9 +23,9 @@ import (
"fmt"
"strings"
"gopkg.in/yaml.v2"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
sigyaml "sigs.k8s.io/yaml"
yaml "sigs.k8s.io/yaml/goyaml.v2"
)
// FuzzDurationStrict is a fuzz target for strict-unmarshaling Duration defined
@ -126,7 +126,7 @@ func FuzzTimeStrict(b []byte) int {
return 1
}
// FuzzYamlV2 is a fuzz target for "gopkg.in/yaml.v2" unmarshaling.
// FuzzYamlV2 is a fuzz target for "sigs.k8s.io/yaml/goyaml.v2" unmarshaling.
func FuzzYamlV2(b []byte) int {
t := struct{}{}
m := map[string]interface{}{}

View File

@ -26,9 +26,9 @@ import (
"time"
flag "github.com/spf13/pflag"
"gopkg.in/yaml.v2"
"k8s.io/component-base/metrics"
yaml "sigs.k8s.io/yaml/goyaml.v2"
)
var (

View File

@ -31,7 +31,7 @@ import (
"strconv"
"strings"
"gopkg.in/yaml.v2"
yaml "sigs.k8s.io/yaml/goyaml.v2"
)
const (

View File

@ -22,8 +22,8 @@ import (
"sort"
flag "github.com/spf13/pflag"
"gopkg.in/yaml.v2"
"k8s.io/component-base/metrics"
yaml "sigs.k8s.io/yaml/goyaml.v2"
)
func main() {

View File

@ -28,7 +28,7 @@ import (
"regexp"
"strings"
"gopkg.in/yaml.v2"
yaml "sigs.k8s.io/yaml/goyaml.v2"
)
// RegistryList holds public and private image registries