* 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>
* ci: change license server to point to ci
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* chore: add comment to update license server value on vault
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
---------
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* Fixes the sybase_session resource was not working with c shell
Signed-off-by: Vasu1105 <vjagdale@progress.com>
* Adds TODO
Signed-off-by: Vasu1105 <vjagdale@progress.com>
---------
Signed-off-by: Vasu1105 <vjagdale@progress.com>
* fix: Incomplete string escaping or encoding
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* fix: Incomplete string escaping or encoding
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* fix: Incomplete string escaping or encoding
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* chore: fix lint offense for single quotes
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
---------
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* fix: update io reads to fix codescanning vuln
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* fix: remove kernel#open fallback and update open method to handle local files
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* fix: replace io.readlines to file.readlines
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* chore: fix lint offense, unnecessary space
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* fix: raise exception for standard errors as FetcherFailure
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* chore: update exception message
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
---------
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* Add configurable InSpec backend for Chef Infra
Signed-off-by: Thomas Heinen <thomasheinen@gmail.com>
* Add changing backend for Chef Infra
Signed-off-by: Thomas Heinen <thomasheinen@gmail.com>
* Add test
* Fix typo on test
Signed-off-by: Thomas Heinen <thomasheinen@gmail.com>
* Fix test
Signed-off-by: Thomas Heinen <thomasheinen@gmail.com>
---------
Signed-off-by: Thomas Heinen <thomasheinen@gmail.com>
* Pin the ffi version to be less than v1.17.0 as it's breaking the verify pipeline
Signed-off-by: Vasu1105 <vjagdale@progress.com>
* Adds comments for pinning ffi version
Signed-off-by: Vasu1105 <vjagdale@progress.com>
---------
Signed-off-by: Vasu1105 <vjagdale@progress.com>
* Fix for failing verify pipeline due to ffi version update
Signed-off-by: Vasu1105 <vjagdale@progress.com>
* upgrade to the latest rubygems version
Signed-off-by: Vasu1105 <vjagdale@progress.com>
---------
Signed-off-by: Vasu1105 <vjagdale@progress.com>
* feat: invoke warning message for non-commercial users if reporter is cli
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* temp: add reference to dev branch of chef-licensing to verify changes
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* ci: use commercial license on the CI from vault
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* revert: remove additional call to the chef licensing
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* chore: remove dev branch reference from Gemfile
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
---------
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* fix: remove --symref options from git ls-remote
it is causing issue on ubuntu16 and rhel6
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* spec: update test to match commit-sha.tar.gz instead of master.tar.gz
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* spec: skip test on windows, works locally on windows
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
---------
Signed-off-by: Sonu Saha <sonu.saha@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>
parser 3.3.1.0 introduced
https://github.com/whitequark/parser/pull/1000, which causes this
failure:
```
% bundle exec ruby -Itest test/unit/profiles/profile_test.rb
inspec/lib/inspec/utils/profile_ast_helpers.rb:7:in `<class:CollectorBase>': uninitialized constant Parser::AST::Processor::Mixin (NameError)
include Parser::AST::Processor::Mixin
^^^^^^^
```
Fix this by inherting from `Parser::AST::Processor` instead.
Closes#7029
Signed-off-by: Stan Hu <stanhu@gmail.com>
* fix: use git gem to perform git remote show
this fixes the issue to perform git remote show when dir is not a git dir
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* test: update test with default_ref stubbing
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* chore: remove stubs which are not required
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* chore: remove unused method
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* test: fix broken test due to changes in url fetcher
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* chore: improve error message to be user-friendly
this makes the error message as earlier one
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* chore: change error message:
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* revert: remove git gem dependency and use shellout
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* fix: update url fetcher to use ls-remote to make it work in non-git dirs
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
---------
Signed-off-by: Sonu Saha <sonu.saha@progress.com>