Skip to content

(CAT-1450) - Added new parameters for passenger mod #2471

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
115 changes: 115 additions & 0 deletions REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4423,10 +4423,15 @@ The following parameters are available in the `apache::mod::passenger` class:
* [`mod_package`](#-apache--mod--passenger--mod_package)
* [`mod_package_ensure`](#-apache--mod--passenger--mod_package_ensure)
* [`mod_path`](#-apache--mod--passenger--mod_path)
* [`passenger_admin_panel_url`](#-apache--mod--passenger--passenger_admin_panel_url)
* [`passenger_admin_panel_auth_type`](#-apache--mod--passenger--passenger_admin_panel_auth_type)
* [`passenger_admin_panel_username`](#-apache--mod--passenger--passenger_admin_panel_username)
* [`passenger_admin_panel_password`](#-apache--mod--passenger--passenger_admin_panel_password)
* [`passenger_allow_encoded_slashes`](#-apache--mod--passenger--passenger_allow_encoded_slashes)
* [`passenger_anonymous_telemetry_proxy`](#-apache--mod--passenger--passenger_anonymous_telemetry_proxy)
* [`passenger_app_env`](#-apache--mod--passenger--passenger_app_env)
* [`passenger_app_group_name`](#-apache--mod--passenger--passenger_app_group_name)
* [`passenger_app_log_file`](#-apache--mod--passenger--passenger_app_log_file)
* [`passenger_app_root`](#-apache--mod--passenger--passenger_app_root)
* [`passenger_app_type`](#-apache--mod--passenger--passenger_app_type)
* [`passenger_base_uri`](#-apache--mod--passenger--passenger_base_uri)
Expand All @@ -4445,6 +4450,7 @@ The following parameters are available in the `apache::mod::passenger` class:
* [`passenger_disable_log_prefix`](#-apache--mod--passenger--passenger_disable_log_prefix)
* [`passenger_disable_security_update_check`](#-apache--mod--passenger--passenger_disable_security_update_check)
* [`passenger_enabled`](#-apache--mod--passenger--passenger_enabled)
* [`passenger_dump_config_manifest`](#-apache--mod--passenger--passenger_dump_config_manifest)
* [`passenger_error_override`](#-apache--mod--passenger--passenger_error_override)
* [`passenger_file_descriptor_log_file`](#-apache--mod--passenger--passenger_file_descriptor_log_file)
* [`passenger_fly_with`](#-apache--mod--passenger--passenger_fly_with)
Expand All @@ -4466,6 +4472,7 @@ The following parameters are available in the `apache::mod::passenger` class:
* [`passenger_max_request_queue_size`](#-apache--mod--passenger--passenger_max_request_queue_size)
* [`passenger_max_request_time`](#-apache--mod--passenger--passenger_max_request_time)
* [`passenger_max_requests`](#-apache--mod--passenger--passenger_max_requests)
* [`passenger_max_request_queue_time`](#-apache--mod--passenger--passenger_max_request_queue_time)
* [`passenger_memory_limit`](#-apache--mod--passenger--passenger_memory_limit)
* [`passenger_meteor_app_settings`](#-apache--mod--passenger--passenger_meteor_app_settings)
* [`passenger_min_instances`](#-apache--mod--passenger--passenger_min_instances)
Expand Down Expand Up @@ -4556,6 +4563,39 @@ Specifies a path to the module. Do not manually set this parameter without a spe

Default value: `undef`

##### <a name="-apache--mod--passenger--passenger_admin_panel_url"></a>`passenger_admin_panel_url`

Data type: `Optional[String]`

Specifies a Fuse Panel URL that the Passenger to to enable monitoring, administering, analysis and troubleshooting of this Passenger instance and apps.

Default value: `undef`

##### <a name="-apache--mod--passenger--passenger_admin_panel_auth_type"></a>`passenger_admin_panel_auth_type`

Data type: `Optional[Enum['basic']]`

Specifies the authentication type to use for the Fuse Panel. Currently it support only basic type of authentiction.
Ref : https://www.phusionpassenger.com/library/config/apache/reference/#passengeradminpanelauthtype

Default value: `undef`

##### <a name="-apache--mod--passenger--passenger_admin_panel_username"></a>`passenger_admin_panel_username`

Data type: `Optional[String]`

The username that Passenger should use when connecting to the Fuse Panel with basic authentication.

Default value: `undef`

##### <a name="-apache--mod--passenger--passenger_admin_panel_password"></a>`passenger_admin_panel_password`

Data type: `Optional[String]`

The password that Passenger should use when connecting to the Fuse Panel with basic authentication.

Default value: `undef`

##### <a name="-apache--mod--passenger--passenger_allow_encoded_slashes"></a>`passenger_allow_encoded_slashes`

Data type: `Optional[Apache::OnOff]`
Expand Down Expand Up @@ -4593,6 +4633,14 @@ Sets the name of the application group that the current application should belon

Default value: `undef`

##### <a name="-apache--mod--passenger--passenger_app_log_file"></a>`passenger_app_log_file`

Data type: `Optional[String]`

File path to application specifile log file. By default passenger will write all application log messages to the Passenger log file.

Default value: `undef`

##### <a name="-apache--mod--passenger--passenger_app_root"></a>`passenger_app_root`

Data type: `Optional[String]`
Expand Down Expand Up @@ -4739,6 +4787,14 @@ Toggles whether Passenger should be enabled for that particular context.

Default value: `undef`

##### <a name="-apache--mod--passenger--passenger_dump_config_manifest"></a>`passenger_dump_config_manifest`

Data type: `Optional[String]`

Dumps the configuration manifest to the given file.

Default value: `undef`

##### <a name="-apache--mod--passenger--passenger_error_override"></a>`passenger_error_override`

Data type: `Optional[Apache::OnOff]`
Expand Down Expand Up @@ -4912,6 +4968,15 @@ The maximum number of requests an application process will process.

Default value: `undef`

##### <a name="-apache--mod--passenger--passenger_max_request_queue_time"></a>`passenger_max_request_queue_time`

Data type: `Optional[Integer]`

The maximum amount of time, in seconds, that a request may be queued before Passenger will return an error.
This option specifies the maximum time a request may spend in that queue. If a request in the queue reaches this specified limit, then Passenger will send a "504 Gateway Timeout" error for that request.

Default value: `undef`

##### <a name="-apache--mod--passenger--passenger_memory_limit"></a>`passenger_memory_limit`

Data type: `Optional[Integer]`
Expand Down Expand Up @@ -7590,6 +7655,11 @@ The following parameters are available in the `apache::vhost` defined type:
* [`passenger_app_log_file`](#-apache--vhost--passenger_app_log_file)
* [`passenger_debugger`](#-apache--vhost--passenger_debugger)
* [`passenger_lve_min_uid`](#-apache--vhost--passenger_lve_min_uid)
* [`passenger_dump_config_manifest`](#-apache--vhost--passenger_dump_config_manifest)
* [`passenger_admin_panel_url`](#-apache--vhost--passenger_admin_panel_url)
* [`passenger_admin_panel_auth_type`](#-apache--vhost--passenger_admin_panel_auth_type)
* [`passenger_admin_panel_username`](#-apache--vhost--passenger_admin_panel_username)
* [`passenger_admin_panel_password`](#-apache--vhost--passenger_admin_panel_password)
* [`php_values`](#-apache--vhost--php_values)
* [`php_flags`](#-apache--vhost--php_flags)
* [`php_admin_values`](#-apache--vhost--php_admin_values)
Expand Down Expand Up @@ -9206,6 +9276,51 @@ specified value on LVE-enabled kernels.

Default value: `undef`

##### <a name="-apache--vhost--passenger_dump_config_manifest"></a>`passenger_dump_config_manifest`

Data type: `Optional[String]`

Sets [PassengerLveMinUid](https://www.phusionpassenger.com/docs/references/config_reference/apache/#passengerlveminuid),
to dump the configuration manifest to a file.

Default value: `undef`

##### <a name="-apache--vhost--passenger_admin_panel_url"></a>`passenger_admin_panel_url`

Data type: `Optional[String]`

Sets [PassengerAdminPanelUrl](https://www.phusionpassenger.com/docs/references/config_reference/apache/#passengeradminpanelurl),
to specify the URL of the Passenger admin panel.

Default value: `undef`

##### <a name="-apache--vhost--passenger_admin_panel_auth_type"></a>`passenger_admin_panel_auth_type`

Data type: `Optional[Enum['basic']]`

Sets [PassengerAdminPanelAuthType](https://www.phusionpassenger.com/docs/references/config_reference/apache/#passengeradminpanelauthtype),
to specify the authentication type for the Passenger admin panel.

Default value: `undef`

##### <a name="-apache--vhost--passenger_admin_panel_username"></a>`passenger_admin_panel_username`

Data type: `Optional[String]`

Sets [PassengerAdminPanelUsername](https://www.phusionpassenger.com/docs/references/config_reference/apache/#passengeradminpanelusername),
to specify the username for the Passenger admin panel.

Default value: `undef`

##### <a name="-apache--vhost--passenger_admin_panel_password"></a>`passenger_admin_panel_password`

Data type: `Optional[String]`

Sets [PassengerAdminPanelPassword](https://www.phusionpassenger.com/docs/references/config_reference/apache/#passengeradminpanelpassword),
to specify the password for the Passenger admin panel.

Default value: `undef`

##### <a name="-apache--vhost--php_values"></a>`php_values`

Data type: `Hash`
Expand Down
84 changes: 84 additions & 0 deletions manifests/mod/passenger.pp
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,19 @@
# @param mod_path
# Specifies a path to the module. Do not manually set this parameter without a special reason.
#
# @param passenger_admin_panel_url
# Specifies a Fuse Panel URL that the Passenger to to enable monitoring, administering, analysis and troubleshooting of this Passenger instance and apps.
#
# @param passenger_admin_panel_auth_type
# Specifies the authentication type to use for the Fuse Panel. Currently it support only basic type of authentiction.
# Ref : https://www.phusionpassenger.com/library/config/apache/reference/#passengeradminpanelauthtype
#
# @param passenger_admin_panel_username
# The username that Passenger should use when connecting to the Fuse Panel with basic authentication.
#
# @param passenger_admin_panel_password
# The password that Passenger should use when connecting to the Fuse Panel with basic authentication.
#
# @param passenger_allow_encoded_slashes
# Toggle whether URLs with encoded slashes (%2f) can be used (by default Apache does not support this).
#
Expand All @@ -41,6 +54,9 @@
# @param passenger_app_group_name
# Sets the name of the application group that the current application should belong to.
#
# @param passenger_app_log_file
# File path to application specifile log file. By default passenger will write all application log messages to the Passenger log file.
#
# @param passenger_app_root
# Path to the application root which allows access independent from the DocumentRoot.
#
Expand Down Expand Up @@ -97,6 +113,9 @@
# @param passenger_enabled
# Toggles whether Passenger should be enabled for that particular context.
#
# @param passenger_dump_config_manifest
# Dumps the configuration manifest to the given file.
#
# @param passenger_error_override
# Toggles whether Apache will intercept and handle responses with HTTP status codes of 400 and higher.
#
Expand Down Expand Up @@ -165,6 +184,10 @@
# @param passenger_max_requests
# The maximum number of requests an application process will process.
#
# @param passenger_max_request_queue_time
# The maximum amount of time, in seconds, that a request may be queued before Passenger will return an error.
# This option specifies the maximum time a request may spend in that queue. If a request in the queue reaches this specified limit, then Passenger will send a "504 Gateway Timeout" error for that request.
#
# @param passenger_memory_limit
# The maximum amount of memory that an application process may use, in megabytes.
#
Expand Down Expand Up @@ -291,6 +314,12 @@
Optional[String] $mod_package = undef,
Optional[String] $mod_package_ensure = undef,
Optional[String] $mod_path = undef,
Optional[Integer] $passenger_max_request_queue_time = undef,
Optional[String] $passenger_admin_panel_url = undef,
Optional[Enum['basic']] $passenger_admin_panel_auth_type = undef,
Optional[String] $passenger_admin_panel_username = undef,
Optional[String] $passenger_admin_panel_password = undef,
Optional[String] $passenger_app_log_file = undef,
Optional[Apache::OnOff] $passenger_allow_encoded_slashes = undef,
Optional[String] $passenger_anonymous_telemetry_proxy = undef,
Optional[String] $passenger_app_env = undef,
Expand All @@ -313,6 +342,7 @@
Optional[Boolean] $passenger_disable_log_prefix = undef,
Optional[Apache::OnOff] $passenger_disable_security_update_check = undef,
Optional[Apache::OnOff] $passenger_enabled = undef,
Optional[String] $passenger_dump_config_manifest = undef,
Optional[Apache::OnOff] $passenger_error_override = undef,
Optional[String] $passenger_file_descriptor_log_file = undef,
Optional[String] $passenger_fly_with = undef,
Expand Down Expand Up @@ -524,6 +554,46 @@
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_max_request_queue_time {
if (versioncmp($passenger_installed_version, '5.1.12') < 0) {
fail("Passenger config option :: passenger_base_uri is not introduced until version 5.1.12 :: ${passenger_installed_version} is the version reported")
}
}
if $passenger_admin_panel_url {
if (versioncmp($passenger_installed_version, '5.2.2') < 0) {
fail("Passenger config option :: passenger_admin_panel_url is not introduced until version 5.2.2 :: ${passenger_installed_version} is the version reported")
}
}
if $passenger_admin_panel_auth_type {
if (versioncmp($passenger_installed_version, '5.2.2') < 0) {
fail("Passenger config option :: passenger_admin_panel_auth_type is not introduced until version 5.2.2 :: ${passenger_installed_version} is the version reported")
}
}
if $passenger_admin_panel_username {
if (versioncmp($passenger_installed_version, '5.2.2') < 0) {
fail("Passenger config option :: passenger_admin_panel_username is not introduced until version 5.2.2 :: ${passenger_installed_version} is the version reported")
}
}
if $passenger_admin_panel_password {
if (versioncmp($passenger_installed_version, '5.2.2') < 0) {
fail("Passenger config option :: passenger_admin_panel_password is not introduced until version 5.2.2 :: ${passenger_installed_version} is the version reported")
}
}
if $passenger_dump_config_manifest {
if (versioncmp($passenger_installed_version, '5.2.2') < 0) {
fail("Passenger config option :: passenger_dump_config_manifest is not introduced until version 5.2.2 :: ${passenger_installed_version} is the version reported")
}
}
if $passenger_app_log_file {
if (versioncmp($passenger_installed_version, '5.3.0') < 0) {
fail("Passenger config option :: passenger_app_log_file is not introduced until version 5.3.0 :: ${passenger_installed_version} is the version reported")
}
}
if $passenger_resist_deployment_errors {
if (versioncmp($passenger_installed_version, '5.2.0') > 0) {
fail('REMOVED PASSENGER OPTION :: passenger_resist_deployment_errors :: -- no message on the current passenger reference webpage -- ')
}
}
}
# Managed by the package, but declare it to avoid purging
if $passenger_conf_package_file {
Expand Down Expand Up @@ -648,12 +718,24 @@
# - $passenger_thread_count : since 4.0.0.
# - $passenger_user : since 4.0.0.
# - $passenger_user_switching : since 3.0.0.
# - $passenger_dump_config_manifest : since 5.2.2
# - $passenger_admin_panel_url : since 5.2.2
# - $passenger_admin_panel_auth_type : since 5.2.2
# - $passenger_admin_panel_username : since 5.2.2
# - $passenger_admin_panel_password : since 5.2.2
# - $passenger_app_log_file : since 5.3.0
# - $passenger_max_request_queue_time : since 5.1.12

$parameters = {
'passenger_admin_panel_url' => $passenger_admin_panel_url,
'passenger_admin_panel_auth_type' => $passenger_admin_panel_auth_type,
'passenger_admin_panel_username' => $passenger_admin_panel_username,
'passenger_admin_panel_password' => $passenger_admin_panel_password,
'passenger_allow_encoded_slashes' => $passenger_allow_encoded_slashes,
'passenger_anonymous_telemetry_proxy' => $passenger_anonymous_telemetry_proxy,
'passenger_app_env' => $passenger_app_env,
'passenger_app_group_name' => $passenger_app_group_name,
'passenger_app_log_file' => $passenger_app_log_file,
'passenger_app_root' => $passenger_app_root,
'passenger_app_type' => $passenger_app_type,
'passenger_base_uri' => $passenger_base_uri,
Expand Down Expand Up @@ -681,13 +763,15 @@
'passenger_load_shell_envvars' => $passenger_load_shell_envvars,
'passenger_preload_bundler' => $passenger_preload_bundler,
'passenger_log_file' => $passenger_log_file,
'passenger_dump_config_manifest' => $passenger_dump_config_manifest,
'passenger_log_level' => $passenger_log_level,
'passenger_lve_min_uid' => $passenger_lve_min_uid,
'passenger_max_instances' => $passenger_max_instances,
'passenger_max_instances_per_app' => $passenger_max_instances_per_app,
'passenger_max_pool_size' => $passenger_max_pool_size,
'passenger_max_preloader_idle_time' => $passenger_max_preloader_idle_time,
'passenger_max_request_queue_size' => $passenger_max_request_queue_size,
'passenger_max_request_queue_time' => $passenger_max_request_queue_time,
'passenger_max_request_time' => $passenger_max_request_time,
'passenger_max_requests' => $passenger_max_requests,
'passenger_memory_limit' => $passenger_memory_limit,
Expand Down
Loading