Mercurial > repos > other > Puppet
diff modules/apache/manifests/mod/passenger.pp @ 275:d9352a684e62
Mass update of modules to remove deprecation warnings
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 26 Jan 2020 11:36:07 +0000 |
parents | 675c1cc61eaf |
children | b8d6ada284dd |
line wrap: on
line diff
--- a/modules/apache/manifests/mod/passenger.pp Sat Jan 04 11:42:45 2020 +0000 +++ b/modules/apache/manifests/mod/passenger.pp Sun Jan 26 11:36:07 2020 +0000 @@ -1,41 +1,790 @@ +# @summary +# Installs `mod_pasenger`. +# +# @param manage_repo +# Toggle whether to manage yum repo if on a RedHat node. +# +# @param mod_id +# Specifies the package id. +# +# @param mod_lib +# Defines the module's shared object name. Do not configure manually without special reason. +# +# @param mod_lib_path +# Specifies a path to the module's libraries. Do not manually set this parameter without special reason. The `path` parameter overrides +# this value. +# +# @param mod_package +# Name of the module package to install. +# +# @param mod_package_ensure +# Determines whether Puppet ensures the module should be installed. +# +# @param mod_path +# Specifies a path to the module. Do not manually set this parameter without a special reason. +# +# @param passenger_allow_encoded_slashes +# Toggle whether URLs with encoded slashes (%2f) can be used (by default Apache does not support this). +# +# @param passenger_app_env +# This option sets, for the current application, the value of the following environment variables: +# - RAILS_ENV +# - RACK_ENV +# - WSGI_ENV +# - NODE_ENV +# - PASSENGER_APP_ENV +# +# @param passenger_app_group_name +# Sets the name of the application group that the current application should belong to. +# +# @param passenger_app_root +# Path to the application root which allows access independent from the DocumentRoot. +# +# @param passenger_app_type +# Specifies the type of the application. If you set this option, then you must also set PassengerAppRoot, otherwise Passenger will +# not properly recognize your application. +# +# @param passenger_base_uri +# Used to specify that the given URI is an distinct application that should be served by Passenger. +# +# @param passenger_buffer_response +# Toggle whether application-generated responses are buffered by Apache. Buffering will happen in memory. +# +# @param passenger_buffer_upload +# Toggle whether HTTP client request bodies are buffered before they are sent to the application. +# +# @param passenger_concurrency_model +# Specifies the I/O concurrency model that should be used for Ruby application processes. +# +# @param passenger_conf_file +# +# +# @param passenger_conf_package_file +# +# +# @param passenger_data_buffer_dir +# Specifies the directory in which to store data buffers. +# +# @param passenger_debug_log_file +# +# +# @param passenger_debugger +# Turns support for Ruby application debugging on or off. +# +# @param passenger_default_group +# Allows you to specify the group that applications must run as, if user switching fails or is disabled. +# +# @param passenger_default_ruby +# File path to desired ruby interpreter to use by default. +# +# @param passenger_default_user +# Allows you to specify the user that applications must run as, if user switching fails or is disabled. +# +# @param passenger_disable_security_update_check +# Allows disabling the Passenger security update check, a daily check with https://securitycheck.phusionpassenger.com for important +# security updates that might be available. +# +# @param passenger_enabled +# Toggles whether Passenger should be enabled for that particular context. +# +# @param passenger_error_override +# Toggles whether Apache will intercept and handle responses with HTTP status codes of 400 and higher. +# +# @param passenger_file_descriptor_log_file +# Log file descriptor debug tracing messages to the given file. +# +# @param passenger_fly_with +# Enables the Flying Passenger mode, and configures Apache to connect to the Flying Passenger daemon that's listening on the +# given socket filename. +# +# @param passenger_force_max_concurrent_requests_per_process +# Use this option to tell Passenger how many concurrent requests the application can handle per process. +# +# @param passenger_friendly_error_pages +# Toggles whether Passenger should display friendly error pages whenever an application fails to start. +# +# @param passenger_group +# Allows you to override that behavior and explicitly set a group to run the web application as, regardless of the ownership of the +# startup file. +# +# @param passenger_high_performance +# Toggles whether to enable PassengerHighPerformance which will make Passenger will be a little faster, in return for reduced +# compatibility with other Apache modules. +# +# @param passenger_installed_version +# +# +# @param passenger_instance_registry_dir +# Specifies the directory that Passenger should use for registering its current instance. +# +# @param passenger_load_shell_envvars +# Enables or disables the loading of shell environment variables before spawning the application. +# +# @param passenger_log_file +# File path to log file. By default Passenger log messages are written to the Apache global error log. +# +# @param passenger_log_level +# Specifies how much information Passenger should log to its log file. A higher log level value means that more +# information will be logged. +# +# @param passenger_lve_min_uid +# When using Passenger on a LVE-enabled kernel, a security check (enter) is run for spawning application processes. This options +# tells the check to only allow processes with UIDs equal to, or higher than, the specified value. +# +# @param passenger_max_instances +# The maximum number of application processes that may simultaneously exist for an application. +# +# @param passenger_max_instances_per_app +# The maximum number of application processes that may simultaneously exist for a single application. +# +# @param passenger_max_pool_size +# The maximum number of application processes that may simultaneously exist. +# +# @param passenger_max_preloader_idle_time +# Set the preloader's idle timeout, in seconds. A value of 0 means that it should never idle timeout. +# +# @param passenger_max_request_queue_size +# Specifies the maximum size for the queue of all incoming requests. +# +# @param passenger_max_request_time +# The maximum amount of time, in seconds, that an application process may take to process a request. +# +# @param passenger_max_requests +# The maximum number of requests an application process will process. +# +# @param passenger_memory_limit +# The maximum amount of memory that an application process may use, in megabytes. +# +# @param passenger_meteor_app_settings +# When using a Meteor application in non-bundled mode, use this option to specify a JSON file with settings for the application. +# +# @param passenger_min_instances +# Specifies the minimum number of application processes that should exist for a given application. +# +# @param passenger_nodejs +# Specifies the Node.js command to use for serving Node.js web applications. +# +# @param passenger_pool_idle_time +# The maximum number of seconds that an application process may be idle. +# +# @param passenger_pre_start +# URL of the web application you want to pre-start. +# +# @param passenger_python +# Specifies the Python interpreter to use for serving Python web applications. +# +# @param passenger_resist_deployment_errors +# Enables or disables resistance against deployment errors. +# +# @param passenger_resolve_symlinks_in_document_root +# This option is no longer available in version 5.2.0. Switch to PassengerAppRoot if you are setting the application root via a +# document root containing symlinks. +# +# @param passenger_response_buffer_high_watermark +# Configures the maximum size of the real-time disk-backed response buffering system. +# +# @param passenger_restart_dir +# Path to directory containing restart.txt file. Can be either absolute or relative. +# +# @param passenger_rolling_restarts +# Enables or disables support for zero-downtime application restarts through restart.txt. +# +# @param passenger_root +# Refers to the location to the Passenger root directory, or to a location configuration file. +# +# @param passenger_ruby +# Specifies the Ruby interpreter to use for serving Ruby web applications. +# +# @param passenger_security_update_check_proxy +# Allows use of an intermediate proxy for the Passenger security update check. +# +# @param passenger_show_version_in_header +# Toggle whether Passenger will output its version number in the X-Powered-By header in all Passenger-served requests: +# +# @param passenger_socket_backlog +# This option can be raised if Apache manages to overflow the backlog queue. +# +# @param passenger_spawn_method +# Controls whether Passenger spawns applications directly, or using a prefork copy-on-write mechanism. +# +# @param passenger_start_timeout +# Specifies a timeout for the startup of application processes. +# +# @param passenger_startup_file +# Specifies the startup file that Passenger should use when loading the application. +# +# @param passenger_stat_throttle_rate +# Setting this option to a value of x means that certain filesystem checks will be performed at most once every x seconds. +# +# @param passenger_sticky_sessions +# Toggles whether all requests that a client sends will be routed to the same originating application process, whenever possible. +# +# @param passenger_sticky_sessions_cookie_name +# Sets the name of the sticky sessions cookie. +# +# @param passenger_thread_count +# Specifies the number of threads that Passenger should spawn per Ruby application process. +# +# @param passenger_use_global_queue +# N/A. +# +# @param passenger_user +# Allows you to override that behavior and explicitly set a user to run the web application as, regardless of the ownership of the +# startup file. +# +# @param passenger_user_switching +# Toggles whether to attempt to enable user account sandboxing, also known as user switching. +# +# @param rack_auto_detect +# This option has been removed in version 4.0.0 as part of an optimization. You should use PassengerEnabled instead. +# +# @param rack_autodetect +# This option has been removed in version 4.0.0 as part of an optimization. You should use PassengerEnabled instead. +# +# @param rack_base_uri +# Deprecated in 3.0.0 in favor of PassengerBaseURI. +# +# @param rack_env +# Alias for PassengerAppEnv. +# +# @param rails_allow_mod_rewrite +# This option doesn't do anything anymore since version 4.0.0. +# +# @param rails_app_spawner_idle_time +# This option has been removed in version 4.0.0, and replaced with PassengerMaxPreloaderIdleTime. +# +# @param rails_auto_detect +# This option has been removed in version 4.0.0 as part of an optimization. You should use PassengerEnabled instead. +# +# @param rails_autodetect +# This option has been removed in version 4.0.0 as part of an optimization. You should use PassengerEnabled instead. +# +# @param rails_base_uri +# Deprecated in 3.0.0 in favor of PassengerBaseURI. +# +# @param rails_default_user +# Deprecated in 3.0.0 in favor of PassengerDefaultUser +# +# @param rails_env +# Alias for PassengerAppEnv. +# +# @param rails_framework_spawner_idle_time +# This option is no longer available in version 4.0.0. There is no alternative because framework spawning has been removed +# altogether. You should use smart spawning instead. +# +# @param rails_ruby +# Deprecated in 3.0.0 in favor of PassengerRuby. +# +# @param rails_spawn_method +# Deprecated in 3.0.0 in favor of PassengerSpawnMethod. +# +# @param rails_user_switching +# Deprecated in 3.0.0 in favor of PassengerUserSwitching. +# +# @param wsgi_auto_detect +# This option has been removed in version 4.0.0 as part of an optimization. You should use PassengerEnabled instead. +# +# @note +# In Passenger source code you can strip out what are all the available options by looking in +# - src/apache2_module/Configuration.cpp +# - src/apache2_module/ConfigurationCommands.cpp +# There are also several undocumented settings. +# +# @note +# For Red Hat based systems, ensure that you meet the minimum requirements described in the passenger docs. +# +# The current set of server configurations settings were taken directly from the Passenger Reference. To enable deprecation warnings +# and removal failure messages, set the passenger_installed_version to the version number installed on the server. +# +# Change Log: +# - As of 08/13/2017 there are 84 available/deprecated/removed settings. +# - Around 08/20/2017 UnionStation was discontinued options were removed. +# - As of 08/20/2017 there are 77 available/deprecated/removed settings. +# +# @see https://www.phusionpassenger.com/library/config/apache/reference/ for additional documentation. +# class apache::mod::passenger ( - $passenger_conf_file = $::apache::params::passenger_conf_file, - $passenger_conf_package_file = $::apache::params::passenger_conf_package_file, - $passenger_high_performance = undef, - $passenger_pool_idle_time = undef, - $passenger_max_request_queue_size = undef, - $passenger_max_requests = undef, - $passenger_spawn_method = undef, - $passenger_stat_throttle_rate = undef, - $rack_autodetect = undef, - $rails_autodetect = undef, - $passenger_root = $::apache::params::passenger_root, - $passenger_ruby = $::apache::params::passenger_ruby, - $passenger_default_ruby = $::apache::params::passenger_default_ruby, - $passenger_max_pool_size = undef, - $passenger_min_instances = undef, - $passenger_max_instances_per_app = undef, - $passenger_use_global_queue = undef, - $passenger_app_env = undef, - $passenger_log_file = undef, - $passenger_log_level = undef, - $passenger_data_buffer_dir = undef, - $manage_repo = true, - $mod_package = undef, - $mod_package_ensure = undef, - $mod_lib = undef, - $mod_lib_path = undef, - $mod_id = undef, - $mod_path = undef, + $manage_repo = true, + $mod_id = undef, + $mod_lib = undef, + $mod_lib_path = undef, + $mod_package = undef, + $mod_package_ensure = undef, + $mod_path = undef, + $passenger_allow_encoded_slashes = undef, + $passenger_app_env = undef, + $passenger_app_group_name = undef, + $passenger_app_root = undef, + $passenger_app_type = undef, + $passenger_base_uri = undef, + $passenger_buffer_response = undef, + $passenger_buffer_upload = undef, + $passenger_concurrency_model = undef, + $passenger_conf_file = $::apache::params::passenger_conf_file, + $passenger_conf_package_file = $::apache::params::passenger_conf_package_file, + $passenger_data_buffer_dir = undef, + $passenger_debug_log_file = undef, + $passenger_debugger = undef, + $passenger_default_group = undef, + $passenger_default_ruby = $::apache::params::passenger_default_ruby, + $passenger_default_user = undef, + $passenger_disable_security_update_check = undef, + $passenger_enabled = undef, + $passenger_error_override = undef, + $passenger_file_descriptor_log_file = undef, + $passenger_fly_with = undef, + $passenger_force_max_concurrent_requests_per_process = undef, + $passenger_friendly_error_pages = undef, + $passenger_group = undef, + $passenger_high_performance = undef, + $passenger_installed_version = undef, + $passenger_instance_registry_dir = undef, + $passenger_load_shell_envvars = undef, + Optional[Stdlib::Absolutepath] $passenger_log_file = undef, + $passenger_log_level = undef, + $passenger_lve_min_uid = undef, + $passenger_max_instances = undef, + $passenger_max_instances_per_app = undef, + $passenger_max_pool_size = undef, + $passenger_max_preloader_idle_time = undef, + $passenger_max_request_queue_size = undef, + $passenger_max_request_time = undef, + $passenger_max_requests = undef, + $passenger_memory_limit = undef, + $passenger_meteor_app_settings = undef, + $passenger_min_instances = undef, + $passenger_nodejs = undef, + $passenger_pool_idle_time = undef, + Optional[Variant[String,Array[String]]] $passenger_pre_start = undef, + $passenger_python = undef, + $passenger_resist_deployment_errors = undef, + $passenger_resolve_symlinks_in_document_root = undef, + $passenger_response_buffer_high_watermark = undef, + $passenger_restart_dir = undef, + $passenger_rolling_restarts = undef, + $passenger_root = $::apache::params::passenger_root, + $passenger_ruby = $::apache::params::passenger_ruby, + $passenger_security_update_check_proxy = undef, + $passenger_show_version_in_header = undef, + $passenger_socket_backlog = undef, + Optional[Enum['smart', 'direct', 'smart-lv2', 'conservative']] $passenger_spawn_method = undef, + $passenger_start_timeout = undef, + $passenger_startup_file = undef, + $passenger_stat_throttle_rate = undef, + $passenger_sticky_sessions = undef, + $passenger_sticky_sessions_cookie_name = undef, + $passenger_thread_count = undef, + $passenger_use_global_queue = undef, + $passenger_user = undef, + $passenger_user_switching = undef, + $rack_auto_detect = undef, + $rack_autodetect = undef, + $rack_base_uri = undef, + $rack_env = undef, + $rails_allow_mod_rewrite = undef, + $rails_app_spawner_idle_time = undef, + $rails_auto_detect = undef, + $rails_autodetect = undef, + $rails_base_uri = undef, + $rails_default_user = undef, + $rails_env = undef, + $rails_framework_spawner_idle_time = undef, + $rails_ruby = undef, + $rails_spawn_method = undef, + $rails_user_switching = undef, + $wsgi_auto_detect = undef, ) inherits ::apache::params { include ::apache - if $passenger_spawn_method { - validate_re($passenger_spawn_method, '(^smart$|^direct$|^smart-lv2$|^conservative$)', "${passenger_spawn_method} is not permitted for passenger_spawn_method. Allowed values are 'smart', 'direct', 'smart-lv2', or 'conservative'.") + if $passenger_installed_version { + if $passenger_allow_encoded_slashes { + if (versioncmp($passenger_installed_version, '4.0.0') < 0) { + fail("Passenger config option :: passenger_allow_encoded_slashes is not introduced until version 4.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_app_env { + if (versioncmp($passenger_installed_version, '4.0.0') < 0) { + fail("Passenger config option :: passenger_app_env is not introduced until version 4.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_app_group_name { + if (versioncmp($passenger_installed_version, '4.0.0') < 0) { + fail("Passenger config option :: passenger_app_group_name is not introduced until version 4.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_app_root { + if (versioncmp($passenger_installed_version, '4.0.0') < 0) { + fail("Passenger config option :: passenger_app_root is not introduced until version 4.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_app_type { + if (versioncmp($passenger_installed_version, '4.0.25') < 0) { + fail("Passenger config option :: passenger_app_type is not introduced until version 4.0.25 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_base_uri { + if (versioncmp($passenger_installed_version, '4.0.0') < 0) { + fail("Passenger config option :: passenger_base_uri is not introduced until version 4.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_buffer_response { + if (versioncmp($passenger_installed_version, '4.0.0') < 0) { + fail("Passenger config option :: passenger_buffer_response is not introduced until version 4.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_buffer_upload { + if (versioncmp($passenger_installed_version, '4.0.26') < 0) { + fail("Passenger config option :: passenger_buffer_upload is not introduced until version 4.0.26 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_concurrency_model { + if (versioncmp($passenger_installed_version, '4.0.0') < 0) { + fail("Passenger config option :: passenger_concurrency_model is not introduced until version 4.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_data_buffer_dir { + if (versioncmp($passenger_installed_version, '5.0.0') < 0) { + fail("Passenger config option :: passenger_data_buffer_dir is not introduced until version 5.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_debug_log_file { + if (versioncmp($passenger_installed_version, '5.0.5') > 0) { + warning('DEPRECATED PASSENGER OPTION :: passenger_debug_log_file :: This option has been renamed in version 5.0.5 to PassengerLogFile.') + } + } + if $passenger_debugger { + if (versioncmp($passenger_installed_version, '3.0.0') < 0) { + fail("Passenger config option :: passenger_debugger is not introduced until version 3.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_default_group { + if (versioncmp($passenger_installed_version, '3.0.0') < 0) { + fail("Passenger config option :: passenger_default_group is not introduced until version 3.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_default_ruby { + if (versioncmp($passenger_installed_version, '4.0.0') < 0) { + fail("Passenger config option :: passenger_default_ruby is not introduced until version 4.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_default_user { + if (versioncmp($passenger_installed_version, '3.0.0') < 0) { + fail("Passenger config option :: passenger_default_user is not introduced until version 3.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_disable_security_update_check { + if (versioncmp($passenger_installed_version, '5.1.0') < 0) { + fail("Passenger config option :: passenger_disable_security_update_check is not introduced until version 5.1.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_enabled { + if (versioncmp($passenger_installed_version, '4.0.0') < 0) { + fail("Passenger config option :: passenger_enabled is not introduced until version 4.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_error_override { + if (versioncmp($passenger_installed_version, '4.0.24') < 0) { + fail("Passenger config option :: passenger_error_override is not introduced until version 4.0.24 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_file_descriptor_log_file { + if (versioncmp($passenger_installed_version, '5.0.5') < 0) { + fail("Passenger config option :: passenger_file_descriptor_log_file is not introduced until version 5.0.5 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_fly_with { + if (versioncmp($passenger_installed_version, '4.0.45') < 0) { + fail("Passenger config option :: passenger_fly_with is not introduced until version 4.0.45 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_force_max_concurrent_requests_per_process { + if (versioncmp($passenger_installed_version, '5.0.22') < 0) { + fail("Passenger config option :: passenger_force_max_concurrent_requests_per_process is not introduced until version 5.0.22 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_friendly_error_pages { + if (versioncmp($passenger_installed_version, '4.0.42') < 0) { + fail("Passenger config option :: passenger_friendly_error_pages is not introduced until version 4.0.42 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_group { + if (versioncmp($passenger_installed_version, '4.0.0') < 0) { + fail("Passenger config option :: passenger_group is not introduced until version 4.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_high_performance { + if (versioncmp($passenger_installed_version, '2.0.0') < 0) { + fail("Passenger config option :: passenger_high_performance is not introduced until version 2.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_instance_registry_dir { + if (versioncmp($passenger_installed_version, '5.0.0') < 0) { + fail("Passenger config option :: passenger_instance_registry_dir is not introduced until version 5.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_load_shell_envvars { + if (versioncmp($passenger_installed_version, '4.0.20') < 0) { + fail("Passenger config option :: passenger_load_shell_envvars is not introduced until version 4.0.20 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_log_file { + if (versioncmp($passenger_installed_version, '5.0.5') < 0) { + fail("Passenger config option :: passenger_log_file is not introduced until version 5.0.5 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_log_level { + if (versioncmp($passenger_installed_version, '3.0.0') < 0) { + fail("Passenger config option :: passenger_log_level is not introduced until version 3.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_lve_min_uid { + if (versioncmp($passenger_installed_version, '5.0.28') < 0) { + fail("Passenger config option :: passenger_lve_min_uid is not introduced until version 5.0.28 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_max_instances { + if (versioncmp($passenger_installed_version, '3.0.0') < 0) { + fail("Passenger config option :: passenger_max_instances is not introduced until version 3.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_max_instances_per_app { + if (versioncmp($passenger_installed_version, '3.0.0') < 0) { + fail("Passenger config option :: passenger_max_instances_per_app is not introduced until version 3.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_max_pool_size { + if (versioncmp($passenger_installed_version, '1.0.0') < 0) { + fail("Passenger config option :: passenger_max_pool_size is not introduced until version 1.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_max_preloader_idle_time { + if (versioncmp($passenger_installed_version, '4.0.0') < 0) { + fail("Passenger config option :: passenger_max_preloader_idle_time is not introduced until version 4.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_max_request_queue_size { + if (versioncmp($passenger_installed_version, '4.0.15') < 0) { + fail("Passenger config option :: passenger_max_request_queue_size is not introduced until version 4.0.15 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_max_request_time { + if (versioncmp($passenger_installed_version, '3.0.0') < 0) { + fail("Passenger config option :: passenger_max_request_time is not introduced until version 3.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_max_requests { + if (versioncmp($passenger_installed_version, '3.0.0') < 0) { + fail("Passenger config option :: passenger_max_requests is not introduced until version 3.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_memory_limit { + if (versioncmp($passenger_installed_version, '3.0.0') < 0) { + fail("Passenger config option :: passenger_memory_limit is not introduced until version 3.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_meteor_app_settings { + if (versioncmp($passenger_installed_version, '5.0.7') < 0) { + fail("Passenger config option :: passenger_meteor_app_settings is not introduced until version 5.0.7 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_min_instances { + if (versioncmp($passenger_installed_version, '3.0.0') < 0) { + fail("Passenger config option :: passenger_min_instances is not introduced until version 3.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_nodejs { + if (versioncmp($passenger_installed_version, '4.0.24') < 0) { + fail("Passenger config option :: passenger_nodejs is not introduced until version 4.0.24 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_pool_idle_time { + if (versioncmp($passenger_installed_version, '1.0.0') < 0) { + fail("Passenger config option :: passenger_pool_idle_time is not introduced until version 1.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_pre_start { + if (versioncmp($passenger_installed_version, '3.0.0') < 0) { + fail("Passenger config option :: passenger_pre_start is not introduced until version 3.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_python { + if (versioncmp($passenger_installed_version, '4.0.0') < 0) { + fail("Passenger config option :: passenger_python is not introduced until version 4.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_resist_deployment_errors { + if (versioncmp($passenger_installed_version, '3.0.0') < 0) { + fail("Passenger config option :: passenger_resist_deployment_errors is not introduced until version 3.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_resolve_symlinks_in_document_root { + if (versioncmp($passenger_installed_version, '3.0.0') < 0) { + fail("Passenger config option :: passenger_resolve_symlinks_in_document_root is not introduced until version 3.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_response_buffer_high_watermark { + if (versioncmp($passenger_installed_version, '5.0.0') < 0) { + fail("Passenger config option :: passenger_response_buffer_high_watermark is not introduced until version 5.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_restart_dir { + if (versioncmp($passenger_installed_version, '3.0.0') < 0) { + fail("Passenger config option :: passenger_restart_dir is not introduced until version 3.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_rolling_restarts { + if (versioncmp($passenger_installed_version, '3.0.0') < 0) { + fail("Passenger config option :: passenger_rolling_restarts is not introduced until version 3.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_root { + if (versioncmp($passenger_installed_version, '1.0.0') < 0) { + fail("Passenger config option :: passenger_root is not introduced until version 1.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_ruby { + if (versioncmp($passenger_installed_version, '4.0.0') < 0) { + fail("Passenger config option :: passenger_ruby is not introduced until version 4.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_security_update_check_proxy { + if (versioncmp($passenger_installed_version, '5.1.0') < 0) { + fail("Passenger config option :: passenger_security_update_check_proxy is not introduced until version 5.1.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_show_version_in_header { + if (versioncmp($passenger_installed_version, '5.1.0') < 0) { + fail("Passenger config option :: passenger_show_version_in_header is not introduced until version 5.1.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_socket_backlog { + if (versioncmp($passenger_installed_version, '5.0.24') < 0) { + fail("Passenger config option :: passenger_socket_backlog is not introduced until version 5.0.24 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_spawn_method { + if (versioncmp($passenger_installed_version, '2.0.0') < 0) { + fail("Passenger config option :: passenger_spawn_method is not introduced until version 2.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_start_timeout { + if (versioncmp($passenger_installed_version, '4.0.15') < 0) { + fail("Passenger config option :: passenger_start_timeout is not introduced until version 4.0.15 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_startup_file { + if (versioncmp($passenger_installed_version, '4.0.25') < 0) { + fail("Passenger config option :: passenger_startup_file is not introduced until version 4.0.25 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_stat_throttle_rate { + if (versioncmp($passenger_installed_version, '2.2.0') < 0) { + fail("Passenger config option :: passenger_stat_throttle_rate is not introduced until version 2.2.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_sticky_sessions { + if (versioncmp($passenger_installed_version, '4.0.45') < 0) { + fail("Passenger config option :: passenger_sticky_sessions is not introduced until version 4.0.45 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_sticky_sessions_cookie_name { + if (versioncmp($passenger_installed_version, '4.0.45') < 0) { + fail("Passenger config option :: passenger_sticky_sessions_cookie_name is not introduced until version 4.0.45 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_thread_count { + if (versioncmp($passenger_installed_version, '4.0.0') < 0) { + fail("Passenger config option :: passenger_thread_count is not introduced until version 4.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_use_global_queue { + if (versioncmp($passenger_installed_version, '4.0.0') > 0) { + fail('REMOVED PASSENGER OPTION :: passenger_use_global_queue :: -- no message on the current passenger reference webpage -- ') + } + if (versioncmp($passenger_installed_version, '2.0.4') < 0) { + fail("Passenger config option :: passenger_use_global_queue is not introduced until version 2.0.4 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_user { + if (versioncmp($passenger_installed_version, '4.0.0') < 0) { + fail("Passenger config option :: passenger_user is not introduced until version 4.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $passenger_user_switching { + if (versioncmp($passenger_installed_version, '3.0.0') < 0) { + fail("Passenger config option :: passenger_user_switching is not introduced until version 3.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if ($rack_auto_detect or $rack_autodetect) { + if (versioncmp($passenger_installed_version, '4.0.0') > 0) { + fail('REMOVED PASSENGER OPTION :: rack_auto_detect :: These options have been removed in version 4.0.0 as part of an optimization. You should use PassengerEnabled instead.') + } + } + if $rack_base_uri { + if (versioncmp($passenger_installed_version, '3.0.0') > 0) { + warning('DEPRECATED PASSENGER OPTION :: rack_base_uri :: Deprecated in 3.0.0 in favor of PassengerBaseURI.') + } + } + if $rack_env { + if (versioncmp($passenger_installed_version, '2.0.0') < 0) { + fail("Passenger config option :: rack_env is not introduced until version 2.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $rails_allow_mod_rewrite { + if (versioncmp($passenger_installed_version, '4.0.0') > 0) { + warning("DEPRECATED PASSENGER OPTION :: rails_allow_mod_rewrite :: This option doesn't do anything anymore in since version 4.0.0.") + } + } + if $rails_app_spawner_idle_time { + if (versioncmp($passenger_installed_version, '4.0.0') > 0) { + fail('REMOVED PASSENGER OPTION :: rails_app_spawner_idle_time :: This option has been removed in version 4.0.0, and replaced with PassengerMaxPreloaderIdleTime.') + } + } + if ($rails_auto_detect or $rails_autodetect) { + if (versioncmp($passenger_installed_version, '4.0.0') > 0) { + fail('REMOVED PASSENGER OPTION :: rails_auto_detect :: These options have been removed in version 4.0.0 as part of an optimization. You should use PassengerEnabled instead.') + } + } + if $rails_base_uri { + if (versioncmp($passenger_installed_version, '3.0.0') > 0) { + warning('DEPRECATED PASSENGER OPTION :: rails_base_uri :: Deprecated in 3.0.0 in favor of PassengerBaseURI.') + } + } + if $rails_default_user { + if (versioncmp($passenger_installed_version, '3.0.0') > 0) { + warning('DEPRECATED PASSENGER OPTION :: rails_default_user :: Deprecated in 3.0.0 in favor of PassengerDefaultUser.') + } + } + if $rails_env { + if (versioncmp($passenger_installed_version, '2.0.0') < 0) { + fail("Passenger config option :: rails_env is not introduced until version 2.0.0 :: ${passenger_installed_version} is the version reported") + } + } + if $rails_framework_spawner_idle_time { + if (versioncmp($passenger_installed_version, '4.0.0') > 0) { + fail('REMOVED PASSENGER OPTION :: rails_framework_spawner_idle_time :: This option is no longer available in version 4.0.0. There is no alternative because framework spawning has been removed altogether. You should use smart spawning instead.') + } + } + if $rails_ruby { + if (versioncmp($passenger_installed_version, '3.0.0') > 0) { + warning('DEPRECATED PASSENGER OPTION :: rails_ruby :: Deprecated in 3.0.0 in favor of PassengerRuby.') + } + } + if $rails_spawn_method { + if (versioncmp($passenger_installed_version, '3.0.0') > 0) { + warning('DEPRECATED PASSENGER OPTION :: rails_spawn_method :: Deprecated in 3.0.0 in favor of PassengerSpawnMethod.') + } + } + if $rails_user_switching { + if (versioncmp($passenger_installed_version, '3.0.0') > 0) { + warning('DEPRECATED PASSENGER OPTION :: rails_user_switching :: Deprecated in 3.0.0 in favor of PassengerUserSwitching.') + } + } + if $wsgi_auto_detect { + if (versioncmp($passenger_installed_version, '4.0.0') > 0) { + fail('REMOVED PASSENGER OPTION :: wsgi_auto_detect :: These options have been removed in version 4.0.0 as part of an optimization. You should use PassengerEnabled instead.') + } + } } - if $passenger_log_file { - validate_absolute_path($passenger_log_file) - } - # Managed by the package, but declare it to avoid purging if $passenger_conf_package_file { file { 'passenger_package.conf': @@ -69,7 +818,7 @@ descr => 'passenger', enabled => '1', gpgcheck => '0', - gpgkey => 'https://packagecloud.io/gpg.key', + gpgkey => 'https://packagecloud.io/phusion/passenger/gpgkey', repo_gpgcheck => '1', sslcacert => '/etc/pki/tls/certs/ca-bundle.crt', sslverify => '1', @@ -92,23 +841,85 @@ } # Template uses: - # - $passenger_root - # - $passenger_ruby - # - $passenger_default_ruby - # - $passenger_max_pool_size - # - $passenger_min_instances - # - $passenger_max_instances_per_app - # - $passenger_high_performance - # - $passenger_max_requests - # - $passenger_spawn_method - # - $passenger_stat_throttle_rate - # - $passenger_use_global_queue - # - $passenger_log_file - # - $passenger_log_level - # - $passenger_app_env - # - $passenger_data_buffer_dir - # - $rack_autodetect - # - $rails_autodetect + # - $passenger_allow_encoded_slashes : since 4.0.0. + # - $passenger_app_env : since 4.0.0. + # - $passenger_app_group_name : since 4.0.0. + # - $passenger_app_root : since 4.0.0. + # - $passenger_app_type : since 4.0.25. + # - $passenger_base_uri : since 4.0.0. + # - $passenger_buffer_response : since 4.0.0. + # - $passenger_buffer_upload : since 4.0.26. + # - $passenger_concurrency_model : since 4.0.0. + # - $passenger_data_buffer_dir : since 5.0.0. + # - $passenger_debug_log_file : since unkown. Deprecated in 5.0.5. + # - $passenger_debugger : since 3.0.0. + # - $passenger_default_group : since 3.0.0. + # - $passenger_default_ruby : since 4.0.0. + # - $passenger_default_user : since 3.0.0. + # - $passenger_disable_security_update_check : since 5.1.0. + # - $passenger_enabled : since 4.0.0. + # - $passenger_error_override : since 4.0.24. + # - $passenger_file_descriptor_log_file : since 5.0.5. + # - $passenger_fly_with : since 4.0.45. + # - $passenger_force_max_concurrent_requests_per_process : since 5.0.22. + # - $passenger_friendly_error_pages : since 4.0.42. + # - $passenger_group : since 4.0.0. + # - $passenger_high_performance : since 2.0.0. + # - $passenger_instance_registry_dir : since 5.0.0. + # - $passenger_load_shell_envvars : since 4.0.20. + # - $passenger_log_file : since 5.0.5. + # - $passenger_log_level : since 3.0.0. + # - $passenger_lve_min_uid : since 5.0.28. + # - $passenger_max_instances : since 3.0.0. + # - $passenger_max_instances_per_app : since 3.0.0. + # - $passenger_max_pool_size : since 1.0.0. + # - $passenger_max_preloader_idle_time : since 4.0.0. + # - $passenger_max_request_queue_size : since 4.0.15. + # - $passenger_max_request_time : since 3.0.0. + # - $passenger_max_requests : since 3.0.0. + # - $passenger_memory_limit : since 3.0.0. + # - $passenger_meteor_app_settings : since 5.0.7. + # - $passenger_min_instances : since 3.0.0. + # - $passenger_nodejs : since 4.0.24. + # - $passenger_pool_idle_time : since 1.0.0. + # - $passenger_pre_start : since 3.0.0. + # - $passenger_python : since 4.0.0. + # - $passenger_resist_deployment_errors : since 3.0.0. + # - $passenger_resolve_symlinks_in_document_root : since 3.0.0. + # - $passenger_response_buffer_high_watermark : since 5.0.0. + # - $passenger_restart_dir : since 3.0.0. + # - $passenger_rolling_restarts : since 3.0.0. + # - $passenger_root : since 1.0.0. + # - $passenger_ruby : since 4.0.0. + # - $passenger_security_update_check_proxy : since 5.1.0. + # - $passenger_show_version_in_header : since 5.1.0. + # - $passenger_socket_backlog : since 5.0.24. + # - $passenger_spawn_method : since 2.0.0. + # - $passenger_start_timeout : since 4.0.15. + # - $passenger_startup_file : since 4.0.25. + # - $passenger_stat_throttle_rate : since 2.2.0. + # - $passenger_sticky_sessions : since 4.0.45. + # - $passenger_sticky_sessions_cookie_name : since 4.0.45. + # - $passenger_thread_count : since 4.0.0. + # - $passenger_use_global_queue : since 2.0.4.Deprecated in 4.0.0. + # - $passenger_user : since 4.0.0. + # - $passenger_user_switching : since 3.0.0. + # - $rack_auto_detect : since unkown. Deprecated in 4.0.0. + # - $rack_base_uri : since unkown. Deprecated in 3.0.0. + # - $rack_env : since 2.0.0. + # - $rails_allow_mod_rewrite : since unkown. Deprecated in 4.0.0. + # - $rails_app_spawner_idle_time : since unkown. Deprecated in 4.0.0. + # - $rails_auto_detect : since unkown. Deprecated in 4.0.0. + # - $rails_base_uri : since unkown. Deprecated in 3.0.0. + # - $rails_default_user : since unkown. Deprecated in 3.0.0. + # - $rails_env : since 2.0.0. + # - $rails_framework_spawner_idle_time : since unkown. Deprecated in 4.0.0. + # - $rails_ruby : since unkown. Deprecated in 3.0.0. + # - $rails_spawn_method : since unkown. Deprecated in 3.0.0. + # - $rails_user_switching : since unkown. Deprecated in 3.0.0. + # - $wsgi_auto_detect : since unkown. Deprecated in 4.0.0. + # - $rails_autodetect : this options is only for backward compatiblity with older versions of this class + # - $rack_autodetect : this options is only for backward compatiblity with older versions of this class file { 'passenger.conf': ensure => file, path => "${::apache::mod_dir}/${passenger_conf_file}",