Mercurial > repos > other > Puppet
view modules/apache/manifests/mod/passenger.pp @ 437:b8d6ada284dd
Update Apache module to latest version
Also converted some params to ints to match
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 14 Aug 2022 11:30:13 +0100 |
parents | d9352a684e62 |
children | adf6fe9bbc17 |
line wrap: on
line source
# @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_anonymous_telemetry_proxy # Set an intermediate proxy for the Passenger anonymous telemetry reporting. # # @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_anonymous_telemetry # Whether or not to disable the Passenger anonymous telemetry reporting. # # @param passenger_disable_log_prefix # Whether to stop Passenger from prefixing logs when they are written to a log file. # # @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_preload_bundler # Enables or disables loading bundler before loading your Ruby app. # # @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_dir # The directory in which Passenger will record progress during startup # # @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_sticky_sessions_cookie_attributes # Sets the attributes 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/docs/references/config_reference/apache/ for additional documentation. # class apache::mod::passenger ( Boolean $manage_repo = true, Optional[String] $mod_id = undef, Optional[String] $mod_lib = undef, Optional[String] $mod_lib_path = undef, Optional[String] $mod_package = undef, Optional[String] $mod_package_ensure = undef, Optional[String] $mod_path = undef, Optional[Enum['on', 'off', 'On', 'Off']] $passenger_allow_encoded_slashes = undef, Optional[String] $passenger_anonymous_telemetry_proxy = undef, Optional[String] $passenger_app_env = undef, Optional[String] $passenger_app_group_name = undef, Optional[String] $passenger_app_root = undef, Optional[String] $passenger_app_type = undef, Optional[String] $passenger_base_uri = undef, Optional[Enum['on', 'off', 'On', 'Off']] $passenger_buffer_response = undef, Optional[Enum['on', 'off', 'On', 'Off']] $passenger_buffer_upload = undef, Optional[String] $passenger_concurrency_model = undef, String $passenger_conf_file = $apache::params::passenger_conf_file, Optional[String] $passenger_conf_package_file = $apache::params::passenger_conf_package_file, Optional[Stdlib::Absolutepath] $passenger_data_buffer_dir = undef, Optional[String] $passenger_debug_log_file = undef, Optional[Enum['on', 'off', 'On', 'Off']] $passenger_debugger = undef, Optional[String] $passenger_default_group = undef, Optional[String] $passenger_default_ruby = $apache::params::passenger_default_ruby, Optional[String] $passenger_default_user = undef, Optional[Boolean] $passenger_disable_anonymous_telemetry = undef, Optional[Boolean] $passenger_disable_log_prefix = undef, Optional[Enum['on', 'off', 'On', 'Off']] $passenger_disable_security_update_check = undef, Optional[Enum['on', 'off', 'On', 'Off']] $passenger_enabled = undef, Optional[Enum['on', 'off', 'On', 'Off']] $passenger_error_override = undef, Optional[String] $passenger_file_descriptor_log_file = undef, Optional[String] $passenger_fly_with = undef, Optional[Variant[Integer, String]] $passenger_force_max_concurrent_requests_per_process = undef, Optional[Enum['on', 'off', 'On', 'Off']] $passenger_friendly_error_pages = undef, Optional[String] $passenger_group = undef, Optional[Enum['on', 'off', 'On', 'Off']] $passenger_high_performance = undef, Optional[String] $passenger_installed_version = undef, Optional[String] $passenger_instance_registry_dir = undef, Optional[Enum['on', 'off', 'On', 'Off']] $passenger_load_shell_envvars = undef, Optional[Boolean] $passenger_preload_bundler = undef, Optional[Stdlib::Absolutepath] $passenger_log_file = undef, Optional[Integer] $passenger_log_level = undef, Optional[Integer] $passenger_lve_min_uid = undef, Optional[Integer] $passenger_max_instances = undef, Optional[Integer] $passenger_max_instances_per_app = undef, Optional[Integer] $passenger_max_pool_size = undef, Optional[Integer] $passenger_max_preloader_idle_time = undef, Optional[Integer] $passenger_max_request_queue_size = undef, Optional[Integer] $passenger_max_request_time = undef, Optional[Integer] $passenger_max_requests = undef, Optional[Integer] $passenger_memory_limit = undef, Optional[String] $passenger_meteor_app_settings = undef, Optional[Integer] $passenger_min_instances = undef, Optional[String] $passenger_nodejs = undef, Optional[Integer] $passenger_pool_idle_time = undef, Optional[Variant[String, Array[String]]] $passenger_pre_start = undef, Optional[String] $passenger_python = undef, Optional[Enum['on', 'off', 'On', 'Off']] $passenger_resist_deployment_errors = undef, Optional[Enum['on', 'off', 'On', 'Off']] $passenger_resolve_symlinks_in_document_root = undef, Optional[Variant[Integer, String]] $passenger_response_buffer_high_watermark = undef, Optional[String] $passenger_restart_dir = undef, Optional[Enum['on', 'off', 'On', 'Off']] $passenger_rolling_restarts = undef, Optional[String] $passenger_root = $apache::params::passenger_root, Optional[String] $passenger_ruby = $apache::params::passenger_ruby, Optional[String] $passenger_security_update_check_proxy = undef, Optional[Enum['on', 'off', 'On', 'Off']] $passenger_show_version_in_header = undef, Optional[Variant[Integer, String]] $passenger_socket_backlog = undef, Optional[String] $passenger_spawn_dir = undef, Optional[Enum['smart', 'direct', 'smart-lv2', 'conservative']] $passenger_spawn_method = undef, Optional[Integer] $passenger_start_timeout = undef, Optional[String] $passenger_startup_file = undef, Optional[Integer] $passenger_stat_throttle_rate = undef, Optional[Enum['on', 'off', 'On', 'Off']] $passenger_sticky_sessions = undef, Optional[String] $passenger_sticky_sessions_cookie_name = undef, Optional[String] $passenger_sticky_sessions_cookie_attributes = undef, Optional[Integer] $passenger_thread_count = undef, Optional[String] $passenger_use_global_queue = undef, Optional[String] $passenger_user = undef, Optional[Enum['on', 'off', 'On', 'Off']] $passenger_user_switching = undef, Optional[String] $rack_auto_detect = undef, Optional[String] $rack_autodetect = undef, Optional[String] $rack_base_uri = undef, Optional[String] $rack_env = undef, Optional[String] $rails_allow_mod_rewrite = undef, Optional[String] $rails_app_spawner_idle_time = undef, Optional[String] $rails_auto_detect = undef, Optional[String] $rails_autodetect = undef, Optional[String] $rails_base_uri = undef, Optional[String] $rails_default_user = undef, Optional[String] $rails_env = undef, Optional[String] $rails_framework_spawner_idle_time = undef, Optional[String] $rails_ruby = undef, Optional[String] $rails_spawn_method = undef, Optional[String] $rails_user_switching = undef, Optional[String] $wsgi_auto_detect = undef, ) inherits apache::params { include apache 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_anonymous_telemetry_proxy { if (versioncmp($passenger_installed_version, '6.0.0') < 0) { fail("Passenger config option :: passenger_anonymous_telemetry_proxy is not introduced until version 6.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_anonymous_telemetry { if (versioncmp($passenger_installed_version, '6.0.0') < 0) { fail("Passenger config option :: passenger_disable_anonymous_telemetry is not introduced until version 6.0.0 :: ${passenger_installed_version} is the version reported") } } if $passenger_disable_log_prefix { if (versioncmp($passenger_installed_version, '6.0.2') < 0) { fail("Passenger config option :: passenger_disable_log_prefix is not introduced until version 6.0.2 :: ${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_preload_bundler { if (versioncmp($passenger_installed_version, '6.0.13') < 0) { fail("Passenger config option :: passenger_preload_bundler is not introduced until version 6.0.13 :: ${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_dir { if (versioncmp($passenger_installed_version, '6.0.3') < 0) { fail("Passenger config option :: passenger_spawn_dir is not introduced until version 6.0.3 :: ${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_sticky_sessions_cookie_attributes { if (versioncmp($passenger_installed_version, '6.0.5') < 0) { fail("Passenger config option :: passenger_sticky_sessions_cookie_attributes is not introduced until version 6.0.5 :: ${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.') } } } # Managed by the package, but declare it to avoid purging if $passenger_conf_package_file { file { 'passenger_package.conf': path => "${apache::confd_dir}/${passenger_conf_package_file}", } } $_package = $mod_package $_package_ensure = $mod_package_ensure $_lib = $mod_lib if $facts['os']['family'] == 'FreeBSD' { if $mod_lib_path { $_lib_path = $mod_lib_path } else { $_lib_path = "${passenger_root}/buildout/apache2" } } else { $_lib_path = $mod_lib_path } if $facts['os']['family'] == 'RedHat' and $manage_repo { if $facts['os']['name'] == 'Amazon' { if $facts['os']['release']['major'] == '2' { $baseurl = 'https://oss-binaries.phusionpassenger.com/yum/passenger/el/7/$basearch' } else { $baseurl = 'https://oss-binaries.phusionpassenger.com/yum/passenger/el/6/$basearch' } } else { $baseurl = 'https://oss-binaries.phusionpassenger.com/yum/passenger/el/$releasever/$basearch' } yumrepo { 'passenger': ensure => 'present', baseurl => $baseurl, descr => 'passenger', enabled => '1', gpgcheck => '0', gpgkey => 'https://oss-binaries.phusionpassenger.com/auto-software-signing-gpg-key.txt', repo_gpgcheck => '1', sslcacert => '/etc/pki/tls/certs/ca-bundle.crt', sslverify => '1', before => Apache::Mod['passenger'], } } unless ($facts['os']['name'] == 'SLES') { $_id = $mod_id $_path = $mod_path ::apache::mod { 'passenger': package => $_package, package_ensure => $_package_ensure, lib => $_lib, lib_path => $_lib_path, id => $_id, path => $_path, loadfile_name => 'zpassenger.load', } } # Template uses: # - $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_preload_bundler : since 6.0.13 # - $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}", content => template('apache/mod/passenger.conf.erb'), require => Exec["mkdir ${apache::mod_dir}"], before => File[$apache::mod_dir], notify => Class['apache::service'], } }