Articles of 木偶

将编译选项传递给rbenv :: gem

我正在使用alup / puppet-rbenv,我正在用这个语句安装带有nginx的Passenger: rbenv::gem { "passenger": user => "vagrant", ruby => "1.9.3-p327", ensure => "4.0.8", } 不过,我需要添加以下选项来编译nginx: –with-http_ssl_module –with-cc-opt=-Wno-error –with-http_realip_module 我不知道怎么做

木偶:如何生成一个dynamic的依赖链

首先我得到这样一个数组: $myarray = [ {name => resource_1, type => define_type1}, {name => resource_2, type => define_type2, require => resource_1}, {name => resource_3, type => define_type1, require => resource_2}, ] 我想要生成一个dynamic的订单链依赖于$myarray像这样: define_type1{'resource_1': } define_type2{'resource_2': require => Define_type1['resource1'] } define_type1{'resource_3': require => Define_type2['resource2'] } 我使用create_resources来创build所有资源,但是require => $instance['require']只require => resource_1 ,puppet需要的是require => Define_type1['resource1'] 。 each($myarray) { |$instance| if […]

窗户上的木偶非常缓慢

Windows 7,通过巧克力安装木偶。 运行“用Puppet启动命令提示符”,然后创build一个EMPTY文件“tennessee.pp”,然后在提示符下调用 puppet apply -v –debug –evaltrace –noop tennessee.pp 只是坐无所事。 我不知道还有什么其他的debugging标志,我可以把它。 这只是安静的。 Ctrl + C几次导致 Exiting Exiting Terminate batch job (Y/N)? 我怎么可能让傀儡给我更多的信息呢? 我希望我有更多的信息可以分享,但是也没有任何结果。

如何在Puppet中定义Hiera文件中的节点?

我使用木偶和傀儡networking设备pipe理模块 ,我正在尝试构build自定义types。 在路由器configuration的内置types中,可以指定节点列表,然后指定该节点内的configuration: node "c2950.domain.com" { Interface { duplex => auto, speed => auto } interface { "FastEthernet 0/1": description => "–> to end-user workstation", mode => access, native_vlan => 1000 # […] More configuration } 我正在尝试做的是将节点的清单声明和我的自定义types的configuration移动到像这样的Hiera文件: nodes: – node1 – node2 config_device: node1: custom_parameter: "whatever1" node2: custom_parameter: "whatever2" 然后在清单迭代在hiera文件创build节点与每个节点的configuration类似的东西(我在服务器故障中引用这个问题 ): class my_class { $nodes […]

木偶为多个代理预先生成的证书

我有一个像下面的要求 我已经在主服务器中为具有某个名称的多个代理生成了预生成的证书 我必须将预先生成的证书复制到所有代理商。 所有已经生成证书的客户端,都应该能够从主服务器上获取目录。 请帮助我。 我已经尝试了,但是我收到如下的错误错误:无法请求证书:从主站检索到的证书与代理的私钥不匹配。 证书指纹: 关心,奎师那。

当另一个用户的主要群组使用puppet时如何删除群组

我有以下Puppet配方: group{'pablo': ensure => absent, gid => 1020, } user{'pablo': ensure => absent, gid => 1020, managehome => false, } 但是依赖关系是“颠倒的”:用户依赖于组。 这在创build资源时工作正常,但是当我们想要删除时,关系应该是相反的。 目前,用户资源依赖于组,但由于用户本身为主组,所以不能删除组。 糟糕! 确切的错误信息是: Error: Could not delete group pablo: Execution of '/usr/sbin/groupdel pablo' returned 8: groupdel: cannot remove the primary group of user 'pablo' Error: /Stage[main]/Seevibes::Admins/Seevibes::User[pablo]/Group[pablo]/ensure: change from present to absent failed: Could […]

Puppetlabs Apache模块:Debian PHP-FPM FastCGI APC

我目前正在Debian Wheezy上设置一个新的Web服务器,并使用伪造的以下模块: http://forge.puppetlabs.com/puppetlabs/apache http://forge.puppetlabs.com/example42/php PHP模块工作正常,并安装了必要的文件。 我有两个问题与Apache模块 我的configuration需要mod_event。 Debian推荐的方式通常是运行 a2enmod操作 我试图添加include apache::mod::actions到我的清单,但这只是返回一个错误。 尽pipepuppet模块支持mod_actions,但是这似乎只适用于RHEL。 我需要一个Apache的php-fpm.conf,我将如何做到这一点与这个模块? http://www.queryadmin.com/506/apache2-php5-fpm-fastcgi-apc-debian-wheezy/ 我希望你能给我提示如何解决这个问题。 现在我只是手工添加它,但我真的想在傀儡configuration。 谢谢

使用木偶来pipe理不同子目录下的一组文件

所以我需要为Windows上的某些用户生成一个文件树。 我需要提供一个用户列表,最好从外部的事实,并让木偶确保一组文件在一个目录(但允许不同的非托pipe文件),该目录命名为:C:\ VaultWorkspace \ username \库 所以我会有用户指定的用户目录。 我想用户名目录和用户名用户拥有的文件…我最好的猜测是在下面,但它不起作用。 我已经看到: 是否有可能使用Puppet来确保目录中的多个文件不存在而定义它们? 看起来像“当然,通过”/ my / dir“或很多文件很长的path,它会变得有点笨拙,所以在这种情况下,最好创build一个包含目录path的定义,只需传递一组文件名即可。“ 是我想要做的,但是这个post并没有解释定义… class inventor { case $kernel { 'linux': { } 'windows': { @file {'VaultWorkspace': path => "C:/VaultWorkspace/${user}/Vault", source => "puppet:///modules/inventor/Vault", recurse => true, owner => "${user}", group => 'Users', mode => 0755, ensure => present, } realize File["$inventorusers"] } } } […]

傀儡申请和extlookup

我仍然使用extlookup(是的,我知道这是不赞成的:(但我找不到时间移动到hiera)。 我的问题 – 我需要从傀儡大师/傀儡代理人设置,到在本地运行的傀儡应用程序。 一切都很顺利…除了extlookup。 当我尝试使用: puppet apply -e 'class { 'classX': }' 如果使用了classX内部的某个地方(或者其中一个必需的类), extlookup_datadir被完全忽略。 无论我在哪里定义/声明该variables。 我尝试在类声明上面的classX init.pp文件中,并在类声明中。 所以问题是 – 有可能使用extlookup以某种方式 puppet apply -e ? 🙂

Puppet和pipe理.k5login参数和数组

所以我有福尔曼build立,并希望传入一个参数,基本上是一种方法来轻松指定用户和组可以login为该用户。 我的想法是目前有这样的参数input: USER1;组1,组2,group3.user2;组1,groupn.user3;组1 通常(在其他语言),我会做一个二维数组,然后通过它循环。 但这并不是真正能够在Puppet中完成的事情。 我写了一个自定义函数来扩展组成员,然后将其传递给k5logintypes。 我的下一个想法是为此创build一个定义的types。 我只是不确定是否可以传递两个值…我是在重新发明轮子,还是在这里做某种愚蠢的事情?