-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Optionally use Finch to build container images #23680
Comments
Not super familiar with the codebase, but it seems like (other than some tests which use docker CLI) this is the main class/file that would need to be refactored to support other CLIs. Perhaps an extra argument to the constructor to specify the "root CLI command" could work? |
There is a CDK_DOCKER env var to do the drop-in Docker replacements Searching CDK_DOCKER and found there is only one more place using it besides of the one @pendo324 mentioned. -> Docker is also used in Bundling. Seems these two are the only places using Docker except tests. I will do some gap analysis for both files. |
I have PR coming up that will add better support for building the AWS CDK with We would also welcome a PR that adds an option to set CDK_DOCKER (probably needs a different name) via |
My PR is up |
Here are the current gaps for Finch drop-in replacement I identified with best effort. runfinch/finch#195 Should we log the failed finch command in e2e tests with CDK_DOCKER=finch so we may get a full list of gaps? |
I also would like to discuss the testing strategy. The tests can not only validate the current change is right, also ensure it for future versions. To test the Finch integration, Finch needs to be installed in the test environment and the scenarios will be all the existing scenarios with the CDK_DOCKER=“finch” environment variable.
As Finch is in pre v1.0, maybe we can start from Option 2 to catch most of the issues for users, and move to Option 1 at some point like when Finch is v1.0. |
@ningziwen I'm okay with option 2 in general. However we currently run the build pipeline in AWS CodeBuild which doesn't support MacOS builds. At least as far as I can tell. It might be easier to wait for Linux support. The other problem is going to be that our builds are currently set up to fail fast. So as soon as an error occurs, the build will stop. We will need some changes to run a build that gathers all failures. |
So CDK is not running e2e tests in macOS today? Is CDK open to add macOS Build by something like mac EC2?
I feel that tests are passing in Linux may not ensure the tests are also passing in macOS. |
Given that macOS Builds would be completely different than all our builds, I don't see us setting up builds for this. I reckon the best way forward would be to set up a separate GitHub Action workflow that checks out |
This issue has received a significant amount of attention so we are automatically upgrading its priority. A member of the community will see the re-prioritization and provide an update on the issue. |
When running a full CDK build, finch will require access to
additional_directories:
- path: /var/folders
- path: /private/var/folders |
Additional feature gap opened in Finch repo. runfinch/finch#243 |
I don't think we need to support " |
CDK supports is added in Finch v0.9.0: https://github.com/runfinch/finch/releases/tag/v0.9.0 |
|
Describe the feature
Finch is an open-source container runtime client for MacOS that has been published by AWS and has an Open Source license. Finch's command-line syntax is not 100% compatible with that of
docker
but is quite close.In anticipation of broader adoption of the tool by the community, CDK should support it for building and publishing container images.
Use Case
Finch is open source and free of charge, which is attracting both individual developers as well as large organizations who build container images on MacOS. CDK support for Finch will unblock developers who wish to use it.
Proposed Solution
No response
Other Information
Blog post: https://aws.amazon.com/blogs/opensource/introducing-finch-an-open-source-client-for-container-development/
Video: https://www.youtube.com/watch?v=S7JwFFZ-7_Q
Acknowledgements
CDK version used
Any
Environment details (OS name and version, etc.)
MacOS
The text was updated successfully, but these errors were encountered: