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

"Revision" field disambiguation #24

Closed
seaneagan opened this issue Jul 16, 2020 · 5 comments
Closed

"Revision" field disambiguation #24

seaneagan opened this issue Jul 16, 2020 · 5 comments

Comments

@seaneagan
Copy link
Contributor

Suggestions:

LastAttemptedRevision > LastAttemptedChartRevision
LastAppliedRevision >: LastSuccessfulChartRevision
LastReleaseRevision > no change needed

"ChartRevision" to me helps disambiguate from the "ReleaseRevision" in "LastReleaseRevision', which represents a different kind of revision (chart vs release). I think "Successful" is more accurate than "Applied" since even a failed attempt could be considered applied unless/until it is uninstalled or rolled back.

@stefanprodan
Copy link
Member

The LastAppliedRevision/LastAttemptedRevision are intended to be common fields for all the toolkit reconcilers, as of now these are used in kustomize and helm controllers. I get your point that from a Chart/Release perspective they are ambiguous.

@hiddeco
Copy link
Member

hiddeco commented Jul 17, 2020

We could record the chart revision as given by Helm in another *ChartRevision status field, question is if this gives us anything of additional value.

@seaneagan
Copy link
Contributor Author

I see, what about "Source" or "Artifact" rather than "Chart" then:

LastAttemptedSourceRevision
LastSuccessfulSourceRevision

LastAttemptedArtifactRevision
LastSuccessfulArtifactRevision

@stefanprodan
Copy link
Member

@seaneagan using the same stats fields e,g, LastAppliedRevision/LastAttemptedRevision as a standard across all toolkit controllers allows other controllers/integrations to rely on those for detecting drift. These integrations don't have to depend on our API packages, using the dynamic client-go you could lookup an object.status and check the 2 fields. If we change them in helm-controller, then it will would break the standard. I propose we document these fields in helm-controller docs and explain what they mean in the Helm context.

@seaneagan
Copy link
Contributor Author

Sure, I guess it's easy enough for an end user to distinguish based on the field values what it likely means as well, it's just something that tripped me up for a second when looking at the field names only, before actually using the tool. Thanks for considering!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants