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

Update docs to use example which better demonstrates upgrades #1459

Open
2 tasks
m1kola opened this issue Nov 14, 2024 · 5 comments
Open
2 tasks

Update docs to use example which better demonstrates upgrades #1459

m1kola opened this issue Nov 14, 2024 · 5 comments
Assignees
Labels
documentation Improvements or additions to documentation kind/documentation Categorizes issue or PR as related to documentation.

Comments

@m1kola
Copy link
Member

m1kola commented Nov 14, 2024

Follow up to #1443:

@m1kola m1kola added the documentation Improvements or additions to documentation label Nov 14, 2024
@trgeiger
Copy link
Contributor

/assign

@trgeiger
Copy link
Contributor

So there's a couple things of note here:

As you can see here we don't support automatic upgrades between minor versions within major version zero. So even if the CRD Upgrade Safety check passes, we can't automatically upgrade between, for example, 0.5.0 and 0.6.0 anyway. There's not many patch versions to choose from in ArgoCD, but I did find that 0.2.0 will upgrade to 0.2.1. Any versions newer than 0.6.0 have webhooks and so aren't supported.

Would changing the example to use 0.2.0 and 0.2.1 be good enough? If we do that, we should add a reference to this major version 0 limitation on the tutorial page. Or do we want to find a new ClusterExtension example entirely that has workable non-zero major versions? If we go that route I'll need to derive all the RBAC and basically create an entirely new sample manifest.

@trgeiger
Copy link
Contributor

Please see the draft linked PR for an example of changing to using 0.2.0 and 0.2.1.

As for the 2nd item in this issue, the use of 0.11.0 as the upgrade example, I'm not sure we can really use any of the newer versions of argocd without running afoul of either the CRD Upgrade Safety preflight check, the presence of webhooks, or the fact that we don't automatically upgrade between minor versions with a major version of 0. Is it okay to just stick to 0.2.0 and 0.2.1 of argocd in our example documentation or should we find another operator that would fulfill all these requirements as an example?

@michaelryanpeter
Copy link
Contributor

michaelryanpeter commented Nov 14, 2024

In the past, I've found hunting for a good example Operator to be a difficult project.

I think that for the moment, it might be best to just go with v0.2.0 > v0.2.1 for the ArgoCD Operator for the v1.0 release.

I wonder if it is worth reviving the memecache Operator used in the Operator SDK examples. Is it worth having a simple registry+v1 Operator that the community maintains that we can use for examples and get consistent results?

I could also see how this could be more work than it is worth.

@m1kola m1kola added the kind/documentation Categorizes issue or PR as related to documentation. label Nov 15, 2024
@trgeiger
Copy link
Contributor

Those were basically my concerns as well--the time it would take to come up with an alternative and if that alternative would even stay stable in the future for us. I could see a benefit to maintaining some simple example operator in the future but that probably isn't really in the cards for fixing things up before v1 right now.

I'll move ahead with changing the docs to use 0.2.0/0.2.1 and we can move from there in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation kind/documentation Categorizes issue or PR as related to documentation.
Projects
None yet
Development

No branches or pull requests

3 participants