У меня есть следующий простой кукольный рецепт:
# Apache
class { 'apache':
mpm_module => 'prefork', # Determines which MPM is loaded and configured for the HTTPD process (event, itk, peruser, prefork, worker or false).
}
include apache::mod::prefork # Implements a non-threaded, pre-forking web server
include apache::mod::rewrite # Provides a rule-based rewriting engine to rewrite requested URLs on the fly.
include apache::mod::expires # Generation of Expires and Cache-Control HTTP headers according to user-specified criteria.
include apache::mod::headers # Customization of HTTP request and response headers.
include apache::mod::php # Installs and configures mod_php.
# MySQL
# Note: mysql module will manage all the restarts needed after all the configuration changes.
class { '::mysql::server':
root_password => 'root', # Sets MySQL root password.
override_options => {
'mysqld' => {
'log' => 'ON',
}
}
}
# Import many manifest files with vhost definitions.
import 'vhosts/*.pp'
Куда я импортирую много файлов определения vhost (включая базу данных), таких как:
# Apache vhost.
apache::vhost { 'foo1':
docroot => '/var/www/foo1',
directories => [
{ path => '/var/www/foo1',
allow_override => ['All'],
},
],
}
# MySQL database.
mysql_database { 'foo1':
ensure => 'present',
}
Но проблема в том, что импорт манифестов устарел, и у меня появляется следующее красное предупреждение при каждом запуске:
$ sudo puppet apply foo.pp
Warning: The use of 'import' is deprecated at foo.pp:49. See http://links.puppetlabs.com/puppet-import-deprecation
(at /usr/lib/ruby/vendor_ruby/puppet/parser/parser_support.rb:110:in `import')
Поэтому вопрос заключается в том, каков текущий, удобный и простой способ импорта множества файлов манифеста (каждый для отдельного vhost)?
Я ожидал бы следующую структуру:
main-config.pp
includes/vhost-foo1.pp
includes/vhost-foo2.pp
includes/vhost-foo3.pp
...