|
32 | 32 | # ondemand-dex package ensure |
33 | 33 | # @param mod_auth_openidc_ensure |
34 | 34 | # mod_auth_openidc package ensure |
| 35 | +# @param mod_auth_mellon_ensure |
| 36 | +# mod_auth_mellon package ensure |
35 | 37 | # @param install_apps |
36 | 38 | # Hash of apps to install, passed to ondemand::install::app |
37 | 39 | # @param declare_apache |
|
46 | 48 | # ood_portal.yml listen_addr_port |
47 | 49 | # @param servername |
48 | 50 | # ood_portal.yml servername |
| 51 | +# @param proxy_server |
| 52 | +# ood_portal.yml proxy_server |
49 | 53 | # @param server_aliases |
50 | 54 | # ood_porta.yml server_aliases |
51 | 55 | # @param ssl |
|
156 | 160 | # Dex URI if put behind Apache reverse proxy |
157 | 161 | # @param dex_config |
158 | 162 | # Dex configuration Hash |
| 163 | +# @param mellon_config |
| 164 | +# Additional Mellon override config for apache |
159 | 165 | # @param web_directory |
160 | 166 | # Path to main web directory for OnDemand |
161 | 167 | # @param nginx_log_group |
|
268 | 274 | String $ondemand_package_ensure = 'present', |
269 | 275 | String $ondemand_dex_package_ensure = 'present', |
270 | 276 | String $mod_auth_openidc_ensure = 'present', |
| 277 | + String $mod_auth_mellon_ensure = 'present', |
271 | 278 | Hash $install_apps = {}, |
272 | 279 |
|
273 | 280 | # Apache |
|
278 | 285 | Boolean $generator_insecure = false, |
279 | 286 | Variant[Array, String, Undef] $listen_addr_port = undef, |
280 | 287 | Optional[String] $servername = undef, |
| 288 | + Optional[String] $proxy_server = undef, |
281 | 289 | Optional[Array] $server_aliases = undef, |
282 | 290 | Optional[Array] $ssl = undef, |
283 | 291 | Boolean $disable_logs = false, |
|
297 | 305 | Optional[String] $user_map_cmd = undef, |
298 | 306 | Optional[String] $user_env = undef, |
299 | 307 | Optional[String] $map_fail_uri = undef, |
300 | | - Variant[Enum['CAS', 'openid-connect', 'shibboleth', 'dex'], String[1]] $auth_type = 'dex', |
| 308 | + Variant[Enum['CAS', 'openid-connect', 'mellon', 'shibboleth', 'dex'], String[1]] $auth_type = 'dex', |
301 | 309 | Optional[Array] $auth_configs = undef, |
302 | 310 | Array $custom_vhost_directives = [], |
303 | 311 | Array $custom_location_directives = [], |
|
338 | 346 | Variant[String[1],Boolean] $dex_uri = '/dex', |
339 | 347 | Openondemand::Dex_config $dex_config = {}, |
340 | 348 |
|
| 349 | + # Mellon Configs |
| 350 | + Optional[Hash] $mellon_default_config = { |
| 351 | + 'MellonSPPrivateKeyFile' => '/etc/httpd/mellon/mellon.key', |
| 352 | + 'MellonSPCertFile' => '/etc/httpd/mellon/mellon.cer', |
| 353 | + 'MellonSPMetadataFile' => '/etc/httpd/mellon/mellon_metadata.xml', |
| 354 | + 'MellonIdPMetadataFile' => '/etc/httpd/mellon/idp_metadata.xml', |
| 355 | + 'MellonEnable' => 'auth', |
| 356 | + 'MellonEndpointPath' => '/mellon', |
| 357 | + }, |
| 358 | + Optional[Hash] $mellon_config = {} |
| 359 | + # Merge default config with updated configs |
| 360 | + Optional[Hash] $mellon_merged_config = merge($mellon_default_config, $mellon_config) |
| 361 | + |
341 | 362 | # Misc configs |
342 | 363 | Stdlib::Absolutepath $web_directory = '/var/www/ood', |
343 | 364 | String $nginx_log_group = 'ondemand-nginx', |
|
445 | 466 |
|
446 | 467 | if $ssl { |
447 | 468 | $port = '443' |
448 | | - $listen_ports = ['443', '80'] |
| 469 | + $listen_ports = pick($listen_addr_port, ['443', '80']) |
449 | 470 | $protocol = 'https' |
450 | 471 | } else { |
451 | 472 | $port = '80' |
452 | | - $listen_ports = ['80'] |
| 473 | + $listen_ports = pick($listen_addr_port, ['80']) |
453 | 474 | $protocol = 'http' |
454 | 475 | } |
455 | 476 |
|
|
510 | 531 | $ood_portal_config = { |
511 | 532 | 'listen_addr_port' => $listen_ports, |
512 | 533 | 'servername' => $servername, |
| 534 | + 'proxy_server' => $proxy_server, |
513 | 535 | 'server_aliases' => $server_aliases, |
514 | 536 | 'port' => $port, |
515 | 537 | 'ssl' => $ssl, |
|
0 commit comments