我正在尝试让我们的 CI 机器(运行 Teamcity)在完成所有测试后上传和推广 Chef 食谱,使其成为我们部署管道的适当部分。
但是,客户端无权上传说明书,但我不知道如何调整 ACL 设置以使其工作。
$ sudo bundle exec knife spork upload teamcity --environment production
ERROR: You authenticated successfully to https://api.opscode.com/organizations/<my-org> as ci but you are not authorized for this action
Response: missing create permission
我已经尝试过(但因同样的错误而失败):
- 在Opscode
ci
管理员中授予客户端读取权限。 - 使用验证器用户上传说明书。
- 进行非 Spork 上传 (
sudo bundle exec knife upload cookbooks/teamcity
),但由于 403 失败
我也试过只列出客户(sudo bundle exec knife client list
),但失败了Response: missing create permission
。
客户端和验证器密钥位于 中/etc/chef
,但我有一个 Knife 配置<repo-path>/.chef/knife.rb
(我正在尝试从 上传<repo-path>
)。
我猜我需要设置某种权限,但是在旧的和新的 Opscode 管理界面中浏览之后,我没有线索了。
是什么赋予了?
注意:我们使用的是由 Opscode 托管的 Enterprise Chef 版本。