Skip to content

Commit

Permalink
Merge pull request #2471 from puppetlabs/CAT-1450-passenger-new-params
Browse files Browse the repository at this point in the history
(CAT-1450) - Added new parameters for passenger mod
  • Loading branch information
Ramesh7 authored Sep 25, 2023
2 parents 5d47675 + ca6fb52 commit 9a92c87
Show file tree
Hide file tree
Showing 5 changed files with 257 additions and 11 deletions.
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

0 comments on commit 9a92c87

Please sign in to comment.