[SURE-7399] Create all bundles even if one fails
Fleet apply should not stop processing when it encounters an error in one of the bundles.
was https://github.com/rancher/fleet/issues/2655
Waiting for customer feedback.
I'd just like to say that graceful handling of unreachable chart URLs would be really helpful for us.
It would allow us to test bundle deployments in a dev environment where a targetCustomization declared chart url is at localhost in a development repository. Then the same, tested bundle, can be deployed to dev, qa, production environments with no changes and related target customized dev, qa and production repositories.
At this time we have our CI scripts updating the URLs and it's awkward.
A GitRepo can have multiple bundles, if one of those bundles fails to download its Helm chart, the others should be created. However, in this case it is one bundle using targetCustomization on the helm chart URL to create a multi-chart bundle.
This is probably done to re-use configuration and maintain less bundles and fleet.yaml files?
Using targetCustomization on the helm chart source creates a lot of edge cases. Ignoring download errors for charts doesn't fit well into Fleet's bundle lifecycle.
For most users an download error on a chart would be a bug. The error message would be reported upon bundle creation time. Ignoring download errors on multi-chart bundles will change the behavior, even for single-chart bundles. Network connectivity issues, availability issues of the chart and other kinds of download issues would create an incomplete Bundle resource.
So, we would need to put this feature behind a toggle.
It would then create an "incomplete" bundle, a concept Fleet doesn't have yet. A bundle is either created with all its resources or not. How would such an incomplete bundle look like in the Rancher UI, how do we report other errors? Would error conditions overwrite each other? What about resource counts, an installed bundle with zero resources, is that in a ready state?
And what about polling, bundle creation is normally not triggered unless the Git commit changes. Should an incomplete bundle repair itself automatically?
We will not pursue this further at this time.