Articles of 厨师

主目录不是通过添加用户资源与主厨创build的

在一个stream浪的盒子精确64(Ubuntu的12.04) 使用Chef创build用户资源时,不会创build主目录: 我的食谱: user "myuser" do supports :manage_home => true shell "/bin/bash" home "/home/myuser" comment "Created by Chef" password "myencryptedpassword" system true provider Chef::Provider::User::Useradd action :create end 当我authentication时: $ su – myuser Password: No directory, logging in with HOME=/ 更新 – 对于precise64(Ubuntu 12.04 64位)的解决方法 directory "/home/myuser" do owner "myuser" group "myuser" mode 00755 action :create […]

使用Chef食谱将多行添加到configuration文件

我试图创build一个厨师食谱来追加多个行(20-30)到一个特定的configuration文件。 我知道推荐的模式是改变整个configuration文件,而不是只追加到一个文件,但我不喜欢这种方法有多种原因。 到目前为止唯一的解决scheme是使用cookbook_file ,然后使用bash资源来做: cat lines_to_append >> /path/configfile 显然这不能正常工作,因为它会一遍又一遍地附加文件,每次运行chef-client。 我不得不创build一个小bash脚本来检查一个特定的string, 如果没有find ,附加到文件。 但这似乎打败了使用厨师的目的。 一定会有更好的办法。 一个有前途的解决scheme是来自OpsCode社区的线上食谱 。 它旨在解决这个确切的问题。 不幸的是,function是不完整的,越野车,代码只是一个快速入侵。 远不是一个坚实的解决scheme。 我评估的另一个select是augeas 。 看起来非常强大,但它会为系统增加一个抽象层。 矫枉过正,就我而言。 鉴于这是任何系统pipe理员最明显的任务之一,厨师有什么简单而美丽的解决scheme,我没有看到? 编辑:这是我迄今为止如何解决: cookbook_file "/tmp/parms_to_append.conf" do source "parms_to_append.conf" end bash "append_to_config" do user "root" code <<-EOF cat /tmp/parms_to_append.conf >> /etc/config rm /tmp/parms_to_append.conf EOF not_if "grep -q MY_IDENTIFIER /etc/config" end 它的作品,但不知道这是推荐的厨师模式。

厨师厨师validation。安全

嗨,我正在异地设置一个使用厨师的机器集群。 如果其中一台机器被盗,攻击者可以通过拥有chef-validator.pem对我的厨师服务器或其他节点造成什么样的损害? 还有什么东西可以通过厨师进入? 谢谢!

Windowsconfigurationpipe理

有没有像这样的* nix世界有窗户的工具? 我正在寻找像厨师或木偶这样的东西。 我已经find了cfEngine,但它仍然看起来非常以nix为中心。 理想情况下,它将是开源的,并由命令行驱动。 这个想法是把自动化的基础设施与基于Windows的服务器结合在一起。 我们目前的IT部门不允许非Windows服务器。

厨师:我如何检查服务是否安装?

在一个配方中,我想检查一下是否安装了一个服务,如果它没有通知安装它所需的3个资源。 我尝试了服务资源,该服务资源在安装时正确识别服务,但是如果服务未安装,则会引发exception。 我不确定在这里使用什么行动。 :没有任何东西只是跳过资源,以便执行,但是当其他任何操作尝试对不存在的服务执行操作时都会出错。 如何检测服务是否已安装并根据这些信息采取行动? 我在Windows上运行,如果这是相关的。

来自Mac OS X工作站的刀引导窗口winrm失败

从我的Mac OS X工作站运行命令行knife bootstrap windows winrm ec2box.amazonaws.com -r 'role[web]' -x Administrator -P 'mypassword'生成以下输出。 从Windows工作站运行它,命令成功运行。 有没有额外的步骤,我需要采取让我的Mac OS X工作站通过WinRM正确沟通? 我在亚马逊的Windows Server 2012 AMI上使用它。 它在我的terminal上打印#39 ,而不是堆栈溢出的人工制品。 WARNING: Could not load IOV methods. Check your GSSAPI C library for an update WARNING: Could not load AEAD methods. Check your GSSAPI C library for an update Bootstrapping Chef on ec2box.amazonaws.com […]

不能加载这样的文件 – ruby​​-wmi(LoadError)&不能加载这样的文件 – win32 / service(LoadError)

我没有安装下面提到的ruby的东西 当我尝试执行厨师客户,我收到下面提到的错误 c:\RubyDevKit>chef-client C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file — ruby-wmi (LoadError) from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/chef-10.14.4/lib/chef/provider/env/windows.rb:20:in `<top (required)>' from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/chef-10.14.4/lib/chef/providers.rb:49:in `<top (required)>' from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/chef-10.14.4/lib/chef.rb:25:in `<top (required)>' from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/chef-10.14.4/bin/chef-client:23:in `<top (required)>' from C:/Ruby193/bin/chef-client:23:in `load' from C:/Ruby193/bin/chef-client:23:in `<main>' […]

厨师:安装Windows服务

我是新来的这个论坛(所以道歉,如果我张贴在错误的地方),也是非常新的厨师。 我一直在围绕试图清楚了解如何安装Windows服务的房屋。 基本上我想要厨师相当于“SC创造” 我试图使用的食谱是这样的: windows_package "RMS_EU" do installer_type :msi action :install source "c:\Servies\V5.5\EUNTRouteManager\Routing.WindowsService.exe" end 当我运行这个我得到错误说msres问题。 我试过了这个脚本的多种变体,并且发现了如何安装一个简单的服务非常稀疏的信息。 那么有谁知道我哪里出了问题? 正如我所说的这个工作,它应该显示为服务列表中的Windows服务。 这些文件已经在指定path中的服务上,并且运行了Windows 2008 R2,使用PowerShell v4.0和最新的Chef客户端安装。 任何和所有的帮助将不胜感激。 感谢您的反馈意见 问候 斯科特

使用指定path的Java JDK无提示安装

我想以指定的版本以静默模式安装(实际上,使用Chef)JDK。 我的问题是,当我添加INSTALLDIR参数时,Java JDK安装失败。 没有它,JDK将安装在默认目录( C:/ Program Files / Java /或C:/ Program Files(x86)/ Java / )中。 我正在运行命令 jdk-7u79-windows-i586.exe /s INSTALLDIR="C:/java" 也试过了 jdk-7u79-windows-i586.exe /s INSTALLDIR:"C:/java" 什么使Java安装显示popup式窗口与我可以在MSI安装程序中使用的参数。 C:/ java / path是现有的目录。 另外,我发现这个网站: https : //docs.oracle.com/javase/7/docs/webnotes/install/windows/jdk-installation-windows.html你可以findJDK的指定参数。 我想使用Chef资源windows-package进行安装 windows_package node['name']['JDK1.8'] do source node['source']['JDK1.8'] installer_type :custom action :install options '/s INSTALLDIR=C:/java2' end 什么使输出 Mixlib::ShellOut::ShellCommandFailed ———————————— Expected process to exit with [0, […]

将自定义厨师推送作业添加到Windows白名单

我正在尝试将推送作业添加到pushy-client的Windows白名单中。 当我使用刀进行search时,它会在Windows节点的白名单中显示自定义作业。 当我尝试运行它时,作业立即失败,在Windows端,它说该命令不在白名单中。 我在GitHub中发现这个问题: Windows推送服务无法加载白名单 我想知道是否有人有解决方法,如何解决这个问题的build议,或者知道我的代码在哪里,我可以猴子补丁。