* FIX: Handle invalid license exception as handled in base_cli:57
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* Use 174 error code when exiting with license subsystem error from license add
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
---------
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
Co-authored-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Error logging changes to fix renaming of files in windows
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Parallel rename, delete and logging fix for windows
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Log path changes reverted after testing with static logs directory
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Fix lint
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Logic to rename error log files on interrupt
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* An attempt to reduce the delay on control c interrupt by killing child process instantly
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Only rename existing file of the child process to avoid conficts in renaming
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Fix in renaming with control-c interrupt by invoking from command library itself
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Added logic to wait for processes to die after process kill, to fix error on interrupt
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Removed idle inititation on status super reporter for parallel - needs future improvements
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Fileutils Mkdir usage refactoring
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
---------
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
Co-authored-by: Nikita Mathur <nikita.mathur@chef.io>
Co-authored-by: Vasu1105 <vasundhara.jagdale@chef.io>
Sending EOF Marker at the end of of the whole suit run here instead of depending on the controls count
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
Co-authored-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Update license commands description to be updated for local mode
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* To hide licensing information in help for CINC & other distros
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
---------
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Initial commit to set inspec cli command license
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* INTEGRATE: Use chef_licensing endpoint to list licenses info
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* CHORE: Update chef-licensing gem name, update description
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* CHEF-56 License add command integrated (#11)
* Added license add command in inspec license command plugin
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Chef licensing gem changes pointing to url and branch
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
---------
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* EXEC_NAME is always inspec as set in Dist,
check is not required
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* DOCS: Update docs for the plugin
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* DOCS: Update docs for the plugin
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
---------
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
Co-authored-by: Nikita Mathur <nikita.mathur@chef.io>
Co-authored-by: Nikita Mathur <Nik08@users.noreply.github.com>
* We will never be on 2.6 again
* Only run html-proofer test on Ruby 3
* Pin to chef 16 on ruby 2.7, 17+ on Ruby 3
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
Co-authored-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* adding the alicloud in the spec.files
* adding the test for generating inspec profile alicloud
* adding the alicloud profile
* fix lint error
Signed-off-by: Soumyodeep Karmakar <soumyo.k13@gmail.com>
Co-authored-by: Soumyodeep Karmakar <63713087+soumyo13@users.noreply.github.com>
* Not applicable if logic addition
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Changes from not applicable if to only applicable if
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Fix to enable placing only_applicable_if at any position in control and for keeping impact zero intact
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Doc change added for only_applicable_if
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Doc Review
Signed-off-by: Deepa Kumaraswamy <dkumaras@progress.com>
* Added generic examples that supports cross platform for testing
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Yet another build fix due to changes in test
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
Signed-off-by: Deepa Kumaraswamy <dkumaras@progress.com>
Co-authored-by: Deepa Kumaraswamy <dkumaras@progress.com>
* Convenience method skeleton
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Basic support for a config file
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Add features() array method
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Accept config as an option to with_feature
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Accept logger as an option to with_feature
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Refactor to push code into its own files
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Basic logger integration
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Crude validation of feature names, simply issues a warning log message
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Linting
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Add basic tamperproofing to feature config
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Convenience method skeleton
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Basic support for a config file
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Add features() array method
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Accept config as an option to with_feature
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Accept logger as an option to with_feature
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Refactor to push code into its own files
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Basic logger integration
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Crude validation of feature names, simply issues a warning log message
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Linting
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Add basic tamperproofing to feature config
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* CFINSPEC-464 CLI commands declaration using with_feature functionality (#6263)
* Declared inspec cli commands within feature_with function
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Added enhanced outcomes, waivers, reporters and streaming reporters within with_feature block
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Added with_feature declaration for attestations
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Update features.yaml signature after adding in new feature flags
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Fix lint
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Resolved undefined method with_feature in reporters.rb
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Fix for features tampered file test failing
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Fixed the failing functional test for junit2: Missing the entry in the features.yaml
Added progress-bar reporter entry in features.yaml
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
Co-authored-by: Nikita Mathur <Nik08@users.noreply.github.com>
Co-authored-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Added attestation file option to read attestation in various formats
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Added method to add attestation data on control level
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Enhanced outcomes flag to be true when attestation file is passed
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Added logic for attestation for reporters
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Attestation integration with streaming reporters and lots of refactoring
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Support for mitre - with frequency, updated and explanation fields'
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* To only revise enhanced outcomes when attestation data is present for the control - fix in streaming reporter
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Added test cases for attestation and also added validation warnings
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Attestation test for different formats of attestation file
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Validating presence of status column to be mandtory for attestation files
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Build fix
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Attestation build fix for windows
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* No justification and no status graceful handling
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* New class attestations added for logic and added missing test attestations file
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Code comments and cli doc changes for attestation option
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Moved logic of attestations and enhanced outcomes to the base of streaming reporter
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Attestation documentation added
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Added information on what happens if justification is missing in attestation file
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Attestation doc changes as per the review
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* File fields doc changes in attestation doc
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Content Review
Signed-off-by: Deepa Kumaraswamy <dkumaras@progress.com>
* Edits
Signed-off-by: Deepa Kumaraswamy <dkumaras@progress.com>
* Attestation test changes matching regex and separated logic for expiration using frequency and updated date
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Proof-read
Signed-off-by: Deepa Kumaraswamy <dkumaras@progress.com>
* Name changes for expiry calculation method
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Generic tests in attestations for cross platform
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
Signed-off-by: Deepa Kumaraswamy <dkumaras@progress.com>
Co-authored-by: Deepa Kumaraswamy <dkumaras@progress.com>
* add ruby test 3.1 in verify pipeline
Signed-off-by: jayashri garud <jgarud@msystechnologies.com>
* updating rubygem to 3.3.3
Signed-off-by: jayashri garud <jgarud@msystechnologies.com>
* Test fixture plugin files for ABI 3.1.0
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Use kwargs to match new calling style for ERB in ruby 2.7 and 3.0
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Allow Date and Time data types, needed for waivers, since safe load is now the default for YAML
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Use Time.parse, not Time.new since the rules tightened for what you can pass the constructor for waiver dates
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Add ruby platform debug message to test parallel output
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Conditionalize permitted_classes in inputs yaml_load for <= 3.1.x only
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* In ruby 3.1.0 net/pop3 is no more a default gem and that will require us to add it in Gemfile so trying with the byebug gem which we are bundling already
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* CFINSPEC-166 Updated url fetcher to handle Net::OpenTimeout Exception on Windows
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
Co-authored-by: Clinton Wolfe <clintoncwolfe@gmail.com>
Co-authored-by: Vasu1105 <vasundhara.jagdale@chef.io>
* add ruby test 3.1 in verify pipeline
Signed-off-by: jayashri garud <jgarud@msystechnologies.com>
* updating rubygem to 3.3.3
Signed-off-by: jayashri garud <jgarud@msystechnologies.com>
* Test fixture plugin files for ABI 3.1.0
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Use kwargs to match new calling style for ERB in ruby 2.7 and 3.0
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Allow Date and Time data types, needed for waivers, since safe load is now the default for YAML
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Use Time.parse, not Time.new since the rules tightened for what you can pass the constructor for waiver dates
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Add ruby platform debug message to test parallel output
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Conditionalize permitted_classes in inputs yaml_load for <= 3.1.x only
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* In ruby 3.1.0 net/pop3 is no more a default gem and that will require us to add it in Gemfile so trying with the byebug gem which we are bundling already
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* CFINSPEC-166 Updated url fetcher to handle Net::OpenTimeout Exception on Windows
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
Co-authored-by: Clinton Wolfe <clintoncwolfe@gmail.com>
Co-authored-by: Vasu1105 <vasundhara.jagdale@chef.io>
* 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>