我已经设置了一个新的 AWS Opswork Puppetmaster
它应该配置了一个 ssh 密钥,可以允许访问 github
但是,它没有成功,并且在配置步骤的早期就失败了。我想知道是否有任何配置项可以检查,以及/或者我如何才能让 puppetmaster 从 github 中提取 puppet 代码
我有自己的 puppet 配置文件和自定义模块,供 github 上的私有存储库本地使用
但是,如果我执行“puppet-access login --lifetime 180d”来设置令牌,然后尝试让它工作......
# puppet-code deploy --dry-run
--dry-run implies --wait.
--dry-run implies --all.
Dry-run deploying all environments.
Errors while collecting a list of environments to deploy (exit code: 1).
ERROR -> Unable to determine current branches for Git source 'puppet' (/etc/puppetlabs/code-staging/environments)
Original exception:
Invalid credential type
路径/etc/puppetlabs/code-staging/environments
不存在
然而 ssh 密钥确实有效
# ssh -i /etc/puppetlabs/puppetserver/ssh/id-control_repo.rsa -T [email protected]
Hi billybob22! You've successfully authenticated, but GitHub does not provide shell access.
并且 ssh 密钥可被 pe-puppet 读取
# su pe-puppet -s /bin/bash -c 'test -r /etc/puppetlabs/puppetserver/ssh/id-control_repo.rsa; echo $?'
0
# ls -l /etc/puppetlabs/puppetserver/ssh/id-control_repo.rsa
-r-------- 1 pe-puppet pe-puppet 3243 Dec 19 14:45 /etc/puppetlabs/puppetserver/ssh/id-control_repo.rsa
# ls -ld /etc/puppetlabs/puppetserver/ssh
dr-x------ 2 pe-puppet pe-puppet 4096 Dec 6 16:32 /etc/puppetlabs/puppetserver/ssh
我尝试过使用以下形式的 github url
"puppet_enterprise::profile::master::r10k_remote": "[email protected]:myorg/my-puppetrepos"
并且
"puppet_enterprise::profile::master::r10k_remote": "ssh://github.com/myorg/my-puppetrepos"
两种形式都给出了如上所述的相同结果
不知道从哪里开始!文档(Puppetlabs 和 AWS)涵盖了一些问题,但没有涵盖这个问题。只是重复我的问题:我应该做哪些进一步的诊断来尝试解决这个问题?
答案1
存储库位置的正确格式是
[电子邮件保护]:myorg/my-puppetrepos
我找不到任何方法来改变现有的 Opsworks puppetmaster 中的这个值,所以我把它扔掉,然后启动另一个,在开始时给出正确的值
我认为我的问题是由于提供了错误的 GitHub URL 造成的