Commit 1cf01b3
authored
feat: Implement Finch container client (#8285)
* feat: Finch Native Support
Adds Finch container runtime support as an alternative to Docker for AWS SAM CLI local development and testing.
Finch provides a lightweight, open-source container runtime that offers better performance and resource
efficiency compared to Docker Desktop, especially inenterprise environments. This change enables SAM CLI
users to leverage Finch for local Lambda function development, testing, and debugging without requiring Docker Desktop.
How does it address the issue?
- Container Runtime Abstraction: Implements a unified container client system that supports both Docker and Finch through a factory pattern
- Automatic Detection: Adds enterprise detectionmechanism to automatically identify and configure Finch installations
- API Compatibility: Ensures all existing SAM CLI container operations work seamlessly with Finch
- Test Infrastructure: Updates integration and unit tests to support both container runtimes
- Error Handling: Provides Finch-specific error messages and fallback mechanisms
- Performance Optimizations: Implements file locking and build caching to prevent race conditions
What side effects does this change have?
- Users can now use Finch as a Docker alternative, potentially improving performance and
reducing resource usage
- Existing Docker workflows remain unchanged; Finch support is additive
- New metrics track container runtime preferences for usage analytics
* increase time out for build integration tests
Issue with AppVeyor Windows instances that take longer to finishing building.
* fix: container engine telemetry
* fix: container engine telemetry
* fix: telemetry test in make pr failure1 parent 117d537 commit 1cf01b3
File tree
111 files changed
+9072
-800
lines changed- samcli
- commands
- local/cli_common
- logs
- package
- sync
- traces
- lib
- build
- deploy
- observability/xray_traces
- package
- sync
- flows
- telemetry
- utils
- local
- apigw
- common
- docker
- events
- lambdafn
- layers
- tests
- integration
- buildcmd
- delete
- deploy
- local
- invoke
- start_api
- start_lambda
- package
- sync
- telemetry
- testdata
- buildcmd
- load_image_archive
- package/load-image-archive
- traces
- unit
- commands
- buildcmd
- delete
- local/cli_common
- package
- sync
- hook_packages/terraform/hooks/prepare
- lib
- build_module
- deploy
- observability/cw_logs
- package
- sync
- flows
- telemetry
- utils
- local
- apigw
- common
- docker
- events
- lambdafn
- layers
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
111 files changed
+9072
-800
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
423 | 423 | | |
424 | 424 | | |
425 | 425 | | |
| 426 | + | |
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | 36 | | |
42 | 37 | | |
43 | 38 | | |
| |||
220 | 215 | | |
221 | 216 | | |
222 | 217 | | |
| 218 | + | |
223 | 219 | | |
224 | 220 | | |
225 | 221 | | |
| |||
280 | 276 | | |
281 | 277 | | |
282 | 278 | | |
283 | | - | |
284 | | - | |
285 | | - | |
286 | | - | |
287 | | - | |
288 | 279 | | |
289 | 280 | | |
290 | | - | |
| 281 | + | |
291 | 282 | | |
292 | 283 | | |
293 | 284 | | |
| |||
312 | 303 | | |
313 | 304 | | |
314 | 305 | | |
315 | | - | |
| 306 | + | |
316 | 307 | | |
317 | 308 | | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
318 | 312 | | |
319 | 313 | | |
320 | 314 | | |
| 315 | + | |
| 316 | + | |
321 | 317 | | |
322 | 318 | | |
323 | | - | |
| 319 | + | |
324 | 320 | | |
325 | 321 | | |
326 | 322 | | |
| |||
329 | 325 | | |
330 | 326 | | |
331 | 327 | | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
332 | 332 | | |
333 | 333 | | |
334 | 334 | | |
335 | 335 | | |
336 | 336 | | |
337 | 337 | | |
338 | | - | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
339 | 349 | | |
340 | 350 | | |
341 | 351 | | |
| |||
347 | 357 | | |
348 | 358 | | |
349 | 359 | | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
350 | 443 | | |
351 | 444 | | |
352 | 445 | | |
| |||
453 | 546 | | |
454 | 547 | | |
455 | 548 | | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
456 | 559 | | |
457 | 560 | | |
458 | 561 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
154 | 154 | | |
155 | 155 | | |
156 | 156 | | |
157 | | - | |
| 157 | + | |
158 | 158 | | |
159 | 159 | | |
160 | 160 | | |
| |||
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
171 | | - | |
| 171 | + | |
172 | 172 | | |
173 | 173 | | |
174 | 174 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
25 | 24 | | |
26 | 25 | | |
27 | | - | |
28 | 26 | | |
29 | 27 | | |
30 | 28 | | |
| |||
36 | 34 | | |
37 | 35 | | |
38 | 36 | | |
| 37 | + | |
39 | 38 | | |
40 | 39 | | |
41 | 40 | | |
| |||
124 | 123 | | |
125 | 124 | | |
126 | 125 | | |
127 | | - | |
| 126 | + | |
128 | 127 | | |
129 | 128 | | |
130 | 129 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
| 59 | + | |
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | | - | |
| 65 | + | |
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
| 76 | + | |
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | | - | |
| 85 | + | |
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
| |||
0 commit comments