Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PS-Module] Specifications, Constraints, Assumptions #9

Open
vScripter opened this issue Mar 21, 2017 · 0 comments
Open

[PS-Module] Specifications, Constraints, Assumptions #9

vScripter opened this issue Mar 21, 2017 · 0 comments
Assignees

Comments

@vScripter
Copy link
Member

vScripter commented Mar 21, 2017

Specifications, Assumptions & Constraints (SAC)

The description of this issue will serve as the curated list of Specs, Constraints & Assumptions for the PS-Module of vCheck.

Module Layout

Specifications

Must Support

  • Simplicity
    • Make it as easy as possible to both run the report and develop a plugin
    • An example of this would be simply adding the plugin directory to /Plugins - this would allow people to expand the functionality to suit their needs, without having plugins that people might not use baked in/embedded into the main vCheck module
  • Don't use numbers as a file prefix
    • for plugin/function names (it doesn't scale and it makes people guess on where they should start numbering for a new plugin)
  • Scope
    • Keep plugin configuration limited to the scope of the plugin/plugin functions
  • Configuration Flow
    • Make it easier to understand (and consume) configurations (variables) that are globally available for use/consumption by plugins
  • Configuration Locality
    • Don't read/parse strings at the top of files for config detail (too much can go wrong and it's kind of confusing) - come up with a standard plugin config file that can be imported to necessary plugin functions
  • Connectivity
    • Plugins should inherit connectivity; try to keep any connection specific details out of plugins, aside from checking for connectivity (there may be some exceptions; if so, come up with a standard on how to handle in the plugin 'config file'

Should Support (try)

  • Filtering - Offer the ability to filter based on common elements, such as:
    • Datacenter
    • Cluster
    • VMHost
    • Datastore
    • VM name containing a certain string value
    • SRM placeholder VMs
  • Support for multiple endpoints
  • Improved Performance
    • Try to parallelize execution of plugins
  • Credential Management
    • Consistent means of storing credentials
  • Tests
    • Utilize Pester tests to validate plugins - subsequently require modules to pass standard tests before allowing PRs to be accepted, etc.
    • Add Pester tests for module and functions

Assumptions

Contraints

  • Execution is performed within a single foreach loop
  • Report generation is somewhat complex in order to account for dynamic creation of sections, etc. - involves quite a bit of looping
@vScripter vScripter self-assigned this Mar 21, 2017
@vScripter vScripter changed the title PS-Module: Specifications, Constraints, Assumptions [PS-Module] Specifications, Constraints, Assumptions Mar 27, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant