chef / effortless

Automated best practices for Chef Infra and Chef InSpec
https://chef.io
Apache License 2.0
33 stars 38 forks source link

Chef Infra and Inspec should share the same ruby dependency #261

Open bl4ckcontact opened 3 years ago

bl4ckcontact commented 3 years ago

Describe the Enhancement:

Update Chef Infra and Inspec scaffolding to use the same ruby package.

Describe the Need:

Use the same ruby package for Windows-based Chef Infra and Inspec scaffolding on dependencies in an effort to reduce package dependencies and storage requirements. Currently, Chef Infra scaffolding depends on chef/ruby27-plus-devkit while the Inspec scaffolding requires chef/ruby-plus-devkit. Both of these packages are ~1.3GB in size, which doubles the storage requirement for any node running both audit and config packages.

Current Alternative

Not one that I'm aware of.

Can We Help You Implement This?:

This is a privately managed package in the chef origin. I'd assume this would require Chef's attention to address this.

TheLunaticScripter commented 3 years ago

@bl4ckcontact Thanks for submitting this. Currently, the scaffolding doesn't control the ruby version that is installed. That is controlled by the clients. The chef-client for version 16.x requires ruby 2.7. and the inspec client is currently still using ruby 2.6.5. One way to get around this is to pin to version 15 of the chef-client. Another options is to put in a PR to have this line https://github.com/inspec/inspec/blob/ecc26f4f12ec19b30a186077ca6721f90bb6fbb8/habitat/plan.ps1#L18 updated to ruby 2.7 and that should get out in the next release of the inspec client putting them both on ruby 2.7.