Skip to content

Commit 8d8e7cc

Browse files
authored
Merge pull request #1529 from octo/fix-conditions-usage
Fix incorrect use of format strings with the `conditions` package.
2 parents 3c0dda4 + 277e5c1 commit 8d8e7cc

File tree

6 files changed

+93
-93
lines changed

6 files changed

+93
-93
lines changed

internal/controller/bucket_controller.go

+16-16
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ func (r *BucketReconciler) reconcile(ctx context.Context, sp *patch.SerialPatche
286286
fmt.Errorf("failed to create temporary working directory: %w", err),
287287
sourcev1.DirCreationFailedReason,
288288
)
289-
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, e.Err.Error())
289+
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, "%s", e)
290290
return sreconcile.ResultEmpty, e
291291
}
292292
defer func() {
@@ -427,7 +427,7 @@ func (r *BucketReconciler) reconcileSource(ctx context.Context, sp *patch.Serial
427427
secret, err := r.getSecret(ctx, obj.Spec.SecretRef, obj.GetNamespace())
428428
if err != nil {
429429
e := serror.NewGeneric(err, sourcev1.AuthenticationFailedReason)
430-
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, e.Error())
430+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, "%s", e)
431431
// Return error as the world as observed may change
432432
return sreconcile.ResultEmpty, e
433433
}
@@ -438,35 +438,35 @@ func (r *BucketReconciler) reconcileSource(ctx context.Context, sp *patch.Serial
438438
case bucketv1.GoogleBucketProvider:
439439
if err = gcp.ValidateSecret(secret); err != nil {
440440
e := serror.NewGeneric(err, sourcev1.AuthenticationFailedReason)
441-
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, e.Error())
441+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, "%s", e)
442442
return sreconcile.ResultEmpty, e
443443
}
444444
if provider, err = gcp.NewClient(ctx, secret); err != nil {
445445
e := serror.NewGeneric(err, "ClientError")
446-
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, e.Error())
446+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, "%s", e)
447447
return sreconcile.ResultEmpty, e
448448
}
449449
case bucketv1.AzureBucketProvider:
450450
if err = azure.ValidateSecret(secret); err != nil {
451451
e := serror.NewGeneric(err, sourcev1.AuthenticationFailedReason)
452-
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, e.Error())
452+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, "%s", e)
453453
return sreconcile.ResultEmpty, e
454454
}
455455
if provider, err = azure.NewClient(obj, secret); err != nil {
456456
e := serror.NewGeneric(err, "ClientError")
457-
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, e.Error())
457+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, "%s", e)
458458
return sreconcile.ResultEmpty, e
459459
}
460460
default:
461461
if err = minio.ValidateSecret(secret); err != nil {
462462
e := serror.NewGeneric(err, sourcev1.AuthenticationFailedReason)
463-
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, e.Error())
463+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, "%s", e)
464464
return sreconcile.ResultEmpty, e
465465
}
466466
tlsConfig, err := r.getTLSConfig(ctx, obj)
467467
if err != nil {
468468
e := serror.NewGeneric(err, sourcev1.AuthenticationFailedReason)
469-
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, e.Error())
469+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, "%s", e)
470470
return sreconcile.ResultEmpty, e
471471
}
472472
proxyURL, err := r.getProxyURL(ctx, obj)
@@ -487,15 +487,15 @@ func (r *BucketReconciler) reconcileSource(ctx context.Context, sp *patch.Serial
487487
}
488488
if provider, err = minio.NewClient(obj, opts...); err != nil {
489489
e := serror.NewGeneric(err, "ClientError")
490-
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, e.Error())
490+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, "%s", e)
491491
return sreconcile.ResultEmpty, e
492492
}
493493
}
494494

495495
// Fetch etag index
496496
if err = fetchEtagIndex(ctx, provider, obj, index, dir); err != nil {
497497
e := serror.NewGeneric(err, bucketv1.BucketOperationFailedReason)
498-
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, e.Error())
498+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, "%s", e)
499499
return sreconcile.ResultEmpty, e
500500
}
501501

@@ -516,7 +516,7 @@ func (r *BucketReconciler) reconcileSource(ctx context.Context, sp *patch.Serial
516516

517517
message := fmt.Sprintf("new upstream revision '%s'", revision)
518518
if obj.GetArtifact() != nil {
519-
conditions.MarkTrue(obj, sourcev1.ArtifactOutdatedCondition, "NewRevision", message)
519+
conditions.MarkTrue(obj, sourcev1.ArtifactOutdatedCondition, "NewRevision", "%s", message)
520520
}
521521
rreconcile.ProgressiveStatus(true, obj, meta.ProgressingReason, "building artifact: %s", message)
522522
if err := sp.Patch(ctx, obj, r.patchOptions...); err != nil {
@@ -527,7 +527,7 @@ func (r *BucketReconciler) reconcileSource(ctx context.Context, sp *patch.Serial
527527

528528
if err = fetchIndexFiles(ctx, provider, obj, index, dir); err != nil {
529529
e := serror.NewGeneric(err, bucketv1.BucketOperationFailedReason)
530-
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, e.Error())
530+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, "%s", e)
531531
return sreconcile.ResultEmpty, e
532532
}
533533
}
@@ -579,14 +579,14 @@ func (r *BucketReconciler) reconcileArtifact(ctx context.Context, sp *patch.Seri
579579
fmt.Errorf("failed to stat source path: %w", err),
580580
sourcev1.StatOperationFailedReason,
581581
)
582-
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, e.Err.Error())
582+
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, "%s", e)
583583
return sreconcile.ResultEmpty, e
584584
} else if !f.IsDir() {
585585
e := serror.NewGeneric(
586586
fmt.Errorf("source path '%s' is not a directory", dir),
587587
sourcev1.InvalidPathReason,
588588
)
589-
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, e.Err.Error())
589+
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, "%s", e)
590590
return sreconcile.ResultEmpty, e
591591
}
592592

@@ -596,7 +596,7 @@ func (r *BucketReconciler) reconcileArtifact(ctx context.Context, sp *patch.Seri
596596
fmt.Errorf("failed to create artifact directory: %w", err),
597597
sourcev1.DirCreationFailedReason,
598598
)
599-
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, e.Err.Error())
599+
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, "%s", e)
600600
return sreconcile.ResultEmpty, e
601601
}
602602
unlock, err := r.Storage.Lock(artifact)
@@ -614,7 +614,7 @@ func (r *BucketReconciler) reconcileArtifact(ctx context.Context, sp *patch.Seri
614614
fmt.Errorf("unable to archive artifact to storage: %s", err),
615615
sourcev1.ArchiveOperationFailedReason,
616616
)
617-
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, e.Err.Error())
617+
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, "%s", e)
618618
return sreconcile.ResultEmpty, e
619619
}
620620

internal/controller/gitrepository_controller.go

+23-23
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@ func (r *GitRepositoryReconciler) reconcile(ctx context.Context, sp *patch.Seria
279279
fmt.Errorf("failed to create temporary working directory: %w", err),
280280
sourcev1.DirCreationFailedReason,
281281
)
282-
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, e.Err.Error())
282+
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, "%s", e)
283283
return sreconcile.ResultEmpty, e
284284
}
285285
defer func() {
@@ -486,7 +486,7 @@ func (r *GitRepositoryReconciler) reconcileSource(ctx context.Context, sp *patch
486486
fmt.Errorf("failed to configure proxy options: %w", err),
487487
sourcev1.AuthenticationFailedReason,
488488
)
489-
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, e.Err.Error())
489+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, "%s", e)
490490
// Return error as the world as observed may change
491491
return sreconcile.ResultEmpty, e
492492
}
@@ -498,7 +498,7 @@ func (r *GitRepositoryReconciler) reconcileSource(ctx context.Context, sp *patch
498498
fmt.Errorf("failed to parse url '%s': %w", obj.Spec.URL, err),
499499
sourcev1.URLInvalidReason,
500500
)
501-
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, e.Err.Error())
501+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, "%s", e)
502502
return sreconcile.ResultEmpty, e
503503
}
504504

@@ -508,7 +508,7 @@ func (r *GitRepositoryReconciler) reconcileSource(ctx context.Context, sp *patch
508508
fmt.Errorf("failed to configure authentication options: %w", err),
509509
sourcev1.AuthenticationFailedReason,
510510
)
511-
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, e.Err.Error())
511+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, "%s", e)
512512
// Return error as the world as observed may change
513513
return sreconcile.ResultEmpty, e
514514
}
@@ -523,7 +523,7 @@ func (r *GitRepositoryReconciler) reconcileSource(ctx context.Context, sp *patch
523523
if artifacts.Diff(obj.Status.IncludedArtifacts) {
524524
message := "included artifacts differ from last observed includes"
525525
if obj.Status.IncludedArtifacts != nil {
526-
conditions.MarkTrue(obj, sourcev1.ArtifactOutdatedCondition, "IncludeChange", message)
526+
conditions.MarkTrue(obj, sourcev1.ArtifactOutdatedCondition, "IncludeChange", "%s", message)
527527
}
528528
rreconcile.ProgressiveStatus(true, obj, meta.ProgressingReason, "building artifact: %s", message)
529529
if err := sp.Patch(ctx, obj, r.patchOptions...); err != nil {
@@ -544,7 +544,7 @@ func (r *GitRepositoryReconciler) reconcileSource(ctx context.Context, sp *patch
544544
fmt.Errorf("git repository is empty"),
545545
"EmptyGitRepository",
546546
)
547-
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, e.Err.Error())
547+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, "%s", e)
548548
return sreconcile.ResultEmpty, e
549549
}
550550
// Assign the commit to the shared commit reference.
@@ -597,7 +597,7 @@ func (r *GitRepositoryReconciler) reconcileSource(ctx context.Context, sp *patch
597597
if !obj.GetArtifact().HasRevision(commitReference(obj, commit)) {
598598
message := fmt.Sprintf("new upstream revision '%s'", commitReference(obj, commit))
599599
if obj.GetArtifact() != nil {
600-
conditions.MarkTrue(obj, sourcev1.ArtifactOutdatedCondition, "NewRevision", message)
600+
conditions.MarkTrue(obj, sourcev1.ArtifactOutdatedCondition, "NewRevision", "%s", message)
601601
}
602602
rreconcile.ProgressiveStatus(true, obj, meta.ProgressingReason, "building artifact: %s", message)
603603
if err := sp.Patch(ctx, obj, r.patchOptions...); err != nil {
@@ -703,14 +703,14 @@ func (r *GitRepositoryReconciler) reconcileArtifact(ctx context.Context, sp *pat
703703
fmt.Errorf("failed to stat target artifact path: %w", err),
704704
sourcev1.StatOperationFailedReason,
705705
)
706-
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, e.Err.Error())
706+
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, "%s", e)
707707
return sreconcile.ResultEmpty, e
708708
} else if !f.IsDir() {
709709
e := serror.NewGeneric(
710710
fmt.Errorf("invalid target path: '%s' is not a directory", dir),
711711
sourcev1.InvalidPathReason,
712712
)
713-
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, e.Err.Error())
713+
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, "%s", e)
714714
return sreconcile.ResultEmpty, e
715715
}
716716

@@ -720,7 +720,7 @@ func (r *GitRepositoryReconciler) reconcileArtifact(ctx context.Context, sp *pat
720720
fmt.Errorf("failed to create artifact directory: %w", err),
721721
sourcev1.DirCreationFailedReason,
722722
)
723-
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, e.Err.Error())
723+
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, "%s", e)
724724
return sreconcile.ResultEmpty, e
725725
}
726726
unlock, err := r.Storage.Lock(artifact)
@@ -751,7 +751,7 @@ func (r *GitRepositoryReconciler) reconcileArtifact(ctx context.Context, sp *pat
751751
fmt.Errorf("unable to archive artifact to storage: %w", err),
752752
sourcev1.ArchiveOperationFailedReason,
753753
)
754-
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, e.Err.Error())
754+
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, "%s", e)
755755
return sreconcile.ResultEmpty, e
756756
}
757757

@@ -800,7 +800,7 @@ func (r *GitRepositoryReconciler) reconcileInclude(ctx context.Context, sp *patc
800800
fmt.Errorf("path calculation for include '%s' failed: %w", incl.GitRepositoryRef.Name, err),
801801
"IllegalPath",
802802
)
803-
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, e.Err.Error())
803+
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, "%s", e)
804804
return sreconcile.ResultEmpty, e
805805
}
806806

@@ -821,7 +821,7 @@ func (r *GitRepositoryReconciler) reconcileInclude(ctx context.Context, sp *patc
821821
fmt.Errorf("failed to copy '%s' include from %s to %s: %w", incl.GitRepositoryRef.Name, incl.GetFromPath(), incl.GetToPath(), err),
822822
"CopyFailure",
823823
)
824-
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, e.Err.Error())
824+
conditions.MarkTrue(obj, sourcev1.StorageOperationFailedCondition, e.Reason, "%s", e)
825825
return sreconcile.ResultEmpty, e
826826
}
827827
}
@@ -872,7 +872,7 @@ func (r *GitRepositoryReconciler) gitCheckout(ctx context.Context, obj *sourcev1
872872
fmt.Errorf("failed to create Git client: %w", err),
873873
sourcev1.GitOperationFailedReason,
874874
)
875-
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, e.Err.Error())
875+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, "%s", e)
876876
return nil, e
877877
}
878878
defer gitReader.Close()
@@ -883,7 +883,7 @@ func (r *GitRepositoryReconciler) gitCheckout(ctx context.Context, obj *sourcev1
883883
fmt.Errorf("failed to checkout and determine revision: %w", err),
884884
sourcev1.GitOperationFailedReason,
885885
)
886-
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, e.Err.Error())
886+
conditions.MarkTrue(obj, sourcev1.FetchFailedCondition, e.Reason, "%s", e)
887887
return nil, e
888888
}
889889

@@ -902,7 +902,7 @@ func (r *GitRepositoryReconciler) fetchIncludes(ctx context.Context, obj *source
902902
"NotFound",
903903
)
904904
e.RequeueAfter = r.requeueDependency
905-
conditions.MarkTrue(obj, sourcev1.IncludeUnavailableCondition, e.Reason, e.Err.Error())
905+
conditions.MarkTrue(obj, sourcev1.IncludeUnavailableCondition, e.Reason, "%s", e)
906906
return nil, e
907907
}
908908

@@ -913,7 +913,7 @@ func (r *GitRepositoryReconciler) fetchIncludes(ctx context.Context, obj *source
913913
"NoArtifact",
914914
)
915915
e.RequeueAfter = r.requeueDependency
916-
conditions.MarkTrue(obj, sourcev1.IncludeUnavailableCondition, e.Reason, e.Err.Error())
916+
conditions.MarkTrue(obj, sourcev1.IncludeUnavailableCondition, e.Reason, "%s", e)
917917
return nil, e
918918
}
919919

@@ -953,7 +953,7 @@ func (r *GitRepositoryReconciler) verifySignature(ctx context.Context, obj *sour
953953
fmt.Errorf("PGP public keys secret error: %w", err),
954954
"VerificationError",
955955
)
956-
conditions.MarkFalse(obj, sourcev1.SourceVerifiedCondition, e.Reason, e.Err.Error())
956+
conditions.MarkFalse(obj, sourcev1.SourceVerifiedCondition, e.Reason, "%s", e)
957957
return sreconcile.ResultEmpty, e
958958
}
959959

@@ -974,7 +974,7 @@ func (r *GitRepositoryReconciler) verifySignature(ctx context.Context, obj *sour
974974
errors.New("cannot verify tag object's signature if a tag reference is not specified"),
975975
"InvalidVerificationMode",
976976
)
977-
conditions.MarkFalse(obj, sourcev1.SourceVerifiedCondition, err.Reason, err.Err.Error())
977+
conditions.MarkFalse(obj, sourcev1.SourceVerifiedCondition, err.Reason, "%s", err)
978978
return sreconcile.ResultEmpty, err
979979
}
980980
if !git.IsSignedTag(*tag) {
@@ -985,7 +985,7 @@ func (r *GitRepositoryReconciler) verifySignature(ctx context.Context, obj *sour
985985
fmt.Errorf("cannot verify signature of tag '%s' since it is not signed", commit.ReferencingTag.String()),
986986
"InvalidGitObject",
987987
)
988-
conditions.MarkFalse(obj, sourcev1.SourceVerifiedCondition, err.Reason, err.Err.Error())
988+
conditions.MarkFalse(obj, sourcev1.SourceVerifiedCondition, err.Reason, "%s", err)
989989
return sreconcile.ResultEmpty, err
990990
}
991991

@@ -996,7 +996,7 @@ func (r *GitRepositoryReconciler) verifySignature(ctx context.Context, obj *sour
996996
fmt.Errorf("signature verification of tag '%s' failed: %w", tag.String(), err),
997997
"InvalidTagSignature",
998998
)
999-
conditions.MarkFalse(obj, sourcev1.SourceVerifiedCondition, e.Reason, e.Err.Error())
999+
conditions.MarkFalse(obj, sourcev1.SourceVerifiedCondition, e.Reason, "%s", e)
10001000
// Return error in the hope the secret changes
10011001
return sreconcile.ResultEmpty, e
10021002
}
@@ -1012,7 +1012,7 @@ func (r *GitRepositoryReconciler) verifySignature(ctx context.Context, obj *sour
10121012
fmt.Errorf("signature verification of commit '%s' failed: %w", commit.Hash.String(), err),
10131013
"InvalidCommitSignature",
10141014
)
1015-
conditions.MarkFalse(obj, sourcev1.SourceVerifiedCondition, e.Reason, e.Err.Error())
1015+
conditions.MarkFalse(obj, sourcev1.SourceVerifiedCondition, e.Reason, "%s", e)
10161016
// Return error in the hope the secret changes
10171017
return sreconcile.ResultEmpty, e
10181018
}
@@ -1027,7 +1027,7 @@ func (r *GitRepositoryReconciler) verifySignature(ctx context.Context, obj *sour
10271027
reason := meta.SucceededReason
10281028
mode := obj.Spec.Verification.GetMode()
10291029
obj.Status.SourceVerificationMode = &mode
1030-
conditions.MarkTrue(obj, sourcev1.SourceVerifiedCondition, reason, message.String())
1030+
conditions.MarkTrue(obj, sourcev1.SourceVerifiedCondition, reason, "%s", message.String())
10311031
r.eventLogf(ctx, obj, eventv1.EventTypeTrace, reason, message.String())
10321032
return sreconcile.ResultSuccess, nil
10331033
}

0 commit comments

Comments
 (0)