ondemand.d/*.yml files
Most of the configurations are now held within YAML files in the /etc/ood/config/ondemand.d/ directory.
Open OnDemand will read all the .yml and .yml.erb files within this directory for
configurations.
To use a different directory other than this use the OOD_CONFIG_D_DIRECTORY environment variable
in the /etc/ood/config/apps/dashboard/env file.
These properties support profile based configuration, see the profile configuration documentation.
Note
Simple properties (strings and booleans) can be configured using environment variables as well.
The name of the environment variable will be the property name in capitals prefixed with OOD_.
e.g., property brand_bg_color will be OOD_BRAND_BG_COLOR environment variable.
We recommend setting environment variables in /etc/ood/config/nginx_stage.yml
as YAML mappings (key value pairs) in the mapping (hash/dictionary) pun_custom_env.
Alternatively you can set these in the env files of the dashboard and the apps.
Warning
When using environment variables with nginx_stage.yml file, be careful to set the value using quotes
i.e. OOD_BRAND_BG_COLOR: '#0000ff'. If you omit the quotes, YAML will see # as a comment and the value of the OOD_BRAND_BG_COLOR will be nil
Warning
OnDemand will only respond to root owned files. Configuration files that are not owned by the root user (uid 0) will not be read.
Configuration Properties with profile support
- dashboard_header_img_logo (String, null)
- The URL to the logo image for the main navigation. If no logo is configured, the - dashboard_titleproperty will be used as text.- Default
- No logo image will be shown, just the - dashboard_titletext.- dashboard_header_img_logo: null 
- Example
- Show - /public/logo.pngas the logo image.- dashboard_header_img_logo: "/public/logo.png" 
 
- disable_dashboard_logo (Bool, false)
- Whether to show the - dashboard_logoproperty in the homepage welcome message.- Default
- false, the- dashboard_logologo will be shown in the homepage welcome message.- disable_dashboard_logo: false 
- Example
- Disable the logo in the welcome message. - disable_dashboard_logo: true 
 
- dashboard_logo (String, null)
- The URL to the logo image for the homepage welcome message. If no logo is configured, the - dashboard_titleproperty will be used as text.- Default
- No logo image will be shown with the welcome message. - dashboard_logo: null 
- Example
- Show - /public/welcome.pngas the welcome message logo image.- dashboard_logo: "/public/welcome.png" 
 
- dashboard_logo_height (Integer, null)
- HTML image override for the height of the welcome message logo image configured with - dashboard_logo- Default
- null, no override will be applied and the original image height will be used.- dashboard_logo_height: null 
- Example
- Adjust the image height to 150 pixels. - dashboard_logo_height: "150px" 
 
- brand_bg_color (String, null)
- The CSS color override for the main navbar background. Any valid CSS color value can be used. - Default
- Null, no background color override. The default theme color from the - navbar_typeproperty will be used.- brand_bg_color: null 
- Example
- Use - #007FFF(shade of blue) as the background color for the navbar.- brand_bg_color: "#007FFF" 
 
- brand_link_active_bg_color (String, null)
- The CSS color override for background of the active navigation link in the navbar. Any valid CSS color value can be used. - Default
- Null, no color override. The default theme color from the - navbar_typeproperty will be used.- brand_link_active_bg_color: null 
- Example
- Use - #007FFF(shade of blue) for the background color of the active navigation link.- brand_link_active_bg_color: "#007FFF" 
 
- dashboard_layout (Object, null)
- Specify the dashboard layout. Rearrange existing widgets and add more custom widgets. See the documentation on custom dashboard layouts for details and examples. - Default
- Null, do not change the default dashboard layout. 
- Example
- See the dashboard layout documentation 
 
- pinned_apps (Array<Object>, null)
- An array of pinned app objects specifying what apps to pin to the dashboard. See the documentation on pinned apps for details and examples. - Default
- Null, don't pin any apps to the dashboard. 
- Example
- See the pinned apps documentation 
 
- pinned_apps_menu_length (Integer, 6)
- The maximum number of pinned apps in the 'Apps' menu bar. - Default
- Show 6 items in the menu. - pinned_apps_menu_length: 6 
- Example
- Show 10 items in the menu. - pinned_apps_menu_length: 10 
 
- pinned_apps_group_by (String, null)
- Group the pinned apps icons by this field in the dashboard. - Default
- Null, do no group pinned apps by any field. - pinned_apps_group_by: null 
- Example
- Group the pinned apps by - category.- pinned_apps_group_by: "category" 
 
- profile_links (Array<Object>, [])
- List of profiles to display in the - Helpnavigation menu. This will allow users to change profiles. For more information see the profile selection documentation.- Default
- Empty list, no profile links will be shown. - profile_links: [] 
- Example
- Add a link to the - defaultand- ondemandprofiles to the- Helpmenu.- profile_links: - id: "" name: "Default" icon: "house-user" - id: "ondemand" name: "OnDemand Profile" icon: "user" 
 
- custom_css_files (Array<String>, [])
- List of relative URLs to the CSS files to include in all Dashboard pages. These CSS files can be used to customize the look and feel of the Dashboard. - The relative path will be prefixed with the value of the - public_urlproperty.- Default
- Empty list, no custom CSS files will be included. - custom_css_files: [] 
- Example
- Add two custom CSS files: - /myfolder/navigation.cssand- /myfolder/pinned_apps.cssto the Dashboard.- custom_css_files: ["/myfolder/navigation.css", "/myfolder/pinned_apps.css"] 
 
- custom_javascript_files (Array<String>, [])
- List of relative URLs to custom JavaScript files to include in all Dashboard pages. These JavaScript files can be used to customize the behavior of the Dashboard. - The relative path will be prefixed with the value of the - public_urlproperty.- Default
- Empty list, no custom JavaScript files will be included. - custom_javascript_files: [] 
- Example
- Add two custom JavaScript files: - /myfolder/navigation.jsand- /myfolder/pinned_apps.jsto the Dashboard.- custom_javascript_files: ["/myfolder/navigation.js", "/myfolder/pinned_apps.js"] 
 
- dashboard_title (String, 'Open OnDemand')
- The text to use as the main navigation logo. If the - dashboard_header_img_logoproperty is defined, this property will be used as the HTML image title.- Default
- Open OnDemandtext- dashboard_title: "Open OnDemand" 
- Example
- Show - My Institutionas the logo text.- dashboard_title: "My Institution" 
 
- show_all_apps_link (Bool, false)
- Whether to show the - All Appslink in the navbar. This links to the Dashboard page showing all system installed applications.- Default
- false, the- All Appslink will not be shown in the navbar.- show_all_apps_link: false 
- Example
- Include the - All Appslink in the navbar.- show_all_apps_link: true 
 
- nav_bar (Array<Object>, [])
- An array of navigation items to create a custom navbar. This property sets the navigation items for the left hand side navigation menu in the header. - See the documentation on custom navigation for details and examples. - Default
- Empty array, show the default navbar. 
- Example
- See the custom navigation documentation 
 
- help_bar (Array<Object>, [])
- An array of navigation items to create a custom help navigation. This property sets the navigation items for the right hand side navigation menu on the header. - See the documentation on custom navigation for details and examples. - Default
- Empty array, show the default help navigation. 
- Example
- See the custom navigation documentation 
 
- help_menu (Array<Object>, [])
- A single navigation item to add links to the Help drop-down menu. This property adds navigation items at the end of any existing links in the menu. - See the documentation on adding urls to the Help menu for details and examples. - Default
- Empty array, no additional links will be added to the Help menu. 
- Example
 
- interactive_apps_menu (Object, {})
- A single navigation item to create a custom interactive apps menu. This property sets the interactive applications to display in the left hand side menu on the - Interactive Appsand- Interactive Sessionspages.- See the documentation on interactive apps menu for details and examples. - Default
- Empty object, No customizations, show the currently installed interactive applications. 
- Example
 
- custom_pages (Hash<String, Object>, {})
- A hash with the definition of the layouts for the configured custom pages. The key is a string with the page code. The value is the custom page layout definition. - See the documentation on custom pages for details and examples. - Default
- Empty hash, No custom pages defined. 
- Example
- See the custom pages documentation 
 
- support_ticket (Object, {})
- Configuration settings to enable and configure the support ticket feature. - See the documentation on Support Ticket for details and examples. - Default
- Empty object, support ticket feature is disabled. 
- Example
- See the Support Ticket documentation 
 
- navbar_type (String, 'dark')
- The navbar theme type. There are 2 themes, - lightand- dark. The selected theme will update the colors of the navbar.- Default
- Set theme to - dark.- navbar_type: "dark" 
- Example
- Set theme to - light.- navbar_type: "light" 
 
- public_url (String, '/public')
- The prefix URL used to load the - favicon.icoand custom CSS files configured with the- custom_css_filesproperty.- Default
- '/public' prefix URL. - public_url: "/public" 
- Example
- Use - /public/resourcesas the prefix path to load these resources.- public_url: "/public/resources" 
 
- announcement_path (Array<String>, ['/etc/ood/config/announcement.md', '/etc/ood/config/announcement.yml', '/etc/ood/config/announcements.d'])
- The file or directory path to load announcement messages from. - Default
- The default files are: - /etc/ood/config/announcement.md,- /etc/ood/config/announcement.yml, and- /etc/ood/config/announcements.d- announcement_path: - "/etc/ood/config/announcement.md" - "/etc/ood/config/announcement.yml" - "/etc/ood/config/announcements.d" 
- Example
- Use - /etc/ood/config/announcement.team1.d/as the path to load announcements.- announcement_path: "/etc/ood/config/announcement.team1.d/" 
 
Configuration Properties
- files_enable_shell_button (Bool, true)
- While browsing files, by default, Open OnDemand will show a button to shell into that directory location. Use this configuration to disable that behavior. - Default
- True. Files App has will show a button to open a shell to that location. - files_enable_shell_button: true 
- Example
- Disable the terminal button in the Files App. - files_enable_shell_button: false 
 
- bc_dynamic_js (Bool, false)
- Enable dynamic interactive app forms. See Dynamic Form Widgets for more information on what this feature does. - Default
- False. Interactive app forms will not be dynamic. - bc_dynamic_js: false 
- Example
- Interactive app forms will be dynamic. - bc_dynamic_js: true 
 
- bc_clean_old_dirs(Bool, false)
- Interactive Apps create a new directory - ~/ondemand/data/sys/dashboard/batch_connect/...every time the application is launched. Over time users may create many directories that hold essentially old and useless data.- When enabled, the system will remove every directory that is older than 30 days. See - bc_clean_old_dirs_daysbelow to change the time range. You may wish to keep directories for longer or shorter intervals.- Default
- False. Never delete these directories. - bc_clean_old_dirs: false 
- Example
- Delete these directories after 30 days. - bc_clean_old_dirs: true 
 
- bc_clean_old_dirs_days(Integer, 30)
- If you have - bc_clean_old_dirsabove enabled, the system will clean every directory that is older than 30 days. This configuration specifies how old a directory (in days) must be to be removed.- The system checks creation time, not modification time. - Default
- Delete these directories after 30 days if - bc_clean_old_dirsis enabled.- bc_clean_old_dirs_days: 30 
- Example
- Delete these directories after 15 days if - bc_clean_old_dirsis enabled.- bc_clean_old_dirs_days: 15 
 
- host_based_profiles (Bool, false)
- Feature flag to enable automatic selection of configuration profiles based on the hostname of the request. - Default
- False. Profiles will be selected manually based on the user settings file. - host_based_profiles: false 
- Example
- Enable automatic hostname profile selection. - host_based_profiles: true 
 
- disable_bc_shell (Bool, false)
- Some schedulers like LSF use the the - -Lflag to- bsubfor purposes other than setting the shell path. Interactive apps set the shell path to- /bin/bashby default using various flags or editing scripts.- Default
- False. All interactive apps will submit jobs with the shell path flag set. - disable_bc_shell: false 
- Example
- Do not submit interactive jobs with any shell path. - disable_bc_shell: true 
 
- cancel_session_enabled (Bool, false)
- Feature flag to enable the cancellation of active interactive sessions without deleting the session card. - Default
- False. Active interactive sessions can only be deleted. - cancel_session_enabled: false 
- Example
- Enable interactive sessions cancellations. - cancel_session_enabled: true 
 
- module_file_dir (String, null)
- Specify a directory where cluster specific module files exist. It's important that there be a file for each cluster because the system can then tie those modules to that specific cluster. - This directory should have - module spider-jsonoutput for each cluster as indicated by the command below. Open OnDemand will read these files and potentially show them in a from for a cluster called my_cluster.- tmp="$(mktemp)"; "$LMOD_DIR/spider" -o spider-json "$MODULEPATH" > "$tmp"; mv "$tmp" /some/directory/my_cluster.json- Default
- Null. No directory given. - module_file_dir: null 
- Example
- Look for json files in the /etc/reporting/modules directory. - module_file_dir: "/etc/reporting/modules" 
 
- user_settings_file (String, '.ood')
- The full path of the file to store user settings. This file is used to store any user defined settings. - Default
- A file called '.ood'. - user_settings_file: "~/.config/ondemand/settings.yml" 
- Example
- Use - user_settings.txtas the file name for user settings and change the path slightly.- user_settings_file: "~/.config/local/open-ondemand/user_settings.txt" 
 
- facl_domain (String, null)
- The File Access Control List (FACL) domain to use when setting FACLs on files or directories. - Default
- No FACL domain given. - facl_domain: null 
- Example
- What we use at OSC. - facl_domain: "osc.edu" 
 
- auto_groups_filter (String, null)
- Specify a filter for the automatic form option - auto_groups.- Default
- No filter given. All Unix groups will be shown. 
 - auto_groups_filter: null - Example
- Only show Unix groups that start with - P.- auto_groups_filter: '^P.+' 
 
- bc_simple_auto_accounts (Boolean, false)
- Use a simple accounting scheme that assumes all accounts are available on all clusters. - Default
- False. The account list generated will be a list of all the accounts available across all clusters. - bc_simple_auto_accounts: false 
- Example
- Enable simple accounts. This will generate a list of accounts that should be available on all clusters. - bc_simple_auto_accounts: true 
 
- remote_files_enabled (Boolean, false)
- Enable remote file browsing, editing and downloading. - Default
- Remote files are disabled. - remote_files_enabled: false 
- Example
- Enable remote file-systems through - rclone.- remote_files_enabled: true 
 
- remote_files_validation (Boolean, false)
- Enable validating remote files on startup. - Default
- Remote file systems will not be validated on startup. - remote_files_validation: false 
- Example
- Remote file systems will be validated on startup. - remote_files_validation: true 
 
- upload_enabled (Boolean, true)
- Added in version 3.1. - Enable uploading files. - Default
- File uploads are enabled. - upload_enabled: true 
- Example
- File uploads are disabled. Users will not be able to upload files through Open OnDemand. - upload_enabled: false 
 
- download_enabled (Boolean, true)
- Added in version 3.1. - Enable downloading files. - Default
- File downloads are enabled. - download_enabled: true 
- Example
- File downloads are disabled. Users will not be able to download files through Open OnDemand. - download_enabled: false 
 
- hide_app_version (Boolean, false)
- Hide the interactive application's version. - Default
- Interactive application versions are shown. - hide_app_version: false 
- Example
- Never show interactive application versions. - hide_app_version: true 
 
- globus_endpoints (Array<Object>, null)
- Add a Globus button to the file browser. The button opens the current directory in the Globus transfer web app. - In the example with multiple endpoints, suppose you use the local file browser to look at your local file system. If you were to navigate to your local - /homeand then click the Globus button, you would see a new tab open with the endpoint associated to that local path in the Globus interface.- If you then go back to the local file browser and navigate to - /projectand then click the Globus button, you would now see the endpoint associated with that local- /projectdirectory open in the Globus interface in a new tab.- The gist here is you navigate to the desired directory using the local filebrowser then click the Globus button to show the corresponding endpoint in the Globus interface which opens in a new tab. - Note that - endpoint_pathis the path that Globus will initialize to and is very likely to be- /regardless of the actual storage path.- Default
- Null, do not enable the Globus button 
- Example
- Use a single endpoint for the whole file-system. - globus_endpoints: - path: "/" endpoint: "716de4ac-xxxx-xxxx-xxxx-xxxxxxxxxxxx" endpoint_path: "/" 
- Example
- Use multiple endpoints. - globus_endpoints: - path: "/home" endpoint: "716de4ac-xxxx-xxxx-xxxx-xxxxxxxxxxxx" endpoint_path: "/home" - path: "/project" endpoint: "9f1fe759-xxxx-xxxx-xxxx-xxxxxxxxxxxx" endpoint_path: "/project" 
- Example
- When path names differ between the file-system and endpoint. - globus_endpoints: - path: "/project" endpoint: "9f1fe759-xxxx-xxxx-xxxx-xxxxxxxxxxxx" endpoint_path: "/" 
- Example
- Reference the home directory of the current user. - globus_endpoints: - path: "<%= Etc.getpwnam(Etc.getlogin).dir %>" endpoint: "9f1fe759-xxxx-xxxx-xxxx-xxxxxxxxxxxx" endpoint_path: "/" 
 
- google_analytics_tag_id (String, nil)
- Configure Google Analytics by supplying a tag id. - Default
- Google Analytics is disabled. - google_analytics_tag_id: nil 
- Example
- Google Analytics is enabled and will upload data to the tag id - abc123.- google_analytics_tag_id: 'abc123' 
 
- motd_render_html (Boolean, false)
- Render HTML in the Message of the Day (MOTD). This configuration was added because some MOTD formats like RSS can generate HTML that is potentially unsafe. - Default
- The Message of the day will not render HTML. - motd_render_html: false 
- Example
- The Message of the day will render HTML. - motd_render_html: true 
 
- novnc_default_compression (Integer, 6)
- The default compression value for noVNC batch connect applications. - Default
- The default compression of 6. - novnc_default_compression: 6 
- Example
- Increase the default compression to 9. - novnc_default_compression: 9 
 
- novnc_default_quality (Integer, 2)
- The default quality value for noVNC batch connect applications. - Default
- The default quality of 2. - novnc_default_quality: 2 
- Example
- Increase the default quality setting to 9. - novnc_default_quality: 9 
 
- bc_sessions_poll_delay (Integer, 10000)
- How long the client browser should wait, in milliseconds, to update the batch connect sessions page. - Default
- The default poll delay of 10000 (10 seconds). - bc_sessions_poll_delay: 10000 
- Example
- Increase the poll delay to 30000 (30 seconds). - bc_sessions_poll_delay: 30000 
 
- status_poll_delay (Integer, 10000)
- How long the client browser should wait, in milliseconds, to update the system status page. - Default
- The default poll delay of 10000 (10 seconds). - status_poll_delay: 10000 
- Example
- Increase the poll delay to 30000 (30 seconds). - status_poll_delay: 30000 
 
- bc_saved_settings (Boolean, false)
- Enabled or disable saving batch connect settings. When users fill out a form for an interactive application, they can choose to save those settings to easily reuse later. - Default
- Disabled by default. - bc_saved_settings: false 
- Example
- Enable saving batch connect settings. - bc_saved_settings: true 
 
- global_bc_form_items (Hash<String, Object>, {})
- Define batch connect form items globally to be used in any batch connect application. - Default
- Nothing provided. - global_bc_form_items: {} 
 - Example - See Global Batch Connect Form Items for more details.