User Story: Given a solution set, the operator controller should ensure that the correct bundleDeployments exist.
Acceptance Criteria:
- Only one bundleDeployment is ever present for a particular package.
- If the solution set contains an entity that is not related to an existing bundleDeployment, create the bundleDeployment
- If the solution set contains an entity that is an upgrade for an existing bundleDeployment, update the bundleDeployment.
- If a bundleDeployment exists for an entity that is no longer in the solution set, delete the bundleDeployment.
Out of scope:
- Dependencies
- Some outside constraint invalidates an existing bundleDeployment. Examples:
-- Operator Foo only supports clusters at version 1.24, the cluster has been upgraded to version 1.25. All resolutions are effectively broken because the existing install and subsequent upgrades are invalid.
-- Supporting resolutions if an installed entity is removed from the catalogSource.