@@ -3,6 +3,7 @@ package cmd
33import (
44 "bytes"
55 "encoding/json"
6+ "errors"
67 "fmt"
78 "log"
89 "os"
@@ -11,7 +12,6 @@ import (
1112
1213 jsonpatch "github.com/evanphx/json-patch"
1314 jsoniterator "github.com/json-iterator/go"
14- "github.com/pkg/errors"
1515 "github.com/spf13/cobra"
1616 "github.com/spf13/pflag"
1717 "helm.sh/helm/v3/pkg/action"
@@ -347,15 +347,15 @@ func (d *diffCmd) runHelm3() error {
347347 }
348348 original , err := actionConfig .KubeClient .Build (bytes .NewBuffer (releaseManifest ), false )
349349 if err != nil {
350- return errors . Wrap ( err , "unable to build kubernetes objects from original release manifest" )
350+ return fmt . Errorf ( "unable to build kubernetes objects from original release manifest: %w" , err )
351351 }
352352 target , err := actionConfig .KubeClient .Build (bytes .NewBuffer (installManifest ), false )
353353 if err != nil {
354- return errors . Wrap ( err , "unable to build kubernetes objects from new release manifest" )
354+ return fmt . Errorf ( "unable to build kubernetes objects from new release manifest: %w" , err )
355355 }
356356 releaseManifest , installManifest , err = genManifest (original , target )
357357 if err != nil {
358- return errors . Wrap ( err , "unable to generate manifests" )
358+ return fmt . Errorf ( "unable to generate manifests: %w" , err )
359359 }
360360 }
361361
@@ -423,7 +423,7 @@ func genManifest(original, target kube.ResourceList) ([]byte, []byte, error) {
423423
424424 toBeUpdated , err := existingResourceConflict (toBeCreated )
425425 if err != nil {
426- return nil , nil , errors . Wrap ( err , "rendered manifests contain a resource that already exists. Unable to continue with update" )
426+ return nil , nil , fmt . Errorf ( "rendered manifests contain a resource that already exists. Unable to continue with update: %w" , err )
427427 }
428428
429429 _ = toBeUpdated .Visit (func (r * resource.Info , err error ) error {
@@ -445,7 +445,7 @@ func genManifest(original, target kube.ResourceList) ([]byte, []byte, error) {
445445 currentObj , err := helper .Get (info .Namespace , info .Name )
446446 if err != nil {
447447 if ! apierrors .IsNotFound (err ) {
448- return errors . Wrap ( err , "could not get information about the resource" )
448+ return fmt . Errorf ( "could not get information about the resource: %w" , err )
449449 }
450450 // to be created
451451 out , _ := yaml .Marshal (info .Object )
@@ -457,11 +457,11 @@ func genManifest(original, target kube.ResourceList) ([]byte, []byte, error) {
457457 out , _ := jsoniterator .ConfigCompatibleWithStandardLibrary .Marshal (currentObj )
458458 pruneObj , err := deleteStatusAndTidyMetadata (out )
459459 if err != nil {
460- return errors . Wrapf ( err , "prune current obj %q with kind %s" , info .Name , kind )
460+ return fmt . Errorf ( "prune current obj %q with kind %s: %w " , info .Name , kind , err )
461461 }
462462 pruneOut , err := yaml .Marshal (pruneObj )
463463 if err != nil {
464- return errors . Wrapf ( err , "prune current out %q with kind %s" , info .Name , kind )
464+ return fmt . Errorf ( "prune current out %q with kind %s: %w " , info .Name , kind , err )
465465 }
466466 releaseManifest = append (releaseManifest , yamlSeperator ... )
467467 releaseManifest = append (releaseManifest , pruneOut ... )
@@ -479,16 +479,16 @@ func genManifest(original, target kube.ResourceList) ([]byte, []byte, error) {
479479 helper .ServerDryRun = true
480480 targetObj , err := helper .Patch (info .Namespace , info .Name , patchType , patch , nil )
481481 if err != nil {
482- return errors . Wrapf ( err , "cannot patch %q with kind %s" , info .Name , kind )
482+ return fmt . Errorf ( "cannot patch %q with kind %s: %w " , info .Name , kind , err )
483483 }
484484 out , _ = jsoniterator .ConfigCompatibleWithStandardLibrary .Marshal (targetObj )
485485 pruneObj , err = deleteStatusAndTidyMetadata (out )
486486 if err != nil {
487- return errors . Wrapf ( err , "prune current obj %q with kind %s" , info .Name , kind )
487+ return fmt . Errorf ( "prune current obj %q with kind %s: %w " , info .Name , kind , err )
488488 }
489489 pruneOut , err = yaml .Marshal (pruneObj )
490490 if err != nil {
491- return errors . Wrapf ( err , "prune current out %q with kind %s" , info .Name , kind )
491+ return fmt . Errorf ( "prune current out %q with kind %s: %w " , info .Name , kind , err )
492492 }
493493 installManifest = append (installManifest , yamlSeperator ... )
494494 installManifest = append (installManifest , pruneOut ... )
@@ -501,17 +501,17 @@ func genManifest(original, target kube.ResourceList) ([]byte, []byte, error) {
501501func createPatch (originalObj , currentObj runtime.Object , target * resource.Info ) ([]byte , types.PatchType , error ) {
502502 oldData , err := json .Marshal (originalObj )
503503 if err != nil {
504- return nil , types .StrategicMergePatchType , errors . Wrap ( err , "serializing current configuration" )
504+ return nil , types .StrategicMergePatchType , fmt . Errorf ( "serializing current configuration: %w" , err )
505505 }
506506 newData , err := json .Marshal (target .Object )
507507 if err != nil {
508- return nil , types .StrategicMergePatchType , errors . Wrap ( err , "serializing target configuration" )
508+ return nil , types .StrategicMergePatchType , fmt . Errorf ( "serializing target configuration: %w" , err )
509509 }
510510
511511 // Even if currentObj is nil (because it was not found), it will marshal just fine
512512 currentData , err := json .Marshal (currentObj )
513513 if err != nil {
514- return nil , types .StrategicMergePatchType , errors . Wrap ( err , "serializing live configuration" )
514+ return nil , types .StrategicMergePatchType , fmt . Errorf ( "serializing live configuration: %w" , err )
515515 }
516516 // kind := target.Mapping.GroupVersionKind.Kind
517517 // if kind == "Deployment" {
@@ -539,7 +539,7 @@ func createPatch(originalObj, currentObj runtime.Object, target *resource.Info)
539539
540540 patchMeta , err := strategicpatch .NewPatchMetaFromStruct (versionedObject )
541541 if err != nil {
542- return nil , types .StrategicMergePatchType , errors . Wrap ( err , "unable to create patch metadata from object" )
542+ return nil , types .StrategicMergePatchType , fmt . Errorf ( "unable to create patch metadata from object: %w" , err )
543543 }
544544
545545 patch , err := strategicpatch .CreateThreeWayMergePatch (oldData , newData , currentData , patchMeta , true )
@@ -565,7 +565,7 @@ func existingResourceConflict(resources kube.ResourceList) (kube.ResourceList, e
565565 if apierrors .IsNotFound (err ) {
566566 return nil
567567 }
568- return errors . Wrap ( err , "could not get information about the resource" )
568+ return fmt . Errorf ( "could not get information about the resource: %w" , err )
569569 }
570570
571571 requireUpdate .Append (info )
@@ -579,7 +579,7 @@ func deleteStatusAndTidyMetadata(obj []byte) (map[string]interface{}, error) {
579579 var objectMap map [string ]interface {}
580580 err := jsoniterator .Unmarshal (obj , & objectMap )
581581 if err != nil {
582- return nil , errors . Wrap ( err , "could not unmarshal byte sequence" )
582+ return nil , fmt . Errorf ( "could not unmarshal byte sequence: %w" , err )
583583 }
584584
585585 delete (objectMap , "status" )
0 commit comments