如何运行"刀配置 - 初始......"非交互式?

时间:2014-03-14 22:05:13

标签: chef knife

我想运行knife configure --initial命令而不提示我输入任何用户。

到目前为止,我有这个:

knife configure --initial --server-url https://chefserver.example.com --user workstation-user --admin-client-name admin --admin-client-key /home/ec2-user/chef-repo/.chef/admin.pem --validation-client-name chef-validator --validation-key /home/ec2-user/chef-repo/.chef/chef-validator.pem --repository /home/ec2-user/chef-repo

然而它仍然促使我:

WARNING: No knife configuration file found
Where should I put the config file? [/home/ec2-user/.chef/knife.rb]

默认是不可接受的 - 我希望它在/home/ec2-user/chef-repo/.chef/knife.rb中。如果我尝试使用--config开关,它会抱怨knife.rb文件不存在,所以显然它试图从中读取,而不是写入它。

它还提示我输入新用户的密码:

Creating initial API user...
Please enter a password for the new user: 

我是否可以将这两个值传递给命令,以便命令以非交互方式运行完成?

由于

1 个答案:

答案 0 :(得分:0)

我不确定这是否足以满足您的需求,但以下命令可以正常工作。

knife cookbook upload helloworld -c /home/ec2-user/chef-repo/.chef/knife.rb

在运行上述命令之前,您需要提供此文件“/home/ec2-user/chef-repo/.chef/knife.rb”,而knife.rb将具有所有主厨服务器特定信息。