INNER CODE UNIT · Go
loadCRD
pingcap/tidb-operator · cmd/crd-modifier/main.go:184
func loadCRD(path string) (*apiextensionsv1.CustomResourceDefinition, error) {
data, err := os.ReadFile(path)
if err != nil {
return nil, fmt.Errorf("cannot read file %s: %w", path, err)
}
var crd apiextensionsv1.CustomResourceDefinition
if err := yamlutil.Unmarshal(data, &crd); err != nil {
return nil, fmt.Errorf("cannot unmarshal yaml: %w", err)
}
return &crd, nil
}
func removeUselessRequired(crd *apiextensionsv1.CustomResourceDefinition, keys ...string) {
for i := range crd.Spec.Versions {
v := &crd.Spec.Versions[i]
handleVersion(v, keys...)