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.
This PR adds a runtime mode in the Compute Unit called "Read". The initial goal of this mode is to be a stateless application that can be horizontally scaled out in order to handle dry-runs. All of this is accomplished using top-level configuration. In this mode:
/result
,/state
,/results
, and/cron
endpoints are disabled. Basically only/dry-run
is enabled (and also/metrics
if the metrics endpoint flag is enabled)Combined with the ability to leverage Postgres for persistence added in #1095, CUs in "Read" mode may be deployed using common patterns for stateless applications ie. horizontal scaling, "cattle" (as opposed to "pets") clusters, etc.
This also contains a related optimization. ao Process
data
is no longer cached, and is instead fetched once, as part of a cold start, since that is the only time when the ao Processdata
is needed. This mitigates large unstructured ao Process data (ie.Bootloader
) from bloating persistence.