ood-ansible
ood-ansible copied to clipboard
Extend support for additional `ondemand.d` configuration parameters
Environment:
- Ubuntu 22.04
- Python 3.11.5
- Ansible 8.0.0
- osc.open_ondemand 3.1.4
Extend templates/ondemand.yml.j2 to support all parameters defined in ondemand.d/*.yml files
For example, for the following (which I needed in a playbook I was writing):
dashboard_header_img_logo
disable_dashboard_logo
dashboard_logo
dashboard_logo_height
dashboard_title
nav_categories
navbar_type
I currently use a local template:
{% if dashboard_header_img_logo is defined %}
dashboard_header_img_logo: {{ dashboard_header_img_logo }}
{% endif %}
{% if disable_dashboard_logo is defined %}
disable_dashboard_logo: {{ disable_dashboard_logo | bool | lower}}
{% endif %}
{% if dashboard_logo is defined %}
dashboard_logo: {{ dashboard_logo }}
{% endif %}
{% if dashboard_logo_height is defined %}
dashboard_logo_height: {{ dashboard_logo_height }}
{% endif %}
{% if dashboard_title is defined %}
dashboard_title: {{ dashboard_title }}
{% endif %}
{% if nav_categories is defined %}
nav_categories: {{ nav_categories }}
{% endif %}
{% if navbar_type is defined %}
navbar_type: {{ navbar_type }}
{% endif %}
Similarly, add example defaults to defaults/main/ondemand.yml, for example:
dashboard_header_img_logo: null
disable_dashboard_logo: false
dashboard_logo: null
dashboard_logo_height: null
dashboard_title: "Open OnDemand"
navbar_type: default
nav_categories: ['Apps', 'Files', 'Jobs', 'Clusters', 'Interactive Apps']
Other, currently unsupported, parameters from ondemand.d/*.yml files include
brand_bg_color: null
brand_link_active_bg_color: null
profile_links: []
custom_css_files: []
custom_javascript_files: []
show_all_apps_link: false
nav_bar: []
help_bar: []
interactive_apps_menu: {}
custom_pages: {}
navbar_type: dark
public_url: "/public"
announcement_path:
- "/etc/ood/config/announcement.md"
- "/etc/ood/config/announcement.yml"
- "/etc/ood/config/announcements.d"