Configure release namespace in runner constructor
This commit is contained in:
parent
4379ef33a8
commit
899e8bedc7
|
|
@ -78,6 +78,13 @@ jobs:
|
|||
echo -e "$RESULT\n\ndoes not equal\n\n$EXPECTED"
|
||||
exit 1
|
||||
fi
|
||||
- name: Run target namespace test
|
||||
run: |
|
||||
kubectl -n helm-system apply -f config/testdata/targetnamespace
|
||||
kubectl -n helm-system wait helmreleases/targetnamespace --for=condition=ready --timeout=4m
|
||||
|
||||
# Confirm release in "default" namespace
|
||||
kubectl -n default get deployment default-targetnamespace-podinfo
|
||||
- name: Run install fail test
|
||||
run: |
|
||||
test_name=install-fail
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: targetnamespace
|
||||
spec:
|
||||
interval: 5m
|
||||
chart:
|
||||
spec:
|
||||
chart: podinfo
|
||||
version: '>=4.0.0 <5.0.0'
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: podinfo
|
||||
interval: 1m
|
||||
targetNamespace: default
|
||||
|
|
@ -281,7 +281,7 @@ func (r *HelmReleaseReconciler) reconcileChart(ctx context.Context, hr *v2.HelmR
|
|||
func (r *HelmReleaseReconciler) reconcileRelease(ctx context.Context, log logr.Logger,
|
||||
hr v2.HelmRelease, chart *chart.Chart, values chartutil.Values) (v2.HelmRelease, error) {
|
||||
// Initialize Helm action runner
|
||||
run, err := runner.NewRunner(r.Config, hr.Namespace, r.Log)
|
||||
run, err := runner.NewRunner(r.Config, hr.GetReleaseNamespace(), hr.GetNamespace(), r.Log)
|
||||
if err != nil {
|
||||
return v2.HelmReleaseNotReady(hr, v2.InitFailedReason, "failed to initialize Helm action runner"), err
|
||||
}
|
||||
|
|
@ -606,7 +606,7 @@ func (r *HelmReleaseReconciler) garbageCollectHelmChart(ctx context.Context, hr
|
|||
// garbageCollectHelmRelease uninstalls the deployed Helm release of
|
||||
// the given v2beta1.HelmRelease.
|
||||
func (r *HelmReleaseReconciler) garbageCollectHelmRelease(logger logr.Logger, hr v2.HelmRelease) error {
|
||||
run, err := runner.NewRunner(r.Config, hr.Namespace, logger)
|
||||
run, err := runner.NewRunner(r.Config, hr.GetReleaseNamespace(), hr.GetNamespace(), logger)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,15 +39,16 @@ type Runner struct {
|
|||
}
|
||||
|
||||
// NewRunner constructs a new Runner configured to run Helm actions with the
|
||||
// given rest.Config, and the storage namespace configured to the provided
|
||||
// namespace.
|
||||
func NewRunner(clusterCfg *rest.Config, namespace string, logger logr.Logger) (*Runner, error) {
|
||||
// given rest.Config, and the release and storage namespace configured to the
|
||||
// provided values.
|
||||
func NewRunner(clusterCfg *rest.Config, releaseNamespace, storageNamespace string, logger logr.Logger) (*Runner, error) {
|
||||
cfg := new(action.Configuration)
|
||||
if err := cfg.Init(&genericclioptions.ConfigFlags{
|
||||
APIServer: &clusterCfg.Host,
|
||||
CAFile: &clusterCfg.CAFile,
|
||||
BearerToken: &clusterCfg.BearerToken,
|
||||
}, namespace, "secret", debugLogger(logger)); err != nil {
|
||||
Namespace: &releaseNamespace,
|
||||
}, storageNamespace, "secret", debugLogger(logger)); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &Runner{config: cfg}, nil
|
||||
|
|
|
|||
Loading…
Reference in New Issue