Skip to content

Generate exhaustive nav inventory by simulating different environments

Jeff Tucker requested to merge jtucker/nav-inventory-variants into master

What does this MR do and why?

Expands on the navigation inventory by adding entries that are only available in some environments (e.g. SM vs SAAS, feature flagged vs not). It does this by simulating these environments, capturing the contents of the nav in those states, then unioning the results together. This prevents an entire class of nav inventory oversights by automatically discovering items that would otherwise require careful configuration.

Closes #460866

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

TODO

  • Add code to generate nav in simulated environments
  • Add specs
  • Add sample output to MR

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

Before After

How to set up and validate locally

  1. Run rake gitlab:nav:dump_structure
Edited by Jeff Tucker

Merge request reports