diff --git a/README.md b/README.md index 0fb747231..8d0c293f5 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ profile::accounts:::skel_archives: | ------------------------------------------------ | :------------ | :--------------------------------------------- | -------------------------------------------------------------------- | | `profile::cvmfs::client::quota_limit` | Integer | Instance local cache directory soft quota (MB) | 4096 | | `profile::cvmfs::client::initial_profile` | String | Path to shell script initializing software stack environment variables | Depends on the chosen software stack | +| `profile::cvmfs::client::extra_site_env_vars` | Hash[String, String] | Map of environment variables that will be exported before sourcing profile shell scripts. | `{ }` | | `profile::cvmfs::client::repositories` | Array[String] | List of CVMFS repositories to mount | Depends on the chosen software stack | | `profile::cvmfs::client::alien_cache_repositories`| Array[String] | List of CVMFS repositories that need an alien cache | `[]` | | `profile::cvmfs::client::lmod_default_modules` | Array[String] | List of lmod default modules | Depends on the chosen software stack | diff --git a/site/profile/manifests/cvmfs.pp b/site/profile/manifests/cvmfs.pp index 1f25f88b9..3bc6e5d3b 100644 --- a/site/profile/manifests/cvmfs.pp +++ b/site/profile/manifests/cvmfs.pp @@ -4,7 +4,7 @@ Array[String] $repositories, Array[String] $lmod_default_modules, Array[String] $alien_cache_repositories = [], - + Hash[String, String] $extra_site_env_vars = {}, ) { include consul_template include profile::cvmfs::local_user @@ -84,6 +84,7 @@ { 'lmod_default_modules' => $lmod_default_modules, 'initial_profile' => $initial_profile, + 'extra_site_env_vars' => $extra_site_env_vars, } ), } diff --git a/site/profile/templates/cvmfs/z-01-site.sh.epp b/site/profile/templates/cvmfs/z-01-site.sh.epp index 561429daf..462298f9c 100644 --- a/site/profile/templates/cvmfs/z-01-site.sh.epp +++ b/site/profile/templates/cvmfs/z-01-site.sh.epp @@ -2,6 +2,11 @@ if [[ $UID -gt <%= $::uid_max %> ]]; then export LMOD_SYSTEM_DEFAULT_MODULES="<%= $lmod_default_modules.join(' ') %>" + +<% $extra_site_env_vars.each | $key, $value| { -%> + export <%= $key %>=<%= $value %> +<% } -%> + if [[ -r <%= $initial_profile %> ]]; then source <%= $initial_profile %> fi