argoproj / argo-cd

Declarative Continuous Deployment for Kubernetes
https://argo-cd.readthedocs.io
Apache License 2.0
16.72k stars 5.07k forks source link

Possible race condition in `helmTemplate` / `runHelmBuild` #18122

Open opdude opened 1 month ago

opdude commented 1 month ago

Checklist:

Describe the bug

We run an ArgoCD instance with some 300 applications and are regularly seeing the following error on different helm applications.

failed exit status 1: Error: An error occurred while checking for chart dependencies. You may need to run `helm dependency build` to fetch missing dependencies: found in Chart.yaml, but missing in charts/ directory: vault-gke-integration" execID=b5f8a

What I've noticed is that whenever this error occurs then the ordering of operations seems incorrect for example.

Note: It happens on all different git repositories as well as helm repositories so I don't believe it's unique to any particular setup, just happens more commonly with higher number of applications.

I assume that it's to do with this code running in parallel in another thread which causes the operations to be in the incorrect order.

Possibly related issues: https://github.com/argoproj/argo-cd/issues/11564 https://github.com/argoproj/argo-cd/issues/11564

To Reproduce

It's quite difficult for this to be replicated as I believe it to be due to a timing issue, but a suggested way might be to do the following.

  1. Create a 100+ applications using the below Helm chart (with essentially any dependency)
  2. Commit to the repo a few times and hope that something goes in the wrong order. Rinse and repeat until it triggers.

For us it triggers a few hundred times an hour with out 300+ applications.

apiVersion: v1
name: cert-manager
version: 0.0.1

dependencies:
- name: cert-manager
  version: "v1.11.0"
  repository: https://charts.jetstack.io

Expected behavior

helm template should never run before helm dependency build1

Screenshots

N/A

Version

argocd: v2.10.9+c071af8
  BuildDate: 2024-04-30T15:53:28Z
  GitCommit: c071af808170bfc39cbdf6b9be4d0212dd66db0c
  GitTreeState: clean
  GoVersion: go1.21.3
  Compiler: gc
  Platform: linux/amd64
argocd-server: v2.10.9+c071af8

Logs

Easier to read Log

time="2024-05-08T08:24:04Z" level=info msg="helm template . --name-template vault-gke-integration --namespace vault-gke-integration --kube-version 1.27 --values /tmp/_argocd-repo/8503494e-7440-4102-ae0a-1a58766665d6/state/test/charts/vault-gke-integration/values-usc1.yaml --include-crds" dir=/tmp/_argocd-repo/8503494e-7440-4102-ae0a-1a58766665d6/state/test/charts/vault-gke-integration execID=b5f8a
time="2024-05-08T08:24:04Z" level=error msg="`helm template . --name-template vault-gke-integration --namespace vault-gke-integration --kube-version 1.27 --values /tmp/_argocd-repo/8503494e-7440-4102-ae0a-1a58766665d6/state/test/charts/vault-gke-integration/values-usc1.yaml --api-versions --include-crds` failed exit status 1: Error: An error occurred while checking for chart dependencies. You may need to run `helm dependency build` to fetch missing dependencies: found in Chart.yaml, but missing in charts/ directory: vault-gke-integration" execID=b5f8a
time="2024-05-08T08:24:04Z" level=info msg=Trace args="[helm template . --name-template vault-gke-integration --namespace vault-gke-integration --kube-version 1.27 --values /tmp/_argocd-repo/8503494e-7440-4102-ae0a-1a58766665d6/state/test/charts/vault-gke-integration/values-usc1.yaml --include-crds]" dir=/tmp/_argocd-repo/8503494e-7440-4102-ae0a-1a58766665d6/state/test/charts/vault-gke-integration operation_name="exec helm" time_ms=82.551607
time="2024-05-08T08:24:04Z" level=info msg="helm repo add https:--chartmuseum.mycompany.com https://chartmuseum.mycompany.com" dir=/tmp/_argocd-repo/8503494e-7440-4102-ae0a-1a58766665d6/state/test/charts/vault-gke-integration execID=93af4
time="2024-05-08T08:24:04Z" level=info msg=Trace args="[helm repo add https:--chartmuseum.mycompany.com https://chartmuseum.mycompany.com]" dir=/tmp/_argocd-repo/8503494e-7440-4102-ae0a-1a58766665d6/state/test/charts/vault-gke-integration operation_name="exec helm" time_ms=271.359759
time="2024-05-08T08:24:04Z" level=info msg="helm dependency build" dir=/tmp/_argocd-repo/8503494e-7440-4102-ae0a-1a58766665d6/state/test/charts/vault-gke-integration execID=af019

Full Log

time="2024-05-08T08:24:04Z" level=info msg="helm template . --name-template vault-gke-integration --namespace vault-gke-integration --kube-version 1.27 --values /tmp/_argocd-repo/8503494e-7440-4102-ae0a-1a58766665d6/state/test/charts/vault-gke-integration/values-usc1.yaml --api-versions acme.cert-manager.io/v1 --api-versions acme.cert-manager.io/v1/Challenge --api-versions acme.cert-manager.io/v1/Order --api-versions admissionregistration.k8s.io/v1 --api-versions admissionregistration.k8s.io/v1/MutatingWebhookConfiguration --api-versions admissionregistration.k8s.io/v1/ValidatingWebhookConfiguration --api-versions anthos.gke.io/v1alpha1 --api-versions anthos.gke.io/v1alpha1/Entitlement --api-versions apiextensions.k8s.io/v1 --api-versions apiextensions.k8s.io/v1/CustomResourceDefinition --api-versions apiregistration.k8s.io/v1 --api-versions apiregistration.k8s.io/v1/APIService --api-versions apps/v1 --api-versions apps/v1/ControllerRevision --api-versions apps/v1/DaemonSet --api-versions apps/v1/Deployment --api-versions apps/v1/ReplicaSet --api-versions apps/v1/StatefulSet --api-versions auto.gke.io/v1 --api-versions auto.gke.io/v1/AllowlistedV2Workload --api-versions auto.gke.io/v1/AllowlistedWorkload --api-versions auto.gke.io/v1alpha1 --api-versions auto.gke.io/v1alpha1/AllowlistedWorkload --api-versions autoscaling/v1 --api-versions autoscaling/v1/HorizontalPodAutoscaler --api-versions autoscaling/v2 --api-versions autoscaling/v2/HorizontalPodAutoscaler --api-versions batch/v1 --api-versions batch/v1/CronJob --api-versions batch/v1/Job --api-versions cas-issuer.jetstack.io/v1beta1 --api-versions cas-issuer.jetstack.io/v1beta1/GoogleCASClusterIssuer --api-versions cas-issuer.jetstack.io/v1beta1/GoogleCASIssuer --api-versions cert-manager.io/v1 --api-versions cert-manager.io/v1/Certificate --api-versions cert-manager.io/v1/CertificateRequest --api-versions cert-manager.io/v1/ClusterIssuer --api-versions cert-manager.io/v1/Issuer --api-versions certificates.k8s.io/v1 --api-versions certificates.k8s.io/v1/CertificateSigningRequest --api-versions cloud.google.com/v1 --api-versions cloud.google.com/v1/BackendConfig --api-versions cloud.google.com/v1beta1 --api-versions cloud.google.com/v1beta1/BackendConfig --api-versions configdelivery.gke.io/v1beta1 --api-versions configdelivery.gke.io/v1beta1/ConfigSync --api-versions coordination.k8s.io/v1 --api-versions coordination.k8s.io/v1/Lease --api-versions crd.projectcalico.org/v1 --api-versions crd.projectcalico.org/v1/BGPConfiguration --api-versions crd.projectcalico.org/v1/BGPFilter --api-versions crd.projectcalico.org/v1/BGPPeer --api-versions crd.projectcalico.org/v1/BlockAffinity --api-versions crd.projectcalico.org/v1/CalicoNodeStatus --api-versions crd.projectcalico.org/v1/ClusterInformation --api-versions crd.projectcalico.org/v1/FelixConfiguration --api-versions crd.projectcalico.org/v1/GlobalNetworkPolicy --api-versions crd.projectcalico.org/v1/GlobalNetworkSet --api-versions crd.projectcalico.org/v1/HostEndpoint --api-versions crd.projectcalico.org/v1/IPAMBlock --api-versions crd.projectcalico.org/v1/IPAMConfig --api-versions crd.projectcalico.org/v1/IPAMHandle --api-versions crd.projectcalico.org/v1/IPPool --api-versions crd.projectcalico.org/v1/IPReservation --api-versions crd.projectcalico.org/v1/KubeControllersConfiguration --api-versions crd.projectcalico.org/v1/NetworkPolicy --api-versions crd.projectcalico.org/v1/NetworkSet --api-versions discovery.k8s.io/v1 --api-versions discovery.k8s.io/v1/EndpointSlice --api-versions events.k8s.io/v1 --api-versions events.k8s.io/v1/Event --api-versions extensions.istio.io/v1alpha1 --api-versions extensions.istio.io/v1alpha1/WasmPlugin --api-versions external-secrets.io/v1alpha1 --api-versions external-secrets.io/v1alpha1/ClusterSecretStore --api-versions external-secrets.io/v1alpha1/ExternalSecret --api-versions external-secrets.io/v1alpha1/PushSecret --api-versions external-secrets.io/v1alpha1/SecretStore --api-versions external-secrets.io/v1beta1 --api-versions external-secrets.io/v1beta1/ClusterExternalSecret --api-versions external-secrets.io/v1beta1/ClusterSecretStore --api-versions external-secrets.io/v1beta1/ExternalSecret --api-versions external-secrets.io/v1beta1/SecretStore --api-versions flowcontrol.apiserver.k8s.io/v1beta2 --api-versions flowcontrol.apiserver.k8s.io/v1beta2/FlowSchema --api-versions flowcontrol.apiserver.k8s.io/v1beta2/PriorityLevelConfiguration --api-versions flowcontrol.apiserver.k8s.io/v1beta3 --api-versions flowcontrol.apiserver.k8s.io/v1beta3/FlowSchema --api-versions flowcontrol.apiserver.k8s.io/v1beta3/PriorityLevelConfiguration --api-versions gateway.networking.k8s.io/v1alpha2 --api-versions gateway.networking.k8s.io/v1alpha2/ReferenceGrant --api-versions gateway.networking.k8s.io/v1beta1 --api-versions gateway.networking.k8s.io/v1beta1/Gateway --api-versions gateway.networking.k8s.io/v1beta1/GatewayClass --api-versions gateway.networking.k8s.io/v1beta1/HTTPRoute --api-versions gateway.networking.k8s.io/v1beta1/ReferenceGrant --api-versions generators.external-secrets.io/v1alpha1 --api-versions generators.external-secrets.io/v1alpha1/ACRAccessToken --api-versions generators.external-secrets.io/v1alpha1/ECRAuthorizationToken --api-versions generators.external-secrets.io/v1alpha1/Fake --api-versions generators.external-secrets.io/v1alpha1/GCRAccessToken --api-versions generators.external-secrets.io/v1alpha1/Password --api-versions generators.external-secrets.io/v1alpha1/VaultDynamicSecret --api-versions gkebackup.gke.io/v1 --api-versions gkebackup.gke.io/v1/BackupJob --api-versions gkebackup.gke.io/v1/ProtectedApplication --api-versions gkebackup.gke.io/v1/ProtectedApplicationGroup --api-versions gkebackup.gke.io/v1/RestoreJob --api-versions gkebackup.gke.io/v1alpha1 --api-versions gkebackup.gke.io/v1alpha1/BackupJob --api-versions gkebackup.gke.io/v1alpha1/ProtectedApplication --api-versions gkebackup.gke.io/v1alpha1/ProtectedApplicationGroup --api-versions gkebackup.gke.io/v1alpha1/RestoreJob --api-versions gkebackup.gke.io/v1alpha2 --api-versions gkebackup.gke.io/v1alpha2/BackupJob --api-versions gkebackup.gke.io/v1alpha2/ProtectedApplication --api-versions gkebackup.gke.io/v1alpha2/ProtectedApplicationGroup --api-versions gkebackup.gke.io/v1alpha2/RestoreJob --api-versions hub.gke.io/v1 --api-versions hub.gke.io/v1/Membership --api-versions install.istio.io/v1alpha1 --api-versions install.istio.io/v1alpha1/IstioOperator --api-versions internal.autoscaling.gke.io/v1 --api-versions internal.autoscaling.gke.io/v1/CapacityRequest --api-versions monitoring.coreos.com/v1 --api-versions monitoring.coreos.com/v1/Alertmanager --api-versions monitoring.coreos.com/v1/PodMonitor --api-versions monitoring.coreos.com/v1/Probe --api-versions monitoring.coreos.com/v1/Prometheus --api-versions monitoring.coreos.com/v1/PrometheusRule --api-versions monitoring.coreos.com/v1/ServiceMonitor --api-versions monitoring.coreos.com/v1/ThanosRuler --api-versions monitoring.coreos.com/v1alpha1 --api-versions monitoring.coreos.com/v1alpha1/AlertmanagerConfig --api-versions monitoring.coreos.com/v1alpha1/PrometheusAgent --api-versions monitoring.coreos.com/v1alpha1/ScrapeConfig --api-versions monitoring.googleapis.com/v1 --api-versions monitoring.googleapis.com/v1/ClusterPodMonitoring --api-versions monitoring.googleapis.com/v1/ClusterRules --api-versions monitoring.googleapis.com/v1/GlobalRules --api-versions monitoring.googleapis.com/v1/OperatorConfig --api-versions monitoring.googleapis.com/v1/PodMonitoring --api-versions monitoring.googleapis.com/v1/Rules --api-versions monitoring.googleapis.com/v1alpha1 --api-versions monitoring.googleapis.com/v1alpha1/ClusterPodMonitoring --api-versions monitoring.googleapis.com/v1alpha1/ClusterRules --api-versions monitoring.googleapis.com/v1alpha1/GlobalRules --api-versions monitoring.googleapis.com/v1alpha1/OperatorConfig --api-versions monitoring.googleapis.com/v1alpha1/PodMonitoring --api-versions monitoring.googleapis.com/v1alpha1/Rules --api-versions net.gke.io/v1 --api-versions net.gke.io/v1/ClusterImportConfig --api-versions net.gke.io/v1/ServiceExport --api-versions net.gke.io/v1/ServiceImport --api-versions net.gke.io/v1/ServiceImportConfig --api-versions net.gke.io/v1alpha1 --api-versions net.gke.io/v1alpha1/ServiceExport --api-versions networking.gke.io/v1 --api-versions networking.gke.io/v1/GCPBackendPolicy --api-versions networking.gke.io/v1/GCPGatewayPolicy --api-versions networking.gke.io/v1/GKENetworkParamSet --api-versions networking.gke.io/v1/HealthCheckPolicy --api-versions networking.gke.io/v1/LBPolicy --api-versions networking.gke.io/v1/ManagedCertificate --api-versions networking.gke.io/v1/MultiClusterIngress --api-versions networking.gke.io/v1/MultiClusterService --api-versions networking.gke.io/v1/Network --api-versions networking.gke.io/v1/ServiceAttachment --api-versions networking.gke.io/v1beta1 --api-versions networking.gke.io/v1beta1/FrontendConfig --api-versions networking.gke.io/v1beta1/ManagedCertificate --api-versions networking.gke.io/v1beta1/MultiClusterIngress --api-versions networking.gke.io/v1beta1/MultiClusterService --api-versions networking.gke.io/v1beta1/ServiceAttachment --api-versions networking.gke.io/v1beta1/ServiceNetworkEndpointGroup --api-versions networking.gke.io/v1beta2 --api-versions networking.gke.io/v1beta2/ManagedCertificate --api-versions networking.istio.io/v1alpha3 --api-versions networking.istio.io/v1alpha3/DestinationRule --api-versions networking.istio.io/v1alpha3/EnvoyFilter --api-versions networking.istio.io/v1alpha3/Gateway --api-versions networking.istio.io/v1alpha3/ServiceEntry --api-versions networking.istio.io/v1alpha3/Sidecar --api-versions networking.istio.io/v1alpha3/VirtualService --api-versions networking.istio.io/v1alpha3/WorkloadEntry --api-versions networking.istio.io/v1alpha3/WorkloadGroup --api-versions networking.istio.io/v1beta1 --api-versions networking.istio.io/v1beta1/DestinationRule --api-versions networking.istio.io/v1beta1/Gateway --api-versions networking.istio.io/v1beta1/ProxyConfig --api-versions networking.istio.io/v1beta1/ServiceEntry --api-versions networking.istio.io/v1beta1/Sidecar --api-versions networking.istio.io/v1beta1/VirtualService --api-versions networking.istio.io/v1beta1/WorkloadEntry --api-versions networking.istio.io/v1beta1/WorkloadGroup --api-versions networking.k8s.io/v1 --api-versions networking.k8s.io/v1/Ingress --api-versions networking.k8s.io/v1/IngressClass --api-versions networking.k8s.io/v1/NetworkPolicy --api-versions node.k8s.io/v1 --api-versions node.k8s.io/v1/RuntimeClass --api-versions nodemanagement.gke.io/v1alpha1 --api-versions nodemanagement.gke.io/v1alpha1/UpdateInfo --api-versions policy/v1 --api-versions policy/v1/PodDisruptionBudget --api-versions rbac.authorization.k8s.io/v1 --api-versions rbac.authorization.k8s.io/v1/ClusterRole --api-versions rbac.authorization.k8s.io/v1/ClusterRoleBinding --api-versions rbac.authorization.k8s.io/v1/Role --api-versions rbac.authorization.k8s.io/v1/RoleBinding --api-versions scheduling.k8s.io/v1 --api-versions scheduling.k8s.io/v1/PriorityClass --api-versions security.istio.io/v1 --api-versions security.istio.io/v1/AuthorizationPolicy --api-versions security.istio.io/v1/RequestAuthentication --api-versions security.istio.io/v1beta1 --api-versions security.istio.io/v1beta1/AuthorizationPolicy --api-versions security.istio.io/v1beta1/PeerAuthentication --api-versions security.istio.io/v1beta1/RequestAuthentication --api-versions snapshot.storage.k8s.io/v1 --api-versions snapshot.storage.k8s.io/v1/VolumeSnapshot --api-versions snapshot.storage.k8s.io/v1/VolumeSnapshotClass --api-versions snapshot.storage.k8s.io/v1/VolumeSnapshotContent --api-versions snapshot.storage.k8s.io/v1beta1 --api-versions snapshot.storage.k8s.io/v1beta1/VolumeSnapshot --api-versions snapshot.storage.k8s.io/v1beta1/VolumeSnapshotClass --api-versions snapshot.storage.k8s.io/v1beta1/VolumeSnapshotContent --api-versions storage.k8s.io/v1 --api-versions storage.k8s.io/v1/CSIDriver --api-versions storage.k8s.io/v1/CSINode --api-versions storage.k8s.io/v1/CSIStorageCapacity --api-versions storage.k8s.io/v1/StorageClass --api-versions storage.k8s.io/v1/VolumeAttachment --api-versions telemetry.istio.io/v1alpha1 --api-versions telemetry.istio.io/v1alpha1/Telemetry --api-versions v1 --api-versions v1/ConfigMap --api-versions v1/Endpoints --api-versions v1/Event --api-versions v1/LimitRange --api-versions v1/Namespace --api-versions v1/Node --api-versions v1/PersistentVolume --api-versions v1/PersistentVolumeClaim --api-versions v1/Pod --api-versions v1/PodTemplate --api-versions v1/ReplicationController --api-versions v1/ResourceQuota --api-versions v1/Secret --api-versions v1/Service --api-versions v1/ServiceAccount --api-versions warden.gke.io/v1 --api-versions warden.gke.io/v1/Audit --include-crds" dir=/tmp/_argocd-repo/8503494e-7440-4102-ae0a-1a58766665d6/state/test/charts/vault-gke-integration execID=b5f8a
time="2024-05-08T08:24:04Z" level=error msg="`helm template . --name-template vault-gke-integration --namespace vault-gke-integration --kube-version 1.27 --values /tmp/_argocd-repo/8503494e-7440-4102-ae0a-1a58766665d6/state/test/charts/vault-gke-integration/values-usc1.yaml --api-versions acme.cert-manager.io/v1 --api-versions acme.cert-manager.io/v1/Challenge --api-versions acme.cert-manager.io/v1/Order --api-versions admissionregistration.k8s.io/v1 --api-versions admissionregistration.k8s.io/v1/MutatingWebhookConfiguration --api-versions admissionregistration.k8s.io/v1/ValidatingWebhookConfiguration --api-versions anthos.gke.io/v1alpha1 --api-versions anthos.gke.io/v1alpha1/Entitlement --api-versions apiextensions.k8s.io/v1 --api-versions apiextensions.k8s.io/v1/CustomResourceDefinition --api-versions apiregistration.k8s.io/v1 --api-versions apiregistration.k8s.io/v1/APIService --api-versions apps/v1 --api-versions apps/v1/ControllerRevision --api-versions apps/v1/DaemonSet --api-versions apps/v1/Deployment --api-versions apps/v1/ReplicaSet --api-versions apps/v1/StatefulSet --api-versions auto.gke.io/v1 --api-versions auto.gke.io/v1/AllowlistedV2Workload --api-versions auto.gke.io/v1/AllowlistedWorkload --api-versions auto.gke.io/v1alpha1 --api-versions auto.gke.io/v1alpha1/AllowlistedWorkload --api-versions autoscaling/v1 --api-versions autoscaling/v1/HorizontalPodAutoscaler --api-versions autoscaling/v2 --api-versions autoscaling/v2/HorizontalPodAutoscaler --api-versions batch/v1 --api-versions batch/v1/CronJob --api-versions batch/v1/Job --api-versions cas-issuer.jetstack.io/v1beta1 --api-versions cas-issuer.jetstack.io/v1beta1/GoogleCASClusterIssuer --api-versions cas-issuer.jetstack.io/v1beta1/GoogleCASIssuer --api-versions cert-manager.io/v1 --api-versions cert-manager.io/v1/Certificate --api-versions cert-manager.io/v1/CertificateRequest --api-versions cert-manager.io/v1/ClusterIssuer --api-versions cert-manager.io/v1/Issuer --api-versions certificates.k8s.io/v1 --api-versions certificates.k8s.io/v1/CertificateSigningRequest --api-versions cloud.google.com/v1 --api-versions cloud.google.com/v1/BackendConfig --api-versions cloud.google.com/v1beta1 --api-versions cloud.google.com/v1beta1/BackendConfig --api-versions configdelivery.gke.io/v1beta1 --api-versions configdelivery.gke.io/v1beta1/ConfigSync --api-versions coordination.k8s.io/v1 --api-versions coordination.k8s.io/v1/Lease --api-versions crd.projectcalico.org/v1 --api-versions crd.projectcalico.org/v1/BGPConfiguration --api-versions crd.projectcalico.org/v1/BGPFilter --api-versions crd.projectcalico.org/v1/BGPPeer --api-versions crd.projectcalico.org/v1/BlockAffinity --api-versions crd.projectcalico.org/v1/CalicoNodeStatus --api-versions crd.projectcalico.org/v1/ClusterInformation --api-versions crd.projectcalico.org/v1/FelixConfiguration --api-versions crd.projectcalico.org/v1/GlobalNetworkPolicy --api-versions crd.projectcalico.org/v1/GlobalNetworkSet --api-versions crd.projectcalico.org/v1/HostEndpoint --api-versions crd.projectcalico.org/v1/IPAMBlock --api-versions crd.projectcalico.org/v1/IPAMConfig --api-versions crd.projectcalico.org/v1/IPAMHandle --api-versions crd.projectcalico.org/v1/IPPool --api-versions crd.projectcalico.org/v1/IPReservation --api-versions crd.projectcalico.org/v1/KubeControllersConfiguration --api-versions crd.projectcalico.org/v1/NetworkPolicy --api-versions crd.projectcalico.org/v1/NetworkSet --api-versions discovery.k8s.io/v1 --api-versions discovery.k8s.io/v1/EndpointSlice --api-versions events.k8s.io/v1 --api-versions events.k8s.io/v1/Event --api-versions extensions.istio.io/v1alpha1 --api-versions extensions.istio.io/v1alpha1/WasmPlugin --api-versions external-secrets.io/v1alpha1 --api-versions external-secrets.io/v1alpha1/ClusterSecretStore --api-versions external-secrets.io/v1alpha1/ExternalSecret --api-versions external-secrets.io/v1alpha1/PushSecret --api-versions external-secrets.io/v1alpha1/SecretStore --api-versions external-secrets.io/v1beta1 --api-versions external-secrets.io/v1beta1/ClusterExternalSecret --api-versions external-secrets.io/v1beta1/ClusterSecretStore --api-versions external-secrets.io/v1beta1/ExternalSecret --api-versions external-secrets.io/v1beta1/SecretStore --api-versions flowcontrol.apiserver.k8s.io/v1beta2 --api-versions flowcontrol.apiserver.k8s.io/v1beta2/FlowSchema --api-versions flowcontrol.apiserver.k8s.io/v1beta2/PriorityLevelConfiguration --api-versions flowcontrol.apiserver.k8s.io/v1beta3 --api-versions flowcontrol.apiserver.k8s.io/v1beta3/FlowSchema --api-versions flowcontrol.apiserver.k8s.io/v1beta3/PriorityLevelConfiguration --api-versions gateway.networking.k8s.io/v1alpha2 --api-versions gateway.networking.k8s.io/v1alpha2/ReferenceGrant --api-versions gateway.networking.k8s.io/v1beta1 --api-versions gateway.networking.k8s.io/v1beta1/Gateway --api-versions gateway.networking.k8s.io/v1beta1/GatewayClass --api-versions gateway.networking.k8s.io/v1beta1/HTTPRoute --api-versions gateway.networking.k8s.io/v1beta1/ReferenceGrant --api-versions generators.external-secrets.io/v1alpha1 --api-versions generators.external-secrets.io/v1alpha1/ACRAccessToken --api-versions generators.external-secrets.io/v1alpha1/ECRAuthorizationToken --api-versions generators.external-secrets.io/v1alpha1/Fake --api-versions generators.external-secrets.io/v1alpha1/GCRAccessToken --api-versions generators.external-secrets.io/v1alpha1/Password --api-versions generators.external-secrets.io/v1alpha1/VaultDynamicSecret --api-versions gkebackup.gke.io/v1 --api-versions gkebackup.gke.io/v1/BackupJob --api-versions gkebackup.gke.io/v1/ProtectedApplication --api-versions gkebackup.gke.io/v1/ProtectedApplicationGroup --api-versions gkebackup.gke.io/v1/RestoreJob --api-versions gkebackup.gke.io/v1alpha1 --api-versions gkebackup.gke.io/v1alpha1/BackupJob --api-versions gkebackup.gke.io/v1alpha1/ProtectedApplication --api-versions gkebackup.gke.io/v1alpha1/ProtectedApplicationGroup --api-versions gkebackup.gke.io/v1alpha1/RestoreJob --api-versions gkebackup.gke.io/v1alpha2 --api-versions gkebackup.gke.io/v1alpha2/BackupJob --api-versions gkebackup.gke.io/v1alpha2/ProtectedApplication --api-versions gkebackup.gke.io/v1alpha2/ProtectedApplicationGroup --api-versions gkebackup.gke.io/v1alpha2/RestoreJob --api-versions hub.gke.io/v1 --api-versions hub.gke.io/v1/Membership --api-versions install.istio.io/v1alpha1 --api-versions install.istio.io/v1alpha1/IstioOperator --api-versions internal.autoscaling.gke.io/v1 --api-versions internal.autoscaling.gke.io/v1/CapacityRequest --api-versions monitoring.coreos.com/v1 --api-versions monitoring.coreos.com/v1/Alertmanager --api-versions monitoring.coreos.com/v1/PodMonitor --api-versions monitoring.coreos.com/v1/Probe --api-versions monitoring.coreos.com/v1/Prometheus --api-versions monitoring.coreos.com/v1/PrometheusRule --api-versions monitoring.coreos.com/v1/ServiceMonitor --api-versions monitoring.coreos.com/v1/ThanosRuler --api-versions monitoring.coreos.com/v1alpha1 --api-versions monitoring.coreos.com/v1alpha1/AlertmanagerConfig --api-versions monitoring.coreos.com/v1alpha1/PrometheusAgent --api-versions monitoring.coreos.com/v1alpha1/ScrapeConfig --api-versions monitoring.googleapis.com/v1 --api-versions monitoring.googleapis.com/v1/ClusterPodMonitoring --api-versions monitoring.googleapis.com/v1/ClusterRules --api-versions monitoring.googleapis.com/v1/GlobalRules --api-versions monitoring.googleapis.com/v1/OperatorConfig --api-versions monitoring.googleapis.com/v1/PodMonitoring --api-versions monitoring.googleapis.com/v1/Rules --api-versions monitoring.googleapis.com/v1alpha1 --api-versions monitoring.googleapis.com/v1alpha1/ClusterPodMonitoring --api-versions monitoring.googleapis.com/v1alpha1/ClusterRules --api-versions monitoring.googleapis.com/v1alpha1/GlobalRules --api-versions monitoring.googleapis.com/v1alpha1/OperatorConfig --api-versions monitoring.googleapis.com/v1alpha1/PodMonitoring --api-versions monitoring.googleapis.com/v1alpha1/Rules --api-versions net.gke.io/v1 --api-versions net.gke.io/v1/ClusterImportConfig --api-versions net.gke.io/v1/ServiceExport --api-versions net.gke.io/v1/ServiceImport --api-versions net.gke.io/v1/ServiceImportConfig --api-versions net.gke.io/v1alpha1 --api-versions net.gke.io/v1alpha1/ServiceExport --api-versions networking.gke.io/v1 --api-versions networking.gke.io/v1/GCPBackendPolicy --api-versions networking.gke.io/v1/GCPGatewayPolicy --api-versions networking.gke.io/v1/GKENetworkParamSet --api-versions networking.gke.io/v1/HealthCheckPolicy --api-versions networking.gke.io/v1/LBPolicy --api-versions networking.gke.io/v1/ManagedCertificate --api-versions networking.gke.io/v1/MultiClusterIngress --api-versions networking.gke.io/v1/MultiClusterService --api-versions networking.gke.io/v1/Network --api-versions networking.gke.io/v1/ServiceAttachment --api-versions networking.gke.io/v1beta1 --api-versions networking.gke.io/v1beta1/FrontendConfig --api-versions networking.gke.io/v1beta1/ManagedCertificate --api-versions networking.gke.io/v1beta1/MultiClusterIngress --api-versions networking.gke.io/v1beta1/MultiClusterService --api-versions networking.gke.io/v1beta1/ServiceAttachment --api-versions networking.gke.io/v1beta1/ServiceNetworkEndpointGroup --api-versions networking.gke.io/v1beta2 --api-versions networking.gke.io/v1beta2/ManagedCertificate --api-versions networking.istio.io/v1alpha3 --api-versions networking.istio.io/v1alpha3/DestinationRule --api-versions networking.istio.io/v1alpha3/EnvoyFilter --api-versions networking.istio.io/v1alpha3/Gateway --api-versions networking.istio.io/v1alpha3/ServiceEntry --api-versions networking.istio.io/v1alpha3/Sidecar --api-versions networking.istio.io/v1alpha3/VirtualService --api-versions networking.istio.io/v1alpha3/WorkloadEntry --api-versions networking.istio.io/v1alpha3/WorkloadGroup --api-versions networking.istio.io/v1beta1 --api-versions networking.istio.io/v1beta1/DestinationRule --api-versions networking.istio.io/v1beta1/Gateway --api-versions networking.istio.io/v1beta1/ProxyConfig --api-versions networking.istio.io/v1beta1/ServiceEntry --api-versions networking.istio.io/v1beta1/Sidecar --api-versions networking.istio.io/v1beta1/VirtualService --api-versions networking.istio.io/v1beta1/WorkloadEntry --api-versions networking.istio.io/v1beta1/WorkloadGroup --api-versions networking.k8s.io/v1 --api-versions networking.k8s.io/v1/Ingress --api-versions networking.k8s.io/v1/IngressClass --api-versions networking.k8s.io/v1/NetworkPolicy --api-versions node.k8s.io/v1 --api-versions node.k8s.io/v1/RuntimeClass --api-versions nodemanagement.gke.io/v1alpha1 --api-versions nodemanagement.gke.io/v1alpha1/UpdateInfo --api-versions policy/v1 --api-versions policy/v1/PodDisruptionBudget --api-versions rbac.authorization.k8s.io/v1 --api-versions rbac.authorization.k8s.io/v1/ClusterRole --api-versions rbac.authorization.k8s.io/v1/ClusterRoleBinding --api-versions rbac.authorization.k8s.io/v1/Role --api-versions rbac.authorization.k8s.io/v1/RoleBinding --api-versions scheduling.k8s.io/v1 --api-versions scheduling.k8s.io/v1/PriorityClass --api-versions security.istio.io/v1 --api-versions security.istio.io/v1/AuthorizationPolicy --api-versions security.istio.io/v1/RequestAuthentication --api-versions security.istio.io/v1beta1 --api-versions security.istio.io/v1beta1/AuthorizationPolicy --api-versions security.istio.io/v1beta1/PeerAuthentication --api-versions security.istio.io/v1beta1/RequestAuthentication --api-versions snapshot.storage.k8s.io/v1 --api-versions snapshot.storage.k8s.io/v1/VolumeSnapshot --api-versions snapshot.storage.k8s.io/v1/VolumeSnapshotClass --api-versions snapshot.storage.k8s.io/v1/VolumeSnapshotContent --api-versions snapshot.storage.k8s.io/v1beta1 --api-versions snapshot.storage.k8s.io/v1beta1/VolumeSnapshot --api-versions snapshot.storage.k8s.io/v1beta1/VolumeSnapshotClass --api-versions snapshot.storage.k8s.io/v1beta1/VolumeSnapshotContent --api-versions storage.k8s.io/v1 --api-versions storage.k8s.io/v1/CSIDriver --api-versions storage.k8s.io/v1/CSINode --api-versions storage.k8s.io/v1/CSIStorageCapacity --api-versions storage.k8s.io/v1/StorageClass --api-versions storage.k8s.io/v1/VolumeAttachment --api-versions telemetry.istio.io/v1alpha1 --api-versions telemetry.istio.io/v1alpha1/Telemetry --api-versions v1 --api-versions v1/ConfigMap --api-versions v1/Endpoints --api-versions v1/Event --api-versions v1/LimitRange --api-versions v1/Namespace --api-versions v1/Node --api-versions v1/PersistentVolume --api-versions v1/PersistentVolumeClaim --api-versions v1/Pod --api-versions v1/PodTemplate --api-versions v1/ReplicationController --api-versions v1/ResourceQuota --api-versions v1/Secret --api-versions v1/Service --api-versions v1/ServiceAccount --api-versions warden.gke.io/v1 --api-versions warden.gke.io/v1/Audit --include-crds` failed exit status 1: Error: An error occurred while checking for chart dependencies. You may need to run `helm dependency build` to fetch missing dependencies: found in Chart.yaml, but missing in charts/ directory: vault-gke-integration" execID=b5f8a
time="2024-05-08T08:24:04Z" level=info msg=Trace args="[helm template . --name-template vault-gke-integration --namespace vault-gke-integration --kube-version 1.27 --values /tmp/_argocd-repo/8503494e-7440-4102-ae0a-1a58766665d6/state/test/charts/vault-gke-integration/values-usc1.yaml --api-versions acme.cert-manager.io/v1 --api-versions acme.cert-manager.io/v1/Challenge --api-versions acme.cert-manager.io/v1/Order --api-versions admissionregistration.k8s.io/v1 --api-versions admissionregistration.k8s.io/v1/MutatingWebhookConfiguration --api-versions admissionregistration.k8s.io/v1/ValidatingWebhookConfiguration --api-versions anthos.gke.io/v1alpha1 --api-versions anthos.gke.io/v1alpha1/Entitlement --api-versions apiextensions.k8s.io/v1 --api-versions apiextensions.k8s.io/v1/CustomResourceDefinition --api-versions apiregistration.k8s.io/v1 --api-versions apiregistration.k8s.io/v1/APIService --api-versions apps/v1 --api-versions apps/v1/ControllerRevision --api-versions apps/v1/DaemonSet --api-versions apps/v1/Deployment --api-versions apps/v1/ReplicaSet --api-versions apps/v1/StatefulSet --api-versions auto.gke.io/v1 --api-versions auto.gke.io/v1/AllowlistedV2Workload --api-versions auto.gke.io/v1/AllowlistedWorkload --api-versions auto.gke.io/v1alpha1 --api-versions auto.gke.io/v1alpha1/AllowlistedWorkload --api-versions autoscaling/v1 --api-versions autoscaling/v1/HorizontalPodAutoscaler --api-versions autoscaling/v2 --api-versions autoscaling/v2/HorizontalPodAutoscaler --api-versions batch/v1 --api-versions batch/v1/CronJob --api-versions batch/v1/Job --api-versions cas-issuer.jetstack.io/v1beta1 --api-versions cas-issuer.jetstack.io/v1beta1/GoogleCASClusterIssuer --api-versions cas-issuer.jetstack.io/v1beta1/GoogleCASIssuer --api-versions cert-manager.io/v1 --api-versions cert-manager.io/v1/Certificate --api-versions cert-manager.io/v1/CertificateRequest --api-versions cert-manager.io/v1/ClusterIssuer --api-versions cert-manager.io/v1/Issuer --api-versions certificates.k8s.io/v1 --api-versions certificates.k8s.io/v1/CertificateSigningRequest --api-versions cloud.google.com/v1 --api-versions cloud.google.com/v1/BackendConfig --api-versions cloud.google.com/v1beta1 --api-versions cloud.google.com/v1beta1/BackendConfig --api-versions configdelivery.gke.io/v1beta1 --api-versions configdelivery.gke.io/v1beta1/ConfigSync --api-versions coordination.k8s.io/v1 --api-versions coordination.k8s.io/v1/Lease --api-versions crd.projectcalico.org/v1 --api-versions crd.projectcalico.org/v1/BGPConfiguration --api-versions crd.projectcalico.org/v1/BGPFilter --api-versions crd.projectcalico.org/v1/BGPPeer --api-versions crd.projectcalico.org/v1/BlockAffinity --api-versions crd.projectcalico.org/v1/CalicoNodeStatus --api-versions crd.projectcalico.org/v1/ClusterInformation --api-versions crd.projectcalico.org/v1/FelixConfiguration --api-versions crd.projectcalico.org/v1/GlobalNetworkPolicy --api-versions crd.projectcalico.org/v1/GlobalNetworkSet --api-versions crd.projectcalico.org/v1/HostEndpoint --api-versions crd.projectcalico.org/v1/IPAMBlock --api-versions crd.projectcalico.org/v1/IPAMConfig --api-versions crd.projectcalico.org/v1/IPAMHandle --api-versions crd.projectcalico.org/v1/IPPool --api-versions crd.projectcalico.org/v1/IPReservation --api-versions crd.projectcalico.org/v1/KubeControllersConfiguration --api-versions crd.projectcalico.org/v1/NetworkPolicy --api-versions crd.projectcalico.org/v1/NetworkSet --api-versions discovery.k8s.io/v1 --api-versions discovery.k8s.io/v1/EndpointSlice --api-versions events.k8s.io/v1 --api-versions events.k8s.io/v1/Event --api-versions extensions.istio.io/v1alpha1 --api-versions extensions.istio.io/v1alpha1/WasmPlugin --api-versions external-secrets.io/v1alpha1 --api-versions external-secrets.io/v1alpha1/ClusterSecretStore --api-versions external-secrets.io/v1alpha1/ExternalSecret --api-versions external-secrets.io/v1alpha1/PushSecret --api-versions external-secrets.io/v1alpha1/SecretStore --api-versions external-secrets.io/v1beta1 --api-versions external-secrets.io/v1beta1/ClusterExternalSecret --api-versions external-secrets.io/v1beta1/ClusterSecretStore --api-versions external-secrets.io/v1beta1/ExternalSecret --api-versions external-secrets.io/v1beta1/SecretStore --api-versions flowcontrol.apiserver.k8s.io/v1beta2 --api-versions flowcontrol.apiserver.k8s.io/v1beta2/FlowSchema --api-versions flowcontrol.apiserver.k8s.io/v1beta2/PriorityLevelConfiguration --api-versions flowcontrol.apiserver.k8s.io/v1beta3 --api-versions flowcontrol.apiserver.k8s.io/v1beta3/FlowSchema --api-versions flowcontrol.apiserver.k8s.io/v1beta3/PriorityLevelConfiguration --api-versions gateway.networking.k8s.io/v1alpha2 --api-versions gateway.networking.k8s.io/v1alpha2/ReferenceGrant --api-versions gateway.networking.k8s.io/v1beta1 --api-versions gateway.networking.k8s.io/v1beta1/Gateway --api-versions gateway.networking.k8s.io/v1beta1/GatewayClass --api-versions gateway.networking.k8s.io/v1beta1/HTTPRoute --api-versions gateway.networking.k8s.io/v1beta1/ReferenceGrant --api-versions generators.external-secrets.io/v1alpha1 --api-versions generators.external-secrets.io/v1alpha1/ACRAccessToken --api-versions generators.external-secrets.io/v1alpha1/ECRAuthorizationToken --api-versions generators.external-secrets.io/v1alpha1/Fake --api-versions generators.external-secrets.io/v1alpha1/GCRAccessToken --api-versions generators.external-secrets.io/v1alpha1/Password --api-versions generators.external-secrets.io/v1alpha1/VaultDynamicSecret --api-versions gkebackup.gke.io/v1 --api-versions gkebackup.gke.io/v1/BackupJob --api-versions gkebackup.gke.io/v1/ProtectedApplication --api-versions gkebackup.gke.io/v1/ProtectedApplicationGroup --api-versions gkebackup.gke.io/v1/RestoreJob --api-versions gkebackup.gke.io/v1alpha1 --api-versions gkebackup.gke.io/v1alpha1/BackupJob --api-versions gkebackup.gke.io/v1alpha1/ProtectedApplication --api-versions gkebackup.gke.io/v1alpha1/ProtectedApplicationGroup --api-versions gkebackup.gke.io/v1alpha1/RestoreJob --api-versions gkebackup.gke.io/v1alpha2 --api-versions gkebackup.gke.io/v1alpha2/BackupJob --api-versions gkebackup.gke.io/v1alpha2/ProtectedApplication --api-versions gkebackup.gke.io/v1alpha2/ProtectedApplicationGroup --api-versions gkebackup.gke.io/v1alpha2/RestoreJob --api-versions hub.gke.io/v1 --api-versions hub.gke.io/v1/Membership --api-versions install.istio.io/v1alpha1 --api-versions install.istio.io/v1alpha1/IstioOperator --api-versions internal.autoscaling.gke.io/v1 --api-versions internal.autoscaling.gke.io/v1/CapacityRequest --api-versions monitoring.coreos.com/v1 --api-versions monitoring.coreos.com/v1/Alertmanager --api-versions monitoring.coreos.com/v1/PodMonitor --api-versions monitoring.coreos.com/v1/Probe --api-versions monitoring.coreos.com/v1/Prometheus --api-versions monitoring.coreos.com/v1/PrometheusRule --api-versions monitoring.coreos.com/v1/ServiceMonitor --api-versions monitoring.coreos.com/v1/ThanosRuler --api-versions monitoring.coreos.com/v1alpha1 --api-versions monitoring.coreos.com/v1alpha1/AlertmanagerConfig --api-versions monitoring.coreos.com/v1alpha1/PrometheusAgent --api-versions monitoring.coreos.com/v1alpha1/ScrapeConfig --api-versions monitoring.googleapis.com/v1 --api-versions monitoring.googleapis.com/v1/ClusterPodMonitoring --api-versions monitoring.googleapis.com/v1/ClusterRules --api-versions monitoring.googleapis.com/v1/GlobalRules --api-versions monitoring.googleapis.com/v1/OperatorConfig --api-versions monitoring.googleapis.com/v1/PodMonitoring --api-versions monitoring.googleapis.com/v1/Rules --api-versions monitoring.googleapis.com/v1alpha1 --api-versions monitoring.googleapis.com/v1alpha1/ClusterPodMonitoring --api-versions monitoring.googleapis.com/v1alpha1/ClusterRules --api-versions monitoring.googleapis.com/v1alpha1/GlobalRules --api-versions monitoring.googleapis.com/v1alpha1/OperatorConfig --api-versions monitoring.googleapis.com/v1alpha1/PodMonitoring --api-versions monitoring.googleapis.com/v1alpha1/Rules --api-versions net.gke.io/v1 --api-versions net.gke.io/v1/ClusterImportConfig --api-versions net.gke.io/v1/ServiceExport --api-versions net.gke.io/v1/ServiceImport --api-versions net.gke.io/v1/ServiceImportConfig --api-versions net.gke.io/v1alpha1 --api-versions net.gke.io/v1alpha1/ServiceExport --api-versions networking.gke.io/v1 --api-versions networking.gke.io/v1/GCPBackendPolicy --api-versions networking.gke.io/v1/GCPGatewayPolicy --api-versions networking.gke.io/v1/GKENetworkParamSet --api-versions networking.gke.io/v1/HealthCheckPolicy --api-versions networking.gke.io/v1/LBPolicy --api-versions networking.gke.io/v1/ManagedCertificate --api-versions networking.gke.io/v1/MultiClusterIngress --api-versions networking.gke.io/v1/MultiClusterService --api-versions networking.gke.io/v1/Network --api-versions networking.gke.io/v1/ServiceAttachment --api-versions networking.gke.io/v1beta1 --api-versions networking.gke.io/v1beta1/FrontendConfig --api-versions networking.gke.io/v1beta1/ManagedCertificate --api-versions networking.gke.io/v1beta1/MultiClusterIngress --api-versions networking.gke.io/v1beta1/MultiClusterService --api-versions networking.gke.io/v1beta1/ServiceAttachment --api-versions networking.gke.io/v1beta1/ServiceNetworkEndpointGroup --api-versions networking.gke.io/v1beta2 --api-versions networking.gke.io/v1beta2/ManagedCertificate --api-versions networking.istio.io/v1alpha3 --api-versions networking.istio.io/v1alpha3/DestinationRule --api-versions networking.istio.io/v1alpha3/EnvoyFilter --api-versions networking.istio.io/v1alpha3/Gateway --api-versions networking.istio.io/v1alpha3/ServiceEntry --api-versions networking.istio.io/v1alpha3/Sidecar --api-versions networking.istio.io/v1alpha3/VirtualService --api-versions networking.istio.io/v1alpha3/WorkloadEntry --api-versions networking.istio.io/v1alpha3/WorkloadGroup --api-versions networking.istio.io/v1beta1 --api-versions networking.istio.io/v1beta1/DestinationRule --api-versions networking.istio.io/v1beta1/Gateway --api-versions networking.istio.io/v1beta1/ProxyConfig --api-versions networking.istio.io/v1beta1/ServiceEntry --api-versions networking.istio.io/v1beta1/Sidecar --api-versions networking.istio.io/v1beta1/VirtualService --api-versions networking.istio.io/v1beta1/WorkloadEntry --api-versions networking.istio.io/v1beta1/WorkloadGroup --api-versions networking.k8s.io/v1 --api-versions networking.k8s.io/v1/Ingress --api-versions networking.k8s.io/v1/IngressClass --api-versions networking.k8s.io/v1/NetworkPolicy --api-versions node.k8s.io/v1 --api-versions node.k8s.io/v1/RuntimeClass --api-versions nodemanagement.gke.io/v1alpha1 --api-versions nodemanagement.gke.io/v1alpha1/UpdateInfo --api-versions policy/v1 --api-versions policy/v1/PodDisruptionBudget --api-versions rbac.authorization.k8s.io/v1 --api-versions rbac.authorization.k8s.io/v1/ClusterRole --api-versions rbac.authorization.k8s.io/v1/ClusterRoleBinding --api-versions rbac.authorization.k8s.io/v1/Role --api-versions rbac.authorization.k8s.io/v1/RoleBinding --api-versions scheduling.k8s.io/v1 --api-versions scheduling.k8s.io/v1/PriorityClass --api-versions security.istio.io/v1 --api-versions security.istio.io/v1/AuthorizationPolicy --api-versions security.istio.io/v1/RequestAuthentication --api-versions security.istio.io/v1beta1 --api-versions security.istio.io/v1beta1/AuthorizationPolicy --api-versions security.istio.io/v1beta1/PeerAuthentication --api-versions security.istio.io/v1beta1/RequestAuthentication --api-versions snapshot.storage.k8s.io/v1 --api-versions snapshot.storage.k8s.io/v1/VolumeSnapshot --api-versions snapshot.storage.k8s.io/v1/VolumeSnapshotClass --api-versions snapshot.storage.k8s.io/v1/VolumeSnapshotContent --api-versions snapshot.storage.k8s.io/v1beta1 --api-versions snapshot.storage.k8s.io/v1beta1/VolumeSnapshot --api-versions snapshot.storage.k8s.io/v1beta1/VolumeSnapshotClass --api-versions snapshot.storage.k8s.io/v1beta1/VolumeSnapshotContent --api-versions storage.k8s.io/v1 --api-versions storage.k8s.io/v1/CSIDriver --api-versions storage.k8s.io/v1/CSINode --api-versions storage.k8s.io/v1/CSIStorageCapacity --api-versions storage.k8s.io/v1/StorageClass --api-versions storage.k8s.io/v1/VolumeAttachment --api-versions telemetry.istio.io/v1alpha1 --api-versions telemetry.istio.io/v1alpha1/Telemetry --api-versions v1 --api-versions v1/ConfigMap --api-versions v1/Endpoints --api-versions v1/Event --api-versions v1/LimitRange --api-versions v1/Namespace --api-versions v1/Node --api-versions v1/PersistentVolume --api-versions v1/PersistentVolumeClaim --api-versions v1/Pod --api-versions v1/PodTemplate --api-versions v1/ReplicationController --api-versions v1/ResourceQuota --api-versions v1/Secret --api-versions v1/Service --api-versions v1/ServiceAccount --api-versions warden.gke.io/v1 --api-versions warden.gke.io/v1/Audit --include-crds]" dir=/tmp/_argocd-repo/8503494e-7440-4102-ae0a-1a58766665d6/state/test/charts/vault-gke-integration operation_name="exec helm" time_ms=82.551607
time="2024-05-08T08:24:04Z" level=info msg="helm repo add https:--chartmuseum.mycompany.com https://chartmuseum.mycompany.com" dir=/tmp/_argocd-repo/8503494e-7440-4102-ae0a-1a58766665d6/state/test/charts/vault-gke-integration execID=93af4
time="2024-05-08T08:24:04Z" level=info msg=Trace args="[helm repo add https:--chartmuseum.mycompany.com https://chartmuseum.mycompany.com]" dir=/tmp/_argocd-repo/8503494e-7440-4102-ae0a-1a58766665d6/state/test/charts/vault-gke-integration operation_name="exec helm" time_ms=271.359759
time="2024-05-08T08:24:04Z" level=info msg="helm dependency build" dir=/tmp/_argocd-repo/8503494e-7440-4102-ae0a-1a58766665d6/state/test/charts/vault-gke-integration execID=af019
time="2024-05-08T08:24:04Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=GetGitDirectories grpc.service=repository.RepoServerService grpc.start_time="2024-05-08T08:24:04Z" grpc.time_ms=40.303 span.kind=server system=grpc
savar commented 3 days ago

I have a possible explanation for this (in case you also don't see any issues except the error message being logged).

  1. The code in ArgoCD is trying (probably for performance reasons) first a helm template without the helm dependency build: https://github.com/argoproj/argo-cd/blob/eca1f21d647ad7a099bb57ef73e7cb519eeb29e9/reposerver/repository/repository.go#L1201 and if the error is a IsMissingDependencyErr (which just matches for the error message from helm), then it will actually pull the dependencies and try it again.

    out, err := h.Template(templateOpts)
    if err != nil {
        if !helm.IsMissingDependencyErr(err) {
            return nil, err
        }
    
        if concurrencyAllowed {
            err = runHelmBuild(appPath, h)
        } else {
            err = h.DependencyBuild()
        }
    
                ....
    
        out, err = h.Template(templateOpts)
        if err != nil {
            return nil, err
        }
    }
  2. the actual h.Template() is running out, err := h.cmd.template(".", templateOpts) (util/helm/helm.go) which is running out, err := c.run(args...) (util/helm/cmd.go) which is calling return executil.RunWithRedactor(cmd, redactor) which in util/exec/exec.go is then using opts := ExecRunOpts{Redactor: redactor} while ExecRunOpts is a struct which has also a bool for SkipErrorLogging which per default becomes false and this is then finally calling return argoexec.RunCommandExt(cmd, cmdOpts) which is in another package
  3. the other package will in https://github.com/argoproj/pkg/blob/58a04f832405dd3e6091bfea848a25b5764817c5/exec/exec.go#L157 then log the error
    if !opts.SkipErrorLogging {
    logCtx.Error(err.Error())
    }

    so that we see the error in the logfile. A fix would be, to set SkipErrorLogging to true as it is actually just annoying "noise". But this needs to be verified and checked that the error is indeed logged on the ArgoCD part if it is a real error, so that we do not lose the error message when it has to be logged. But I didn't check that fully, so this has to be done by someone else (or I will have to check if I can create a Pull Request, but not sure if I can manage that in a timely manner).

Also to trigger this issue I was able to do that by going to the UI on an application (helm) with a dependency in the Charts.yaml and doing a Hard Refresh (the small dropdown button next to Refresh).