可以在helm中使用ssh git repo url吗?

mklgxw1f  于 2023-04-04  发布在  Git
关注(0)|答案(1)|浏览(121)

使用带有ssh:// url的helm pull会立即失败:

mark@L-R910LPKW:~$ helm pull --destination /tmp/xyz --version 0.0.1 --repo ssh://git@ssh.dev.azure.com/v3/MyOrg/MyProject/MyRepo MyChart
Error: could not find protocol handler for: ssh
mark@L-R910LPKW:~$

我的本地git可以很好地使用ssh://

mark@L-R910LPKW:/tmp$ git clone ssh://git@ssh.dev.azure.com/v3/MyOrg/MyProject/MyRepo xyz
Cloning into 'xyz'...
remote: Azure Repos
remote: Found 2672 objects to send. (97 ms)
Receiving objects: 100% (2672/2672), 380.31 KiB | 6.79 MiB/s, done.
Resolving deltas: 100% (692/692), done.
mark@L-R910LPKW:/tmp$

有没有一种方法可以让helm使用SSH密钥从git仓库中拉取数据?

编辑1

我的问题是关于helm的,我对自己克隆仓库然后指向helm的解决方法不感兴趣。

u59ebvdq

u59ebvdq1#

是的,您可以配置Helm使用SSH密钥从Git存储库中拉取数据,方法如下:
1-如果你还没有在本地机器上生成SSH密钥对,你可以使用ssh-keygen命令。
2-将公钥添加到您要从其拉取的Git存储库。此步骤将取决于您使用的Git托管服务。例如,如果您使用GitHub,则可以转到存储库设置并将公钥添加到“部署密钥”部分。
3-通过在values.yaml文件中添加以下行来配置Helm使用SSH密钥:

git:
  sshKey: |
    -----BEGIN RSA PRIVATE KEY-----
    # Add your private key here
    -----END RSA PRIVATE KEY-----

将# Add your private key here占位符替换为您的实际私钥。请确保使用正确的缩进和格式。
4-将values.yaml文件中的git.url值设置为Git仓库的SSH URL。例如:

git:
  url: git@github.com:myusername/myrepo.git

5-使用helm dependency update命令,使用SSH密钥从Git存储库中提取图表依赖项。
通过这些步骤,Helm应该能够使用SSH密钥从Git存储库中提取图表依赖项。
下面是一个示例values.yaml文件,它配置Helm使用SSH密钥从Git存储库中提取图表:

git:
  url: git@github.com:myusername/myrepo.git
  ref: main
  sshKey: |
    -----BEGIN RSA PRIVATE KEY-----
    # Add your private key here
    -----END RSA PRIVATE KEY-----

相关问题