Назад | Перейти на главную страницу

Лучшая практика марионеточных переменных, обобщение или специализация?

Я пытаюсь выяснить, какие вещи должны быть в git в манифесте марионетки, а какие должны быть в env vars, например FACTER_my_var и используйте это в манифесте.

Сценарий: вы развертываете 3 приложения php, и вы уже создали все уровни до приложения в других манифестах (базовая система, расширения php, пользователи и т. Д.), И все, что осталось, это установка правильного приложения (из репозитория apt ) и создание vhost.

У меня есть соблазн иметь что-то вроде:

apache::vhost { $::project_hostname:
    priority => '10',
    port => '80',
    docroot => $::project_document_root,
    logroot => "/var/log/apache2/${$::project_name}",
    serveradmin => 'example@example.com',
    require => Package[httpd],
    ssl => false,
    override => 'all',
    setenv => ["APP_KERNEL dev"]
}

Это будет работать на каждом сервере, и FACTER_project_* vars будут устанавливаться для каждого сервера. Очевидным ограничением этого может быть то, что вы не можете запускать более одного приложения с этим конкретным примером.

Или вы бы предпочли project_x.pp, project_y.pp у которых есть жестко заданные пути и имена?