|
1847 | 1847 | Boolean $proxy_preserve_host = false, |
1848 | 1848 | Optional[Variant[String,Boolean]] $proxy_add_headers = undef, |
1849 | 1849 | Boolean $proxy_error_override = false, |
1850 | | - Variant[String,Array[String]] $redirect_source = '/', |
| 1850 | + Variant[String,Array[String]] $redirect_source = '/', |
1851 | 1851 | Optional[Variant[Array[String],String]] $redirect_dest = undef, |
1852 | 1852 | Optional[Variant[Array[String],String]] $redirect_status = undef, |
1853 | 1853 | Optional[Variant[Array[String],String]] $redirectmatch_status = undef, |
|
2013 | 2013 |
|
2014 | 2014 | # Input validation ends |
2015 | 2015 |
|
2016 | | - if $ssl and $ensure == 'present' { |
2017 | | - include apache::mod::ssl |
2018 | | - # Required for the AddType lines. |
2019 | | - include apache::mod::mime |
2020 | | - } |
2021 | | - |
2022 | 2016 | if $ssl_honorcipherorder =~ Boolean or $ssl_honorcipherorder == undef { |
2023 | 2017 | $_ssl_honorcipherorder = $ssl_honorcipherorder |
2024 | 2018 | } else { |
|
2031 | 2025 | } |
2032 | 2026 | } |
2033 | 2027 |
|
2034 | | - if $auth_kerb and $ensure == 'present' { |
2035 | | - include apache::mod::auth_kerb |
2036 | | - } |
2037 | | - |
2038 | | - if $auth_oidc and $ensure == 'present' { |
2039 | | - include apache::mod::auth_openidc |
2040 | | - } |
2041 | | - |
2042 | | - if $virtual_docroot { |
2043 | | - include apache::mod::vhost_alias |
2044 | | - } |
2045 | | - |
2046 | | - if $wsgi_application_group or $wsgi_daemon_process or ($wsgi_import_script and $wsgi_import_script_options) or $wsgi_process_group or ($wsgi_script_aliases and ! empty($wsgi_script_aliases)) or $wsgi_pass_authorization { |
2047 | | - include apache::mod::wsgi |
2048 | | - } |
2049 | | - |
2050 | | - if $suexec_user_group { |
2051 | | - include apache::mod::suexec |
2052 | | - } |
2053 | | - |
2054 | | - if $passenger_enabled != undef or $passenger_start_timeout != undef or $passenger_ruby != undef or $passenger_python != undef or $passenger_nodejs != undef or $passenger_meteor_app_settings != undef or $passenger_app_env != undef or $passenger_app_root != undef or $passenger_app_group_name != undef or $passenger_app_start_command != undef or $passenger_app_type != undef or $passenger_startup_file != undef or $passenger_restart_dir != undef or $passenger_spawn_method != undef or $passenger_load_shell_envvars != undef or $passenger_preload_bundler != undef or $passenger_rolling_restarts != undef or $passenger_resist_deployment_errors != undef or $passenger_min_instances != undef or $passenger_max_instances != undef or $passenger_max_preloader_idle_time != undef or $passenger_force_max_concurrent_requests_per_process != undef or $passenger_concurrency_model != undef or $passenger_thread_count != undef or $passenger_high_performance != undef or $passenger_max_request_queue_size != undef or $passenger_max_request_queue_time != undef or $passenger_user != undef or $passenger_group != undef or $passenger_friendly_error_pages != undef or $passenger_buffer_upload != undef or $passenger_buffer_response != undef or $passenger_allow_encoded_slashes != undef or $passenger_lve_min_uid != undef or $passenger_base_uri != undef or $passenger_error_override != undef or $passenger_sticky_sessions != undef or $passenger_sticky_sessions_cookie_name != undef or $passenger_sticky_sessions_cookie_attributes != undef or $passenger_app_log_file != undef or $passenger_debugger != undef or $passenger_max_requests != undef or $passenger_max_request_time != undef or $passenger_memory_limit != undef { |
2055 | | - include apache::mod::passenger |
2056 | | - } |
2057 | | - |
2058 | 2028 | # Configure the defaultness of a vhost |
2059 | 2029 | if $priority { |
2060 | 2030 | $priority_real = "${priority}-" |
|
2220 | 2190 | } |
2221 | 2191 | } |
2222 | 2192 |
|
2223 | | - # Load mod_alias if needed and not yet loaded |
2224 | | - if ($scriptalias or $scriptaliases != []) |
2225 | | - or ($redirect_source and $redirect_dest) |
2226 | | - or ($redirectmatch_regexp or $redirectmatch_status or $redirectmatch_dest) { |
2227 | | - if ! defined(Class['apache::mod::alias']) and ($ensure == 'present') { |
2228 | | - include apache::mod::alias |
2229 | | - } |
2230 | | - } |
2231 | | - |
2232 | | - # Load mod_proxy if needed and not yet loaded |
2233 | | - if ($proxy_dest or $proxy_pass or $proxy_pass_match or $proxy_dest_match) { |
2234 | | - if ! defined(Class['apache::mod::proxy']) { |
2235 | | - include apache::mod::proxy |
2236 | | - } |
2237 | | - if ! defined(Class['apache::mod::proxy_http']) { |
2238 | | - include apache::mod::proxy_http |
2239 | | - } |
2240 | | - } |
2241 | | - |
2242 | | - # Load mod_fastcgi if needed and not yet loaded |
2243 | | - if $fastcgi_server and $fastcgi_socket { |
2244 | | - if ! defined(Class['apache::mod::fastcgi']) { |
2245 | | - include apache::mod::fastcgi |
2246 | | - } |
2247 | | - } |
2248 | | - |
2249 | | - # Check if mod_env is required and not yet loaded. |
2250 | | - # create an expression to simplify the conditional check |
2251 | | - $use_env_mod = $setenv and ! empty($setenv) |
2252 | | - if ($use_env_mod) { |
2253 | | - if ! defined(Class['apache::mod::env']) { |
2254 | | - include apache::mod::env |
2255 | | - } |
2256 | | - } |
2257 | | - # Check if mod_setenvif is required and not yet loaded. |
2258 | | - # create an expression to simplify the conditional check |
2259 | | - $use_setenvif_mod = ($setenvif and ! empty($setenvif)) or ($setenvifnocase and ! empty($setenvifnocase)) |
2260 | | - |
2261 | | - if ($use_setenvif_mod) { |
2262 | | - if ! defined(Class['apache::mod::setenvif']) { |
2263 | | - include apache::mod::setenvif |
2264 | | - } |
2265 | | - } |
2266 | | - |
2267 | 2193 | ## Create a default directory list if none defined |
2268 | 2194 | if $directories { |
2269 | 2195 | $_directories = $directories |
|
2355 | 2281 | # - $protocols |
2356 | 2282 | # - $protocols_honor_order |
2357 | 2283 | # - $apache_version |
| 2284 | + # - $mdomain |
2358 | 2285 | concat::fragment { "${name}-apache-header": |
2359 | 2286 | target => "${priority_real}${filename}.conf", |
2360 | 2287 | order => 0, |
|
2365 | 2292 | # - $virtual_docroot |
2366 | 2293 | # - $virtual_use_default_docroot |
2367 | 2294 | # - $docroot |
2368 | | - if $docroot { |
| 2295 | + if $docroot and $ensure == 'present' { |
| 2296 | + if $virtual_docroot { |
| 2297 | + include apache::mod::vhost_alias |
| 2298 | + } |
| 2299 | + |
2369 | 2300 | concat::fragment { "${name}-docroot": |
2370 | 2301 | target => "${priority_real}${filename}.conf", |
2371 | 2302 | order => 10, |
|
2556 | 2487 | # - $proxy_preserve_host |
2557 | 2488 | # - $proxy_add_headers |
2558 | 2489 | # - $no_proxy_uris |
2559 | | - if $proxy_dest or $proxy_pass or $proxy_pass_match or $proxy_dest_match or $proxy_preserve_host { |
| 2490 | + if ($proxy_dest or $proxy_pass or $proxy_pass_match or $proxy_dest_match or $proxy_preserve_host) and $ensure == 'present' { |
| 2491 | + include apache::mod::proxy |
| 2492 | + include apache::mod::proxy_http |
| 2493 | + |
2560 | 2494 | concat::fragment { "${name}-proxy": |
2561 | 2495 | target => "${priority_real}${filename}.conf", |
2562 | 2496 | order => 170, |
|
2577 | 2511 | # - $redirectmatch_status_a |
2578 | 2512 | # - $redirectmatch_regexp_a |
2579 | 2513 | # - $redirectmatch_dest |
2580 | | - if ($redirect_source and $redirect_dest) or ($redirectmatch_regexp and $redirectmatch_dest) { |
| 2514 | + if (($redirect_source and $redirect_dest) or ($redirectmatch_regexp and $redirectmatch_dest)) and $ensure == 'present' { |
| 2515 | + include apache::mod::alias |
| 2516 | + |
2581 | 2517 | concat::fragment { "${name}-redirect": |
2582 | 2518 | target => "${priority_real}${filename}.conf", |
2583 | 2519 | order => 180, |
|
2604 | 2540 | # Template uses: |
2605 | 2541 | # - $scriptaliases |
2606 | 2542 | # - $scriptalias |
2607 | | - if ( $scriptalias or $scriptaliases != []) { |
| 2543 | + if ($scriptalias or !empty($scriptaliases)) and $ensure == 'present' { |
| 2544 | + include apache::mod::alias |
| 2545 | + |
2608 | 2546 | concat::fragment { "${name}-scriptalias": |
2609 | 2547 | target => "${priority_real}${filename}.conf", |
2610 | 2548 | order => 200, |
|
2614 | 2552 |
|
2615 | 2553 | # Template uses: |
2616 | 2554 | # - $serveraliases |
2617 | | - if $serveraliases and ! empty($serveraliases) { |
| 2555 | + if ! empty($serveraliases) and $ensure == 'present' { |
2618 | 2556 | concat::fragment { "${name}-serveralias": |
2619 | 2557 | target => "${priority_real}${filename}.conf", |
2620 | 2558 | order => 210, |
|
2625 | 2563 | # Template uses: |
2626 | 2564 | # - $setenv |
2627 | 2565 | # - $setenvif |
2628 | | - if ($use_env_mod or $use_setenvif_mod) { |
| 2566 | + $use_env_mod = !empty($setenv) |
| 2567 | + $use_setenvif_mod = !empty($setenvif) or !empty($setenvifnocase) |
| 2568 | + if ($use_env_mod or $use_setenvif_mod) and $ensure == 'present' { |
| 2569 | + if $use_env_mod { |
| 2570 | + include apache::mod::env |
| 2571 | + } |
| 2572 | + if $use_setenvif_mod { |
| 2573 | + include apache::mod::setenvif |
| 2574 | + } |
| 2575 | + |
2629 | 2576 | concat::fragment { "${name}-setenv": |
2630 | 2577 | target => "${priority_real}${filename}.conf", |
2631 | 2578 | order => 220, |
|
2652 | 2599 | # - $ssl_openssl_conf_cmd |
2653 | 2600 | # - $ssl_stapling |
2654 | 2601 | # - $apache_version |
| 2602 | + # - $mdomain |
2655 | 2603 | if $ssl and $ensure == 'present' { |
| 2604 | + include apache::mod::ssl |
| 2605 | + |
2656 | 2606 | concat::fragment { "${name}-ssl": |
2657 | 2607 | target => "${priority_real}${filename}.conf", |
2658 | 2608 | order => 230, |
|
2686 | 2636 | # - $krb_auth_realms |
2687 | 2637 | # - $krb_5keytab |
2688 | 2638 | # - $krb_local_user_mapping |
2689 | | - if $auth_kerb { |
| 2639 | + if $auth_kerb and $ensure == 'present' { |
| 2640 | + include apache::mod::auth_kerb |
| 2641 | + |
2690 | 2642 | concat::fragment { "${name}-auth_kerb": |
2691 | 2643 | target => "${priority_real}${filename}.conf", |
2692 | 2644 | order => 230, |
|
2740 | 2692 | if $wsgi_daemon_process_options { |
2741 | 2693 | deprecation('apache::vhost::wsgi_daemon_process_options', 'This parameter is deprecated. Please add values inside Hash `wsgi_daemon_process`.') |
2742 | 2694 | } |
2743 | | - if $wsgi_application_group or $wsgi_daemon_process or ($wsgi_import_script and $wsgi_import_script_options) or $wsgi_process_group or ($wsgi_script_aliases and ! empty($wsgi_script_aliases)) or $wsgi_pass_authorization { |
| 2695 | + if ($wsgi_application_group or $wsgi_daemon_process or ($wsgi_import_script and $wsgi_import_script_options) or $wsgi_process_group or ($wsgi_script_aliases and ! empty($wsgi_script_aliases)) or $wsgi_pass_authorization) and $ensure == 'present' { |
| 2696 | + include apache::mod::wsgi |
| 2697 | + |
2744 | 2698 | concat::fragment { "${name}-wsgi": |
2745 | 2699 | target => "${priority_real}${filename}.conf", |
2746 | 2700 | order => 260, |
|
2764 | 2718 | # - $fastcgi_dir |
2765 | 2719 | # - $fastcgi_idle_timeout |
2766 | 2720 | # - $apache_version |
2767 | | - if $fastcgi_server or $fastcgi_dir { |
| 2721 | + if ($fastcgi_server or $fastcgi_dir) and $ensure == 'present' { |
| 2722 | + include apache::mod::fastcgi |
| 2723 | + |
2768 | 2724 | concat::fragment { "${name}-fastcgi": |
2769 | 2725 | target => "${priority_real}${filename}.conf", |
2770 | 2726 | order => 280, |
|
2774 | 2730 |
|
2775 | 2731 | # Template uses: |
2776 | 2732 | # - $suexec_user_group |
2777 | | - if $suexec_user_group { |
| 2733 | + if $suexec_user_group and $ensure == 'present' { |
| 2734 | + include apache::mod::suexec |
| 2735 | + |
2778 | 2736 | concat::fragment { "${name}-suexec": |
2779 | 2737 | target => "${priority_real}${filename}.conf", |
2780 | 2738 | order => 290, |
2781 | 2739 | content => template('apache/vhost/_suexec.erb'), |
2782 | 2740 | } |
2783 | 2741 | } |
2784 | 2742 |
|
2785 | | - if $h2_copy_files != undef or $h2_direct != undef or $h2_early_hints != undef or $h2_max_session_streams != undef or $h2_modern_tls_only != undef or $h2_push != undef or $h2_push_diary_size != undef or $h2_push_priority != [] or $h2_push_resource != [] or $h2_serialize_headers != undef or $h2_stream_max_mem_size != undef or $h2_tls_cool_down_secs != undef or $h2_tls_warm_up_size != undef or $h2_upgrade != undef or $h2_window_size != undef { |
| 2743 | + if ($h2_copy_files != undef or $h2_direct != undef or $h2_early_hints != undef or $h2_max_session_streams != undef or $h2_modern_tls_only != undef or $h2_push != undef or $h2_push_diary_size != undef or $h2_push_priority != [] or $h2_push_resource != [] or $h2_serialize_headers != undef or $h2_stream_max_mem_size != undef or $h2_tls_cool_down_secs != undef or $h2_tls_warm_up_size != undef or $h2_upgrade != undef or $h2_window_size != undef) and $ensure == 'present' { |
2786 | 2744 | include apache::mod::http2 |
2787 | 2745 |
|
2788 | 2746 | concat::fragment { "${name}-http2": |
|
2792 | 2750 | } |
2793 | 2751 | } |
2794 | 2752 |
|
2795 | | - if $mdomain { |
| 2753 | + if $mdomain and $ensure == 'present' { |
2796 | 2754 | include apache::mod::md |
2797 | 2755 | } |
2798 | 2756 |
|
2799 | 2757 | # Template uses: |
2800 | 2758 | # - $userdir |
2801 | | - if $userdir { |
| 2759 | + if $userdir and $ensure == 'present' { |
2802 | 2760 | include apache::mod::userdir |
2803 | 2761 |
|
2804 | 2762 | concat::fragment { "${name}-userdir": |
|
2853 | 2811 | # - $passenger_max_requests |
2854 | 2812 | # - $passenger_max_request_time |
2855 | 2813 | # - $passenger_memory_limit |
2856 | | - if $passenger_enabled != undef or $passenger_start_timeout != undef or $passenger_ruby != undef or $passenger_python != undef or $passenger_nodejs != undef or $passenger_meteor_app_settings != undef or $passenger_app_env != undef or $passenger_app_root != undef or $passenger_app_group_name != undef or $passenger_app_start_command != undef or $passenger_app_type != undef or $passenger_startup_file != undef or $passenger_restart_dir != undef or $passenger_spawn_method != undef or $passenger_load_shell_envvars != undef or $passenger_preload_bundler != undef or $passenger_rolling_restarts != undef or $passenger_resist_deployment_errors != undef or $passenger_min_instances != undef or $passenger_max_instances != undef or $passenger_max_preloader_idle_time != undef or $passenger_force_max_concurrent_requests_per_process != undef or $passenger_concurrency_model != undef or $passenger_thread_count != undef or $passenger_high_performance != undef or $passenger_max_request_queue_size != undef or $passenger_max_request_queue_time != undef or $passenger_user != undef or $passenger_group != undef or $passenger_friendly_error_pages != undef or $passenger_buffer_upload != undef or $passenger_buffer_response != undef or $passenger_allow_encoded_slashes != undef or $passenger_lve_min_uid != undef or $passenger_base_uri != undef or $passenger_error_override != undef or $passenger_sticky_sessions != undef or $passenger_sticky_sessions_cookie_name != undef or $passenger_sticky_sessions_cookie_attributes != undef or $passenger_app_log_file != undef or $passenger_debugger != undef or $passenger_max_requests != undef or $passenger_max_request_time != undef or $passenger_memory_limit != undef { |
| 2814 | + if ($passenger_enabled != undef or $passenger_start_timeout != undef or $passenger_ruby != undef or $passenger_python != undef or $passenger_nodejs != undef or $passenger_meteor_app_settings != undef or $passenger_app_env != undef or $passenger_app_root != undef or $passenger_app_group_name != undef or $passenger_app_start_command != undef or $passenger_app_type != undef or $passenger_startup_file != undef or $passenger_restart_dir != undef or $passenger_spawn_method != undef or $passenger_load_shell_envvars != undef or $passenger_preload_bundler != undef or $passenger_rolling_restarts != undef or $passenger_resist_deployment_errors != undef or $passenger_min_instances != undef or $passenger_max_instances != undef or $passenger_max_preloader_idle_time != undef or $passenger_force_max_concurrent_requests_per_process != undef or $passenger_concurrency_model != undef or $passenger_thread_count != undef or $passenger_high_performance != undef or $passenger_max_request_queue_size != undef or $passenger_max_request_queue_time != undef or $passenger_user != undef or $passenger_group != undef or $passenger_friendly_error_pages != undef or $passenger_buffer_upload != undef or $passenger_buffer_response != undef or $passenger_allow_encoded_slashes != undef or $passenger_lve_min_uid != undef or $passenger_base_uri != undef or $passenger_error_override != undef or $passenger_sticky_sessions != undef or $passenger_sticky_sessions_cookie_name != undef or $passenger_sticky_sessions_cookie_attributes != undef or $passenger_app_log_file != undef or $passenger_debugger != undef or $passenger_max_requests != undef or $passenger_max_request_time != undef or $passenger_memory_limit != undef) and $ensure == 'present' { |
| 2815 | + include apache::mod::passenger |
| 2816 | + |
2857 | 2817 | concat::fragment { "${name}-passenger": |
2858 | 2818 | target => "${priority_real}${filename}.conf", |
2859 | 2819 | order => 300, |
|
2946 | 2906 | # Template uses: |
2947 | 2907 | # - $auth_oidc |
2948 | 2908 | # - $oidc_settings |
2949 | | - if $auth_oidc { |
| 2909 | + if $auth_oidc and $ensure == 'present' { |
| 2910 | + include apache::mod::auth_openidc |
| 2911 | + |
2950 | 2912 | concat::fragment { "${name}-auth_oidc": |
2951 | 2913 | target => "${priority_real}${filename}.conf", |
2952 | 2914 | order => 360, |
|
0 commit comments