kudobuilder / kudo

Kubernetes Universal Declarative Operator (KUDO)
https://kudo.dev
Apache License 2.0
1.18k stars 101 forks source link

KEP-29: Handle changed dependencies when upgrading operators #1558

Closed nfnt closed 4 years ago

nfnt commented 4 years ago

What this PR does / why we need it: When upgrading operators with dependencies, its dependencies could have changed. In this case the Operator and OperatorVersion resources of the new dependencies are installed. Outdated OperatorVersion resources aren't removed.

The code was refactored to decouple dependency handling from package installation and have separate packages to install and upgrade KUDO resources. Refactorings:

Fixes #1514