in action/k8s/uninstall.go [33:62]
func UninstallCRD() error {
client, err := utils.GetDynamicClient()
if err != nil {
return err
}
gvr := schema.GroupVersionResource{
Group: "apiextensions.k8s.io",
Version: "v1",
Resource: "customresourcedefinitions",
}
// Assume client and gvr have already been defined
err = client.Resource(gvr).Delete(context.TODO(), CRDname, metav1.DeleteOptions{})
if err != nil {
// Check if the error is a "not found" error
if errors.IsNotFound(err) {
// The resource does not exist, output a message instead of returning an error
tool.Logger.Errorf("CRD %s does not exist, no action taken.\n", CRDname)
} else {
// For other errors, log the error and exit the program
tool.Logger.Errorf("delete CRD failed: %v", err)
}
} else {
// Successfully deleted the resource
tool.Logger.Infof("delete CRD %s successfully.\n", CRDname)
}
return nil
}