diff --git a/puppet/zulip/manifests/static_asset_compiler.pp b/puppet/zulip/manifests/static_asset_compiler.pp new file mode 100644 index 0000000000..7919d72037 --- /dev/null +++ b/puppet/zulip/manifests/static_asset_compiler.pp @@ -0,0 +1,18 @@ +class zulip::static_asset_compiler { + $static_asset_compiler_packages = [ + # Needed for minify-js + "closure-compiler", + "nodejs", + "nodejs-legacy", + "npm", + "yui-compressor", + # Used by makemessages i18n + "gettext", + ] + define safepackage ( $ensure = present ) { + if !defined(Package[$title]) { + package { $title: ensure => $ensure } + } + } + safepackage { $static_asset_compiler_packages: ensure => "installed" } +} diff --git a/puppet/zulip_internal/manifests/app_frontend.pp b/puppet/zulip_internal/manifests/app_frontend.pp index e56dcd9b74..4ec65e039e 100644 --- a/puppet/zulip_internal/manifests/app_frontend.pp +++ b/puppet/zulip_internal/manifests/app_frontend.pp @@ -3,10 +3,8 @@ class zulip_internal::app_frontend { include zulip::memcached include zulip::rabbit include zulip::postfix_localmail - $app_packages = [# Needed for minify-js - "yui-compressor", - "nodejs", - # Needed for the ssh tunnel to the redis server + include zulip::static_asset_compiler + $app_packages = [# Needed for the ssh tunnel to the redis server "autossh", ] package { $app_packages: ensure => "installed" }