-
Notifications
You must be signed in to change notification settings - Fork 819
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
Proposal: Split up the api group stable.agones.dev #703
Comments
/cc @jkowalski @pooneh-m @roberthbailey @Kuqd |
There is a great comment here from Clayton about what an apigroup should encompass (I'll inline the important bits so people don't get side tracked by that issue):
I think that the lifecycles for the pieces you listed above will likely be separable. The "core" bits will probably stabilize and not change much as we iterate on allocations and especially multicluster support. Is there historical context for why Note that you can also have apigroups that have names that look nested (because they are different strings). For example, if you run Which makes me wonder why use the core prefix at all? What if the core resource types were in an In core k8s, horizontal pod autoscaling is in an apigroup is called |
Thanks for the detailed comments @roberthbailey ! That is useful knowledge!
Honestly, I saw that the sample controller had a 3 level group, samplecontroller.k8s.io and I kind of arbitrarily chose Now that we have more experience - i figured it may be time to revisit. Regarding all your points - I wasn't even aware you could have a two level group, such as So to revisit then: agones.dev:
autoscaling.agones.dev
allocation.agones.dev
multicluster.agones.dev
That reads really nicely to me 👍 what does everyone else think? |
Given the parenthetical statement about FleetAllocations, would it make sense to put them into the |
Ideally - would totally love to. However, given technical constraints, allocation.agones.dev is controlled by an We could move FleetAllocations to be no-storage APIService as well, so that they are in the same group but since they will be going away, ,it doesn't seem worth the effort to me? |
If we update the api group name, we should also update other places that use the same string, such as the prefix used in the SDK for labels and annotations: https://agones.dev/site/docs/guides/client-sdks/#setlabel-key-value |
Sounds like we have pretty decent consensus on this. I'm going to add this to the next milestone (and essentially the 1.0 roadmap -- as I think we need to complete any CRD changes before we go 1.0 and declare stability. Please let me know if anyone has objections! |
This is a pure refactor, to move FleetAutoscaling to the group outlined in googleforgames#703, where it will stay. Did this one first, since it seemed like the easiest one to tackle.
This is a pure refactor, to move FleetAutoscaling to the group outlined in googleforgames#703, where it will stay. Did this one first, since it seemed like the easiest one to tackle.
This is a pure refactor, to move FleetAutoscaling to the group outlined in googleforgames#703, where it will stay. Did this one first, since it seemed like the easiest one to tackle.
This is a pure refactor, to move FleetAutoscaling to the group outlined in googleforgames#703, where it will stay. Did this one first, since it seemed like the easiest one to tackle.
This is a pure refactor, to move FleetAutoscaling to the group outlined in googleforgames#703, where it will stay. Did this one first, since it seemed like the easiest one to tackle.
This is a pure refactor, to move FleetAutoscaling to the group outlined in #703, where it will stay. Did this one first, since it seemed like the easiest one to tackle.
Update on this - As you can see above, I did FleetAutoscaler, which was the easiest. There is a PR #856 , to remove FleetAllocation, which will make this easier. I'm currently focused on #660 - so I'm not working on this at the moment, so if someone wants to jump in, please feel free. Happy to provide helpers for how to make these changes as well. ( The only thing left is moving stable.agones.dev => agones.dev |
Another thing we discussed yesterday was promoting the APIs that we are going to commit to keeping stable from v1alpha1 to v1 prior to cutting a 1.0 release. Given that moving stable.agones.dev -> agones.dev will be easier once #856 merges I can start looking at changing the version of the ones that have already been split out first. |
I also noticed that https://github.com/googleforgames/agones/blob/master/site/static/agones.cast will need to be updated when the group name changes since the output shows |
Remaining work: go through all of the examples and see if they need to have new container images created with the sdk changes. |
Is there anything left on this? I think this is done and can be closed now? |
See the above comment - I'm going through the examples to make sure that they work and updating container images in |
PRs for updating examples (some of which have already merged): Outstanding:
Merged:
I'll close out this issue once the remaining two PRs are merged. |
This has been rolling around in my head for a while, so wanted to throw it out there.
Basically watching the changes coming to allocation (#682), and how that will have to be in a different group, and then the multicluster work (#698) feels like it should be separated in someway from everything else - I'm wondering if having
stable.agones.dev
as the core group was a less than ideal decision.If we made this change, I a sacrificial draft of grouping could be:
core.agones.dev:
scaling.agones.dev
allocation.agones.dev
multicluster.agones.dev
(FleetAllocation would probably have to stay in core, until it goes away, just because you can't mix CRDs and APIServices)
Looking at Kubernetes - they also do something similar.
This is obviously a breaking change - so wanted to run it past everyone, see how people felt.
The text was updated successfully, but these errors were encountered: