Skip to content

Commit 194371c

Browse files
committed
Set owner ref to HelmRepository on HelmChart
1 parent b7897b7 commit 194371c

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

controllers/helmchart_controller.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,10 @@ func (r *HelmChartReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {
8686
return ctrl.Result{Requeue: true}, err
8787
}
8888

89+
// set ownership reference so chart is garbage collected on
90+
// repository removal
91+
r.setOwnerRef(ctx, &chart, repository)
92+
8993
// try to pull chart
9094
pulledChart, err := r.sync(repository, *chart.DeepCopy())
9195
if err != nil {
@@ -282,3 +286,14 @@ func (r *HelmChartReconciler) gc(chart sourcev1.HelmChart) {
282286
}
283287
}
284288
}
289+
290+
func (r *HelmChartReconciler) setOwnerRef(ctx context.Context, chart *sourcev1.HelmChart, repository sourcev1.HelmRepository) {
291+
if metav1.IsControlledBy(chart.GetObjectMeta(), repository.GetObjectMeta()) {
292+
return
293+
}
294+
chart.SetOwnerReferences(append(chart.GetOwnerReferences(),
295+
*metav1.NewControllerRef(repository.GetObjectMeta(), repository.GroupVersionKind())))
296+
if err := r.Update(ctx, chart); err != nil {
297+
r.Log.Error(err, fmt.Sprintf("failed to set owner reference to HelmRepository '%s'", repository.Name))
298+
}
299+
}

0 commit comments

Comments
 (0)