Go-Argo cd v2.2.3: Declarative continuous deployment for Kubernetes.

icon
Latest Release: v2.2.3

Quick Start

Non-HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.2.3/manifests/install.yaml

HA:

kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v2.2.3/manifests/ha/install.yaml

Bug Fixes

  • fix: application exist panic when execute api call (#8188)
  • fix: route health check stuck in 'Progressing' (#8170)

Other

  • refactor: introduce 'byClusterName' secret index to speedup cluster server URL lookup (#8133)
  • chore: Update to Redis 6.2.4 (#8157) (#8158)
Source code(tar.gz)
Source code(zip)
argocd-darwin-amd64(105.46 MB)
argocd-linux-amd64(106.20 MB)
argocd-windows-amd64.exe(107.84 MB)

Integration tests slack codecov Release Version

Argo CD - Declarative Continuous Delivery for Kubernetes

What is Argo CD?

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes.

Argo CD UI

Why Argo CD?

  1. Application definitions, configurations, and environments should be declarative and version controlled.
  2. Application deployment and lifecycle management should be automated, auditable, and easy to understand.

Who uses Argo CD?

Official Argo CD user list

Documentation

To learn more about Argo CD go to the complete documentation. Check live demo at https://cd.apps.argoproj.io/.

Community Blogs and Presentations

  1. Tutorial: Everything You Need To Become A GitOps Ninja 90m tutorial on GitOps and Argo CD.
  2. Comparison of Argo CD, Spinnaker, Jenkins X, and Tekton
  3. Simplify and Automate Deployments Using GitOps with IBM Multicloud Manager 3.1.2
  4. GitOps for Kubeflow using Argo CD
  5. GitOps Toolsets on Kubernetes with CircleCI and Argo CD
  6. Simplify and Automate Deployments Using GitOps with IBM Multicloud Manager
  7. CI/CD in Light Speed with K8s and Argo CD
  8. Machine Learning as Code. Among other things, describes how Kubeflow uses Argo CD to implement GitOPs for ML
  9. Argo CD - GitOps Continuous Delivery for Kubernetes
  10. Introduction to Argo CD : Kubernetes DevOps CI/CD

Comments

  • ArgoCD does not deploy app. Is actually char by char some variables
    ArgoCD does not deploy app. Is actually char by char some variables

    Jan 20, 2022

    If you are trying to resolve an environment-specific issue or have a one-off question about the edge case that does not require a feature then please consider asking a question in argocd slack channel.

    Checklist:

    • [x] I've searched in the docs and FAQ for my answer: https://bit.ly/argocd-faq.
    • [x] I've included steps to reproduce the bug.
    • [x] I've pasted the output of argocd version.

    Describe the bug I'm trying to deploy an umbrella helm chart consisting in some 20 subcharts (all are hosted on @helm JFrog artifactory). I get: time="2022-01-20T10:08:21Z" level=info msg="finished unary call with code InvalidArgument" error="rpc error: code = InvalidArgument desc = application spec for maestro is invalid: InvalidSpecError: Unable to generate manifests in charts/oasis/maestro: rpc error: code = DeadlineExceeded desc = context deadline exceeded" grpc.code=InvalidArgument grpc.method=Create grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:07:21Z" grpc.time_ms=60236.32 span.kind=server system=grpc

    I already incresed:

    • argocd-application-controller - --status-processors - "20" - --operation-processors - "10" - --repo-server-timeout-seconds - "180"

    weird is what I saw in the logs: ArgoCD tryes to get path from git repo, char by char, path is: charts/oasis/maestro... c.. ch... cha... char... and so on

    To Reproduce

    Argo CD on EKS, version: Argo CD v2.2.2+03b17e0, Helm v3.7.1+g1d11fcb

    Expected behavior

    App is created (as missing)

    Screenshots

    If applicable, add screenshots to help explain your problem. app is:

    apiVersion: argoproj.io/v1alpha1
    kind: Application
    metadata:
      name: maestro
    spec:
      destination:
        name: ''
        namespace: mchisa
        server: 'https://kubernetes.default.svc'
      source:
        path: charts/oasis/maestro
        repoURL: 'ssh://[email protected]/stl/helm.git'
        targetRevision: feature/mchisa
        helm:
          valueFiles:
            - values.yaml
            - dev.yaml
      project: mchisa
      syncPolicy:
        automated: null
        syncOptions:
          - CreateNamespace=true
    
    Paste the output from `argocd version` here.
    

    Argo CD v2.2.2+03b17e0

    time="2022-01-20T09:57:36Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=List grpc.service=cluster.ClusterService grpc.start_time="2022-01-20T09:57:36Z" grpc.time_ms=5.736 span.kind=server system=grpc
    time="2022-01-20T09:57:36Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=List grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:36Z" grpc.time_ms=6.648 span.kind=server system=grpc
    time="2022-01-20T09:57:36Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=List grpc.service=project.ProjectService grpc.start_time="2022-01-20T09:57:36Z" grpc.time_ms=8.735 span.kind=server system=grpc
    time="2022-01-20T09:57:49Z" level=info msg="received unary call /repository.RepositoryService/ListRefs" grpc.method=ListRefs grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:49Z" span.kind=server system=grpc
    time="2022-01-20T09:57:49Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"HEAD\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:49Z" span.kind=server system=grpc
    time="2022-01-20T09:57:49Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=ListRefs grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:49Z" grpc.time_ms=126.598 span.kind=server system=grpc
    time="2022-01-20T09:57:49Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:49Z" grpc.time_ms=129.586 span.kind=server system=grpc
    time="2022-01-20T09:57:51Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"HEA\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:51Z" span.kind=server system=grpc
    time="2022-01-20T09:57:52Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = Unable to resolve 'HEA' to a commit SHA" grpc.code=Unknown grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:51Z" grpc.time_ms=303.478 span.kind=server system=grpc
    time="2022-01-20T09:57:52Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"HE\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:52Z" span.kind=server system=grpc
    time="2022-01-20T09:57:52Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"H\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:52Z" span.kind=server system=grpc
    time="2022-01-20T09:57:52Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = Unable to resolve 'HE' to a commit SHA" grpc.code=Unknown grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:52Z" grpc.time_ms=240.313 span.kind=server system=grpc
    time="2022-01-20T09:57:52Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = Unable to resolve 'H' to a commit SHA" grpc.code=Unknown grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:52Z" grpc.time_ms=95.299 span.kind=server system=grpc
    time="2022-01-20T09:57:52Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:52Z" span.kind=server system=grpc
    time="2022-01-20T09:57:52Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:52Z" grpc.time_ms=94.365 span.kind=server system=grpc
    time="2022-01-20T09:57:52Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"f\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:52Z" span.kind=server system=grpc
    time="2022-01-20T09:57:52Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"fe\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:52Z" span.kind=server system=grpc
    time="2022-01-20T09:57:52Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = Unable to resolve 'f' to a commit SHA" grpc.code=Unknown grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:52Z" grpc.time_ms=94.475 span.kind=server system=grpc
    time="2022-01-20T09:57:53Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = Unable to resolve 'fe' to a commit SHA" grpc.code=Unknown grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:52Z" grpc.time_ms=87.573 span.kind=server system=grpc
    time="2022-01-20T09:57:53Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"fea\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:53Z" span.kind=server system=grpc
    time="2022-01-20T09:57:53Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = Unable to resolve 'fea' to a commit SHA" grpc.code=Unknown grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:53Z" grpc.time_ms=93.051 span.kind=server system=grpc
    time="2022-01-20T09:57:53Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"feat\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:53Z" span.kind=server system=grpc
    time="2022-01-20T09:57:53Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = Unable to resolve 'feat' to a commit SHA" grpc.code=Unknown grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:53Z" grpc.time_ms=91.937 span.kind=server system=grpc
    time="2022-01-20T09:57:53Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"featu\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:53Z" span.kind=server system=grpc
    time="2022-01-20T09:57:53Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = Unable to resolve 'featu' to a commit SHA" grpc.code=Unknown grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:53Z" grpc.time_ms=89.677 span.kind=server system=grpc
    time="2022-01-20T09:57:53Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"featur\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:53Z" span.kind=server system=grpc
    time="2022-01-20T09:57:53Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"feature\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:53Z" span.kind=server system=grpc
    time="2022-01-20T09:57:53Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = Unable to resolve 'featur' to a commit SHA" grpc.code=Unknown grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:53Z" grpc.time_ms=88.44 span.kind=server system=grpc
    time="2022-01-20T09:57:53Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = Unable to resolve 'feature' to a commit SHA" grpc.code=Unknown grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:53Z" grpc.time_ms=88.206 span.kind=server system=grpc
    time="2022-01-20T09:57:53Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"feature/\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:53Z" span.kind=server system=grpc
    time="2022-01-20T09:57:53Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = Unable to resolve 'feature/' to a commit SHA" grpc.code=Unknown grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:53Z" grpc.time_ms=93.233 span.kind=server system=grpc
    time="2022-01-20T09:57:54Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"feature/m\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:54Z" span.kind=server system=grpc
    time="2022-01-20T09:57:54Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = Unable to resolve 'feature/m' to a commit SHA" grpc.code=Unknown grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:54Z" grpc.time_ms=88.848 span.kind=server system=grpc
    time="2022-01-20T09:57:54Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"feature/mc\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:54Z" span.kind=server system=grpc
    time="2022-01-20T09:57:54Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = Unable to resolve 'feature/mc' to a commit SHA" grpc.code=Unknown grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:54Z" grpc.time_ms=109.267 span.kind=server system=grpc
    time="2022-01-20T09:57:54Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"feature/mch\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:54Z" span.kind=server system=grpc
    time="2022-01-20T09:57:54Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = Unable to resolve 'feature/mch' to a commit SHA" grpc.code=Unknown grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:54Z" grpc.time_ms=91.186 span.kind=server system=grpc
    time="2022-01-20T09:57:54Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"feature/mchi\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:54Z" span.kind=server system=grpc
    time="2022-01-20T09:57:54Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"feature/mchis\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:54Z" span.kind=server system=grpc
    time="2022-01-20T09:57:54Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = Unable to resolve 'feature/mchi' to a commit SHA" grpc.code=Unknown grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:54Z" grpc.time_ms=91.734 span.kind=server system=grpc
    time="2022-01-20T09:57:54Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"feature/mchisa\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:54Z" span.kind=server system=grpc
    time="2022-01-20T09:57:54Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = Unable to resolve 'feature/mchis' to a commit SHA" grpc.code=Unknown grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:54Z" grpc.time_ms=94.638 span.kind=server system=grpc
    time="2022-01-20T09:57:54Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:54Z" grpc.time_ms=88.43 span.kind=server system=grpc
    time="2022-01-20T09:57:57Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"c\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:57Z" span.kind=server system=grpc
    time="2022-01-20T09:57:57Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"ch\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:57Z" span.kind=server system=grpc
    time="2022-01-20T09:57:57Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = c: app path does not exist" grpc.code=Unknown grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:57Z" grpc.time_ms=167.023 span.kind=server system=grpc
    time="2022-01-20T09:57:57Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = ch: app path does not exist" grpc.code=Unknown grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:57Z" grpc.time_ms=58.014 span.kind=server system=grpc
    time="2022-01-20T09:57:58Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"cha\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:58Z" span.kind=server system=grpc
    time="2022-01-20T09:57:58Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"char\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:58Z" span.kind=server system=grpc
    time="2022-01-20T09:57:58Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = cha: app path does not exist" grpc.code=Unknown grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:58Z" grpc.time_ms=167.518 span.kind=server system=grpc
    time="2022-01-20T09:57:58Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = char: app path does not exist" grpc.code=Unknown grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:58Z" grpc.time_ms=47.3 span.kind=server system=grpc
    time="2022-01-20T09:57:58Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"chart\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:58Z" span.kind=server system=grpc
    time="2022-01-20T09:57:58Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = chart: app path does not exist" grpc.code=Unknown grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:58Z" grpc.time_ms=155.452 span.kind=server system=grpc
    time="2022-01-20T09:57:58Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"charts\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:58Z" span.kind=server system=grpc
    time="2022-01-20T09:57:58Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:58Z" grpc.time_ms=11.905 span.kind=server system=grpc
    time="2022-01-20T09:57:58Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"charts/\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:58Z" span.kind=server system=grpc
    time="2022-01-20T09:57:58Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:58Z" grpc.time_ms=11.563 span.kind=server system=grpc
    time="2022-01-20T09:57:59Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"charts/o\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:59Z" span.kind=server system=grpc
    time="2022-01-20T09:57:59Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"charts/oa\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:59Z" span.kind=server system=grpc
    time="2022-01-20T09:57:59Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = charts/oa: app path does not exist" grpc.code=Unknown grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:59Z" grpc.time_ms=28.201 span.kind=server system=grpc
    time="2022-01-20T09:57:59Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = charts/o: app path does not exist" grpc.code=Unknown grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:59Z" grpc.time_ms=164.971 span.kind=server system=grpc
    time="2022-01-20T09:57:59Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"charts/oas\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:59Z" span.kind=server system=grpc
    time="2022-01-20T09:57:59Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"charts/oasi\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:59Z" span.kind=server system=grpc
    time="2022-01-20T09:57:59Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = charts/oas: app path does not exist" grpc.code=Unknown grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:59Z" grpc.time_ms=166.259 span.kind=server system=grpc
    time="2022-01-20T09:57:59Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = charts/oasi: app path does not exist" grpc.code=Unknown grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:59Z" grpc.time_ms=46.607 span.kind=server system=grpc
    time="2022-01-20T09:57:59Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"charts/oasis\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:59Z" span.kind=server system=grpc
    time="2022-01-20T09:57:59Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:59Z" grpc.time_ms=10.921 span.kind=server system=grpc
    time="2022-01-20T09:57:59Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"charts/oasis/\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:59Z" span.kind=server system=grpc
    time="2022-01-20T09:57:59Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:57:59Z" grpc.time_ms=10.832 span.kind=server system=grpc
    time="2022-01-20T09:58:00Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"charts/oasis/m\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:58:00Z" span.kind=server system=grpc
    time="2022-01-20T09:58:00Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"charts/oasis/ma\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:58:00Z" span.kind=server system=grpc
    time="2022-01-20T09:58:00Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = charts/oasis/ma: app path does not exist" grpc.code=Unknown grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:58:00Z" grpc.time_ms=119.966 span.kind=server system=grpc
    time="2022-01-20T09:58:00Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = charts/oasis/m: app path does not exist" grpc.code=Unknown grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:58:00Z" grpc.time_ms=170.168 span.kind=server system=grpc
    time="2022-01-20T09:58:00Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"charts/oasis/mae\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:58:00Z" span.kind=server system=grpc
    time="2022-01-20T09:58:00Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = charts/oasis/mae: app path does not exist" grpc.code=Unknown grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:58:00Z" grpc.time_ms=165.893 span.kind=server system=grpc
    time="2022-01-20T09:58:01Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"charts/oasis/maes\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:58:00Z" span.kind=server system=grpc
    time="2022-01-20T09:58:01Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = charts/oasis/maes: app path does not exist" grpc.code=Unknown grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:58:00Z" grpc.time_ms=161.956 span.kind=server system=grpc
    time="2022-01-20T09:58:01Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"charts/oasis/maest\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:58:01Z" span.kind=server system=grpc
    time="2022-01-20T09:58:01Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"charts/oasis/maestr\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:58:01Z" span.kind=server system=grpc
    time="2022-01-20T09:58:01Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = charts/oasis/maest: app path does not exist" grpc.code=Unknown grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:58:01Z" grpc.time_ms=154.519 span.kind=server system=grpc
    time="2022-01-20T09:58:01Z" level=error msg="finished unary call with code Unknown" error="rpc error: code = Unknown desc = charts/oasis/maestr: app path does not exist" grpc.code=Unknown grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:58:01Z" grpc.time_ms=96.536 span.kind=server system=grpc
    time="2022-01-20T09:58:01Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"charts/oasis/maestro\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:58:01Z" span.kind=server system=grpc
    time="2022-01-20T09:58:01Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T09:58:01Z" grpc.time_ms=12.132 span.kind=server system=grpc
    time="2022-01-20T10:03:14Z" level=info msg="Alloc=12556 TotalAlloc=664609 Sys=75089 NumGC=384 Goroutines=159"
    time="2022-01-20T10:04:31Z" level=info msg="finished streaming call with code OK" grpc.code=OK grpc.method=Watch grpc.service=application.ApplicationService grpc.start_time="2022-01-20T09:57:35Z" grpc.time_ms=415303.38 span.kind=server system=grpc
    time="2022-01-20T10:06:38Z" level=info msg="received unary call /application.ApplicationService/List" grpc.method=List grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="resourceVersion:\"\" selector:\"\" repo:\"\" " grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:06:38Z" span.kind=server system=grpc
    time="2022-01-20T10:06:38Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=List grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:06:38Z" grpc.time_ms=4.371 span.kind=server system=grpc
    time="2022-01-20T10:06:38Z" level=info msg="received streaming call /application.ApplicationService/Watch" grpc.method=Watch grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="resourceVersion:\"236146821\" selector:\"\" repo:\"\" " grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:06:38Z" span.kind=server system=grpc
    time="2022-01-20T10:07:13Z" level=info msg="received unary call /repository.RepositoryService/ListApps" grpc.method=ListApps grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" revision:\"feature/mchisa\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T10:07:13Z" span.kind=server system=grpc
    time="2022-01-20T10:07:14Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=ListApps grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T10:07:13Z" grpc.time_ms=187.261 span.kind=server system=grpc
    time="2022-01-20T10:07:14Z" level=info msg="received unary call /repository.RepositoryService/ListRefs" grpc.method=ListRefs grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="repo:\"ssh://[email protected]/stl/helm.git\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T10:07:14Z" span.kind=server system=grpc
    time="2022-01-20T10:07:14Z" level=info msg="received unary call /repository.RepositoryService/GetAppDetails" grpc.method=GetAppDetails grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="source:<repoURL:\"ssh://[email protected]/stl/helm.git\" path:\"charts/oasis/maestro\" targetRevision:\"feature/mchisa\" chart:\"\" > appName:\"maestro\" " grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T10:07:14Z" span.kind=server system=grpc
    time="2022-01-20T10:07:14Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=GetAppDetails grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T10:07:14Z" grpc.time_ms=94.699 span.kind=server system=grpc
    time="2022-01-20T10:07:14Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=ListRefs grpc.service=repository.RepositoryService grpc.start_time="2022-01-20T10:07:14Z" grpc.time_ms=104.676 span.kind=server system=grpc
    time="2022-01-20T10:07:21Z" level=info msg="received unary call /application.ApplicationService/Create" grpc.method=Create grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="%!v(PANIC=String method: reflect.Value.Bytes of non-byte slice)" grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:07:21Z" span.kind=server system=grpc
    time="2022-01-20T10:07:34Z" level=info msg="finished streaming call with code OK" grpc.code=OK grpc.method=Watch grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:06:38Z" grpc.time_ms=55952.61 span.kind=server system=grpc
    time="2022-01-20T10:07:44Z" level=info msg="received unary call /application.ApplicationService/List" grpc.method=List grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="resourceVersion:\"\" selector:\"\" repo:\"\" " grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:07:44Z" span.kind=server system=grpc
    time="2022-01-20T10:07:44Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=List grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:07:44Z" grpc.time_ms=6.085 span.kind=server system=grpc
    time="2022-01-20T10:07:44Z" level=info msg="received streaming call /application.ApplicationService/Watch" grpc.method=Watch grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="resourceVersion:\"236146821\" selector:\"\" repo:\"\" " grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:07:44Z" span.kind=server system=grpc
    time="2022-01-20T10:08:20Z" level=info msg="finished streaming call with code OK" grpc.code=OK grpc.method=Watch grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:07:44Z" grpc.time_ms=36413.83 span.kind=server system=grpc
    time="2022-01-20T10:08:21Z" level=info msg="finished unary call with code InvalidArgument" error="rpc error: code = InvalidArgument desc = application spec for maestro is invalid: InvalidSpecError: Unable to generate manifests in charts/oasis/maestro: rpc error: code = DeadlineExceeded desc = context deadline exceeded" grpc.code=InvalidArgument grpc.method=Create grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:07:21Z" grpc.time_ms=60236.32 span.kind=server system=grpc
    time="2022-01-20T10:09:35Z" level=info msg="received unary call /application.ApplicationService/List" grpc.method=List grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="resourceVersion:\"\" selector:\"\" repo:\"\" " grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:09:35Z" span.kind=server system=grpc
    time="2022-01-20T10:09:35Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=List grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:09:35Z" grpc.time_ms=3.591 span.kind=server system=grpc
    time="2022-01-20T10:09:36Z" level=info msg="received streaming call /application.ApplicationService/Watch" grpc.method=Watch grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="resourceVersion:\"236148099\" selector:\"\" repo:\"\" " grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:09:36Z" span.kind=server system=grpc
    time="2022-01-20T10:09:38Z" level=info msg="finished streaming call with code OK" grpc.code=OK grpc.method=Watch grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:09:36Z" grpc.time_ms=2363.087 span.kind=server system=grpc
    time="2022-01-20T10:10:04Z" level=info msg="received unary call /application.ApplicationService/List" grpc.method=List grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="resourceVersion:\"\" selector:\"\" repo:\"\" " grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:10:04Z" span.kind=server system=grpc
    time="2022-01-20T10:10:04Z" level=info msg="finished unary call with code OK" grpc.code=OK grpc.method=List grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:10:04Z" grpc.time_ms=4.688 span.kind=server system=grpc
    time="2022-01-20T10:10:04Z" level=info msg="received streaming call /application.ApplicationService/Watch" grpc.method=Watch grpc.request.claims="{\"exp\":1642757001,\"iat\":1642670601,\"iss\":\"argocd\",\"jti\":\"f680c6d0-d5dc-41db-9707-7e4d7343a0c7\",\"nbf\":1642670601,\"sub\":\"admin\"}" grpc.request.content="resourceVersion:\"236148099\" selector:\"\" repo:\"\" " grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:10:04Z" span.kind=server system=grpc
    time="2022-01-20T10:11:06Z" level=info msg="finished streaming call with code OK" grpc.code=OK grpc.method=Watch grpc.service=application.ApplicationService grpc.start_time="2022-01-20T10:10:04Z" grpc.time_ms=61784.945 span.kind=server system=grpc
    
    bug 
    Reply
  • Use gRPC timeout for sidecar CMPs (#8131)
    Use gRPC timeout for sidecar CMPs (#8131)

    Jan 20, 2022

    Fixes https://github.com/argoproj/argo-cd/issues/8131

    Previously, we had a hard-coded timeout in the CMP server client of 5s.

    This change makes sure that all paths calling CMPs pass along their context (i.e. their timeout) to the CMP server.

    The CMP server now creates its own context with a deadline 100ms earlier than the caller's deadline so there's enough time to send back a failure message.

    Each command run by a CMP will also respect the ARGOCD_EXEC_TIMEOUT, which defaults to 90s.

    Reply
  • docs: add chart field to application.yaml
    docs: add chart field to application.yaml

    Jan 20, 2022

    I thought it was weird that this field wasn't in the example yaml. I'm not 100% certain that my comment is correct/complete. Can someone please confirm that I'm correct before merging?

    Reply
  • feat: Use encrypted cookie to store OAuth2 state nonce (instead of redis)
    feat: Use encrypted cookie to store OAuth2 state nonce (instead of redis)

    Jan 20, 2022

    Signed-off-by: Alexander Matyushentsev [email protected]

    Closes https://github.com/argoproj/argo-cd/issues/5873

    PR changes SSO auth flow to store temporary nonce tokens in an encrypted cookie instead of redis

    Reply
  • "Configure plugin via sidecar" ⇒ child resources not pruned on deletion

    Jan 20, 2022

    Describe the bug

    The behavior differs between a plugin via Argo CD configmap and a plugin via sidecar if the application manifest has:

      syncPolicy:
        automated:
          prune: true
    

    When the plugin is installed in the argocd-cm ConfigMap, then resources installed by the application are pruned when the application is deleted. If the plugin is in a sidecar, the application's resources are not pruned as expected when the application is removed.

    Also, the logs from ArgoCD are much shorter when deleting the application that uses the sidecar plugin (see "Logs" below).

    To Reproduce

    In this gist, i've included all the files referenced below. Short version: I've created an ArgoCD installation with two plugins. One installed in the Argo CD configmap and (almost) the same plugin in a sidecar.

    $ kubectl apply -f cmp-plugin.yaml 
    configmap/cmp-plugin configured
    
    $ helm upgrade -n argocd --install argocd --version 3.30.0 --values values.yaml argo/argo-cd
    (helm output removed)
    

    Now there are two application .yaml files, one for the configmap plugin (with a name) and one for the sidecar plugin (without a name).

    diff -u app-cmp-plugin.yaml nameless-app-cmp-plugin.yaml
    --- app-cmp-plugin.yaml	2022-01-20 23:13:16.811774500 +0100
    +++ nameless-app-cmp-plugin.yaml	2022-01-20 23:13:16.811774500 +0100
    @@ -14,7 +14,6 @@
         path: .
         targetRevision: HEAD
         plugin:
    -      name: cmp-plugin
           env:
           - name: FOO
             value: myfoo
    

    If I apply app-cmp-plugin.yaml, the plugin from the argocd-cm config map installs a test-cmd-plugin config map in the default namespace. When I delete app-cmp-plugin.yaml, the test-cmd-plugin config map is pruned along with the application as expected.

    If I apply nameless-app-cmp-plugin.yaml, the plugin in the sidecar likewise installs a test-cmd-plugin config map in the default namespace. But when I delete nameless-app-cmp-plugin.yaml, the test-cmd-plugin config map is not pruned along with the application. I expected it to be pruned.

    Expected behavior

    I expect argocd-cm and sidecar plugins to behave identically and both should prune resources when specified to do so in the Application's declaration.

    Version

    $ argocd version
    argocd: v2.1.7+a408e29.dirty
      BuildDate: 2021-11-19T05:20:05Z
      GitCommit: a408e299ffa743213df3aa9135bf7945644ec936
      GitTreeState: dirty
      GoVersion: go1.17.2
      Compiler: gc
      Platform: linux/amd64
    WARN[0000] Failed to invoke grpc call. Use flag --grpc-web in grpc calls. To avoid this warning message, use flag --grpc-web. 
    argocd-server: v2.2.2+03b17e0
      BuildDate: 2022-01-01T06:27:52Z
      GitCommit: 03b17e0233e64787ffb5fcf65c740cc2a20822ba
      GitTreeState: clean
      GoVersion: go1.16.11
      Compiler: gc
      Platform: linux/amd64
      Ksonnet Version: v0.13.1
      Kustomize Version: v4.2.0 2021-06-30T22:49:26Z
      Helm Version: v3.7.1+g1d11fcb
      Kubectl Version: v0.22.2
      Jsonnet Version: v0.17.0
    

    Logs

    Logs are available in the gist and were created with kubetail for all pods in the argocd namespace. What I found most interesting was that the log for deleting the application for the argocd-cm configmap plugin, delete-with-name.log was 34 lines, but the one for deleting with the the sidecar plugin, delete-without-name.log, was 3 lines.

    bug 
    Reply
  • fix: switch to promauto and fix repo server grpc metrics registration
    fix: switch to promauto and fix repo server grpc metrics registration

    Jan 21, 2022

    Signed-off-by: Ben Ye [email protected]

    This pr mainly fix the problem that repo server cannot get the grpc server metrics. The reason of that is grpc server metrics by default are registered to the default global prometheus registry so that the default gatherer needs to be added for rendering those metrics. Besides, line https://github.com/argoproj/argo-cd/pull/8245/files#diff-be7b600fde443a933e46d01013410637a279932444ab6e96e2652e8712af88e4R102 has been added.

    Besides those changes, other changes are mainly refactoring for the metrics registration. Now metric definitions are initialized as global variables. This is not a good practise so I use promauto library to make metrics non-global and register them to the registry at the same time of definition.

    Note on DCO:

    If the DCO action in the integration test fails, one or more of your commits are not signed off. Please click on the Details link next to the DCO action for instructions on how to resolve this.

    Checklist:

    • [ ] Either (a) I've created an enhancement proposal and discussed it with the community, (b) this is a bug fix, or (c) this does not need to be in the release notes.
    • [x] The title of the PR states what changed and the related issues number (used for the release note).
    • [ ] I've included "Closes [ISSUE #]" or "Fixes [ISSUE #]" in the description to automatically close the associated issue.
    • [ ] I've updated both the CLI and UI to expose my feature, or I plan to submit a second PR with them.
    • [ ] Does this PR require documentation updates?
    • [ ] I've updated documentation as required by this PR.
    • [ ] Optional. My organization is added to USERS.md.
    • [ ] I have signed off all my commits as required by DCO
    • [ ] I have written unit and/or e2e tests for my change. PRs without these are unlikely to be merged.
    • [ ] My build is green (troubleshooting builds).
    Reply
  • separate refresh button without diffing git
    separate refresh button without diffing git

    Jan 21, 2022

    Summary

    Couldn't find an issue on this already so... I think we should have some kind of button to refresh the view of the resources in the cluster.

    Motivation

    Sometimes the application view isn't updated in real time with the cluster state. For example while a roll out happens and I observe the pods and can see when they scale or transition between running/pending/failed state. To reload the view it is required to press the refresh button but then sometimes its slow to reload the status from the cluster because it does the diffing against git...

    Proposal

    Not sure whats the best way of exposing this but some kind of a separate button to only reload the cluster status, maybe a RELOAD button.

    enhancement 
    Reply
  • build(deps): bump nanoid from 3.1.23 to 3.2.0 in /ui
    build(deps): bump nanoid from 3.1.23 to 3.2.0 in /ui

    Jan 21, 2022

    Bumps nanoid from 3.1.23 to 3.2.0.

    Changelog

    Sourced from nanoid's changelog.

    Change Log

    This project adheres to Semantic Versioning.

    3.2

    • Added --size and --alphabet arguments to binary (by Vitaly Baev).

    3.1.32

    • Reduced async exports size (by Artyom Arutyunyan).
    • Moved from Jest to uvu (by Vitaly Baev).

    3.1.31

    • Fixed collision vulnerability on object in size (by Artyom Arutyunyan).

    3.1.30

    • Reduced size for project with brotli compression (by Anton Khlynovskiy).

    3.1.29

    • Reduced npm package size.

    3.1.28

    • Reduced npm package size.

    3.1.27

    • Cleaned dependencies from development tools.

    3.1.26

    • Improved performance (by Eitan Har-Shoshanim).
    • Reduced npm package size.

    3.1.25

    • Fixed browserify support.

    3.1.24

    • Fixed browserify support (by Artur Paikin).
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    Reply
  • chore: Update security policy
    chore: Update security policy

    Jan 23, 2022

    Update our security policy to point people to GitHub issue tracker in case of items reported by scanners that already have a public CVE assigned to it.

    Signed-off-by: jannfis [email protected]

    Note on DCO:

    If the DCO action in the integration test fails, one or more of your commits are not signed off. Please click on the Details link next to the DCO action for instructions on how to resolve this.

    Checklist:

    • [ ] Either (a) I've created an enhancement proposal and discussed it with the community, (b) this is a bug fix, or (c) this does not need to be in the release notes.
    • [ ] The title of the PR states what changed and the related issues number (used for the release note).
    • [ ] I've included "Closes [ISSUE #]" or "Fixes [ISSUE #]" in the description to automatically close the associated issue.
    • [ ] I've updated both the CLI and UI to expose my feature, or I plan to submit a second PR with them.
    • [ ] Does this PR require documentation updates?
    • [ ] I've updated documentation as required by this PR.
    • [ ] Optional. My organization is added to USERS.md.
    • [ ] I have signed off all my commits as required by DCO
    • [ ] I have written unit and/or e2e tests for my change. PRs without these are unlikely to be merged.
    • [ ] My build is green (troubleshooting builds).
    Reply
  • OCI helm chart with dependencies not picking helm repo secret
    OCI helm chart with dependencies not picking helm repo secret

    Jan 24, 2022

    If you are trying to resolve an environment-specific issue or have a one-off question about the edge case that does not require a feature then please consider asking a question in argocd slack channel.

    Checklist:

    • [y] I've searched in the docs and FAQ for my answer: https://bit.ly/argocd-faq.
    • [y ] I've included steps to reproduce the bug.
    • [ y] I've pasted the output of argocd version.

    Describe the bug

    i am using gcp artifact helm repository for storing OCI helm chart. when trying to create a application using oci helm chart with dependencies, it is failing during dependencies resoluton with authentication related errors(error pasted below). while if a just create a argocd app with no helm chart dependencies, it works fine. i am using credential template for authenticating to private GCP artifact helm repository.

    rpc error: code = Unknown desc = Manifest generation error (cached): helm dependency build failed exit status 1: Error: could not download oci://: failed to authorize: failed to fetch anonymous token: unexpected status: 403 Forbidden

    To Reproduce 1- create argocd application which is trying to deploy below chart.yaml kept on github repo.

    apiVersion: v1
    description: Twistlock Defender Daemon Set Helm Chart
    name: twistlock-defender
    version: 21.08.520
    dependencies:
    - name: twistlock-defender
      version: 21.08.525
      repository: 'oci://<oci helm repo url>'
    

    2- application crd gets deployed but fails to apply the chart with following error: rpc error: code = Unknown desc = Manifest generation error (cached): helm dependency build failed exit status 1: Error: could not download oci://: failed to authorize: failed to fetch anonymous token: unexpected status: 403 Forbidden

    Expected behavior

    application should have been able to apply dependencies chart without auth failure.

    Screenshots

    If applicable, add screenshots to help explain your problem.

    Version

    Paste the output from `argocd version` here.
    argocd: v2.0.5+4c94d88
      BuildDate: 2021-07-22T20:52:31Z
      GitCommit: 4c94d886f56bcb2f9d5b3251fdc049c2d1354b88
      GitTreeState: clean
      GoVersion: go1.16
      Compiler: gc
      Platform: linux/amd64
    argocd-server: v2.2.2+03b17e0
    

    Logs

    rpc error: code = Unknown desc = Manifest generation error (cached): `helm dependency build` failed exit status 1: Error: could not download oci://<repo path>: failed to authorize: failed to fetch anonymous token: unexpected status: 403 Forbidden
    
    bug 
    Reply
  • Cannot connect to Private Gitlab Repo
    Cannot connect to Private Gitlab Repo

    Dec 17, 2019

    Checklist:

    • [x] I've searched in the docs and FAQ for my answer: http://bit.ly/argocd-faq.
    • [x] I've included steps to reproduce the bug.
    • [x] I've pasted the output of argocd version.

    Describe the bug

    I have successfully connected to my private repo hosted on gitlab using the UI. The UI confirms successful connection. image

    When trying to create an app I receive the following error

    Unable to create application: application spec is invalid: 
    InvalidSpecError: Unable to get app details: rpc error: code = Internal desc = Failed to fetch git 
    repo: `git fetch origin --tags --force` failed exit status 128: 
    Failed to add the ECDSA host key for IP address 'XX.XXX.XXX.XX' to the list of known hosts (/app/config/ssh/ssh_known_hosts). 
    Load key "/dev/shm/568617259": invalid format [email protected]: Permission denied (publickey). fatal: Could not read from remote repository. 
    Please make sure you have the correct access rights and the repository exists.
    

    Expected behavior

    To successfully clone repo

    Version

    argocd: v1.3.6+89be1c9
      BuildDate: 2019-12-10T22:48:19Z
      GitCommit: 89be1c9ce6db0f727c81277c1cfdfb1e385bf248
      GitTreeState: clean
      GoVersion: go1.12.6
      Compiler: gc
      Platform: darwin/amd64
    argocd-server: v1.3.6+89be1c9
      BuildDate: 2019-12-10T22:47:48Z
      GitCommit: 89be1c9ce6db0f727c81277c1cfdfb1e385bf248
      GitTreeState: clean
      GoVersion: go1.12.6
      Compiler: gc
      Platform: linux/amd64
      Ksonnet Version: v0.13.1
      Kustomize Version: Version: {Version:kustomize/v3.2.1 GitCommit:d89b448c745937f0cf1936162f26a5aac688f840 BuildDate:2019-09-27T00:10:52Z GoOs:linux GoArch:amd64}
      Helm Version: v2.15.2
      Kubectl Version: v1.14.0
    
    bug workaround 
    Reply
  • Support kubectl replace instead of apply
    Support kubectl replace instead of apply

    Nov 16, 2019

    Summary

    Could it be possible to have argocd use kubectl replace instead of kubectl apply when applying/replacing resource?

    Motivation

    We have some custom resources which can be quite big, at least larger than 256Kb, which is the limit for the metadata in k8s, and kubectl apply puts the whole configuration into last-applied-configuration as explained for example here. We use argocd to push all our other k8s resources to the cluster, so it would be nice if we could use it for these resources as well.

    Proposal

    A flag per project.

    enhancement openshift type:usability component:core 
    Reply
  • Map helm lifecycle hooks to ArgoCD pre/post/sync hooks
    Map helm lifecycle hooks to ArgoCD pre/post/sync hooks

    Jul 6, 2018

    The anchor feature in ksonnet v0.12 is the support of helm registries and chart installations. e.g.:

    ks registry add helm-stable https://kubernetes-charts.storage.googleapis.com
    ks pkg install helm-stable/redis
    ks generate helm-stable-redis hc1
    

    After we upgrade ArgoCD to use ksonnet v0.12, and do a ks show, we will start getting helm hook resources. Since ArgoCD is handling the apply, we will need to build in helm knowledge to skip over hooks during the sync (ksonnet is doing this as well during a ks apply).

    Additionally helm supports the following hooks: https://github.com/kubernetes/helm/blob/master/docs/charts_hooks.md

    • pre-install: Executes after templates are rendered, but before any resources are created in Kubernetes.
    • post-install: Executes after all resources are loaded into Kubernetes
    • pre-delete: Executes on a deletion request before any resources are deleted from Kubernetes.
    • post-delete: Executes on a deletion request after all of the release's resources have been deleted.
    • pre-upgrade: Executes on an upgrade request after templates are rendered, but before any resources are loaded into Kubernetes (e.g. before a Kubernetes apply operation).
    • post-upgrade: Executes on an upgrade after all resources have been upgraded.
    • pre-rollback: Executes on a rollback request after templates are rendered, but before any resources have been rolled back.
    • post-rollback: Executes on a rollback request after all resources have been modified.
    • crd-install: Adds CRD resources before any other checks are run. This is used only on CRD definitions that are used by other manifests in the chart.

    As part of an ArgoCD sync, at the minimum, these resources should be ignored. It can be a feature to map the helm hooks as ArgoCD hooks. (e.g. pre-upgrade and post-upgrade could map to PreSync and PostSync).

    enhancement 
    Reply
  • gitops secrets
    gitops secrets

    Apr 3, 2019

    I asked a previous question, in relation to helm plugins, and having more experience with ArgoCD, I determined it made more sense for our environment to utilize helm template to render out k8s manifests and store those in git, rather than using tiller.

    The issue now is, how to handle secrets in a safe manner without committing creds in the clear in git. The solution I am using now is to use sealed secrets, and it works...just not really easy for handling multiple environments and clusters.

    I would really like a solution integrated into argocd for git-crypt or SOPS which allows tighter control of secrets, with sops, we can utilize a cloud providers KMS, and tie a user's IAM creds to that.

    Is there any feature on the roadmap to support such functionality?

    Thanks!

    Reply
  • Support GitHub organization app for git cloning.
    Support GitHub organization app for git cloning.

    Sep 16, 2020

    Summary

    Instead of using username, password/token or ssh deploy keys. It would be nice to support GitHub apps.

    Much like https://github.com/jenkinsci/github-branch-source-plugin/blob/master/docs/github-app.adoc

    Motivation

    Reduce complexity in have multiple repos argocd can access across an GitHub organization

    Proposal

    Could be implemented using https://github.com/bradleyfalzon/ghinstallation

    enhancement 
    Reply
  • helm dependency build is failing with subchart
    helm dependency build is failing with subchart

    Sep 2, 2021

    Error

    rpc error: code = Unknown desc = `sh -c helm dependency build` failed exit status 1: Error: no cached repository for helm-manager-ebe10bb4e257360e3453a37c457759ba554bc3a2fd86e79d6f93e4d119b0e1e2 found. (try 'helm repo update'): open /home/argocd/.cache/helm/repository/helm-manager-ebe10bb4e257360e3453a37c457759ba554bc3a2fd86e79d6f93e4d119b0e1e2-index.yaml: no such file or directory
    

    Chart.yaml

    apiVersion: v2
    name: cert-manager
    version: 0.0.1
    dependencies:
    - name: cert-manager
      version: v1.4.0
      repository: https://charts.jetstack.io
    

    Plugin

      configManagementPlugins: |-
        - name: argocd-vault-plugin-helm
          init:
            command: ["sh", "-c"]
            args: ["helm dependency build"]
          generate:
            command: ["sh", "-c"]
            args: ["helm template ${helm_args} . > all.yaml && argocd-vault-plugin generate all.yaml"]
    

    Versions

    [email protected]:~$ helm version
    version.BuildInfo{Version:"v3.6.0", GitCommit:"7f2df6467771a75f5646b7f12afb408590ed1755", GitTreeState:"clean", GoVersion:"go1.16.3"}
    [email protected]:~$ argocd version
    argocd: v2.1.1+aab9542
      BuildDate: 2021-08-25T15:12:04Z
      GitCommit: aab9542f8b3354f0940945c4295b67622f0af296
      GitTreeState: clean
      GoVersion: go1.16.5
      Compiler: gc
      Platform: linux/amd64
    FATA[0000] Argo CD server address unspecified
    

    https://www.gitmemory.com/issue/unbroken-dome/gradle-helm-plugin/102/850499759

    bug regression 
    Reply
  • App of apps sync-waves not working in 1.8.1
    App of apps sync-waves not working in 1.8.1

    Dec 29, 2020

    Describe the bug

    Using 1.8.1 - app of app sync waves are not working - all the apps sync at once. If I delete them, and sync again, sync waves then work. Can delete/re-sync, several times after, and each time sync-waves work. But if I make a new commit to the target brach, delete all the apps and sync - same thing happens - all the apps sync at once. Delete them, and re-sync - then sync waves work. Seems there is an issue honoring sync-waves when the repo is first cloned and/or refreshed.

    I am using a mono repo and have the new path annotation on each app. Auto sync is on for all the child apps, and I manually issue the sync command for the bootstrap app.

    I have added the required resource.customizations block to the argocd config map.

      resource.customizations: |
        argoproj.io/Application:
          health.lua: |
            hs = {}
            hs.status = "Healthy"
            hs.message = ""
            if obj.status ~= nil then
              if obj.status.health ~= nil then
                hs.status = obj.status.health.status
                hs.message = obj.status.health.message
              end
            end
            return hs
    

    To Reproduce

    • Create an app of apps.
    • Add child apps with auto sync on and place them in different waves using the sync-wave annotation.
    • Issue argocd app create on the bootstrap manifest. You will see the bootstrap app get created.
    • Then argocd app sync on the bootstrap app. You will see the bootstrap app sync, and then all the child apps will begin to sync without waiting for the previous wave to sync first and become healthy.
    • Do an argocd app delete on the bootstrap app (or just do it all in the UI) and wait for the everything to get removed).
    • Then do the the steps again and sync waves will work.

    Expected behavior

    Sync waves should wrk the first time around

    Version

    $ argocd version
    argocd: v1.8.1+c2547dc.dirty
      BuildDate: 2020-12-10T04:44:20Z
      GitCommit: c2547dca95437fdbb4d1e984b0592e6b9110d37f
      GitTreeState: dirty
      GoVersion: go1.15.5
      Compiler: gc
    
      Platform: darwin/amd64
    argocd-server: v1.8.1+c2547dc
      BuildDate: 2020-12-10T02:59:21Z
      GitCommit: c2547dca95437fdbb4d1e984b0592e6b9110d37f
      GitTreeState: clean
      GoVersion: go1.14.12
      Compiler: gc
      Platform: linux/amd64
      Ksonnet Version: v0.13.1
      Kustomize Version: v3.8.1 2020-07-16T00:58:46Z
      Helm Version: v3.4.1+gc4e7485
      Kubectl Version: v1.17.8
      Jsonnet Version: v0.17.0
    
    bug cherry-pick/1.8 
    Reply
  • AutoSync doesn't work anymore
    AutoSync doesn't work anymore

    Sep 22, 2019

    Describe the bug

    When I change my bootstrap-application in git it doesn't get synced anymore to kuberntes, although AutoSync in argocd is enabled. Only when I click 'Refresh' in argocd webconsole, the application gets OutOfSync and Sync process starts.

    To Reproduce

    1. change something in the git-repo of my bootstrap-application
    2. wait the AutoSync interval of 3 minutes, nothing happens (also waited for an hour)
    3. clicked 'refresh' in the webconsole of argocd for this application
    4. application gets OutOfSync and starts synchronization process

    Example

    I am not able to create an example, because it is vey specific to our environment. However, maybe I can narrow down to a basic example. Right now I do not know if that happens with every application in our environment or just with our boostrap-application.

    Expected behavior

    AutoSync should sync the application without any user interaction.

    Screenshots

    Version

    1.2.0

    Logs

    logs from application-controller, when git-repo and kubernetes is already out-of-sync, but argocd doesn't recognize it (since we have lots of applications defined, I tried to filter a little bit for the bootstrap-application):

    time="2019-09-22T09:41:12Z" level=info msg="Refreshing app status (controller refresh requested), level (1)" application=bootstrap-application
    W0922 09:41:12.393879       1 listers.go:77] can not retrieve list of objects using index : Index with name namespace does not exist
    time="2019-09-22T09:41:12Z" level=info msg="Comparing app state (cluster: https://kubernetes.default.svc, namespace: argocd)" application=bootstrap-application
    time="2019-09-22T09:41:12Z" level=info msg="Skipping auto-sync: application status is Synced" application=bootstrap-application
    time="2019-09-22T09:41:12Z" level=info msg="Update successful" application=bootstrap-application
    time="2019-09-22T09:41:12Z" level=info msg="Reconciliation completed" application=bootstrap-application fields.level=1 time_ms=281.376147
    time="2019-09-22T09:41:12Z" level=info msg="Refreshing app status (controller refresh requested), level (1)" application=bootstrap-application
    W0922 09:41:12.674738       1 listers.go:77] can not retrieve list of objects using index : Index with name namespace does not exist
    time="2019-09-22T09:41:12Z" level=info msg="Comparing app state (cluster: https://kubernetes.default.svc, namespace: argocd)" application=bootstrap-application
    time="2019-09-22T09:41:12Z" level=info msg="Skipping auto-sync: application status is Synced" application=bootstrap-application
    time="2019-09-22T09:41:12Z" level=info msg="Update successful" application=bootstrap-application
    time="2019-09-22T09:41:12Z" level=info msg="Reconciliation completed" application=bootstrap-application fields.level=1 t
    

    log when I click Refresh:

    time="2019-09-22T09:43:57Z" level=info msg="Comparing app state (cluster: https://kubernetes.default.svc, namespace: argocd)" application=bootstrap-application
    time="2019-09-22T09:43:57Z" level=info msg="copying credentials" credUrl="https://gitlab.e-bk.m086/" repoURL="https://gitlab.e-bk.m086/arz-container-plattform/k8s-platform.git"
    time="2019-09-22T09:43:58Z" level=info msg="Initiated automated sync to 'd1ac81ea342f68997be69ff2befbf2b0ec1b045f'" application=bootstrap-application dest-namespace=argocd dest-server="https://kubernetes.default.svc" reason=OperationStarted type=Normal
    time="2019-09-22T09:43:58Z" level=info msg="Initiated automated sync to 'd1ac81ea342f68997be69ff2befbf2b0ec1b045f'" application=bootstrap-application
    time="2019-09-22T09:43:58Z" level=info msg="Updated sync status: Synced -> OutOfSync" application=bootstrap-application dest-namespace=argocd dest-server="https://kubernetes.default.svc" reason=ResourceUpdated type=Normal
    time="2019-09-22T09:43:58Z" level=info msg="updated 'bootstrap-application' operation (phase: Running)"
    time="2019-09-22T09:43:58Z" level=info msg="Initialized new operation: {&SyncOperation{Revision:d1ac81ea342f68997be69ff2befbf2b0ec1b045f,Prune:true,DryRun:false,SyncStrategy:nil,Resources:[],Source:nil,Manifests:[],}}" application=bootstrap-application
    time="2019-09-22T09:43:58Z" level=info msg="Comparing app state (cluster: https://kubernetes.default.svc, namespace: argocd)" application=bootstrap-application
    time="2019-09-22T09:43:58Z" level=info msg="copying credentials" credUrl="https://gitlab.e-bk.m086/" repoURL="https://gitlab.e-bk.m086/arz-container-plattform/k8s-platform.git"
    time="2019-09-22T09:43:58Z" level=info msg="Update successful" application=bootstrap-application
    
    bug 
    Reply
  • OCI chart as dependency
    OCI chart as dependency

    Apr 19, 2021

    Checklist:

    • [X] I've searched in the docs and FAQ for my answer: https://bit.ly/argocd-faq.
    • [X] I've included steps to reproduce the bug.
    • [X] I've pasted the output of argocd version.

    Describe the bug

    Just upgraded out argocd from 1.8.x to v2.0.1+33eaf11 so we are trying to use OCI hosted helm charts. The OCI helm itself works like a charm (as oposed to the 1.8.x version). However when we have a helm chart in a git repository that has this OCI helm as a dependency it fails. More details below.

    To Reproduce Our application Chart.yaml in the git repository looks like:

    apiVersion: v2
    name: sample-app
    type: application
    version: 0.1.0
    appVersion: "latest"
    dependencies:
      - name: chart-name
        repository: "oci://registry.gitlab.com"
        version: 0.2.0
    

    This repo happens to be previously added to argocd using the cli:

    argocd repo add registry.gitlab.com --type helm --name repo-name --enable-oci --username [user] --password [password]`
    

    There is also a values.yaml with the non-default values I wanna override from the inherited chart.

    Expected behavior The git repository should allow an application to be created with this OCI chart dependency.

    What we get instead is that this chart (the OCI dependency) could not be found in the charts directory (see the logs)

    Version

     v2.0.1+33eaf11
    

    Logs

    Unable to create application: application spec is invalid: InvalidSpecError: Unable to generate manifests in prometheus-contract-first-sample/dev: rpc error: code = Unknown desc = helm template . --name-template sample-app --namespace apps --values values.yaml --api-versions v1 --api-versions apiregistration.k8s.io/v1 --api-versions apiregistration.k8s.io/v1beta1 --api-versions extensions/v1beta1 --api-versions apps/v1 --api-versions events.k8s.io/v1 --api-versions events.k8s.io/v1beta1 --api-versions authentication.k8s.io/v1 --api-versions authentication.k8s.io/v1beta1 --api-versions authorization.k8s.io/v1 --api-versions authorization.k8s.io/v1beta1 --api-versions autoscaling/v1 --api-versions autoscaling/v2beta1 --api-versions autoscaling/v2beta2 --api-versions batch/v1 --api-versions batch/v1beta1 --api-versions certificates.k8s.io/v1 --api-versions certificates.k8s.io/v1beta1 --api-versions networking.k8s.io/v1 --api-versions networking.k8s.io/v1beta1 --api-versions policy/v1beta1 --api-versions rbac.authorization.k8s.io/v1 --api-versions rbac.authorization.k8s.io/v1beta1 --api-versions storage.k8s.io/v1 --api-versions storage.k8s.io/v1beta1 --api-versions admissionregistration.k8s.io/v1 --api-versions admissionregistration.k8s.io/v1beta1 --api-versions apiextensions.k8s.io/v1 --api-versions apiextensions.k8s.io/v1beta1 --api-versions scheduling.k8s.io/v1 --api-versions scheduling.k8s.io/v1beta1 --api-versions coordination.k8s.io/v1 --api-versions coordination.k8s.io/v1beta1 --api-versions node.k8s.io/v1beta1 --api-versions discovery.k8s.io/v1beta1 --api-versions crd.k8s.amazonaws.com/v1alpha1 --api-versions vpcresources.k8s.aws/v1beta1 --api-versions metrics.k8s.io/v1beta1 --include-crds failed exit status 1: Error: found in Chart.yaml, but missing in charts/ directory: chart-name

    bug 
    Reply
  • ArgoCD authentication handshake failed
    ArgoCD authentication handshake failed

    Dec 22, 2020

    Describe the bug

    Hello ArgoCD Team!

    We have upgraded our ArgoCD instances recently and facing bothering issue now. Time to time ArgoCD starts sync process and looks like it hanging somewhere. Then it works normally and then hit again.

    We also noticed that restart of argocd-repo-server can help for a short moment.

    We have one replica of argocd-repo-server and two replicas of argocd-server.

    To Reproduce

    N/A.

    Expected behavior

    ArgoCD is not hanging during app sync

    Screenshots

    Screenshot 2020-12-22 at 16 03 04

    Version

    argocd: v1.8.1+c2547dc
      BuildDate: 2020-12-10T02:57:57Z
      GitCommit: c2547dca95437fdbb4d1e984b0592e6b9110d37f
      GitTreeState: clean
      GoVersion: go1.14.12
      Compiler: gc
      Platform: linux/amd64
    

    Logs

    time="2020-12-22T12:43:44Z" level=info msg="Sync operation to  failed: ComparisonError: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = \"transport: authentication handshake failed: remote error: tls: internal error\"" application=graph-db-graphdb-api-instances dest-namespace=graph-db dest-server="https://kubernetes.default.svc" reason=OperationCompleted type=Warning
    
    bug bug/severity:major bug/priority:high 
    Reply