1.37.0 - Counters And Lists Alpha Release and Multiple Feature Promotions!
This is the 1.37.0 release of Agones.
This release sees the first milestone of a over-a-year series of work on the functionality of arbitrary Counters and Lists attached to each GameServer!
We’ve also upgraded the following features: CountsAndLists to alpha, FleetAllocationOverflow to Beta, and PodHostName, ResetMetricsOnDelete, and SplitControllerAndExtensions to Stable - with defaults below.
-
CountsAndLists: This feature flag provides functionality for a configurable set of Counters or Lists be attached to GameServers with attached allocation and autoscaling functionality to provide a flexible implementation that can handle a wide range of use cases such as player tracking, high density game server room tracking, and could even be used for game specific game server allocation prioritization.
Documentation is a little sparse in this release, but will grow! We’re focusing on the reference material first and will then expand into more in-depth guides and integration patterns.
Note: Counters and Lists will eventually replace the Alpha functionality of Player Tracking, which will subsequently be removed from Agones. If you are currently using this Alpha feature, we would love for you to test (and ideally migrate to!) this new functionality to ensure it will meet all your needs.
-
FleetAllocationOverflow: Labels and/or annotations to GameServers that exceed the desired number of replicas in a GameServerSet. This occurs when the allocation of GameServers surpasses the specified replica count.
-
PodHostName: Enables the assignment of the GameServer’s name as the PodHostname.
-
ResetMetricsOnDelete: This feature instructs the metrics service to unregister and then re-register the relevant metrics view to reset their state immediately whenever an Agones resource is deleted.
-
SplitControllerAndExtensions: This feature introduces an important change in Agones for high availability. It separates the system’s responsibilities into two binaries: the
controller
, which now handles Kubernetes object monitoring and uses a leader election system to keep only one active controller at a time, and a new horizontally scalableextensions
binary, focused on managing webhook endpoints.
Check the README for details on features, installation and usage.
Implemented enhancements:
- Adds Counter conformance test by @igooch in https://github.com/googleforgames/agones/pull/3488
- Adds List SDK methods to simple-game-server by @igooch in https://github.com/googleforgames/agones/pull/3500
- Support appProtocol by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3502
- Adds gameserver e2e test for Lists by @igooch in https://github.com/googleforgames/agones/pull/3507
- Adds fleet e2e test for lists by @igooch in https://github.com/googleforgames/agones/pull/3510
- Disable resync on SDK Server by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3508
- Move PodHostName to Stable by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3517
- Adds gameserverallocation e2e tests for Lists by @igooch in https://github.com/googleforgames/agones/pull/3516
- Move FleetAllocationOverflow to Beta by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3515
- Move ResetMetricsOnDelete to Stable by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3518
- Adds fleetauotscaler e2e test for Lists by @igooch in https://github.com/googleforgames/agones/pull/3519
- Another List fleet autoscaler e2e test by @igooch in https://github.com/googleforgames/agones/pull/3521
- Adds Go Conformance Tests for Lists by @igooch in https://github.com/googleforgames/agones/pull/3524
- Move CountsAndLists to Alpha by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3527
- Move SplitControllerAndExtensions to Stable by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3523
- Add clusterIP for agones-allocator in helm chart by @govargo in https://github.com/googleforgames/agones/pull/3526
- GKE Autopilot: Add support for Extended Duration pods by @zmerlynn in https://github.com/googleforgames/agones/pull/3387
- Counter and List Aggregate Fleet Metrics by @igooch in https://github.com/googleforgames/agones/pull/3528
- CountsAndLists: SDK Reference by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3537
- Adds Counters and Lists REST API Conformance Tests by @igooch in https://github.com/googleforgames/agones/pull/3546
- CountsAndLists: Yaml Examples And References by @Kalaiselvi84 in https://github.com/googleforgames/agones/pull/3552
See CHANGELOG for more details on changes.
Images available with this release:
- us-docker.pkg.dev/agones-images/release/agones-controller:1.37.0
- us-docker.pkg.dev/agones-images/release/agones-sdk:1.37.0
- us-docker.pkg.dev/agones-images/release/agones-ping:1.37.0
- us-docker.pkg.dev/agones-images/release/agones-allocator:1.37.0
- us-docker.pkg.dev/agones-images/examples/allocation-endpoint-proxy:0.6
- us-docker.pkg.dev/agones-images/examples/autoscaler-webhook:0.9
- us-docker.pkg.dev/agones-images/examples/cpp-simple-server:0.16
- us-docker.pkg.dev/agones-images/examples/crd-client:0.12
- us-docker.pkg.dev/agones-images/examples/nodejs-simple-server:0.9
- us-docker.pkg.dev/agones-images/examples/rust-simple-server:0.12
- us-docker.pkg.dev/agones-images/examples/simple-game-server:0.23
- us-docker.pkg.dev/agones-images/examples/supertuxkart-example:0.10
- us-docker.pkg.dev/agones-images/examples/unity-simple-server:0.3
- us-docker.pkg.dev/agones-images/examples/xonotic-example:1.6
Helm chart available with this release:
Last modified September 10, 2024: Updating UpdateList to update the values on a list (#3899) (632a866)Make sure to add our stable helm repository using
helm repo add agones https://agones.dev/chart/stable