stakater / Reloader

A Kubernetes controller to watch changes in ConfigMap and Secrets and do rolling upgrades on Pods with their associated Deployment, StatefulSet, DaemonSet and DeploymentConfig – [✩Star] if you're using it!
https://docs.stakater.com/reloader/
Apache License 2.0
7.12k stars 476 forks source link

Consider changing release strategy #685

Open onedr0p opened 3 weeks ago

onedr0p commented 3 weeks ago

Team, I love using reloader but since I am using renovate to update it in my clusters the churn of releases are getting overwhelming. Any chance this can be addressed to not release on every merged PR to the main branch? Does every merged PR warrant a new release? Thanks.

EDIT: I understand the current way lessens the burden of having to manually craft new releases and makes it so this project is pretty much auto-piloted however not every merged PR justifies a release IMO.

IdanAdar commented 2 weeks ago

Would like to highlight this part from your comment:

since I am using renovate to update it in my clusters

I could understand maybe doing this in development environment, but do you update your production clusters the same way, too? This seems very specific to your use case...

onedr0p commented 2 weeks ago

It doesn't matter, whether dev, stage or production or whatever. Changing the release strategy to being manually curated would stop things like this from being released.

https://github.com/stakater/Reloader/commit/b73b04d9aeca86d7230e0f9ab146baeb576ed54f

This is the second time the release has been broken in the past couple months

buroa commented 2 weeks ago

Would like to highlight this part from your comment:

since I am using renovate to update it in my clusters

I could understand maybe doing this in development environment, but do you update your production clusters the same way, too? This seems very specific to your use case...

@IdanAdar This is how many organizations update, and it just broke a few of my production work clusters.

IdanAdar commented 2 weeks ago

Puts in question your production environment IMO...

buroa commented 2 weeks ago

Puts in question your production environment IMO...

Cause I use renovate? How are you an SRE Team Lead... olol

IdanAdar commented 2 weeks ago

Because you update directly to production lolol. πŸ€·β€β™‚οΈ

onedr0p commented 2 weeks ago

Because you update directly to production lolol. πŸ€·β€β™‚οΈ

I never updated dev, stage or production, the PR comes from renovate for my GitOps repo, runs tests, and I can see that it fails so I don't merge it.

IdanAdar commented 2 weeks ago

Your production broke because you pushed directly to it before testing it and you're complaining on someone else's release process instead of your own release process? Please...

joryirving commented 2 weeks ago

We also get notifications in slack at work when reloader is updated. Because it's a manual process for us to update charts (because production), it becomes a chore to manually comb through a bunch of release notes to only find out the README was updated, and functionally nothing has changed.

It would be nice to only have releases when the code is changed.

buroa commented 2 weeks ago

Because you update directly to production lolol. πŸ€·β€β™‚οΈ

You really don't understand my environment, but tried to directly criticize how I update. What's a fact here, is this merging pipeline needs to change.

Your production broke because you pushed directly to it before testing it and you're complaining on someone else's release process instead of your own release process? Please...

I have CI tests that check if image is even present, so it fails to merge. Fix this garbage release on merge pipeline.

onedr0p commented 2 weeks ago

Your production broke because you pushed directly to it before testing it and you're complaining on someone else's release process instead of your own release process? Please...

The fact of the matter this project should not be releasing builds like this in an automated fashion because there obviously isn't enough testing going on to prevent broken builds from being released, they should be manually curated like most of the other software on the internet.

IdanAdar commented 2 weeks ago

"and it just broke a few of my production work clusters."

I'm not saying Reloader's release process shouldn't change, just saying yours could too. You don't have to be sensitive about it. πŸ€·β€β™‚οΈ

P.s., I'm not a developer of Reloader. Just a user of.

buroa commented 2 weeks ago

"and it just broke a few of my production work clusters."

I'm not saying Reloader's release process shouldn't change, just saying yours could too. You don't have to be sensitive about it. πŸ€·β€β™‚οΈ

https://github.com/buroa/k8s-gitops/pull/2489

Some checks were not successful

/end

Ornias1993 commented 2 weeks ago

Puts in question your production environment IMO...

Wait a second, you start snarking-off someones production environment... While someone politely points out your release procedure is the equivalent of hot-garbage.

I think the last person that should be snarking about someones CD pipeline, is the one that has shown to be unable to provide a decent quality CI and release pipeline, isn't it?

IdanAdar commented 2 weeks ago

There's some confusion here -- I'm a user of Reloader, not a maintainer of, and only voiced an opinion. You don't have to agree or anything.

buroa commented 2 weeks ago

There's some confusion here -- I'm a user of Reloader, not a maintainer of, and only voiced an opinion. You don't have to agree or anything.

Learn to refrain from commenting on things you truly don't understand.

IdanAdar commented 2 weeks ago

You mean on things you could have explained better from the get-go instead of being exhaustive ("broke my work clusters" vs "broke my release process"? big difference between the two statements, and likely would've taken the conversation completely differently)? Anyway, to your own hilariously condescending comment, the answer is... No. πŸ˜„

Anyway, I'm still in favor. πŸ™„

smuda commented 2 weeks ago

Since this is a free and open source project, I think we as a community have a duty to fix problems we see, especially when we are affected ourselves πŸ˜€. Therefore, if the releases have been broken twice in the last couple of months the same way, please create a PR that checks against the problem in the release process. We will all benefit.

With that said, I'd appreciate to not have multiple releases per day since our manual process can't handle that anyway and it creates work to find all the changes.

MuneebAijaz commented 1 week ago

Hi (wow this is a long thread), i personally agree with the change, it doesn't make sense to me why a small action upgrade or a small dependency upgrade would release versions so frequently, when it's not really of value to the end user. But sadly, this is how the projects were maintained (from I dont know when). And it became quite noticeable now with renovate configured on the repo and actively merging multiple PRs every week

I apologize for the recent issues the community has faced due to broken Reloader releases.

I have strongly suggested the change internally, and once we have decided on how we want to proceed, we can take action on this.

I have suggested fortnightly manual releases, which would be done in one of the opensource calls which happen every week on Wednesday.