mirror of
https://github.com/inspec/inspec
synced 2025-02-28 05:17:28 +00:00
* Initial commit - Inspec parallel setup Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Added dry run option functionality and renamed subcommand Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Runner logic parsing options file and executing cmds Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Validation logic changes for dry run and run commands Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Validator bug fix when using options like --sudo with no value Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * initial commit for using default options Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Logic to not parse empty lines and comments and some cleanup Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Functional test cases added Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Test cases fix and bug fix in validator Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Add logic to append default options passed from cli Signed-off-by: Sonu Saha <sonu.saha@progress.com> * Add test for default options and extend options-file-1.txt Signed-off-by: Sonu Saha <sonu.saha@progress.com> * Add comments in options-file-2 and 3 Signed-off-by: Sonu Saha <sonu.saha@progress.com> * Bug fix and some refactoring Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Changes from pair programming Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * Fixed incorrect line no used in dry run validation & added verbose option Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Initial code with parallel gem setup Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Error handling and some changes in parallel running result Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Working spawn and fork implementation; no pipes or error handling Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * CFINSPEC-143 Child status reporter plugin Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * Read status from children using pipes; Windows implementation is likely broken Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * Linting Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * Removed parallel gem and it's code usage Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Erb templating and option file as shell/powershell option added Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Added missing raise error in content reading logic Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Adding for the sake of keeping bash file syntax correct Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Switch to select() polling, enabling Windows support; also add a terrible hack to the child-status reporter Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * Move child-status reporter into inspec-parallel plugin to reduce pollution Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * Rename a bunch of things, remove some instance variables, always validate, and use Inspec::UI exit codes Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * Rework validation to be Thor-based; add logic to inject child-status reporter Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * Linting Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * Refactor parent UI to make it object oriented Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * Add a prototype 'status' super-reporter Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * Improve status UI edge cases, add info to output, make default Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * Error handling added when running bash instead of system check Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Daemon run for background process in unix system for parallel runs Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Added logic to cleanup daemon process' Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Review changes for background command name and windows handling Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Error raised with error handling class for options file Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Fix to not intialise ui when background run is opted Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * typo fix in child reporter append logic in validator Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Changes to trap control c and exit gracefully Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Moved ctl c handling code to command class Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Linter fixes Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Error and runner logging added Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * ERB pid option to use child process id for generating result output Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Renamed 38125 to Process.pid for clear notation Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Log path option added for inspec parallel Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Adjust ERB eval Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * STDERR logging added Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Fix of --bg with ui Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Deleting log files if empty and status super reporter to show done Signed-off-by: Nikita Mathur <nikita.mathur@chef.io> * Docs for InSpec Parallel Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> * Doc Review Signed-off-by: Deepa Kumaraswamy <dkumaras@progress.com> * Grammar corrections Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com> Co-authored-by: Sonu Saha <sonu.saha@progress.com> Co-authored-by: Clinton Wolfe <clintoncwolfe@gmail.com> Co-authored-by: Deepa Kumaraswamy <dkumaras@progress.com>
27 lines
857 B
Markdown
27 lines
857 B
Markdown
# Parallel Plugin
|
|
|
|
Plugin to handle parallel InSpec scan operations over multiple targets.
|
|
|
|
## parallel cli_command
|
|
|
|
Implements the `inspec parallel exec` CLI command.
|
|
|
|
## child-status Plugin
|
|
|
|
This reporter is an InSpec Streaming Reporter. It is used internally by inspec parallel to provide status updates on child processes.
|
|
|
|
### What This Plugin Does
|
|
|
|
For each control executed, after it is complete, the plugin emits a line to STDOUT like:
|
|
```
|
|
12/P/24/Control Title Here
|
|
```
|
|
When the run is complete, the single line 'EOF_MARKER' is emitted.
|
|
|
|
Where:
|
|
|
|
- 12 is the number of the control (12th seen out of all controls in all profiles)
|
|
- P indicates that it Passed (Also F = Failed, S = Skipped, E = Errored)
|
|
- 24 is the total number of controls in the run
|
|
- "Control Title Here" is the title (or if title is missing, id) of the last executed control
|
|
|