傀儡资源应该放在哪里



我有以下flyway.pp Puppet类,它将Flyway安装到Windows机器上。它将两个文件复制到安装文件夹中。

class rehan::flyway {
    package { 'flyway':
        ensure      => latest,
        provider    => chocolatey
    }
    file { 'C:/Program Files/flyway/ntlmauth.dll':
      ensure => 'file',
      source => 'puppet:///modules/rehan/manifests/ntlmauth.dll',
    }
    file { 'C:/Program Files/flyway/drivers/sqljdbc4.jar':
      ensure => 'file',
      source => 'puppet:///modules/rehan/manifests/sqljdbc4.jar',
    }
}

上述模块位于 modules/rehan/manifests/flyway.pp .我已经将两个文件放在ntlmauth.dllsqljdbc4.jar旁边,但它似乎有点混乱。是否有通常放置这些文件的标准目录或位置?另外,我如何使用相对路径引用这些文件,我使用puppet:///modules/rehan/manifests/ntlmauth.dll因为我在某处看到过它,但这不起作用。

这可能有点令人困惑。

在模块的目录中,你应该有一个名为"files"的子目录,所有你想要复制/安装在某个地方的文件都需要放在那里。

令人困惑的是,在寻址存储在那里的一个对象时,您不会在路径中提及"文件"!

所以

source => 'puppet:///modules/rehan/sqljdbc4.jar'

从以下路径选取 jar 文件:

/etc/puppet/modules/rehan/files/sqljdbc4.jar
puppet:///modules/rehan/manifests/ntlmauth.dll 不起作用

的原因是它将路径映射到不存在的/etc/puppet/modules/rehan/files/manifests/ntlmauth.dll而路径不存在。

不能使用 puppet:///引用清单目录中的对象

最新更新