Stabilize the ordering of initContainers #923
Merged
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.
Proposed changes
This PR is a breaking API change to ensure that a workspace's built-in init containers (bootstrap, fetch) are declared before any extra init containers found in the
podTemplate
.Implementation-wise, the desired ordering is achieved with the
$setElementOrder
directive, as documented here:https://github.com/kubernetes/design-proposals-archive/blob/main/cli/preserve-order-in-strategic-merge-patch.md
Migration Notes
If your application uses the
podTemplate
to inject init container(s), be aware that they'll run after thebootstrap
andfetch
containers. This means that the/share
volume will be present, and your program code will have been downloaded, before your init container runs.Related issues (optional)
Closes #774