ManageIQ Filesystem Layout


#1
  • app/ - main rails application MVC, assets, & supporting classes (see docs/mvc for and docs/support for more details)
    • assets/ - static content required by the web app (fonts, images, javascripts, stylesheets)
      • fonts/
      • images/
        • dynatree/
      • javascripts/
        • SlickGrid-2.1/
        • controllers/
        • dhtmlx_gpl_36/
        • directives/
        • dynatree/
        • miq_policy/
        • services/
      • stylesheets/
        • jquery/
    • controllers/ - the core business logic driving the web app
    • helpers/ - utility and supporting classes
    • mailers/ - email utilities
    • models/ - ood representations of db tables
    • presenters/ - view specific helpers
    • services/ - implement specific system interactions, used by controllers
    • views/ - ui templates
  • bin/ - rails specific executables
  • certs/ - ssl certificates
  • config/ - web app configuration
    • environments/ - rails environment specific config (production, development, test)
    • initialzers/ - logic run by the web app on startup
    • locales/ - language specific text localizations
  • db/ - database setup and configuration logic
    • fixtures/ - static database content
    • migrate/ - database conversion routines (add / drop / modify tables, etc)
  • extras/
    • noVNC/
      • websockify/
  • gems/ - temporary directory of libraries which will be moved into their own projects eventually
    • pending/ - see docs/gems-pending for specifics
  • lib/ - miscellaneous libraries
  • log/ - logs written to by the app
  • product/ - ?
    • alerts/
    • chargeback/
    • charts/
    • compare/
    • dashboard/
    • dialogs/
    • media/
    • ops/
    • reports/
    • scan_items/
    • script/
    • timelines/
    • toolbars/
    • usage/
    • views/
  • public/ - static web content (html, images, javascripts)
  • script/ - rails-specific & MiQ executables
  • spa_ui/
  • spec/ - tests
  • tmp/ - directory which rails writes its temporary files
    • miq_temp/ - miq specific temp directory
  • tools/ - command line utilities & helpers
    • db_printers/
    • doc/
    • fix_auth/
    • log_processing/
  • vendor/ - vendored assets and plugins
    • assets/
      • javascripts/
        • jquery/
        • yui/
    • plugins/

#2

This is already in ManageIQ/guides, but not this detailed. I’m not sure all of it should be there, since it will change and keeping it up to date will be a pain, but please make a PR there to update.