Early apply namespaces in addition to CRDs #547
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.
This makes it possible for a KOTS application include a namespace definition and manifest that will be deployed into that namespace, while supporting a single "apply" release.
The operator, which handles the application phase, will extract namespaces from the manifest, apply them before applying the rest of the documents.
There's a 5 second hard coded sleep after CRD and namespace that already exists. The Kubernetes API server will have this much time to actually apply the namespace or the deploy will still fail.
A better solution could be to use an informer to allow for the namespace creation to happen in > 5 seconds. This has not been a problem yet, but this is something to watch for.