1

我有一个 ArgoCD 安装,并希望使用 SSH 访问添加一个 GitHub 存储库,并使用声明性 DSL 向它添加一个 SSH 密钥对。

我所拥有的是:

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

4

1 回答 1

0

我不确定 helm,因为在进入 helm 之前,我现在正在使用 yaml 文件。您可以在此处查看此Github 问题,为 helm 配置 SSH 密钥

当我使用清单时,我遇到了这个问题。repo 配置应该在 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>

而且我不确定文档是否正确,因为我可以看到 stable 中的文档有点不同,尽管您的链接和这个stable doc 链接都来自同一版本

于 2021-07-24T12:49:22.530 回答