Execute ap apply batches in dependency order - #932
Conversation
| * **History** - object used to compute/track the version state that will be | ||
| stored on the `authproxy.net/last-applied-configuration`. | ||
| * **Plan** - A computed single field mutation that is applied to the live | ||
| resource. |
There was a problem hiding this comment.
Please correct any mistakes I've made in the above sections but avoid making unnecessary rewrites.
Please add any other key terms/concepts.
There was a problem hiding this comment.
Addressed in 16a6a8c. Preserved the overview while correcting typos and clarifying three-way comparison, managed-field drift, and secret exclusion with presence markers. Corrected Plan to mean one resource operation (create/update/unchanged), which can change multiple fields. Added Target, Reconciliation, Managed field, Batch, and Result, and clarified that the history version describes its storage format.
| * **Plan** - A computed single field mutation that is applied to the live | ||
| resource. | ||
|
|
||
| # Details |
There was a problem hiding this comment.
For this section and below feel free to make updates as you see fit (rewrite however much you want). Please review it and make sure it is presenting information in an order where a person with no knowledge of the system is walked through details about concepts in an order that builds on their knowledge. They will have the above overview to guide them, but avoid jumping between topics and concepts and try to progressively build the reader's understanding. Where necessary, introduce a concept with a simple, brief explanation before jumping into details.
There was a problem hiding this comment.
Addressed in 16a6a8c. Reordered Details to follow loading/validation, connection and target resolution, plan computation, history storage, dependency ordering, and execution/results. Added a small label example for field management and introduced prerequisites, edges, and cycles before their implementation details. Consolidated repeated failure/retry explanations and checked the descriptions against the code. Preflight and git diff --check passed; this change only touches the package README.
|
Addressed the pending comment on Batch.dependency in da8ac8f. Added documentation for its behavior, all six parameters, namespace ordering exception, verification cache, generation checks, and errors. Preflight and git diff --check passed. GitHub rejected a direct thread reply because this account already has a pending review; leaving the update here without submitting or changing that review. |
Enables
ap applyto create, update, and report unchanged cluster resources. The complete batch is resolved and validated before writes, then executed in stable dependency order. Failed resources skip their dependents while independent resources continue; partial failures return a nonzero exit status and preserve successful writes.--request-timeoutand the existing authentication/configuration flags. Client dry-run remains offline.Conditional writes, conflict replanning, and connector generation lifecycle remain in #924. This change does not promise rollback or retry ambiguous mutations.
Validation:
go test -race ./internal/apply ./internal/schema/registry ./cmd/cli/config ./cmd/cliyarn docs:build./scripts/preflight.shgit diff --checkCloses #923.
Part of #919.