Praj/include chef cli as a hab dep bak #38
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This update modifies plan.sh and introduces a bin/kitchen executable that can intelligently determine whether it is being executed within a Habitat (hab) environment or as a binlinked binary. The script will automatically call the appropriate executables with the correct paths based on its execution context.
This change eliminates the need to manually set or modify environment variables related to the user’s Ruby environment (GEM_HOME, GEM_PATH, PATH) within the plan file or executable scripts.
Issues Resolved
Type of Change
This change refines the Habitat packaging process for the individual components included in dke.
Check List
Testing & Acceptance Criteria
chef-cli) should be included in thetkeHabitat package. No additional packages need to be installed for standalone tke to function.tkeshould exclusively use the version ofchef-clishipped within its package, even when installed as part ofdke.chef-cli(whether binlinked or not) should not affecttke's functionality, ensuring stability after installation.tkeshould not binlink any of its dependencies (chef-cli) whentkeitself is binlinked.Standalone
tkeScenariosKITCHEN_VERSIONset in the environment.KITCHEN_VERSIONin the environment.hab pkg exec, withKITCHEN_VERSIONset.hab pkg exec, withoutKITCHEN_VERSIONset.dkeIntegration Tests ( chef-cli related testing could be done with the Policyfile use for tke)dkealongside a standalone binlinkedtke, test when:dkeis not binlinked (tkeshould use its ownchef-cli).dkeis binlinked (tkeshould use its ownchef-cli).dkealongside a standalone non-binlinkedtke, test when:dkeis not binlinked (tkeshould use its ownchef-cli).dkeis binlinked (tkeshould use its ownchef-cli).tkeIntegration Tests withdkeBinlinking ( chef-cli related testing could be done with the Policyfile use for tke)tkewithin a binlinkeddkesetup, test when:tkeis not binlinked (it should still use its ownchef-cli).tkeis binlinked (it should still use its ownchef-cli).tkewithin a non-binlinkeddkesetup, test when:tkeis not binlinked (it should still use its ownchef-cli).tkeis binlinked (it should still use its ownchef-cli).Version Stability Test
tkeanddke, then upgradechef-clito the latest version:dkeshould use the latest or pinned version.tkeshould continue using thechef-cliversion it was packaged with.Additional Considerations
Assumptions