* Remove unused telemetry v1 code
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Sketch out basics of telemetry, with start/stop of invocation telemetry
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Data structure for run telemetry - job capture
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Add per-control and per-run feature detection
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* CHEF-4017 Telemetry job api updations (#6965)
* Added initial changes to jobs api
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Feature flag changes for telemetry
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* move base, debug and null to its own file structure
Signed-off-by: Sathish <sbabu@progress.com>
* make HTTP client post requests
Signed-off-by: Sathish <sbabu@progress.com>
* remove old logic
Signed-off-by: Sathish <sbabu@progress.com>
* make backend class as `HTTP`
Signed-off-by: Sathish <sbabu@progress.com>
* CHEF-7258 Fetch and use licensing information for telemetry (#6964)
* Added method to fetch license ids for inspec
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Added free license check for performing telemetry api call
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* move base, debug and null to its own file structure
Signed-off-by: Sathish <sbabu@progress.com>
* make HTTP client post requests
Signed-off-by: Sathish <sbabu@progress.com>
* remove old logic
Signed-off-by: Sathish <sbabu@progress.com>
* make backend class as `HTTP`
Signed-off-by: Sathish <sbabu@progress.com>
---------
Signed-off-by: Nik08 <nikita.mathur@progress.com>
Signed-off-by: Sathish <sbabu@progress.com>
Co-authored-by: Sathish <sbabu@progress.com>
* Updated control tags and desc value to be used in jobs api
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Added checks for automate run context and free license check
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* capture target mode and id
Signed-off-by: Sathish <sbabu@progress.com>
* profile doesn't need ID
Signed-off-by: Sathish <sbabu@progress.com>
* use run context to set environment data
Signed-off-by: Sathish <sbabu@progress.com>
* refactor `create_wrapper` to be localized
Signed-off-by: Sathish <sbabu@progress.com>
* change all timestamps to be UTC
Signed-off-by: Sathish <sbabu@progress.com>
* Null checks for response and corrected job api endpoint
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Fixed tag values to be sent as string in api call
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* make version as float
Signed-off-by: Sathish <sbabu@progress.com>
* add platform name
Signed-off-by: Sathish <sbabu@progress.com>
* Added control result data in jobs api payload
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Debug logs added for telemetry call
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Removed unwanted telemetry debug class
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Payload fix to pass features data only on per control basis
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Added class function to list all invoked features by feature sub system
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Using feature system to get all invoked features list to be used in jobs api
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Unit tests cases updated and fixed
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* License type check downcased
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Lint fix
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* CHEF-7265 Telemetry opt-in for CINC users (#6966)
* Enabled telemtry opt-in
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Removed old comments
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Unit test case added to validate the disabling telemetry behaviour for inspec user
Signed-off-by: Nik08 <nikita.mathur@progress.com>
---------
Signed-off-by: Nik08 <nikita.mathur@progress.com>
---------
Signed-off-by: Nik08 <nikita.mathur@progress.com>
Signed-off-by: Sathish <sbabu@progress.com>
Co-authored-by: Sathish <sbabu@progress.com>
* Product team review changes - only disable telemetry for commercial license users
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Connection failure handling for telemetry http call
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Testing fix - Remove usage of deleted library
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Telemetry test case fix - Issue caused because unit test are run without feature flag env set
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Fixed and replaced tightly coupled semver versioning regex matching test for telemetry data
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Telemery test fix to use license key from env or a dummy value if not set in env
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Added error logs in case the http call is not successful for telemetry
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Error handling for telemetry start and run calls
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Telemetry opt-in changes (#7055)
* Removed usage of feature system to enable telemetry - making it opt-in by default
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Telemetry disable check fix when no option is passed in args
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Fix in test to use license specs defined for testing
Signed-off-by: Nik08 <nikita.mathur@progress.com>
---------
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* (Restoring) CHEF-10392 load default telemetry url conditionally (#7059)
* load default telemetry url conditionally
Signed-off-by: Sathish <sbabu@progress.com>
* remove version base path
version base path is defined in jobs path already
Signed-off-by: Sathish <sbabu@progress.com>
* use `CHEF_` prefix for the ENV
Signed-off-by: Sathish <sbabu@progress.com>
---------
Signed-off-by: Sathish <sbabu@progress.com>
Co-authored-by: Sathish <sbabu@progress.com>
* Typo fix in features list
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Stub added for CI license key
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* License usage telemetry correction - not track control results (#7060)
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Changes to disable telemetry for other InSpec distros (#7065)
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Lint issue fix
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Removing disable telemetry test - breaks on CI because of commercial license usage
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* CHEF-13228 Chef licensing telemetry documentation (#7056)
* WIP chef telemetry env variable usage updated
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* WIP intro added for chef telemetry - requires edit
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Correction in opt in behaviour of telemetry
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Doc update after default opt in changes
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Doc edit from product
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Doc edit
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Edits
Signed-off-by: Ian Maddaus <ian.maddaus@progress.com>
---------
Signed-off-by: Nik08 <nikita.mathur@progress.com>
Signed-off-by: Ian Maddaus <ian.maddaus@progress.com>
Co-authored-by: Ian Maddaus <ian.maddaus@progress.com>
* Updated version pinning of chef licensing to version 1 for chef telemetry
Signed-off-by: Nik08 <nikita.mathur@progress.com>
---------
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
Signed-off-by: Nik08 <nikita.mathur@progress.com>
Signed-off-by: Sathish <sbabu@progress.com>
Signed-off-by: Ian Maddaus <ian.maddaus@progress.com>
Co-authored-by: Nikita Mathur <Nik08@users.noreply.github.com>
Co-authored-by: Sathish <sbabu@progress.com>
Co-authored-by: Nik08 <nikita.mathur@progress.com>
Co-authored-by: Ian Maddaus <ian.maddaus@progress.com>
* Adds cli options to enable audit log and configure the audit log
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Updated code to validate the audit log options. Audit log options are only valid for inspec exec and inspec shell command as those commands use the backend to execute commands and for file operations
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Updates cli options documentation for audit log options
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Disable audit log in test environment unless and until explicitly --enable-audit-log option is provided in test
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Rename enable-audit-log cli option to disable-audit-log
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* CHEF-8210 Enables feature preview flag for audit logging
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Revert "Disable audit log in test environment unless and until explicitly --enable-audit-log option is provided in test"
This reverts commit 50a42f0b44cf2fde6d927a00e444370cdd288a5d.
* Adds functional test for audit logging feature
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Updates cli doc for audit loggin feature flag
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Debug why audit log functional test fails in ci environment
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Revert "Rename enable-audit-log cli option to disable-audit-log"
This reverts commit d5169ec705.
* Revert "Debug why audit log functional test fails in ci environment"
This reverts commit 6f43898ad0.
* Removes the --enable-audit-log option from cli as feature flag will handle the enabling and disabling of audit log feature. And introduces few code changes after reverting renaming of --enable-audit-log option
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Updates the functional test for audit log
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* REVERT THIS ONCE THE TEST IS GREEN: This is just to test implementation of audit log against the train changes made for audit log
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Removes the right one
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Documentation for inspec audit logging feature
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Renames inspec audit log file
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Edits to audit log docs
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Remove --audit-log-rotation and --audit-log-size option to set from CLI
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Make sure we delete audit log file before running each test
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Appends timestamp and process id to generate audit log file per invocation/execution
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Updates functional test for audit logging feature
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Fix typo in audit logging docs
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Appends the timestamp and process id to user provided audit log file so that unique audit log file created per invocation
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Updates the audit log functional test
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Minor code improvements
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Adds exception class for invalid audit log options
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Revert "REVERT THIS ONCE THE TEST IS GREEN: This is just to test implementation of audit log against the train changes made for audit log"
This reverts commit a66137e70b.
* Upgrade train-core version pinning
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Docs review
Signed-off-by: Ian Maddaus <ian.maddaus@progress.com>
* Fix titles
Signed-off-by: Ian Maddaus <ian.maddaus@progress.com>
* Update the signature for features.yaml file
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
---------
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
Signed-off-by: Ian Maddaus <ian.maddaus@progress.com>
Co-authored-by: Clinton Wolfe <clintoncwolfe@gmail.com>
Co-authored-by: Ian Maddaus <ian.maddaus@progress.com>
* Updated exec option to allow unsigned profiles run
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Added method to verify signed profile and to check for signed profile
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Invoked logic on each run to verify profiles if signed else raise sig req error
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Tests cases added to validate behaviour of inspec exec with signed and unsigned profiles with --chef-allow-unsigned flag
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Refactored and moved delete_signing_keys to common helper library for tests
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Updated code comments for more information and clarity on security update of signed profiles inspec exec
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Test cases to validate inspec run with combination of signed and unsigned profiles
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Documented usage of flag --chef-allow-unsigned
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Renamed the flag to run unsigned profiles to --allow-unsigned
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Refactored logic on profile level for profile signing verification
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Renaming the argument variable - from runner_call to silent
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Added profile mandate check for other inspec commands running profile evaluation
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Updated error message for profile sign requirement
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Updated test helper to fix inspec json test
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Fixed inspec json ability to use cli options successfully
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Documentation added for signed profiles mandatory usage with CLI commands
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Flow changes of raising exception when unsigned instead of direct exit
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Renamed unsigned profile flags
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Extracted out allow unsigned condition to config and modified comment info
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Doc update on consent of using signed and unsigned profiles
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Fix in signing mandatin check and added additional check on runner for better error UI for exec command
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Removed repeated allow-unsigned-profile defination from exec_options
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Test fixes
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Enabled feature preview flag for mandatory signing
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Test fixes after feature flag usage for mandatory signing
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Doc changes using feature preview flag for mandatory signing feature
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Inspec exec tests fixes for ENV values and parallel test fix using default option --allow-unsigned-profile false
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Kitchen fix while using signed profiles with inspec
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Unit test fix for profile resource exception
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Virtual profile detection improved
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Move mandatory profile sigining info to sigining page
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Renamed flag from --allow-unsigned-profile to --allow-unsigned-profiles
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Typo fix in signing doc
Signed-off-by: Nik08 <nikita.mathur@progress.com>
* Trim note in cli.md about mandatory profile signing
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Docs changes
Signed-off-by: Ian Maddaus <ian.maddaus@progress.com>
* Correct docs regarding exit code 5
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
---------
Signed-off-by: Nik08 <nikita.mathur@progress.com>
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
Signed-off-by: Ian Maddaus <ian.maddaus@progress.com>
Co-authored-by: Clinton Wolfe <clintoncwolfe@gmail.com>
Co-authored-by: Ian Maddaus <ian.maddaus@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>
The classes in inspec/object have been moved to the inspec-objects
library. They aren't used directly by Inspec and will be removed in the
next major release.
Signed-off-by: Bryan McLellan <btm@loftninjas.org>
This converts all current deprecation warnings/TODOs to use the
`Inspec.deprecate()` deprecation facility.
This also modifies `Inspec.deprecate()` to only require 1 argument.
Signed-off-by: Jerry Aldrich <jerryaldrichiii@gmail.com>