|
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