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.
Issue #, if available:
Description of changes:
For macos and windows and OS specific command prefix is attached to execute in the vm plane. As there is a vm plane, environment variables and credentials needs to be passed from the host to the vm. The limactl plane doesnt automatically handle this [Issue: https://github.com/lima-vm/lima/issues/1419]. To address this, the current finch handler used to parse or env flags [‘-e’,‘—env’,‘—env-file’], consolidated it and added it. For windows, the host path need to be translated to equivalent mount paths in the wsl environment.
In the proposed design, For macOS and windows we parse all env flags and add those env variables in the prefix of the limactl command. Here we dont modify the ordering or the contents of the command args reducing the complexity and chances of error getting introduced.
For windows path we do an inplace substitution based on regex pattern search across the args. This involves modifying the command args as windows to wsl path translation support for limactl shell execution is not provided. We use regexp to do a pattern match in substring of args split by separators. To validate this, we would rely on unit test and e2e tests.
Testing done:
TODO:
Devcontainers qualification tests.
License Acceptance
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.