Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate controller for automatic updates #338

Open
Tracked by #112
christophenne opened this issue Mar 7, 2024 · 2 comments
Open
Tracked by #112

Separate controller for automatic updates #338

christophenne opened this issue Mar 7, 2024 · 2 comments

Comments

@christophenne
Copy link
Member

christophenne commented Mar 7, 2024

Is your feature request related to a problem? Please describe.
So far we designed auto-updated packages to simply have no Spec.Version set. However, this leads to a lot of added complexity and coupling everywhere in the codebase.

Describe the solution you'd like
We still want to support auto-updates, but we want to have the logic of checking for updates in a separate operator. This decouples the package reconciliation from the auto update aspect, and also it's easier to turn off this feature globally by shutting down this operator/deployment.

At the bootstrapping process, the user should be asked whether the auto-update-operator should be installed (default yes).

As a consequence, this means that all packages must have Spec.Version set at all times (see #341). The new controller will only check if an update is available, and then patch the version field, such that the update is also more transparent to the user.

As always, documentation should be updated.

Additional context

@thschue
Copy link
Collaborator

thschue commented Mar 7, 2024

I don't know if patching the Spec.Version field wouldn't cause problems with GitOps controllers. If you want to pin to a specific version, I think it would make sense to set the Version field and add the current Version to the Status (I'm not sure if this field already exists, but it would definitely make sense).

@christophenne
Copy link
Member Author

I don't know if patching the Spec.Version field wouldn't cause problems with GitOps controllers. If you want to pin to a specific version, I think it would make sense to set the Version field and add the current Version to the Status (I'm not sure if this field already exists, but it would definitely make sense).

The idea is to not install this controller in a GitOps environment. I didn't spec it correctly, but I updated the description now.

@christophenne christophenne added this to the v0.1.0 milestone Mar 7, 2024
@pmig pmig modified the milestones: v0.1.0, v0.2.0 Mar 11, 2024
@christophenne christophenne modified the milestones: v0.2.0, v1.0.0 Mar 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants