Merge pull request #1077 from fluxcd/global-recover
globally set RecoverPanic across controllers
This commit is contained in:
commit
37f6fb1049
|
@ -165,14 +165,12 @@ func (r *BucketReconciler) SetupWithManager(mgr ctrl.Manager) error {
|
||||||
func (r *BucketReconciler) SetupWithManagerAndOptions(mgr ctrl.Manager, opts BucketReconcilerOptions) error {
|
func (r *BucketReconciler) SetupWithManagerAndOptions(mgr ctrl.Manager, opts BucketReconcilerOptions) error {
|
||||||
r.patchOptions = getPatchOptions(bucketReadyCondition.Owned, r.ControllerName)
|
r.patchOptions = getPatchOptions(bucketReadyCondition.Owned, r.ControllerName)
|
||||||
|
|
||||||
recoverPanic := true
|
|
||||||
return ctrl.NewControllerManagedBy(mgr).
|
return ctrl.NewControllerManagedBy(mgr).
|
||||||
For(&bucketv1.Bucket{}).
|
For(&bucketv1.Bucket{}).
|
||||||
WithEventFilter(predicate.Or(predicate.GenerationChangedPredicate{}, predicates.ReconcileRequestedPredicate{})).
|
WithEventFilter(predicate.Or(predicate.GenerationChangedPredicate{}, predicates.ReconcileRequestedPredicate{})).
|
||||||
WithOptions(controller.Options{
|
WithOptions(controller.Options{
|
||||||
MaxConcurrentReconciles: opts.MaxConcurrentReconciles,
|
MaxConcurrentReconciles: opts.MaxConcurrentReconciles,
|
||||||
RateLimiter: opts.RateLimiter,
|
RateLimiter: opts.RateLimiter,
|
||||||
RecoverPanic: &recoverPanic,
|
|
||||||
}).
|
}).
|
||||||
Complete(r)
|
Complete(r)
|
||||||
}
|
}
|
||||||
|
|
|
@ -156,7 +156,6 @@ func (r *GitRepositoryReconciler) SetupWithManagerAndOptions(mgr ctrl.Manager, o
|
||||||
r.features = features.FeatureGates()
|
r.features = features.FeatureGates()
|
||||||
}
|
}
|
||||||
|
|
||||||
recoverPanic := true
|
|
||||||
return ctrl.NewControllerManagedBy(mgr).
|
return ctrl.NewControllerManagedBy(mgr).
|
||||||
For(&sourcev1.GitRepository{}, builder.WithPredicates(
|
For(&sourcev1.GitRepository{}, builder.WithPredicates(
|
||||||
predicate.Or(predicate.GenerationChangedPredicate{}, predicates.ReconcileRequestedPredicate{}),
|
predicate.Or(predicate.GenerationChangedPredicate{}, predicates.ReconcileRequestedPredicate{}),
|
||||||
|
@ -164,7 +163,6 @@ func (r *GitRepositoryReconciler) SetupWithManagerAndOptions(mgr ctrl.Manager, o
|
||||||
WithOptions(controller.Options{
|
WithOptions(controller.Options{
|
||||||
MaxConcurrentReconciles: opts.MaxConcurrentReconciles,
|
MaxConcurrentReconciles: opts.MaxConcurrentReconciles,
|
||||||
RateLimiter: opts.RateLimiter,
|
RateLimiter: opts.RateLimiter,
|
||||||
RecoverPanic: &recoverPanic,
|
|
||||||
}).
|
}).
|
||||||
Complete(r)
|
Complete(r)
|
||||||
}
|
}
|
||||||
|
|
|
@ -168,7 +168,6 @@ func (r *HelmChartReconciler) SetupWithManagerAndOptions(mgr ctrl.Manager, opts
|
||||||
return fmt.Errorf("failed setting index fields: %w", err)
|
return fmt.Errorf("failed setting index fields: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
recoverPanic := true
|
|
||||||
return ctrl.NewControllerManagedBy(mgr).
|
return ctrl.NewControllerManagedBy(mgr).
|
||||||
For(&helmv1.HelmChart{}, builder.WithPredicates(
|
For(&helmv1.HelmChart{}, builder.WithPredicates(
|
||||||
predicate.Or(predicate.GenerationChangedPredicate{}, predicates.ReconcileRequestedPredicate{}),
|
predicate.Or(predicate.GenerationChangedPredicate{}, predicates.ReconcileRequestedPredicate{}),
|
||||||
|
@ -191,7 +190,6 @@ func (r *HelmChartReconciler) SetupWithManagerAndOptions(mgr ctrl.Manager, opts
|
||||||
WithOptions(controller.Options{
|
WithOptions(controller.Options{
|
||||||
MaxConcurrentReconciles: opts.MaxConcurrentReconciles,
|
MaxConcurrentReconciles: opts.MaxConcurrentReconciles,
|
||||||
RateLimiter: opts.RateLimiter,
|
RateLimiter: opts.RateLimiter,
|
||||||
RecoverPanic: &recoverPanic,
|
|
||||||
}).
|
}).
|
||||||
Complete(r)
|
Complete(r)
|
||||||
}
|
}
|
||||||
|
|
|
@ -135,7 +135,6 @@ func (r *HelmRepositoryReconciler) SetupWithManager(mgr ctrl.Manager) error {
|
||||||
func (r *HelmRepositoryReconciler) SetupWithManagerAndOptions(mgr ctrl.Manager, opts HelmRepositoryReconcilerOptions) error {
|
func (r *HelmRepositoryReconciler) SetupWithManagerAndOptions(mgr ctrl.Manager, opts HelmRepositoryReconcilerOptions) error {
|
||||||
r.patchOptions = getPatchOptions(helmRepositoryReadyCondition.Owned, r.ControllerName)
|
r.patchOptions = getPatchOptions(helmRepositoryReadyCondition.Owned, r.ControllerName)
|
||||||
|
|
||||||
recoverPanic := true
|
|
||||||
return ctrl.NewControllerManagedBy(mgr).
|
return ctrl.NewControllerManagedBy(mgr).
|
||||||
For(&helmv1.HelmRepository{}).
|
For(&helmv1.HelmRepository{}).
|
||||||
WithEventFilter(
|
WithEventFilter(
|
||||||
|
@ -150,7 +149,6 @@ func (r *HelmRepositoryReconciler) SetupWithManagerAndOptions(mgr ctrl.Manager,
|
||||||
WithOptions(controller.Options{
|
WithOptions(controller.Options{
|
||||||
MaxConcurrentReconciles: opts.MaxConcurrentReconciles,
|
MaxConcurrentReconciles: opts.MaxConcurrentReconciles,
|
||||||
RateLimiter: opts.RateLimiter,
|
RateLimiter: opts.RateLimiter,
|
||||||
RecoverPanic: &recoverPanic,
|
|
||||||
}).
|
}).
|
||||||
Complete(r)
|
Complete(r)
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,7 +104,6 @@ func (r *HelmRepositoryOCIReconciler) SetupWithManagerAndOptions(mgr ctrl.Manage
|
||||||
r.unmanagedConditions = conditionsDiff(helmRepositoryReadyCondition.Owned, helmRepositoryOCIOwnedConditions)
|
r.unmanagedConditions = conditionsDiff(helmRepositoryReadyCondition.Owned, helmRepositoryOCIOwnedConditions)
|
||||||
r.patchOptions = getPatchOptions(helmRepositoryOCIOwnedConditions, r.ControllerName)
|
r.patchOptions = getPatchOptions(helmRepositoryOCIOwnedConditions, r.ControllerName)
|
||||||
|
|
||||||
recoverPanic := true
|
|
||||||
return ctrl.NewControllerManagedBy(mgr).
|
return ctrl.NewControllerManagedBy(mgr).
|
||||||
For(&helmv1.HelmRepository{}).
|
For(&helmv1.HelmRepository{}).
|
||||||
WithEventFilter(
|
WithEventFilter(
|
||||||
|
@ -116,7 +115,6 @@ func (r *HelmRepositoryOCIReconciler) SetupWithManagerAndOptions(mgr ctrl.Manage
|
||||||
WithOptions(controller.Options{
|
WithOptions(controller.Options{
|
||||||
MaxConcurrentReconciles: opts.MaxConcurrentReconciles,
|
MaxConcurrentReconciles: opts.MaxConcurrentReconciles,
|
||||||
RateLimiter: opts.RateLimiter,
|
RateLimiter: opts.RateLimiter,
|
||||||
RecoverPanic: &recoverPanic,
|
|
||||||
}).
|
}).
|
||||||
Complete(r)
|
Complete(r)
|
||||||
}
|
}
|
||||||
|
|
|
@ -154,7 +154,6 @@ func (r *OCIRepositoryReconciler) SetupWithManagerAndOptions(mgr ctrl.Manager, o
|
||||||
|
|
||||||
r.requeueDependency = opts.DependencyRequeueInterval
|
r.requeueDependency = opts.DependencyRequeueInterval
|
||||||
|
|
||||||
recoverPanic := true
|
|
||||||
return ctrl.NewControllerManagedBy(mgr).
|
return ctrl.NewControllerManagedBy(mgr).
|
||||||
For(&ociv1.OCIRepository{}, builder.WithPredicates(
|
For(&ociv1.OCIRepository{}, builder.WithPredicates(
|
||||||
predicate.Or(predicate.GenerationChangedPredicate{}, predicates.ReconcileRequestedPredicate{}),
|
predicate.Or(predicate.GenerationChangedPredicate{}, predicates.ReconcileRequestedPredicate{}),
|
||||||
|
@ -162,7 +161,6 @@ func (r *OCIRepositoryReconciler) SetupWithManagerAndOptions(mgr ctrl.Manager, o
|
||||||
WithOptions(controller.Options{
|
WithOptions(controller.Options{
|
||||||
MaxConcurrentReconciles: opts.MaxConcurrentReconciles,
|
MaxConcurrentReconciles: opts.MaxConcurrentReconciles,
|
||||||
RateLimiter: opts.RateLimiter,
|
RateLimiter: opts.RateLimiter,
|
||||||
RecoverPanic: &recoverPanic,
|
|
||||||
}).
|
}).
|
||||||
Complete(r)
|
Complete(r)
|
||||||
}
|
}
|
||||||
|
|
6
main.go
6
main.go
|
@ -31,9 +31,11 @@ import (
|
||||||
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
|
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
|
||||||
_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
|
_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
|
||||||
"k8s.io/client-go/tools/record"
|
"k8s.io/client-go/tools/record"
|
||||||
|
"k8s.io/utils/pointer"
|
||||||
ctrl "sigs.k8s.io/controller-runtime"
|
ctrl "sigs.k8s.io/controller-runtime"
|
||||||
ctrlcache "sigs.k8s.io/controller-runtime/pkg/cache"
|
ctrlcache "sigs.k8s.io/controller-runtime/pkg/cache"
|
||||||
ctrlclient "sigs.k8s.io/controller-runtime/pkg/client"
|
ctrlclient "sigs.k8s.io/controller-runtime/pkg/client"
|
||||||
|
"sigs.k8s.io/controller-runtime/pkg/config/v1alpha1"
|
||||||
|
|
||||||
"github.com/fluxcd/pkg/git"
|
"github.com/fluxcd/pkg/git"
|
||||||
"github.com/fluxcd/pkg/runtime/client"
|
"github.com/fluxcd/pkg/runtime/client"
|
||||||
|
@ -47,6 +49,7 @@ import (
|
||||||
|
|
||||||
"github.com/fluxcd/source-controller/api/v1"
|
"github.com/fluxcd/source-controller/api/v1"
|
||||||
"github.com/fluxcd/source-controller/api/v1beta2"
|
"github.com/fluxcd/source-controller/api/v1beta2"
|
||||||
|
|
||||||
// +kubebuilder:scaffold:imports
|
// +kubebuilder:scaffold:imports
|
||||||
|
|
||||||
"github.com/fluxcd/source-controller/controllers"
|
"github.com/fluxcd/source-controller/controllers"
|
||||||
|
@ -359,6 +362,9 @@ func mustSetupManager(metricsAddr, healthAddr string, watchOpts helper.WatchOpti
|
||||||
Logger: ctrl.Log,
|
Logger: ctrl.Log,
|
||||||
ClientDisableCacheFor: disableCacheFor,
|
ClientDisableCacheFor: disableCacheFor,
|
||||||
NewCache: newSelectingCache,
|
NewCache: newSelectingCache,
|
||||||
|
Controller: v1alpha1.ControllerConfigurationSpec{
|
||||||
|
RecoverPanic: pointer.Bool(true),
|
||||||
|
},
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
setupLog.Error(err, "unable to start manager")
|
setupLog.Error(err, "unable to start manager")
|
||||||
|
|
Loading…
Reference in New Issue