@@ -55,7 +55,7 @@ import (
55
55
"github.com/fluxcd/pkg/runtime/metrics"
56
56
"github.com/fluxcd/pkg/runtime/predicates"
57
57
"github.com/fluxcd/pkg/runtime/transform"
58
- sourcev1 "github.com/fluxcd/source-controller/api/v1beta1 "
58
+ sourcev1 "github.com/fluxcd/source-controller/api/v1beta2 "
59
59
60
60
v2 "github.com/fluxcd/helm-controller/api/v2beta1"
61
61
"github.com/fluxcd/helm-controller/internal/kube"
@@ -78,7 +78,6 @@ type HelmReleaseReconciler struct {
78
78
Scheme * runtime.Scheme
79
79
requeueDependency time.Duration
80
80
EventRecorder kuberecorder.EventRecorder
81
- ExternalEventRecorder * events.Recorder
82
81
MetricsRecorder * metrics.Recorder
83
82
DefaultServiceAccount string
84
83
NoCrossNamespaceRef bool
@@ -250,7 +249,7 @@ func (r *HelmReleaseReconciler) reconcile(ctx context.Context, hr v2.HelmRelease
250
249
// Exponential backoff would cause execution to be prolonged too much,
251
250
// instead we requeue on a fixed interval.
252
251
return v2 .HelmReleaseNotReady (hr ,
253
- meta .DependencyNotReadyReason , err .Error ()), ctrl.Result {RequeueAfter : r .requeueDependency }, nil
252
+ v2 .DependencyNotReadyReason , err .Error ()), ctrl.Result {RequeueAfter : r .requeueDependency }, nil
254
253
}
255
254
log .Info ("all dependencies are ready, proceeding with release" )
256
255
}
@@ -381,7 +380,13 @@ func (r *HelmReleaseReconciler) reconcileRelease(ctx context.Context,
381
380
// Propagate any test error if not marked ignored.
382
381
if testErr != nil && ! remediation .MustIgnoreTestFailures (hr .Spec .GetTest ().IgnoreFailures ) {
383
382
testsPassing := apimeta .FindStatusCondition (hr .Status .Conditions , v2 .TestSuccessCondition )
384
- meta .SetResourceCondition (& hr , v2 .ReleasedCondition , metav1 .ConditionFalse , testsPassing .Reason , testsPassing .Message )
383
+ newCondition := metav1.Condition {
384
+ Type : v2 .ReleasedCondition ,
385
+ Status : metav1 .ConditionFalse ,
386
+ Reason : testsPassing .Reason ,
387
+ Message : testsPassing .Message ,
388
+ }
389
+ apimeta .SetStatusCondition (hr .GetStatusConditions (), newCondition )
385
390
err = testErr
386
391
}
387
392
}
@@ -425,7 +430,7 @@ func (r *HelmReleaseReconciler) reconcileRelease(ctx context.Context,
425
430
hr .Status .LastReleaseRevision = util .ReleaseRevision (rel )
426
431
427
432
if err != nil {
428
- reason := meta .ReconciliationFailedReason
433
+ reason := v2 .ReconciliationFailedReason
429
434
if condErr := (* ConditionError )(nil ); errors .As (err , & condErr ) {
430
435
reason = condErr .Reason
431
436
}
@@ -439,7 +444,10 @@ func (r *HelmReleaseReconciler) checkDependencies(hr v2.HelmRelease) error {
439
444
if d .Namespace == "" {
440
445
d .Namespace = hr .GetNamespace ()
441
446
}
442
- dName := types .NamespacedName (d )
447
+ dName := types.NamespacedName {
448
+ Namespace : d .Namespace ,
449
+ Name : d .Name ,
450
+ }
443
451
var dHr v2.HelmRelease
444
452
err := r .Get (context .Background (), dName , & dHr )
445
453
if err != nil {
@@ -620,7 +628,7 @@ func (r *HelmReleaseReconciler) composeValues(ctx context.Context, hr v2.HelmRel
620
628
return transform .MergeMaps (result , hr .GetValues ()), nil
621
629
}
622
630
623
- // reconcileDelete deletes the v1beta1 .HelmChart of the v2beta1.HelmRelease,
631
+ // reconcileDelete deletes the v1beta2 .HelmChart of the v2beta1.HelmRelease,
624
632
// and uninstalls the Helm release if the resource has not been suspended.
625
633
func (r * HelmReleaseReconciler ) reconcileDelete (ctx context.Context , hr v2.HelmRelease ) (ctrl.Result , error ) {
626
634
r .recordReadiness (ctx , hr )
@@ -666,12 +674,24 @@ func (r *HelmReleaseReconciler) handleHelmActionResult(ctx context.Context,
666
674
if actionErr := (* runner .ActionError )(nil ); errors .As (err , & actionErr ) {
667
675
msg = msg + "\n \n Last Helm logs:\n \n " + actionErr .CapturedLogs
668
676
}
669
- meta .SetResourceCondition (hr , condition , metav1 .ConditionFalse , failedReason , msg )
677
+ newCondition := metav1.Condition {
678
+ Type : condition ,
679
+ Status : metav1 .ConditionFalse ,
680
+ Reason : failedReason ,
681
+ Message : msg ,
682
+ }
683
+ apimeta .SetStatusCondition (hr .GetStatusConditions (), newCondition )
670
684
r .event (ctx , * hr , revision , events .EventSeverityError , msg )
671
685
return & ConditionError {Reason : failedReason , Err : err }
672
686
} else {
673
687
msg := fmt .Sprintf ("Helm %s succeeded" , action )
674
- meta .SetResourceCondition (hr , condition , metav1 .ConditionTrue , succeededReason , msg )
688
+ newCondition := metav1.Condition {
689
+ Type : condition ,
690
+ Status : metav1 .ConditionTrue ,
691
+ Reason : succeededReason ,
692
+ Message : msg ,
693
+ }
694
+ apimeta .SetStatusCondition (hr .GetStatusConditions (), newCondition )
675
695
r .event (ctx , * hr , revision , events .EventSeverityInfo , msg )
676
696
return nil
677
697
}
@@ -718,28 +738,15 @@ func (r *HelmReleaseReconciler) requestsForHelmChartChange(o client.Object) []re
718
738
719
739
// event emits a Kubernetes event and forwards the event to notification controller if configured.
720
740
func (r * HelmReleaseReconciler ) event (ctx context.Context , hr v2.HelmRelease , revision , severity , msg string ) {
721
- if r .EventRecorder != nil {
722
- r .EventRecorder .Event (& hr , "Normal" , severity , msg )
723
- }
724
-
725
- if r .ExternalEventRecorder == nil {
726
- return
727
- }
728
-
729
- objRef , err := reference .GetReference (r .Scheme , & hr )
730
- if err != nil {
731
- ctrl .LoggerFrom (ctx ).Error (err , "unable to send event" )
732
- return
733
- }
734
-
735
741
var meta map [string ]string
736
742
if revision != "" {
737
743
meta = map [string ]string {"revision" : revision }
738
744
}
739
- if err := r . ExternalEventRecorder . Eventf ( * objRef , meta , severity , severity , msg ); err != nil {
740
- ctrl . LoggerFrom ( ctx ). Error ( err , "unable to send event" )
741
- return
745
+ eventtype := "Normal"
746
+ if severity == events . EventSeverityError {
747
+ eventtype = "Warning"
742
748
}
749
+ r .EventRecorder .AnnotatedEventf (& hr , meta , eventtype , severity , msg )
743
750
}
744
751
745
752
func (r * HelmReleaseReconciler ) recordSuspension (ctx context.Context , hr v2.HelmRelease ) {
0 commit comments