使用声明性 DSL 将 SSH GitHub 存储库添加到 ArgoCD 得到 "authentication required"
Adding an SSH GitHub repository to ArgoCD using declarative DSL gives "authentication required"
我安装了 ArgoCD,想使用声明性 DSL 使用 SSH 访问和 SSH 密钥对添加 GitHub 存储库。
我有的是:
apiVersion: v1
data:
sshPrivateKey: <my private ssh key base64 encoded>
url: <url base64 encoded>
kind: Secret
metadata:
annotations:
meta.helm.sh/release-name: argocd-config
meta.helm.sh/release-namespace: argocd
creationTimestamp: "2021-06-30T12:39:35Z"
labels:
app.kubernetes.io/managed-by: Helm
argocd.argoproj.io/secret-type: repo-creds
name: repo-creds
namespace: argocd
resourceVersion: "364936"
selfLink: /api/v1/namespaces/argocd/secrets/repo-creds
uid: 8ca64883-302b-4a41-aaf6-5277c34dfbfc
type: Opaque
---
apiVersion: v1
data:
url: <url base64 encoded>
kind: Secret
metadata:
annotations:
meta.helm.sh/release-name: argocd-config
meta.helm.sh/release-namespace: argocd
creationTimestamp: "2021-06-30T12:39:35Z"
labels:
app.kubernetes.io/managed-by: Helm
argocd.argoproj.io/secret-type: repository
name: argocd-repo
namespace: argocd
resourceVersion: "364935"
selfLink: /api/v1/namespaces/argocd/secrets/argocd-repo
uid: 09de56e0-3b0a-4032-8fb5-81b3a6e1899e
type: Opaque
我可以使用那个 SSH 密钥对手动连接到那个 GitHub 私有存储库,但是使用 DSL,该存储库不会出现在 ArgoCD GUI 中。
在 argocd-repo-server 的日志中我收到错误:
time="2021-06-30T14:48:25Z" level=error msg="finished unary call with code Unknown" error="authentication required" grpc.code=Unknown grpc.method=GenerateManifest grpc.request.deadline="2021-06-30T14:49:25Z" grpc.service=repository.RepoServerService grpc.start_time="2021-06-30T14:48:25Z" grpc.time_ms=206.505 span.kind=server system=grpc
我用 helm 部署秘密。
所以谁能帮我指出正确的方向?我做错了什么?
我基本上遵循了以下声明性文档:https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/
提前致谢。
此致,
rforberger
我不确定 helm,因为我现在正在使用 yaml 文件,然后再进入 helm。您可以在此处查看 Github issue 以配置 helm
的 SSH 密钥
我在处理清单时遇到了这个问题。回购配置应该在 argocd-cm configmap 中。修复是这样的:
---
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-cm
namespace: argocd
labels:
app.kubernetes.io/name: argocd-cm
app.kubernetes.io/part-of: argocd
data:
repositories: |
- name: my-test-repo
url: ssh://git@repo-url/path/to/repo.git
type: git
insecure: true. // To skip verification
insecureIgnoreHostKey: true // to ignore host key for ssh
sshPrivateKeySecret:
name: private-repo-creds
key: sshPrivateKey
---
apiVersion: v1
kind: Secret
metadata:
name: private-repo-creds
namespace: argocd
labels:
argocd.argoproj.io/secret-type: repo-creds
data:
sshPrivateKey: <my private ssh key base64 encoded>
而且我不确定文档是否正确,因为我可以看到稳定版的文档有点不同,虽然你的 link 和这个 stable doc link 来自同一个版本
我安装了 ArgoCD,想使用声明性 DSL 使用 SSH 访问和 SSH 密钥对添加 GitHub 存储库。
我有的是:
apiVersion: v1
data:
sshPrivateKey: <my private ssh key base64 encoded>
url: <url base64 encoded>
kind: Secret
metadata:
annotations:
meta.helm.sh/release-name: argocd-config
meta.helm.sh/release-namespace: argocd
creationTimestamp: "2021-06-30T12:39:35Z"
labels:
app.kubernetes.io/managed-by: Helm
argocd.argoproj.io/secret-type: repo-creds
name: repo-creds
namespace: argocd
resourceVersion: "364936"
selfLink: /api/v1/namespaces/argocd/secrets/repo-creds
uid: 8ca64883-302b-4a41-aaf6-5277c34dfbfc
type: Opaque
---
apiVersion: v1
data:
url: <url base64 encoded>
kind: Secret
metadata:
annotations:
meta.helm.sh/release-name: argocd-config
meta.helm.sh/release-namespace: argocd
creationTimestamp: "2021-06-30T12:39:35Z"
labels:
app.kubernetes.io/managed-by: Helm
argocd.argoproj.io/secret-type: repository
name: argocd-repo
namespace: argocd
resourceVersion: "364935"
selfLink: /api/v1/namespaces/argocd/secrets/argocd-repo
uid: 09de56e0-3b0a-4032-8fb5-81b3a6e1899e
type: Opaque
我可以使用那个 SSH 密钥对手动连接到那个 GitHub 私有存储库,但是使用 DSL,该存储库不会出现在 ArgoCD GUI 中。
在 argocd-repo-server 的日志中我收到错误:
time="2021-06-30T14:48:25Z" level=error msg="finished unary call with code Unknown" error="authentication required" grpc.code=Unknown grpc.method=GenerateManifest grpc.request.deadline="2021-06-30T14:49:25Z" grpc.service=repository.RepoServerService grpc.start_time="2021-06-30T14:48:25Z" grpc.time_ms=206.505 span.kind=server system=grpc
我用 helm 部署秘密。
所以谁能帮我指出正确的方向?我做错了什么?
我基本上遵循了以下声明性文档:https://argoproj.github.io/argo-cd/operator-manual/declarative-setup/
提前致谢。
此致, rforberger
我不确定 helm,因为我现在正在使用 yaml 文件,然后再进入 helm。您可以在此处查看 Github issue 以配置 helm
的 SSH 密钥我在处理清单时遇到了这个问题。回购配置应该在 argocd-cm configmap 中。修复是这样的:
---
apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-cm
namespace: argocd
labels:
app.kubernetes.io/name: argocd-cm
app.kubernetes.io/part-of: argocd
data:
repositories: |
- name: my-test-repo
url: ssh://git@repo-url/path/to/repo.git
type: git
insecure: true. // To skip verification
insecureIgnoreHostKey: true // to ignore host key for ssh
sshPrivateKeySecret:
name: private-repo-creds
key: sshPrivateKey
---
apiVersion: v1
kind: Secret
metadata:
name: private-repo-creds
namespace: argocd
labels:
argocd.argoproj.io/secret-type: repo-creds
data:
sshPrivateKey: <my private ssh key base64 encoded>
而且我不确定文档是否正确,因为我可以看到稳定版的文档有点不同,虽然你的 link 和这个 stable doc link 来自同一个版本