У меня есть следующий простой кукольный рецепт:

# 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
...

1 ответ1

1

На основании опубликованной вами ссылки рекомендуется определить vhosts в классах и включить их (в манифесте узла или через ENC) или вручную определить каждый vhost для каждого узла (в манифесте узла)>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .