|
94 | 94 | } |
95 | 95 |
|
96 | 96 | if $foreman::apache { |
97 | | - $listen_socket = '/run/foreman.sock' |
98 | | - |
99 | | - class { 'foreman::config::apache': |
100 | | - app_root => $foreman::app_root, |
101 | | - priority => $foreman::vhost_priority, |
102 | | - servername => $foreman::servername, |
103 | | - serveraliases => $foreman::serveraliases, |
104 | | - server_port => $foreman::server_port, |
105 | | - server_ssl_port => $foreman::server_ssl_port, |
106 | | - proxy_backend => "unix://${listen_socket}", |
107 | | - ssl => $foreman::ssl, |
108 | | - ssl_ca => $foreman::server_ssl_ca, |
109 | | - ssl_chain => $foreman::server_ssl_chain, |
110 | | - ssl_cert => $foreman::server_ssl_cert, |
111 | | - ssl_certs_dir => $foreman::server_ssl_certs_dir, |
112 | | - ssl_key => $foreman::server_ssl_key, |
113 | | - ssl_crl => $foreman::server_ssl_crl, |
114 | | - ssl_protocol => $foreman::server_ssl_protocol, |
115 | | - ssl_verify_client => $foreman::server_ssl_verify_client, |
116 | | - user => $foreman::user, |
117 | | - foreman_url => $foreman::foreman_url, |
118 | | - ipa_authentication => $foreman::ipa_authentication, |
119 | | - keycloak => $foreman::keycloak, |
120 | | - keycloak_app_name => $foreman::keycloak_app_name, |
121 | | - keycloak_realm => $foreman::keycloak_realm, |
122 | | - } |
123 | | - |
124 | | - contain foreman::config::apache |
125 | | - |
126 | 97 | $foreman_socket_override = template('foreman/foreman.socket-overrides.erb') |
127 | 98 |
|
128 | 99 | if $foreman::ipa_authentication { |
129 | | - if $facts['os']['selinux']['enabled'] { |
130 | | - selboolean { ['allow_httpd_mod_auth_pam', 'httpd_dbus_sssd']: |
131 | | - persistent => true, |
132 | | - value => 'on', |
133 | | - } |
134 | | - } |
135 | | - |
136 | | - if $foreman::ipa_manage_sssd { |
137 | | - service { 'sssd': |
138 | | - ensure => running, |
139 | | - enable => true, |
140 | | - require => Package['sssd-dbus'], |
141 | | - } |
142 | | - } |
143 | | - |
144 | | - file { "/etc/pam.d/${foreman::pam_service}": |
145 | | - ensure => file, |
146 | | - owner => root, |
147 | | - group => root, |
148 | | - mode => '0644', |
149 | | - content => template('foreman/pam_service.erb'), |
150 | | - } |
151 | | - |
152 | | - $http_keytab = pick($foreman::http_keytab, "${apache::conf_dir}/http.keytab") |
153 | | - |
154 | | - exec { 'ipa-getkeytab': |
155 | | - command => "/bin/echo Get keytab \ |
156 | | - && KRB5CCNAME=KEYRING:session:get-http-service-keytab kinit -k \ |
157 | | - && KRB5CCNAME=KEYRING:session:get-http-service-keytab /usr/sbin/ipa-getkeytab -k ${http_keytab} -p HTTP/${facts['networking']['fqdn']} \ |
158 | | - && kdestroy -c KEYRING:session:get-http-service-keytab", |
159 | | - creates => $http_keytab, |
160 | | - } |
161 | | - -> file { $http_keytab: |
162 | | - ensure => file, |
163 | | - owner => $apache::user, |
164 | | - mode => '0600', |
165 | | - } |
166 | | - |
167 | | - foreman::config::apache::fragment { 'intercept_form_submit': |
168 | | - ssl_content => template('foreman/intercept_form_submit.conf.erb'), |
169 | | - } |
170 | | - |
171 | | - foreman::config::apache::fragment { 'lookup_identity': |
172 | | - ssl_content => template('foreman/lookup_identity.conf.erb'), |
173 | | - } |
174 | | - |
175 | | - foreman::config::apache::fragment { 'auth_gssapi': |
176 | | - ssl_content => template('foreman/auth_gssapi.conf.erb'), |
177 | | - } |
178 | | - |
179 | | - |
180 | | - if $foreman::ipa_manage_sssd { |
181 | | - $sssd = pick(fact('foreman_sssd'), {}) |
182 | | - $sssd_services = join(unique(pick($sssd['services'], []) + ['ifp']), ', ') |
183 | | - $sssd_ldap_user_extra_attrs = join(unique(pick($sssd['ldap_user_extra_attrs'], []) + ['email:mail', 'lastname:sn', 'firstname:givenname']), ', ') |
184 | | - $sssd_allowed_uids = join(unique(pick($sssd['allowed_uids'], []) + [$apache::user, 'root']), ', ') |
185 | | - $sssd_user_attributes = join(unique(pick($sssd['user_attributes'], []) + ['+email', '+firstname', '+lastname']), ', ') |
186 | | - |
187 | | - augeas { 'sssd-ifp-extra-attributes': |
188 | | - context => '/files/etc/sssd/sssd.conf', |
189 | | - changes => [ |
190 | | - "set target[.=~regexp('domain/.*')]/ldap_user_extra_attrs '${sssd_ldap_user_extra_attrs}'", |
191 | | - "set target[.='sssd']/services '${sssd_services}'", |
192 | | - 'set target[.=\'ifp\'] \'ifp\'', |
193 | | - "set target[.='ifp']/allowed_uids '${sssd_allowed_uids}'", |
194 | | - "set target[.='ifp']/user_attributes '${sssd_user_attributes}'", |
195 | | - ], |
196 | | - notify => Service['sssd'], |
197 | | - } |
198 | | - } |
199 | | - |
200 | | - concat::fragment {'foreman_settings+02-authorize_login_delegation.yaml': |
| 100 | + concat::fragment { 'foreman_settings+02-authorize_login_delegation.yaml': |
201 | 101 | target => '/etc/foreman/settings.yaml', |
202 | 102 | content => template('foreman/settings-external-auth.yaml.erb'), |
203 | 103 | order => '02', |
|
0 commit comments