Istio sidecar cycling with enterprise on
Currently istio sidecars cycle based on changes to annotations which contain the istio version. The istio version is constructed by using the git.tag
(or helmRepo.tag
) and stripping off the -bb.x
suffix.
While this does work in most scenarios there are two key issues involving TID/enterprise istio:
- When switching between enterprise/non-enterprise there is no difference in the annotation. As a result sidecars will not cycle to the enterprise version if you enable it on an existing install.
- When the istio versions diverge between "normal" and "enterprise" this is not well captured by the annotation. As an example: Istio git tag is 1.16, updates to 1.17 but enterprise remains at 1.16. This would cause an unnecessary sidecar switch for anyone using enterprise. Then when enterprise actually updates to 1.17 the sidecars would not roll because the git tag is already at 1.17.
I think that the current logic being used is not robust enough to handle these scenarios and should be re-evaluated to determine a different/better approach.