[POC] Use single stack for top level functions #1980
Draft
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.
Problem
Certain usage patterns of functions end up with
Caused By: ❌ Deployment failed: Error [ValidationError]: Circular dependency between resources:
.This happens is scenarios where it could have been avoided. Just because we pack all functions into same stack and therefore coupling them together.
Changes
This PR explores potential mitigation of the problem in a form of a knob that makes backend to put all top level resources in single stack.
I.e.
Validation
There are two test projects used to reproduce the original problem:
test-projects/function-stack-1
test-projects/function-stack-2
Both deployed successfully with new setting.
Checklist
run-e2e
label set.By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.