@@ -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 "helm.sh/helm/v3/pkg/action"
1717 "helm.sh/helm/v3/pkg/cli"
@@ -249,15 +249,15 @@ func (d *diffCmd) runHelm3() error {
249249 }
250250 original , err := actionConfig .KubeClient .Build (bytes .NewBuffer (releaseManifest ), false )
251251 if err != nil {
252- return errors . Wrap ( err , "unable to build kubernetes objects from original release manifest" )
252+ return fmt . Errorf ( "unable to build kubernetes objects from original release manifest: %w" , err )
253253 }
254254 target , err := actionConfig .KubeClient .Build (bytes .NewBuffer (installManifest ), false )
255255 if err != nil {
256- return errors . Wrap ( err , "unable to build kubernetes objects from new release manifest" )
256+ return fmt . Errorf ( "unable to build kubernetes objects from new release manifest: %w" , err )
257257 }
258258 releaseManifest , installManifest , err = genManifest (original , target )
259259 if err != nil {
260- return errors . Wrap ( err , "unable to generate manifests" )
260+ return fmt . Errorf ( "unable to generate manifests: %w" , err )
261261 }
262262 }
263263
@@ -325,7 +325,7 @@ func genManifest(original, target kube.ResourceList) ([]byte, []byte, error) {
325325
326326 toBeUpdated , err := existingResourceConflict (toBeCreated )
327327 if err != nil {
328- return nil , nil , errors . Wrap ( err , "rendered manifests contain a resource that already exists. Unable to continue with update" )
328+ return nil , nil , fmt . Errorf ( "rendered manifests contain a resource that already exists. Unable to continue with update: %w" , err )
329329 }
330330
331331 _ = toBeUpdated .Visit (func (r * resource.Info , err error ) error {
@@ -347,7 +347,7 @@ func genManifest(original, target kube.ResourceList) ([]byte, []byte, error) {
347347 currentObj , err := helper .Get (info .Namespace , info .Name )
348348 if err != nil {
349349 if ! apierrors .IsNotFound (err ) {
350- return errors . Wrap ( err , "could not get information about the resource" )
350+ return fmt . Errorf ( "could not get information about the resource: %w" , err )
351351 }
352352 // to be created
353353 out , _ := yaml .Marshal (info .Object )
@@ -359,11 +359,11 @@ func genManifest(original, target kube.ResourceList) ([]byte, []byte, error) {
359359 out , _ := jsoniterator .ConfigCompatibleWithStandardLibrary .Marshal (currentObj )
360360 pruneObj , err := deleteStatusAndTidyMetadata (out )
361361 if err != nil {
362- return errors . Wrapf ( err , "prune current obj %q with kind %s" , info .Name , kind )
362+ return fmt . Errorf ( "prune current obj %q with kind %s: %w " , info .Name , kind , err )
363363 }
364364 pruneOut , err := yaml .Marshal (pruneObj )
365365 if err != nil {
366- return errors . Wrapf ( err , "prune current out %q with kind %s" , info .Name , kind )
366+ return fmt . Errorf ( "prune current out %q with kind %s: %w " , info .Name , kind , err )
367367 }
368368 releaseManifest = append (releaseManifest , yamlSeperator ... )
369369 releaseManifest = append (releaseManifest , pruneOut ... )
@@ -381,16 +381,16 @@ func genManifest(original, target kube.ResourceList) ([]byte, []byte, error) {
381381 helper .ServerDryRun = true
382382 targetObj , err := helper .Patch (info .Namespace , info .Name , patchType , patch , nil )
383383 if err != nil {
384- return errors . Wrapf ( err , "cannot patch %q with kind %s" , info .Name , kind )
384+ return fmt . Errorf ( "cannot patch %q with kind %s: %w " , info .Name , kind , err )
385385 }
386386 out , _ = jsoniterator .ConfigCompatibleWithStandardLibrary .Marshal (targetObj )
387387 pruneObj , err = deleteStatusAndTidyMetadata (out )
388388 if err != nil {
389- return errors . Wrapf ( err , "prune current obj %q with kind %s" , info .Name , kind )
389+ return fmt . Errorf ( "prune current obj %q with kind %s: %w " , info .Name , kind , err )
390390 }
391391 pruneOut , err = yaml .Marshal (pruneObj )
392392 if err != nil {
393- return errors . Wrapf ( err , "prune current out %q with kind %s" , info .Name , kind )
393+ return fmt . Errorf ( "prune current out %q with kind %s: %w " , info .Name , kind , err )
394394 }
395395 installManifest = append (installManifest , yamlSeperator ... )
396396 installManifest = append (installManifest , pruneOut ... )
@@ -403,17 +403,17 @@ func genManifest(original, target kube.ResourceList) ([]byte, []byte, error) {
403403func createPatch (originalObj , currentObj runtime.Object , target * resource.Info ) ([]byte , types.PatchType , error ) {
404404 oldData , err := json .Marshal (originalObj )
405405 if err != nil {
406- return nil , types .StrategicMergePatchType , errors . Wrap ( err , "serializing current configuration" )
406+ return nil , types .StrategicMergePatchType , fmt . Errorf ( "serializing current configuration: %w" , err )
407407 }
408408 newData , err := json .Marshal (target .Object )
409409 if err != nil {
410- return nil , types .StrategicMergePatchType , errors . Wrap ( err , "serializing target configuration" )
410+ return nil , types .StrategicMergePatchType , fmt . Errorf ( "serializing target configuration: %w" , err )
411411 }
412412
413413 // Even if currentObj is nil (because it was not found), it will marshal just fine
414414 currentData , err := json .Marshal (currentObj )
415415 if err != nil {
416- return nil , types .StrategicMergePatchType , errors . Wrap ( err , "serializing live configuration" )
416+ return nil , types .StrategicMergePatchType , fmt . Errorf ( "serializing live configuration: %w" , err )
417417 }
418418 // kind := target.Mapping.GroupVersionKind.Kind
419419 // if kind == "Deployment" {
@@ -441,7 +441,7 @@ func createPatch(originalObj, currentObj runtime.Object, target *resource.Info)
441441
442442 patchMeta , err := strategicpatch .NewPatchMetaFromStruct (versionedObject )
443443 if err != nil {
444- return nil , types .StrategicMergePatchType , errors . Wrap ( err , "unable to create patch metadata from object" )
444+ return nil , types .StrategicMergePatchType , fmt . Errorf ( "unable to create patch metadata from object: %w" , err )
445445 }
446446
447447 patch , err := strategicpatch .CreateThreeWayMergePatch (oldData , newData , currentData , patchMeta , true )
@@ -467,7 +467,7 @@ func existingResourceConflict(resources kube.ResourceList) (kube.ResourceList, e
467467 if apierrors .IsNotFound (err ) {
468468 return nil
469469 }
470- return errors . Wrap ( err , "could not get information about the resource" )
470+ return fmt . Errorf ( "could not get information about the resource: %w" , err )
471471 }
472472
473473 requireUpdate .Append (info )
@@ -481,7 +481,7 @@ func deleteStatusAndTidyMetadata(obj []byte) (map[string]interface{}, error) {
481481 var objectMap map [string ]interface {}
482482 err := jsoniterator .Unmarshal (obj , & objectMap )
483483 if err != nil {
484- return nil , errors . Wrap ( err , "could not unmarshal byte sequence" )
484+ return nil , fmt . Errorf ( "could not unmarshal byte sequence: %w" , err )
485485 }
486486
487487 delete (objectMap , "status" )
0 commit comments