-
Notifications
You must be signed in to change notification settings - Fork 53
Description
Hey, I have been building a hybrid operator (https://gitlab.com/GeorgeRaven/authentik-manager/-/tree/staging/operator) with the helm controller which attempts to reconcile one of my helm charts (https://gitlab.com/GeorgeRaven/authentik-manager/-/tree/staging/operator/helm-charts/ak).
This works overall however on closer inspection I note that the reconciler is repeatedly trying to reconcile a resource that it later recognizes as being correct or requiring no change. This leads to extremely high resource usage.
I believe this is related to helm lookup functions, and attempting to impute values from already existing resources. The reason I say this is because the affected resource in particular appear to be one of my secrets:
{{- if .Values.secret.generate }}
{{- $existingSecret := (lookup "v1" "Secret" (printf "%s" .Release.Namespace) (printf "%s" .Values.secret.name) ) -}}
apiVersion: v1
kind: Secret
metadata:
name: {{ .Values.secret.name }}
{{/* If the secret already exists then keep the data else gen new */}}
{{- if $existingSecret }}
annotations: {{ toJson $existingSecret.metadata.annotations }}
# from existing secret
data: {{ toJson $existingSecret.data }}
{{- else }}
data:
authJwtToken: {{ default 30 .Values.secret.randLength | int | randAlphaNum | b64enc }}
authStorageEncryptionKey: {{ default 30 .Values.secret.randLength | int | randAlphaNum | b64enc }}
************** several more secrets ************
{{- end }}
{{- end }}Which I believe may be affecting this check which is being met causing repeat reconciles:
helm-operator-plugins/pkg/reconciler/reconciler.go
Lines 727 to 730 in ebfbea8
| if specRelease.Manifest != currentRelease.Manifest || | |
| currentRelease.Info.Status == release.StatusFailed || | |
| currentRelease.Info.Status == release.StatusSuperseded { | |
| return currentRelease, stateNeedsUpgrade, nil |
In contrast the actual actionclient reconciler is likely properly generating an empty patch:
helm-operator-plugins/pkg/client/actionclient.go
Lines 276 to 313 in ebfbea8
| func (c *actionClient) Reconcile(rel *release.Release) error { | |
| infos, err := c.conf.KubeClient.Build(bytes.NewBufferString(rel.Manifest), false) | |
| if err != nil { | |
| return err | |
| } | |
| return infos.Visit(func(expected *resource.Info, err error) error { | |
| if err != nil { | |
| return fmt.Errorf("visit error: %w", err) | |
| } | |
| helper := resource.NewHelper(expected.Client, expected.Mapping) | |
| existing, err := helper.Get(expected.Namespace, expected.Name) | |
| if apierrors.IsNotFound(err) { | |
| if _, err := helper.Create(expected.Namespace, true, expected.Object); err != nil { | |
| return fmt.Errorf("create error: %w", err) | |
| } | |
| return nil | |
| } else if err != nil { | |
| return fmt.Errorf("could not get object: %w", err) | |
| } | |
| patch, patchType, err := createPatch(existing, expected) | |
| if err != nil { | |
| return fmt.Errorf("error creating patch: %w", err) | |
| } | |
| if patch == nil { | |
| // nothing to do | |
| return nil | |
| } | |
| _, err = helper.Patch(expected.Namespace, expected.Name, patchType, patch, | |
| &metav1.PatchOptions{}) | |
| if err != nil { | |
| return fmt.Errorf("patch error: %w", err) | |
| } | |
| return nil |
This also affects my sub-charts (Bitnami redis, Bitnami postgres) which also use the lookup function and fail although are disabled here to focus only on the clearer example.
Here is a full log of a run where I apply my watched for helm resource:
> make generate manifests install run
test -s /home/archer/git/authentik-manager/operator/bin/controller-gen || GOBIN=/home/archer/git/authentik-manager/operator/bin go install sigs.k8s.io/controller-tools/cmd/[email protected]
/home/archer/git/authentik-manager/operator/bin/controller-gen object:headerFile="" paths="./..."
/home/archer/git/authentik-manager/operator/bin/controller-gen rbac:roleName=manager-role crd webhook paths="./..." output:crd:artifacts:config=config/crd/bases
/home/archer/git/authentik-manager/operator/bin/kustomize build config/crd | kubectl apply -f -
customresourcedefinition.apiextensions.k8s.io/akblueprints.akm.goauthentik.io configured
customresourcedefinition.apiextensions.k8s.io/aks.akm.goauthentik.io unchanged
go fmt ./...
go vet ./...
# helm-operator run
go run ./main.go
1.6766436991798725e+09 INFO controller-runtime.metrics Metrics server is starting to listen {"addr": ":8080"}
1.6766436991832378e+09 INFO controllers.Helm Watching resource {"group": "akm.goauthentik.io", "version": "v1alpha1", "kind": "Ak"}
1.676643699183254e+09 INFO setup configured watch {"gvk": "akm.goauthentik.io/v1alpha1, Kind=Ak", "chartPath": "helm-charts/ak", "maxConcurrentReconciles": 24, "reconcilePeriod": "1m0s"}
1.6766436991832697e+09 INFO setup starting manager
1.6766436991834452e+09 INFO Starting server {"path": "/metrics", "kind": "metrics", "addr": "[::]:8080"}
1.6766436991834517e+09 INFO Starting server {"kind": "health probe", "addr": "[::]:8081"}
1.6766436991835036e+09 INFO Starting EventSource {"controller": "akblueprint", "controllerGroup": "akm.goauthentik.io", "controllerKind": "AkBlueprint", "source": "kind source: *v1alpha1.AkBlueprint"}
1.6766436991835206e+09 INFO Starting Controller {"controller": "akblueprint", "controllerGroup": "akm.goauthentik.io", "controllerKind": "AkBlueprint"}
1.6766436991835217e+09 INFO Starting EventSource {"controller": "ak-controller", "source": "kind source: *unstructured.Unstructured"}
1.6766436991835382e+09 INFO Starting EventSource {"controller": "ak-controller", "source": "kind source: *v1.Secret"}
1.6766436991835427e+09 INFO Starting Controller {"controller": "ak-controller"}
1.6766436992841232e+09 INFO Starting workers {"controller": "akblueprint", "controllerGroup": "akm.goauthentik.io", "controllerKind": "AkBlueprint", "worker count": 1}
1.6766436992841737e+09 INFO Starting workers {"controller": "ak-controller", "worker count": 24}
1.6766437054854615e+09 DEBUG controllers.Helm Reconciliation triggered {"ak": "default/ak-sample"}
1.6766437054908583e+09 DEBUG controllers.Helm Starting install
1.6766437056020834e+09 DEBUG controllers.Helm creating 11 resource(s)
1.676643705631722e+09 INFO controllers.Helm Release installed {"ak": "default/ak-sample", "name": "ak-sample", "version": 1}
1.6766437056327908e+09 INFO Starting EventSource {"controller": "ak-controller", "source": "kind source: *unstructured.Unstructured"}
1.6766437056328113e+09 DEBUG controllers.Helm Watching dependent resource {"ak": "default/ak-sample", "dependentAPIVersion": "v1", "dependentKind": "Secret"}
1.6766437056330194e+09 INFO Starting EventSource {"controller": "ak-controller", "source": "kind source: *unstructured.Unstructured"}
1.6766437056330316e+09 DEBUG controllers.Helm Watching dependent resource {"ak": "default/ak-sample", "dependentAPIVersion": "v1", "dependentKind": "ConfigMap"}
1.6766437056331952e+09 INFO Starting EventSource {"controller": "ak-controller", "source": "kind source: *unstructured.Unstructured"}
1.6766437056332052e+09 DEBUG controllers.Helm Watching dependent resource {"ak": "default/ak-sample", "dependentAPIVersion": "v1", "dependentKind": "Service"}
1.6766437056338887e+09 INFO Starting EventSource {"controller": "ak-controller", "source": "kind source: *unstructured.Unstructured"}
1.6766437056339014e+09 DEBUG controllers.Helm Watching dependent resource {"ak": "default/ak-sample", "dependentAPIVersion": "apps/v1", "dependentKind": "Deployment"}
1.6766437056340444e+09 INFO Starting EventSource {"controller": "ak-controller", "source": "kind source: *unstructured.Unstructured"}
1.6766437056340532e+09 DEBUG controllers.Helm Watching dependent resource {"ak": "default/ak-sample", "dependentAPIVersion": "networking.k8s.io/v1", "dependentKind": "Ingress"}
1.6766437056342168e+09 INFO Starting EventSource {"controller": "ak-controller", "source": "kind source: *unstructured.Unstructured"}
1.676643705634227e+09 DEBUG controllers.Helm Watching dependent resource {"ak": "default/ak-sample", "dependentAPIVersion": "networking.k8s.io/v1", "dependentKind": "NetworkPolicy"}
1.676643705649836e+09 DEBUG controllers.Helm Reconciliation triggered {"ak": "default/ak-sample"}
1.6766437056602938e+09 DEBUG controllers.Helm preparing upgrade for ak-sample
1.676643705733423e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "bootstrap-token-js20q4", "namespace": "kube-system", "apiVersion": "v1", "kind": "Secret"}
1.6766437057334795e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "sh.helm.release.v1.ak-sample.v1", "namespace": "default", "apiVersion": "v1", "kind": "Secret"}
1.6766437057334864e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "auth", "namespace": "default", "apiVersion": "v1", "kind": "Secret"}
1.676643705733534e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "authentik-server", "namespace": "default", "apiVersion": "v1", "kind": "Service"}
1.6766437057335584e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "kubernetes", "namespace": "default", "apiVersion": "v1", "kind": "Service"}
1.6766437057335649e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "kube-dns", "namespace": "kube-system", "apiVersion": "v1", "kind": "Service"}
1.676643705733571e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "authentik-worker", "namespace": "default", "apiVersion": "v1", "kind": "Service"}
1.676643705733582e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "kubelet-config", "namespace": "kube-system", "apiVersion": "v1", "kind": "ConfigMap"}
1.6766437057336082e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "kube-root-ca.crt", "namespace": "default", "apiVersion": "v1", "kind": "ConfigMap"}
1.676643705733655e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "kube-root-ca.crt", "namespace": "kube-system", "apiVersion": "v1", "kind": "ConfigMap"}
1.6766437057336686e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "kube-proxy", "namespace": "kube-system", "apiVersion": "v1", "kind": "ConfigMap"}
1.6766437057336805e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "extension-apiserver-authentication", "namespace": "kube-system", "apiVersion": "v1", "kind": "ConfigMap"}
1.676643705733691e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "coredns", "namespace": "kube-system", "apiVersion": "v1", "kind": "ConfigMap"}
1.6766437057337024e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "kube-root-ca.crt", "namespace": "kube-public", "apiVersion": "v1", "kind": "ConfigMap"}
1.6766437057337132e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "kube-root-ca.crt", "namespace": "kube-node-lease", "apiVersion": "v1", "kind": "ConfigMap"}
1.6766437057337236e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "authentik-config", "namespace": "default", "apiVersion": "v1", "kind": "ConfigMap"}
1.6766437057337363e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "kubeadm-config", "namespace": "kube-system", "apiVersion": "v1", "kind": "ConfigMap"}
1.676643705733748e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "cluster-info", "namespace": "kube-public", "apiVersion": "v1", "kind": "ConfigMap"}
1.676643705734698e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "auth-ldap", "namespace": "default", "apiVersion": "networking.k8s.io/v1", "kind": "Ingress"}
1.6766437057347128e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "auth", "namespace": "default", "apiVersion": "networking.k8s.io/v1", "kind": "Ingress"}
1.6766437057346978e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "general-netpol", "namespace": "default", "apiVersion": "networking.k8s.io/v1", "kind": "NetworkPolicy"}
1.6766437057347288e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "ldap-netpol", "namespace": "default", "apiVersion": "networking.k8s.io/v1", "kind": "NetworkPolicy"}
1.6766437057347398e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "authentik-worker", "namespace": "default", "apiVersion": "networking.k8s.io/v1", "kind": "NetworkPolicy"}
1.6766437057347512e+09 DEBUG controllers.Helm performing update for ak-sample
1.6766437057347138e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "authentik-server", "namespace": "default", "apiVersion": "apps/v1", "kind": "Deployment"}
1.6766437057347898e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "authentik-worker", "namespace": "default", "apiVersion": "apps/v1", "kind": "Deployment"}
1.6766437057348058e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "coredns", "namespace": "kube-system", "apiVersion": "apps/v1", "kind": "Deployment"}
1.6766437057447062e+09 DEBUG controllers.Helm dry run for ak-sample
1.6766437057501326e+09 DEBUG controllers.Helm preparing upgrade for ak-sample
1.676643705789205e+09 DEBUG controllers.Helm performing update for ak-sample
1.6766437057983747e+09 DEBUG controllers.Helm creating upgraded release for ak-sample
1.6766437058037639e+09 DEBUG controllers.Helm checking 11 resources for changes
1.676643705805758e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "sh.helm.release.v1.ak-sample.v2", "namespace": "default", "apiVersion": "v1", "kind": "Secret"}
1.6766437058108108e+09 DEBUG controllers.Helm Looks like there are no changes for NetworkPolicy "authentik-worker"
1.676643705814753e+09 DEBUG controllers.Helm Looks like there are no changes for NetworkPolicy "ldap-netpol"
1.6766437058186688e+09 DEBUG controllers.Helm Looks like there are no changes for NetworkPolicy "general-netpol"
1.676643705822401e+09 DEBUG controllers.Helm Looks like there are no changes for Secret "auth"
1.6766437058262606e+09 DEBUG controllers.Helm Looks like there are no changes for ConfigMap "authentik-config"
1.676643705831045e+09 DEBUG controllers.Helm Looks like there are no changes for Service "authentik-server"
1.6766437058344057e+09 DEBUG controllers.Helm Looks like there are no changes for Service "authentik-worker"
1.6766437058460007e+09 DEBUG controllers.Helm Looks like there are no changes for Deployment "authentik-server"
1.6766437058591201e+09 DEBUG controllers.Helm Looks like there are no changes for Deployment "authentik-worker"
1.6766437058633142e+09 DEBUG controllers.Helm Looks like there are no changes for Ingress "auth"
1.6766437058660803e+09 DEBUG controllers.Helm Looks like there are no changes for Ingress "auth-ldap"
1.6766437058724103e+09 DEBUG controllers.Helm updating status for upgraded release for ak-sample
1.6766437058739226e+09 DEBUG predicate Reconciling due to dependent resource update {"name": "sh.helm.release.v1.ak-sample.v1", "namespace": "default", "apiVersion": "v1", "kind": "Secret"}
1.6766437058783867e+09 INFO controllers.Helm Release upgraded {"ak": "default/ak-sample", "name": "ak-sample", "version": 2}
********************************************************** skipping many repeats ***************************************************************
1.6766437080106707e+09 DEBUG predicate Reconciling due to dependent resource update {"name": "sh.helm.release.v1.ak-sample.v9", "namespace": "default", "apiVersion": "v1", "kind": "Secret"}
1.676643708014716e+09 DEBUG controllers.Helm Reconciliation triggered {"ak": "default/ak-sample"}
1.676643708067962e+09 DEBUG controllers.Helm preparing upgrade for ak-sample
1.6766437082209888e+09 DEBUG controllers.Helm performing update for ak-sample
1.6766437082409153e+09 DEBUG controllers.Helm dry run for ak-sample
1.6766437082749157e+09 DEBUG controllers.Helm preparing upgrade for ak-sample
1.676643708349455e+09 DEBUG controllers.Helm performing update for ak-sample
1.6766437083658214e+09 DEBUG controllers.Helm creating upgraded release for ak-sample
1.6766437083739903e+09 DEBUG controllers.Helm checking 11 resources for changes
1.676643708375554e+09 DEBUG predicate Skipping reconciliation for dependent resource creation {"name": "sh.helm.release.v1.ak-sample.v10", "namespace": "default", "apiVersion": "v1", "kind": "Secret"}
1.6766437083802536e+09 DEBUG controllers.Helm Looks like there are no changes for NetworkPolicy "authentik-worker"
1.6766437083839474e+09 DEBUG controllers.Helm Looks like there are no changes for NetworkPolicy "ldap-netpol"
1.6766437083875918e+09 DEBUG controllers.Helm Looks like there are no changes for NetworkPolicy "general-netpol"
1.6766437083913655e+09 DEBUG controllers.Helm Looks like there are no changes for Secret "auth"
1.6766437083955123e+09 DEBUG controllers.Helm Looks like there are no changes for ConfigMap "authentik-config"
1.6766437083996217e+09 DEBUG controllers.Helm Looks like there are no changes for Service "authentik-server"
1.6766437084061203e+09 DEBUG controllers.Helm Looks like there are no changes for Service "authentik-worker"
1.6766437084129076e+09 DEBUG controllers.Helm Looks like there are no changes for Deployment "authentik-server"
1.6766437084197428e+09 DEBUG controllers.Helm Looks like there are no changes for Deployment "authentik-worker"
1.6766437084236712e+09 DEBUG controllers.Helm Looks like there are no changes for Ingress "auth"
1.6766437084272254e+09 DEBUG controllers.Helm Looks like there are no changes for Ingress "auth-ldap"
1.6766437084342504e+09 DEBUG controllers.Helm updating status for upgraded release for ak-sample
1.6766437084358995e+09 DEBUG predicate Reconciling due to dependent resource update {"name": "sh.helm.release.v1.ak-sample.v9", "namespace": "default", "apiVersion": "v1", "kind": "Secret"}
^C1.6766437084366193e+09 INFO Stopping and waiting for non leader election runnables
1.6766437084366376e+09 INFO Stopping and waiting for leader election runnables
1.676643708436671e+09 INFO Shutdown signal received, waiting for all workers to finish {"controller": "akblueprint", "controllerGroup": "akm.goauthentik.io", "controllerKind": "AkBlueprint"}
1.6766437084366868e+09 INFO Shutdown signal received, waiting for all workers to finish {"controller": "ak-controller"}
1.6766437084366996e+09 INFO All workers finished {"controller": "akblueprint", "controllerGroup": "akm.goauthentik.io", "controllerKind": "AkBlueprint"}
1.676643708444819e+09 INFO controllers.Helm Release upgraded {"ak": "default/ak-sample", "name": "ak-sample", "version": 10}
1.6766437084463599e+09 DEBUG predicate Reconciling due to dependent resource update {"name": "sh.helm.release.v1.ak-sample.v10", "namespace": "default", "apiVersion": "v1", "kind": "Secret"}
1.6766437084504726e+09 DEBUG controllers.Helm Reconciliation triggered {"ak": "default/ak-sample"}
1.6766437084505365e+09 ERROR Reconciler error {"controller": "ak-controller", "object": {"name":"ak-sample","namespace":"default"}, "namespace": "default", "name": "ak-sample", "reconcileID": "95d10411-5865-4450-b6f4-e718640001ac", "error": "client rate limiter Wait returned an error: context canceled"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
/home/archer/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:326
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
/home/archer/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:273
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
/home/archer/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:234
1.6766437084505928e+09 INFO All workers finished {"controller": "ak-controller"}
1.6766437084506066e+09 INFO Stopping and waiting for caches
1.6766437084507222e+09 INFO Stopping and waiting for webhooks
1.6766437084507341e+09 INFO Wait completed, proceeding to shutdown the manager
make: *** [Makefile:113: run] Error 1
I can confirm it is related to the secret as when it is disabled I have no such reconcilliation problems:
1.6766454866735418e+09 INFO controllers.Helm Release installed {"ak": "default/ak-sample", "name": "ak-sample", "version": 1}
1.6766454866736445e+09 DEBUG predicate Reconciling due to dependent resource update {"name": "authentik-worker", "namespace": "default", "apiVersion": "apps/v1", "kind": "Deployment"}
1.6766454866741118e+09 DEBUG predicate Reconciling due to dependent resource update {"name": "authentik-server", "namespace": "default", "apiVersion": "apps/v1", "kind": "Deployment"}
1.676645486674792e+09 DEBUG predicate Reconciling due to dependent resource update {"name": "sh.helm.release.v1.ak-sample.v1", "namespace": "default", "apiVersion": "v1", "kind": "Secret"}
1.67664548668227e+09 DEBUG predicate Reconciling due to dependent resource update {"name": "authentik-worker", "namespace": "default", "apiVersion": "apps/v1", "kind": "Deployment"}
1.67664548668497e+09 DEBUG predicate Reconciling due to dependent resource update {"name": "authentik-server", "namespace": "default", "apiVersion": "apps/v1", "kind": "Deployment"}
1.6766454866865325e+09 DEBUG controllers.Helm Reconciliation triggered {"ak": "default/ak-sample"}
1.6766454866900659e+09 DEBUG predicate Reconciling due to dependent resource update {"name": "authentik-worker", "namespace": "default", "apiVersion": "apps/v1", "kind": "Deployment"}
1.6766454866957946e+09 DEBUG predicate Reconciling due to dependent resource update {"name": "authentik-server", "namespace": "default", "apiVersion": "apps/v1", "kind": "Deployment"}
1.6766454866978717e+09 DEBUG controllers.Helm preparing upgrade for ak-sample
1.6766454867697005e+09 DEBUG controllers.Helm performing update for ak-sample
1.6766454867792912e+09 DEBUG controllers.Helm dry run for ak-sample
1.6766454867954018e+09 INFO controllers.Helm Release reconciled {"ak": "default/ak-sample", "name": "ak-sample", "version": 1}
1.6766454867980201e+09 DEBUG controllers.Helm Reconciliation triggered {"ak": "default/ak-sample"}
1.6766454868060386e+09 DEBUG controllers.Helm preparing upgrade for ak-sample
1.676645486920131e+09 DEBUG controllers.Helm performing update for ak-sample
1.6766454869291651e+09 DEBUG controllers.Helm dry run for ak-sample
1.6766454869506211e+09 INFO controllers.Helm Release reconciled {"ak": "default/ak-sample", "name": "ak-sample", "version": 1}
1.6766454987888744e+09 DEBUG controllers.Helm Reconciliation triggered {"ak": "default/ak-sample"}
1.676645498802959e+09 DEBUG controllers.Helm preparing upgrade for ak-sample
1.6766454989271529e+09 DEBUG controllers.Helm performing update for ak-sample
1.6766454989450462e+09 DEBUG controllers.Helm dry run for ak-sample
1.6766454989689188e+09 INFO controllers.Helm Release reconciled {"ak": "default/ak-sample", "name": "ak-sample", "version": 1}
If I am doing anything particularly wrong please let me know. I will try to see if there is a specific in-code fix possible and potentially PR it if I find one.