Set owner ref to HelmRepository on HelmChart
This commit is contained in:
parent
b7897b7144
commit
194371c4c0
|
|
@ -86,6 +86,10 @@ func (r *HelmChartReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {
|
|||
return ctrl.Result{Requeue: true}, err
|
||||
}
|
||||
|
||||
// set ownership reference so chart is garbage collected on
|
||||
// repository removal
|
||||
r.setOwnerRef(ctx, &chart, repository)
|
||||
|
||||
// try to pull chart
|
||||
pulledChart, err := r.sync(repository, *chart.DeepCopy())
|
||||
if err != nil {
|
||||
|
|
@ -282,3 +286,14 @@ func (r *HelmChartReconciler) gc(chart sourcev1.HelmChart) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (r *HelmChartReconciler) setOwnerRef(ctx context.Context, chart *sourcev1.HelmChart, repository sourcev1.HelmRepository) {
|
||||
if metav1.IsControlledBy(chart.GetObjectMeta(), repository.GetObjectMeta()) {
|
||||
return
|
||||
}
|
||||
chart.SetOwnerReferences(append(chart.GetOwnerReferences(),
|
||||
*metav1.NewControllerRef(repository.GetObjectMeta(), repository.GroupVersionKind())))
|
||||
if err := r.Update(ctx, chart); err != nil {
|
||||
r.Log.Error(err, fmt.Sprintf("failed to set owner reference to HelmRepository '%s'", repository.Name))
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue