Skip to content

Commit 472aa1f

Browse files
authored
Merge pull request #2254 from ekohl/localize-includes
Clean up includes and templates in vhost.pp
2 parents 3dd3b2a + 3262f23 commit 472aa1f

File tree

5 files changed

+63
-119
lines changed

5 files changed

+63
-119
lines changed

manifests/vhost.pp

Lines changed: 52 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1847,7 +1847,7 @@
18471847
Boolean $proxy_preserve_host = false,
18481848
Optional[Variant[String,Boolean]] $proxy_add_headers = undef,
18491849
Boolean $proxy_error_override = false,
1850-
Variant[String,Array[String]] $redirect_source = '/',
1850+
Variant[String,Array[String]] $redirect_source = '/',
18511851
Optional[Variant[Array[String],String]] $redirect_dest = undef,
18521852
Optional[Variant[Array[String],String]] $redirect_status = undef,
18531853
Optional[Variant[Array[String],String]] $redirectmatch_status = undef,
@@ -2013,12 +2013,6 @@
20132013

20142014
# Input validation ends
20152015

2016-
if $ssl and $ensure == 'present' {
2017-
include apache::mod::ssl
2018-
# Required for the AddType lines.
2019-
include apache::mod::mime
2020-
}
2021-
20222016
if $ssl_honorcipherorder =~ Boolean or $ssl_honorcipherorder == undef {
20232017
$_ssl_honorcipherorder = $ssl_honorcipherorder
20242018
} else {
@@ -2031,30 +2025,6 @@
20312025
}
20322026
}
20332027

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-
20582028
# Configure the defaultness of a vhost
20592029
if $priority {
20602030
$priority_real = "${priority}-"
@@ -2220,50 +2190,6 @@
22202190
}
22212191
}
22222192

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-
22672193
## Create a default directory list if none defined
22682194
if $directories {
22692195
$_directories = $directories
@@ -2355,6 +2281,7 @@
23552281
# - $protocols
23562282
# - $protocols_honor_order
23572283
# - $apache_version
2284+
# - $mdomain
23582285
concat::fragment { "${name}-apache-header":
23592286
target => "${priority_real}${filename}.conf",
23602287
order => 0,
@@ -2365,7 +2292,11 @@
23652292
# - $virtual_docroot
23662293
# - $virtual_use_default_docroot
23672294
# - $docroot
2368-
if $docroot {
2295+
if $docroot and $ensure == 'present' {
2296+
if $virtual_docroot {
2297+
include apache::mod::vhost_alias
2298+
}
2299+
23692300
concat::fragment { "${name}-docroot":
23702301
target => "${priority_real}${filename}.conf",
23712302
order => 10,
@@ -2556,7 +2487,10 @@
25562487
# - $proxy_preserve_host
25572488
# - $proxy_add_headers
25582489
# - $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+
25602494
concat::fragment { "${name}-proxy":
25612495
target => "${priority_real}${filename}.conf",
25622496
order => 170,
@@ -2577,7 +2511,9 @@
25772511
# - $redirectmatch_status_a
25782512
# - $redirectmatch_regexp_a
25792513
# - $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+
25812517
concat::fragment { "${name}-redirect":
25822518
target => "${priority_real}${filename}.conf",
25832519
order => 180,
@@ -2604,7 +2540,9 @@
26042540
# Template uses:
26052541
# - $scriptaliases
26062542
# - $scriptalias
2607-
if ( $scriptalias or $scriptaliases != []) {
2543+
if ($scriptalias or !empty($scriptaliases)) and $ensure == 'present' {
2544+
include apache::mod::alias
2545+
26082546
concat::fragment { "${name}-scriptalias":
26092547
target => "${priority_real}${filename}.conf",
26102548
order => 200,
@@ -2614,7 +2552,7 @@
26142552

26152553
# Template uses:
26162554
# - $serveraliases
2617-
if $serveraliases and ! empty($serveraliases) {
2555+
if ! empty($serveraliases) and $ensure == 'present' {
26182556
concat::fragment { "${name}-serveralias":
26192557
target => "${priority_real}${filename}.conf",
26202558
order => 210,
@@ -2625,7 +2563,16 @@
26252563
# Template uses:
26262564
# - $setenv
26272565
# - $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+
26292576
concat::fragment { "${name}-setenv":
26302577
target => "${priority_real}${filename}.conf",
26312578
order => 220,
@@ -2652,7 +2599,10 @@
26522599
# - $ssl_openssl_conf_cmd
26532600
# - $ssl_stapling
26542601
# - $apache_version
2602+
# - $mdomain
26552603
if $ssl and $ensure == 'present' {
2604+
include apache::mod::ssl
2605+
26562606
concat::fragment { "${name}-ssl":
26572607
target => "${priority_real}${filename}.conf",
26582608
order => 230,
@@ -2686,7 +2636,9 @@
26862636
# - $krb_auth_realms
26872637
# - $krb_5keytab
26882638
# - $krb_local_user_mapping
2689-
if $auth_kerb {
2639+
if $auth_kerb and $ensure == 'present' {
2640+
include apache::mod::auth_kerb
2641+
26902642
concat::fragment { "${name}-auth_kerb":
26912643
target => "${priority_real}${filename}.conf",
26922644
order => 230,
@@ -2740,7 +2692,9 @@
27402692
if $wsgi_daemon_process_options {
27412693
deprecation('apache::vhost::wsgi_daemon_process_options', 'This parameter is deprecated. Please add values inside Hash `wsgi_daemon_process`.')
27422694
}
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+
27442698
concat::fragment { "${name}-wsgi":
27452699
target => "${priority_real}${filename}.conf",
27462700
order => 260,
@@ -2764,7 +2718,9 @@
27642718
# - $fastcgi_dir
27652719
# - $fastcgi_idle_timeout
27662720
# - $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+
27682724
concat::fragment { "${name}-fastcgi":
27692725
target => "${priority_real}${filename}.conf",
27702726
order => 280,
@@ -2774,15 +2730,17 @@
27742730

27752731
# Template uses:
27762732
# - $suexec_user_group
2777-
if $suexec_user_group {
2733+
if $suexec_user_group and $ensure == 'present' {
2734+
include apache::mod::suexec
2735+
27782736
concat::fragment { "${name}-suexec":
27792737
target => "${priority_real}${filename}.conf",
27802738
order => 290,
27812739
content => template('apache/vhost/_suexec.erb'),
27822740
}
27832741
}
27842742

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' {
27862744
include apache::mod::http2
27872745

27882746
concat::fragment { "${name}-http2":
@@ -2792,13 +2750,13 @@
27922750
}
27932751
}
27942752

2795-
if $mdomain {
2753+
if $mdomain and $ensure == 'present' {
27962754
include apache::mod::md
27972755
}
27982756

27992757
# Template uses:
28002758
# - $userdir
2801-
if $userdir {
2759+
if $userdir and $ensure == 'present' {
28022760
include apache::mod::userdir
28032761

28042762
concat::fragment { "${name}-userdir":
@@ -2853,7 +2811,9 @@
28532811
# - $passenger_max_requests
28542812
# - $passenger_max_request_time
28552813
# - $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+
28572817
concat::fragment { "${name}-passenger":
28582818
target => "${priority_real}${filename}.conf",
28592819
order => 300,
@@ -2946,7 +2906,9 @@
29462906
# Template uses:
29472907
# - $auth_oidc
29482908
# - $oidc_settings
2949-
if $auth_oidc {
2909+
if $auth_oidc and $ensure == 'present' {
2910+
include apache::mod::auth_openidc
2911+
29502912
concat::fragment { "${name}-auth_oidc":
29512913
target => "${priority_real}${filename}.conf",
29522914
order => 360,

spec/defines/vhost_spec.rb

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2118,7 +2118,7 @@
21182118
is_expected.to contain_concat('25-rspec.example.com.conf').with('ensure' => 'absent')
21192119
}
21202120
it { is_expected.to contain_concat__fragment('rspec.example.com-apache-header') }
2121-
it { is_expected.to contain_concat__fragment('rspec.example.com-docroot') }
2121+
it { is_expected.not_to contain_concat__fragment('rspec.example.com-docroot') }
21222122
it { is_expected.not_to contain_concat__fragment('rspec.example.com-aliases') }
21232123
it { is_expected.not_to contain_concat__fragment('rspec.example.com-itk') }
21242124
it { is_expected.not_to contain_concat__fragment('rspec.example.com-fallbackresource') }
@@ -2641,22 +2641,14 @@
26412641
describe 'redirectmatch_*' do
26422642
let(:params) { super().merge(port: '84') }
26432643

2644-
context 'status' do
2645-
let(:params) { super().merge(redirectmatch_status: '404') }
2646-
2647-
it { is_expected.to contain_class('apache::mod::alias') }
2648-
end
2649-
context 'dest' do
2650-
let(:params) { super().merge(redirectmatch_dest: 'http://other.example.com$1.jpg') }
2651-
2652-
it { is_expected.to contain_class('apache::mod::alias') }
2653-
end
2654-
context 'regexp' do
2655-
let(:params) { super().merge(redirectmatch_regexp: "(.*)\.gif$") }
2644+
context 'dest and regexp' do
2645+
let(:params) { super().merge(redirectmatch_dest: 'http://other.example.com$1.jpg', redirectmatch_regexp: "(.*)\.gif$") }
26562646

2647+
it { is_expected.to contain_concat__fragment('rspec.example.com-redirect') }
26572648
it { is_expected.to contain_class('apache::mod::alias') }
26582649
end
26592650
context 'none' do
2651+
it { is_expected.not_to contain_concat__fragment('rspec.example.com-redirect') }
26602652
it { is_expected.not_to contain_class('apache::mod::alias') }
26612653
end
26622654
end

templates/vhost/_scriptalias.erb

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,8 @@
1-
<%- if @scriptaliases.is_a?(Array) -%>
2-
<%- aliases = @scriptaliases -%>
3-
<%- elsif @scriptaliases.is_a?(Hash) -%>
4-
<%- aliases = [@scriptaliases] -%>
5-
<%- else -%>
6-
<%- # Nothing to do with any other data type -%>
7-
<%- aliases = [] -%>
8-
<%- end -%>
9-
<%- if @scriptalias or !aliases.empty? -%>
1+
<%- aliases = @scriptaliases -%>
102
## Script alias directives
11-
<%# Combine scriptalais and scriptaliases into a single data structure -%>
3+
<%# Combine scriptalias and scriptaliases into a single data structure -%>
124
<%# for backward compatibility and ease of implementation -%>
135
<%- aliases << { 'alias' => '/cgi-bin', 'path' => @scriptalias } if @scriptalias -%>
14-
<%- aliases.flatten.compact! -%>
156
<%- aliases.each do |salias| -%>
167
<%- if salias["path"] != '' -%>
178
<%- if salias["alias"] and salias["alias"] != '' -%>
@@ -21,4 +12,3 @@
2112
<%- end -%>
2213
<%- end -%>
2314
<%- end -%>
24-
<%- end -%>

templates/vhost/_serveralias.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<% if @serveraliases and ! @serveraliases.empty? -%>
1+
<% unless @serveraliases.empty? -%>
22

33
## Server aliases
44
<%- Array(@serveraliases).each do |serveralias| -%>

templates/vhost/_setenv.erb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
<% if @setenv and ! @setenv.empty? -%>
1+
<% unless @setenv.empty? -%>
22

33
## SetEnv/SetEnvIf for environment variables
44
<%- Array(@setenv).each do |envvar| -%>
55
SetEnv <%= envvar %>
66
<%- end -%>
77
<% end -%>
8-
<% if @setenvif and ! @setenvif.empty? -%>
8+
<% unless @setenvif.empty? -%>
99
<%- Array(@setenvif).each do |envifvar| -%>
1010
SetEnvIf <%= envifvar %>
1111
<%- end -%>
1212
<% end -%>
13-
<% if @setenvifnocase and ! @setenvifnocase.empty? -%>
13+
<% unless @setenvifnocase.empty? -%>
1414
<%- Array(@setenvifnocase).each do |envifncvar| -%>
1515
SetEnvIfNoCase <%= envifncvar %>
1616
<%- end -%>

0 commit comments

Comments
 (0)