Extract HelmRepository secret retrieval
Method getHelmRepositorySecret on the HelmChartReconciler Signed-off-by: Aurel Canciu <aurelcanciu@gmail.com>
This commit is contained in:
parent
f3370d8004
commit
38317ab7c0
|
@ -237,26 +237,18 @@ func (r *HelmChartReconciler) getSource(ctx context.Context, chart sourcev1.Helm
|
||||||
|
|
||||||
func (r *HelmChartReconciler) reconcileFromHelmRepository(ctx context.Context,
|
func (r *HelmChartReconciler) reconcileFromHelmRepository(ctx context.Context,
|
||||||
repository sourcev1.HelmRepository, chart sourcev1.HelmChart, force bool) (sourcev1.HelmChart, error) {
|
repository sourcev1.HelmRepository, chart sourcev1.HelmChart, force bool) (sourcev1.HelmChart, error) {
|
||||||
|
// Configure ChartRepository getter options
|
||||||
var clientOpts []getter.Option
|
var clientOpts []getter.Option
|
||||||
if repository.Spec.SecretRef != nil {
|
if secret, err := r.getHelmRepositorySecret(ctx, &repository); err != nil {
|
||||||
name := types.NamespacedName{
|
|
||||||
Namespace: repository.GetNamespace(),
|
|
||||||
Name: repository.Spec.SecretRef.Name,
|
|
||||||
}
|
|
||||||
|
|
||||||
var secret corev1.Secret
|
|
||||||
err := r.Client.Get(ctx, name, &secret)
|
|
||||||
if err != nil {
|
|
||||||
err = fmt.Errorf("auth secret error: %w", err)
|
|
||||||
return sourcev1.HelmChartNotReady(chart, sourcev1.AuthenticationFailedReason, err.Error()), err
|
return sourcev1.HelmChartNotReady(chart, sourcev1.AuthenticationFailedReason, err.Error()), err
|
||||||
}
|
} else if secret != nil {
|
||||||
|
opts, cleanup, err := helm.ClientOptionsFromSecret(*secret)
|
||||||
opts, cleanup, err := helm.ClientOptionsFromSecret(secret)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = fmt.Errorf("auth options error: %w", err)
|
err = fmt.Errorf("auth options error: %w", err)
|
||||||
return sourcev1.HelmChartNotReady(chart, sourcev1.AuthenticationFailedReason, err.Error()), err
|
return sourcev1.HelmChartNotReady(chart, sourcev1.AuthenticationFailedReason, err.Error()), err
|
||||||
}
|
}
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
clientOpts = opts
|
clientOpts = opts
|
||||||
}
|
}
|
||||||
clientOpts = append(clientOpts, getter.WithTimeout(repository.GetTimeout()))
|
clientOpts = append(clientOpts, getter.WithTimeout(repository.GetTimeout()))
|
||||||
|
@ -597,3 +589,22 @@ func (r *HelmChartReconciler) indexHelmRepositoryByURL(o runtime.Object) []strin
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *HelmChartReconciler) getHelmRepositorySecret(ctx context.Context, repository *sourcev1.HelmRepository) (*corev1.Secret, error) {
|
||||||
|
if repository.Spec.SecretRef != nil {
|
||||||
|
name := types.NamespacedName{
|
||||||
|
Namespace: repository.GetNamespace(),
|
||||||
|
Name: repository.Spec.SecretRef.Name,
|
||||||
|
}
|
||||||
|
|
||||||
|
var secret corev1.Secret
|
||||||
|
err := r.Client.Get(ctx, name, &secret)
|
||||||
|
if err != nil {
|
||||||
|
err = fmt.Errorf("auth secret error: %w", err)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &secret, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue