remove "sigs.k8s.io/yaml" dependency - #340
Draft
thaJeztah wants to merge 2 commits into
Draft
Conversation
The gopkg.in/yaml.v3 module has been deprecated and is now archived. Maintenance is continued in the go.yaml.in/yaml/v3 module. Update to the latest version of go.yaml.in/yaml/v3, which now has zero dependencies. The old gopkg.in/yaml.v3 is still present as an indirect dependency (through github.com/stretchr/testify), but only used in test-code, and this should eventually go away. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Use go.yaml.in/yaml/v3 for both marshaling and unmarshaling CDI specs, and drop the sigs.k8s.io/yaml dependency. The Kubernetes YAML implementation converts YAML to JSON before decoding, which is useful for Kubernetes APIs where JSON semantics are part of the API contract. CDI does not require that intermediate representation, and its spec types already provide YAML tags matching their JSON representation. Use Decoder.KnownFields(true) to retain strict rejection of unknown fields. yaml.v3 also rejects duplicate mapping keys, preserving the strictness relied on from sigs.k8s.io/yaml.UnmarshalStrict. Keep the existing behavior of decoding only the first YAML document rather than introducing additional validation for trailing documents. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
remove "sigs.k8s.io/yaml" dependency
Use go.yaml.in/yaml/v3 for both marshaling and unmarshaling CDI specs,
and drop the sigs.k8s.io/yaml dependency.
The Kubernetes YAML implementation converts YAML to JSON before decoding,
which is useful for Kubernetes APIs where JSON semantics are part of the API
contract. CDI does not require that intermediate representation, and its spec
types already provide YAML tags matching their JSON representation.
Use Decoder.KnownFields(true) to retain strict rejection of unknown fields.
yaml.v3 also rejects duplicate mapping keys, preserving the strictness relied
on from sigs.k8s.io/yaml.UnmarshalStrict.
Keep the existing behavior of decoding only the first YAML document rather
than introducing additional validation for trailing documents.