* 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>
* gem: Add cookstyle as a dependency for inspec-core.gemspec
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* chore: fix lint of empty newlines
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
---------
Signed-off-by: Sonu Saha <sonu.saha@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>
* Add a pair of files describing the relationship between the Chef EULA and the Apache 2.0 license, intended to be referenced from rubygems.org
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Add message to rubygems.org description of all 4 gems describing relationship between the two licenses
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Insert the full text of the Apache 2.0 license into the gem description on the advice of Legal
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Update README with message clarifying relationship between the two licenses
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Removes the full text of the Apache 2 license, which after clarification is not
in fact required to be in the rubygems description.
This reverts commit 4d02573f59.
* LINTING - adjust text markers
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* LINTING - training whitespace
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Remove the word 'below' when refering to the inclusion of the Apache 2.0 license
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Add Chef-EULA to list of included files to inspec-core
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
---------
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
faraday_middleware was already DEPRECATED in 2022-01.
Only FaradayMiddleware::FollowRedirects from faraday_middleware has been
used, and so we can replace it with faraday-follow_redirects.
faraday-follow_redirects 0.3.0 requires faraday ~> 1.0, which is as same
as "faraday_middleware 1.0.0 or higher.
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
rspec 3.10 is causing issues with chef/chef tests due to changes in
rspec-mock that we're working to resolve. Right now we'd like to get the
latest inspec releases into chef/chef w/o the need for rspec 3.10. At
runtime inspec doesn't need 3.10, but it does need it for tests, so
let's make sure we bring it in via the gemfile, but allow the older 3.9
release at runtime.
Signed-off-by: Tim Smith <tsmith@chef.io>
The currently ruby requirement is going to break things when we pull
Ruby 3 into Chef Infra Client next year.
Signed-off-by: Tim Smith <tsmith@chef.io>
It looks like we're only using this in 3 test files and it conflicts
with new RuboCop releases, which is blocking us shipping that new
release in Chef Infra Client and Workstation
Signed-off-by: Tim Smith <tsmith@chef.io>
Fixes#5296
rspec 3.10.0 introduces text changes to test outputs. Let's keep it pinned - we don't need to keep rspec current.
Signed-off-by: James Stocks <jstocks@chef.io>
There are several outstanding issues about bumping faraday and
faraday_middleware. This gives us access to additional HTTP methods and
the versions we are pinned to are quite old.
Fixes#4234
Signed-off-by: Nick Schwaderer <nschwaderer@chef.io>
We're just deleting this from chef and workstation anyways. It's buried deep in the install directory and doesn't do anyone any good.
Signed-off-by: Tim Smith <tsmith@chef.io>