Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Arlon Controller Fails to Create Socket for ArgoCD gRPC Proxy Client #238

Closed
mattroark opened this issue Sep 21, 2022 · 0 comments
Closed
Labels
bug Something isn't working Needs Review For all new issues that are unplanned, have no milestone or project.
Milestone

Comments

@mattroark
Copy link
Contributor

mattroark commented Sep 21, 2022

Describe the bug
A gRPC proxy server is started by the ArgoCD API client if grpc-web-root-path is set in the configuration which is passed: https://github.com/argoproj/argo-cd/blob/master/pkg/apiclient/apiclient.go#L496-L498

e.g.

❯ cat ~/.config/argocd/config
contexts:
- name: example
  server: example.domain.tld
  user: [email protected]
current-context: example
servers:
- grpc-web-root-path: argocd
  server: example.domain.tld
...

The arlon-controller pod will transition into a CrashLoopBackOff once deployed as it tries to initialize the client, but, fails (due to a socket binding failure shown below).

conn, clusterIf := r.ArgocdClient.NewClusterClientOrDie()

❯ k get po
NAME                                READY   STATUS             RESTARTS   AGE
arlon-controller-75ccb8dc5d-gtvdg   0/1     CrashLoopBackOff   7          13m
❯ k logs arlon-controller-75ccb8dc5d-dt4t8
time="2022-09-21T16:56:39Z" level=fatal msg="Failed to establish connection to example.domain.tld:443: listen unix /tmp/argocd-mMgptNUtlpbVjcHJ.sock: bind: read-only file system"

The issue is due to the "read-only file system" as called out in the error. The securityContext will need to be modified to account for this edge-case.

Version Impacted: v0.9.9

To Reproduce

  1. argocd login example.domain.tld --sso --grpc-web-root-path argocd
  2. cp ${HOME}/.config/argocd/config /tmp/config
  3. kubectl -n arlon create secret generic argocd-creds --from-file /tmp/config
  4. kubectl apply -f deploy/manifests/deploy.yaml

Expected behavior
The arlon-controller svc/pod would transition into a Ready state after successfully establishing a connection to ArgoCD.

Aha! Link: https://pf9.aha.io/features/ARLON-403

@mattroark mattroark added bug Something isn't working Needs Review For all new issues that are unplanned, have no milestone or project. labels Sep 21, 2022
mattroark added a commit to mattroark/arlon that referenced this issue Sep 21, 2022
@cruizen cruizen closed this as completed in cd05a7c Nov 7, 2022
cruizen added a commit that referenced this issue Nov 11, 2022
cruizen added a commit that referenced this issue Nov 25, 2022
@cre8minus1 cre8minus1 added this to the Not Planned milestone Nov 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Needs Review For all new issues that are unplanned, have no milestone or project.
Projects
None yet
Development

No branches or pull requests

2 participants