首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >傀儡r10k:让部署键进入control

傀儡r10k:让部署键进入control
EN

Stack Overflow用户
提问于 2020-11-01 17:05:53
回答 1查看 246关注 0票数 0

我在gitlab中有一个控件-repo,我想通过gitlab (使用部署令牌)自动生成一个sshkey并将它发送到我的存储库。

这其实是我想要回答的一个直截了当的问题。关于如何通过api向gitlab发送sshkey,木偶的“标准”是什么?我试过使用这个模块(https://forge.puppet.com/abrader/gms),但它做了一些工作。下面我解释一下我所做的和尝试过的事情。

通过转到Settings->Repository->Deploy,我生成了一个部署令牌。在这里,我得到了一个随机字符串,我现在保存了。

我已经能够自动生成一个名为“manager-deploy”的密钥。我使用这个模块生成密钥:https://forge.puppet.com/puppet/ssh_keygen

Ssh-keygen码

代码语言:javascript
复制
ssh_keygen { 'root':
  bits     => 4096,
  type     => 'rsa',
  filename => '/root/.ssh/manager-deploy-key',
}

然后,我想使用这个模块:"https://forge.puppet.com/abrader/gms“自动将新生成的密钥作为部署密钥发送到repo。

应该发送部署密钥

代码语言:javascript
复制
git_deploy_key { 'add_deploy_key_to_puppet_control':
  ensure       => present,
  name         => $::fqdn,
  path         => '/root/.ssh/manager-deploy-key.pub',
  token        => 'DEPLOY_TOKEN_HERE',
  project_name => 'user/control-repo',
  server_url   => 'https://gitlab.com',
  provider     => 'gitlab',
}

此操作失败,因此我选择调试,方法是在命令中添加--调试-->“傀儡应用--调试/file/test.pp”

查看调试信息,对GET请求的响应是

代码语言:javascript
复制
"{\"error\":\"API V3 is no longer supported. Use API V4 instead.\"}"

模块不工作..。因此,我现在要使用curl来自动实现这一点。然而,我真的想知道是否有更简单的选择。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-21 18:08:19

似乎唯一的办法是真正使用curl,因为模块是不推荐的。如果有人需要一个例子,我已经为它设置了一个命令。

代码语言:javascript
复制
curl -H "PRIVATE-TOKEN: ${git_api_token}" -H "Content-Type: application/json" \
    -X POST -d "{\"title\":\"${git_ssl_keyname}\",\"key\":\"${sslpub}\", \"can_push\":\"true\"}"     \
    "https://gitlab.com/api/v4/projects/${project_id}/deploy_keys"

git_api_token是您在帐户上生成的令牌。我无法使用您可以在项目中生成的部署令牌来完成此任务。

git_ssl_keyname是ssh键的名称。这可以是你想要的任何东西。

sslpub是要导入到项目中的实际密钥。

project_id是项目的id。如果您访问您的主项目页面,它将接近顶部。

如果您想了解更多关于gitlabs访问令牌api的信息,请访问https://docs.gitlab.com/ee/api/deploy_keys.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64634583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档