diff --git a/build/Makefile b/build/Makefile index 63a5ba1741..9be46eb7de 100644 --- a/build/Makefile +++ b/build/Makefile @@ -733,8 +733,11 @@ gen-install: $(ensure-build-image) # Generate the client for our CustomResourceDefinition gen-crd-client: $(ensure-build-image) - docker run --rm $(common_mounts) -w $(workdir_path) $(build_tag) /root/gen-crd-client.sh - docker run --rm $(common_mounts) -w $(workdir_path)/pkg $(build_tag) goimports -w . + docker run --rm $(common_mounts) -w $(workdir_path) $(build_tag) bash -c "\ + $(git_safe) && \ + git config --global --list && \ + /root/gen-crd-client.sh && \ + cd /go/src/agones.dev/agones/pkg && goimports -w ." # Run a bash shell with the developer tools in it. (Creates the image if it doesn't exist) # Can use DOCKER_RUN_ARGS for extra arguments. diff --git a/pkg/client/clientset/versioned/doc.go b/pkg/client/clientset/versioned/doc.go deleted file mode 100644 index a2144a695b..0000000000 --- a/pkg/client/clientset/versioned/doc.go +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2023 Google LLC All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// This code was autogenerated. Do not edit directly. - -// Code generated by client-gen. DO NOT EDIT. - -// This package has the automatically generated clientset. -package versioned diff --git a/pkg/client/informers/externalversions/factory.go b/pkg/client/informers/externalversions/factory.go index df2bc6b5c0..17497cc06c 100644 --- a/pkg/client/informers/externalversions/factory.go +++ b/pkg/client/informers/externalversions/factory.go @@ -168,7 +168,7 @@ func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[ref return res } -// InternalInformerFor returns the SharedIndexInformer for obj using an internal +// InformerFor returns the SharedIndexInformer for obj using an internal // client. func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer { f.lock.Lock() @@ -241,7 +241,7 @@ type SharedInformerFactory interface { // ForResource gives generic access to a shared informer of the matching type. ForResource(resource schema.GroupVersionResource) (GenericInformer, error) - // InternalInformerFor returns the SharedIndexInformer for obj using an internal + // InformerFor returns the SharedIndexInformer for obj using an internal // client. InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer diff --git a/site/assets/templates/crd-doc-config.json b/site/assets/templates/crd-doc-config.json index 1f9314984b..c9852c6cfb 100644 --- a/site/assets/templates/crd-doc-config.json +++ b/site/assets/templates/crd-doc-config.json @@ -14,7 +14,7 @@ }, { "typeMatchPrefix": "^k8s\\.io/(api|apimachinery/pkg/apis)/", - "docsURLTemplate": "https://v1-27.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#{{lower .TypeIdentifier}}-{{arrIndex .PackageSegments -1}}-{{arrIndex .PackageSegments -2}}" + "docsURLTemplate": "https://v1-28.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#{{lower .TypeIdentifier}}-{{arrIndex .PackageSegments -1}}-{{arrIndex .PackageSegments -2}}" }, { "typeMatchPrefix": "^github\\.com/knative/pkg/apis/duck/", diff --git a/site/content/en/docs/Reference/agones_crd_api_reference.html b/site/content/en/docs/Reference/agones_crd_api_reference.html index 7cb1841359..c4c15a3ebd 100644 --- a/site/content/en/docs/Reference/agones_crd_api_reference.html +++ b/site/content/en/docs/Reference/agones_crd_api_reference.html @@ -3,13 +3,10 @@ description="Detailed list of Agones Custom Resource Definitions available" +++ -{{% feature expiryVersion="1.37.0" %}} +{{% feature expiryVersion="1.39.0" %}}

Packages:

-

agones.dev/v1

+

allocation.agones.dev/v1

Package v1 is the v1 version of the API.

Resource Types: -

Fleet +

GameServerAllocation

-

Fleet is the data structure for a Fleet resource

+

GameServerAllocation is the data structure for allocating against a set of +GameServers, defined selectors selectors

@@ -50,7 +47,7 @@

Fleet string

@@ -59,7 +56,7 @@

Fleet kind
string -

+ @@ -90,43 +87,82 @@

Fleet

-agones.dev/v1 +allocation.agones.dev/v1
FleetGameServerAllocation
@@ -79,8 +76,8 @@

Fleet

spec
- -FleetSpec + +GameServerAllocationSpec
+ + + + + + + + @@ -142,32 +178,44 @@

Fleet

+ + + +
-replicas
+multiClusterSetting
-int32 + +MultiClusterSetting +
-

Replicas are the number of GameServers that should be in this set. Defaults to 0.

+

MultiClusterPolicySelector if specified, multi-cluster policies are applied. +Otherwise, allocation will happen locally.

-allocationOverflow
+required
- -AllocationOverflow + +GameServerSelector + + +
+

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. +Required is the GameServer selector from which to choose GameServers from. +Defaults to all GameServers.

+
+preferred
+ + +[]GameServerSelector + + +
+

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. +Preferred is an ordered list of preferred GameServer selectors +that are optional to be fulfilled, but will be searched before the required selector. +If the first selector is not matched, the selection attempts the second selector, and so on. +If any of the preferred selectors are matched, the required selector is not considered. +This is useful for things like smoke testing of new game servers.

+
+priorities
+ + +[]Priority
(Optional) -

[Stage: Alpha] -[FeatureFlag:FleetAllocationOverflow] -Labels and/or Annotations to apply to overflowing GameServers when the number of Allocated GameServers is more -than the desired replicas on the underlying GameServerSet

+

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most +important for sorting. The allocator will use the first priority for sorting GameServers by +available Capacity in the Selector set. Acts as a tie-breaker after sorting the game servers +by State and Strategy Packed. Impacts which GameServer is checked first.

-strategy
+selectors
- -Kubernetes apps/v1.DeploymentStrategy + +[]GameServerSelector
-

Deployment strategy

+

Ordered list of GameServer label selectors. +If the first selector is not matched, the selection attempts the second selector, and so on. +This is useful for things like smoke testing of new game servers. +Note: This field can only be set if neither Required or Preferred is set.

-priorities
+metadata
- -[]Priority + +MetaPatch + + +
+

MetaPatch is optional custom metadata that is added to the game server at allocation +You can use this to tell the server necessary session data

+
+counters
+ + +map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterAction
(Optional) -

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers -by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by -State and Strategy. Impacts scale down logic.

+

(Alpha, CountsAndLists feature flag) Counter actions to perform during allocation.

-template
+lists
- -GameServerTemplateSpec + +map[string]agones.dev/agones/pkg/apis/allocation/v1.ListAction
-

Template the GameServer template to apply for this Fleet

+(Optional) +

(Alpha, CountsAndLists feature flag) List actions to perform during allocation.

@@ -177,8 +225,8 @@

Fleet status
- -FleetStatus + +GameServerAllocationStatus @@ -187,14 +235,14 @@

Fleet -

GameServer +

CounterAction

-

GameServer is the data structure for a GameServer resource. -It is worth noting that while there is a GameServerStatus Status entry for the GameServer, it is not -defined as a subresource - unlike Fleet and other Agones resources. -This is so that we can retain the ability to change multiple aspects of a GameServer in a single atomic operation, -which is particularly useful for operations such as allocation.

+(Appears on: +GameServerAllocationSpec) +

+

+

CounterAction is an optional action that can be performed on a Counter at allocation.

@@ -206,200 +254,117 @@

GameServer

- - - - - - - - - - - -
-apiVersion
-string
- -agones.dev/v1 - -
-kind
-string -
GameServer
-metadata
+action
- -Kubernetes meta/v1.ObjectMeta - +string
-Refer to the Kubernetes API documentation for the fields of the -metadata field. +(Optional) +

Action must to either “Increment” or “Decrement” the Counter’s Count. Must also define the Amount.

-spec
- - -GameServerSpec - - -
-
-
- - - + +
-container
+amount
-string +int64
-

Container specifies which Pod container is the game server. Only required if there is more than one -container defined

+(Optional) +

Amount is the amount to increment or decrement the Count. Must be a positive integer.

-ports
+capacity
- -[]GameServerPort - +int64
-

Ports are the array of ports that can be exposed via the game server

+(Optional) +

Capacity is the amount to update the maximum capacity of the Counter to this number. Min 0, Max int64.

+

CounterSelector +

+

+(Appears on: +GameServerSelector) +

+

+

CounterSelector is the filter options for a GameServer based on the count and/or available capacity.

+

+ + + + + + + + - - - - - - - - - - - - - - - - - - -
FieldDescription
-health
+minCount
- -Health - +int64
-

Health configures health checking

+(Optional) +

MinCount is the minimum current value. Defaults to 0.

-scheduling
+maxCount
-agones.dev/agones/pkg/apis.SchedulingStrategy +int64
-

Scheduling strategy. Defaults to “Packed”

+(Optional) +

MaxCount is the maximum current value. Defaults to 0, which translates as max(in64).

-sdkServer
+minAvailable
- -SdkServer - +int64
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+(Optional) +

MinAvailable specifies the minimum capacity (current capacity - current count) available on a GameServer. Defaults to 0.

-template
+maxAvailable
- -Kubernetes core/v1.PodTemplateSpec - - -
-

Template describes the Pod that will be created for the GameServer

-
-players
- - -PlayersSpec - - -
-(Optional) -

(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features.

-
-counters
- - -map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus - - -
-(Optional) -

(Alpha, CountsAndLists feature flag) Counters and Lists provides the configuration for generic tracking features.

-
-lists
- - -map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus - - -
-
-eviction
- - -Eviction - - -
-(Optional) -

Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

-
-
-status
- - -GameServerStatus - +int64
+(Optional) +

MaxAvailable specifies the maximum capacity (current capacity - current count) available on a GameServer. Defaults to 0, which translates to max(int64).

-

GameServerSet +

GameServerAllocationSpec

-

GameServerSet is the data structure for a set of GameServers. -This matches philosophically with the relationship between -Deployments and ReplicaSets

+(Appears on: +GameServerAllocation) +

+

+

GameServerAllocationSpec is the spec for a GameServerAllocation

@@ -411,74 +376,82 @@

GameServerSet

- - - -
-apiVersion
-string
- -agones.dev/v1 - +multiClusterSetting
+ + +MultiClusterSetting + +
-kind
-string +

MultiClusterPolicySelector if specified, multi-cluster policies are applied. +Otherwise, allocation will happen locally.

GameServerSet
-metadata
+required
- -Kubernetes meta/v1.ObjectMeta + +GameServerSelector
-Refer to the Kubernetes API documentation for the fields of the -metadata field. +

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. +Required is the GameServer selector from which to choose GameServers from. +Defaults to all GameServers.

-spec
+preferred
- -GameServerSetSpec + +[]GameServerSelector
-
-
- +

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. +Preferred is an ordered list of preferred GameServer selectors +that are optional to be fulfilled, but will be searched before the required selector. +If the first selector is not matched, the selection attempts the second selector, and so on. +If any of the preferred selectors are matched, the required selector is not considered. +This is useful for things like smoke testing of new game servers.

+ + @@ -494,60 +467,65 @@

GameServerSet

- -
-replicas
+priorities
-int32 + +[]Priority +
-

Replicas are the number of GameServers that should be in this set

+(Optional) +

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most +important for sorting. The allocator will use the first priority for sorting GameServers by +available Capacity in the Selector set. Acts as a tie-breaker after sorting the game servers +by State and Strategy Packed. Impacts which GameServer is checked first.

-allocationOverflow
+selectors
- -AllocationOverflow + +[]GameServerSelector
-(Optional) -

[Stage: Alpha] -[FeatureFlag:FleetAllocationOverflow] -Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below -the desired replicas on the underlying GameServerSet

+

Ordered list of GameServer label selectors. +If the first selector is not matched, the selection attempts the second selector, and so on. +This is useful for things like smoke testing of new game servers. +Note: This field can only be set if neither Required or Preferred is set.

-priorities
+metadata
- -[]Priority + +MetaPatch
-(Optional) -

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers -by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by -State and Strategy. Impacts scale down logic.

+

MetaPatch is optional custom metadata that is added to the game server at allocation +You can use this to tell the server necessary session data

-template
+counters
- -GameServerTemplateSpec + +map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterAction
-

Template the GameServer template to apply for this GameServerSet

-
+(Optional) +

(Alpha, CountsAndLists feature flag) Counter actions to perform during allocation.

-status
+lists
- -GameServerSetStatus + +map[string]agones.dev/agones/pkg/apis/allocation/v1.ListAction
+(Optional) +

(Alpha, CountsAndLists feature flag) List actions to perform during allocation.

-

AggregatedCounterStatus +

GameServerAllocationState +(string alias)

+

+(Appears on: +GameServerAllocationStatus) +

+

+

GameServerAllocationState is the Allocation state

+

+

GameServerAllocationStatus

(Appears on: -FleetStatus, -GameServerSetStatus) +GameServerAllocation)

-

AggregatedCounterStatus stores total and allocated Counter tracking values

+

GameServerAllocationStatus is the status for an GameServerAllocation resource

@@ -559,19 +537,22 @@

AggregatedCounterStatus

- -
-allocatedCount
+state
-int64 + +GameServerAllocationState +
+

GameServerState is the current state of an GameServerAllocation, e.g. Allocated, or UnAllocated

-allocatedCapacity
+gameServerName
-int64 +string
@@ -579,9 +560,11 @@

AggregatedCounterStatus

-count
+ports
-int64 + +[]GameServerStatusPort +
@@ -589,39 +572,21 @@

AggregatedCounterStatus

-capacity
+address
-int64 +string
-

AggregatedListStatus -

-

-(Appears on: -FleetStatus, -GameServerSetStatus) -

-

-

AggregatedListStatus stores total and allocated List tracking values

-

- - - - - - - -
FieldDescription
-allocatedCount
+addresses
-int64 + +[]Kubernetes core/v1.NodeAddress +
@@ -629,9 +594,9 @@

AggregatedListStatus

-allocatedCapacity
+nodeName
-int64 +string
@@ -639,19 +604,23 @@

AggregatedListStatus

-count
+source
-int64 +string
+

If the allocation is from a remote cluster, Source is the endpoint of the remote agones-allocator. +Otherwise, Source is “local”

-capacity
+metadata
-int64 + +GameServerMetadata +
@@ -659,15 +628,14 @@

AggregatedListStatus

-

AggregatedPlayerStatus +

GameServerMetadata

(Appears on: -FleetStatus, -GameServerSetStatus) +GameServerAllocationStatus)

-

AggregatedPlayerStatus stores total player tracking values

+

GameServerMetadata is the metadata from the allocated game server at allocation time

@@ -679,9 +647,9 @@

AggregatedPlayerStatus

-count
+labels
-int64 +map[string]string
@@ -689,9 +657,9 @@

AggregatedPlayerStatus

-capacity
+annotations
-int64 +map[string]string
@@ -699,17 +667,15 @@

AggregatedPlayerStatus

-

AllocationOverflow +

GameServerSelector

(Appears on: -FleetSpec, -GameServerSetSpec) +GameServerAllocationSpec)

-

AllocationOverflow specifies what labels and/or annotations to apply on Allocated GameServers -if the desired number of the underlying GameServerSet drops below the number of Allocated GameServers -attached to it.

+

GameServerSelector contains all the filter options for selecting +a GameServer for allocation.

@@ -721,39 +687,94 @@

AllocationOverflow

+ + + + + + + + + + + +
-labels
+LabelSelector
-map[string]string + +Kubernetes meta/v1.LabelSelector + + +
+

+(Members of LabelSelector are embedded into this type.) +

+

See: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/

+
+gameServerState
+ + +GameServerState + + +
+

GameServerState specifies which State is the filter to be used when attempting to retrieve a GameServer +via Allocation. Defaults to “Ready”. The only other option is “Allocated”, which can be used in conjunction with +label/annotation/player selectors to retrieve an already Allocated GameServer.

+
+players
+ + +PlayerSelector +
(Optional) -

Labels to be applied to the GameServer

+

[Stage:Alpha] +[FeatureFlag:PlayerAllocationFilter] +Players provides a filter on minimum and maximum values for player capacity when retrieving a GameServer +through Allocation. Defaults to no limits.

-annotations
+counters
-map[string]string + +map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterSelector +
(Optional) -

Annotations to be applied to the GameServer

+

(Alpha, CountsAndLists feature flag) Counters provides filters on minimum and maximum values +for a Counter’s count and available capacity when retrieving a GameServer through Allocation. +Defaults to no limits.

+
+lists
+ + +map[string]agones.dev/agones/pkg/apis/allocation/v1.ListSelector + + +
+(Optional) +

(Alpha, CountsAndLists feature flag) Lists provides filters on minimum and maximum values +for List capacity, and for the existence of a value in a List, when retrieving a GameServer +through Allocation. Defaults to no limits.

-

CounterStatus +

ListAction

(Appears on: -GameServerSpec, -GameServerStatus) +GameServerAllocationSpec)

-

CounterStatus stores the current counter values

+

ListAction is an optional action that can be performed on a List at allocation.

@@ -765,12 +786,14 @@

CounterStatus

@@ -781,19 +804,21 @@

CounterStatus

-count
+addValues
-int64 +[]string
+(Optional) +

AddValues appends values to a List’s Values array. Any duplicate values will be ignored.

+(Optional) +

Capacity updates the maximum capacity of the Counter to this number. Min 0, Max 1000.

-

Eviction +

ListSelector

(Appears on: -GameServerSpec, -GameServerStatus) +GameServerSelector)

-

Eviction specifies the eviction tolerance of the GameServer

+

ListSelector is the filter options for a GameServer based on List available capacity and/or the +existence of a value in a List.

@@ -805,39 +830,50 @@

Eviction

+ + + + + + + +
-safe
+containsValue
- -EvictionSafe - +string
-

Game server supports termination via SIGTERM: -- Always: Allow eviction for both Cluster Autoscaler and node drain for upgrades -- OnUpgrade: Allow eviction for upgrades alone -- Never (default): Pod should run to completion

+(Optional) +

ContainsValue says to only match GameServers who has this value in the list. Defaults to “”, which is all.

+
+minAvailable
+ +int64 + +
+(Optional) +

MinAvailable specifies the minimum capacity (current capacity - current count) available on a GameServer. Defaults to 0.

+
+maxAvailable
+ +int64 + +
+(Optional) +

MaxAvailable specifies the maximum capacity (current capacity - current count) available on a GameServer. Defaults to 0, which is translated as max(int64).

-

EvictionSafe -(string alias)

-

-(Appears on: -Eviction) -

-

-

EvictionSafe specified whether the game server supports termination via SIGTERM

-

-

FleetSpec +

MetaPatch

(Appears on: -Fleet) +GameServerAllocationSpec)

-

FleetSpec is the spec for a Fleet

+

MetaPatch is the metadata used to patch the GameServer metadata on allocation

@@ -849,97 +885,75 @@

FleetSpec

- - - - + +
-replicas
- -int32 - -
-

Replicas are the number of GameServers that should be in this set. Defaults to 0.

-
-allocationOverflow
+labels
- -AllocationOverflow - +map[string]string
-(Optional) -

[Stage: Alpha] -[FeatureFlag:FleetAllocationOverflow] -Labels and/or Annotations to apply to overflowing GameServers when the number of Allocated GameServers is more -than the desired replicas on the underlying GameServerSet

-strategy
+annotations
- -Kubernetes apps/v1.DeploymentStrategy - +map[string]string
-

Deployment strategy

+

MultiClusterSetting +

+

+(Appears on: +GameServerAllocationSpec) +

+

+

MultiClusterSetting specifies settings for multi-cluster allocation.

+

+ + - - + + + +
-scheduling
- -agones.dev/agones/pkg/apis.SchedulingStrategy - -
-

Scheduling strategy. Defaults to “Packed”.

-
FieldDescription
-priorities
+enabled
- -[]Priority - +bool
-(Optional) -

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers -by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by -State and Strategy. Impacts scale down logic.

-template
+policySelector
- -GameServerTemplateSpec + +Kubernetes meta/v1.LabelSelector
-

Template the GameServer template to apply for this Fleet

-

FleetStatus +

PlayerSelector

(Appears on: -Fleet, -FleetAutoscaleRequest) +GameServerSelector)

-

FleetStatus is the status of a Fleet

+

PlayerSelector is the filter options for a GameServer based on player counts

@@ -951,106 +965,154 @@

FleetStatus

+ +
-replicas
+minAvailable
-int32 +int64
-

Replicas the total number of current GameServer replicas

-readyReplicas
+maxAvailable
-int32 +int64
-

ReadyReplicas are the number of Ready GameServer replicas

+
+

autoscaling.agones.dev/v1

+

+

Package v1 is the v1 version of the API.

+

+Resource Types: + +

FleetAutoscaler +

+

+

FleetAutoscaler is the data structure for a FleetAutoscaler resource

+

+ + + + + + + + + + + + + + + + +
FieldDescription
-reservedReplicas
+apiVersion
+string
+ +autoscaling.agones.dev/v1 + +
+kind
+string +
FleetAutoscaler
+metadata
-int32 + +Kubernetes meta/v1.ObjectMeta +
-

ReservedReplicas are the total number of Reserved GameServer replicas in this fleet. -Reserved instances won’t be deleted on scale down, but won’t cause an autoscaler to scale up.

+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-allocatedReplicas
+spec
-int32 + +FleetAutoscalerSpec + + +
+
+
+ + + + +
+fleetName
+ +string
-

AllocatedReplicas are the number of Allocated GameServer replicas

-players
+policy
- -AggregatedPlayerStatus + +FleetAutoscalerPolicy
-(Optional) -

[Stage:Alpha] -[FeatureFlag:PlayerTracking] -Players are the current total player capacity and count for this Fleet

+

Autoscaling policy

-counters
+sync
- -map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus + +FleetAutoscalerSync
(Optional) -

(Alpha, CountsAndLists feature flag) Counters provides aggregated Counter capacity and Counter -count for this Fleet.

+

Sync defines when FleetAutoscalers runs autoscaling

+
-lists
+status
- -map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedListStatus + +FleetAutoscalerStatus
-(Optional) -

(Alpha, CountsAndLists feature flag) Lists provides aggregated List capacityv and List values -for this Fleet.

-

GameServerPort +

BufferPolicy

(Appears on: -GameServerSpec) +FleetAutoscalerPolicy)

-

GameServerPort defines a set of Ports that -are to be exposed via the GameServer

+

BufferPolicy controls the desired behavior of the buffer policy.

@@ -1062,89 +1124,59 @@

GameServerPort

- - - - - - - - - - - -
-name
- -string - -
-

Name is the descriptive name of the port

-
-portPolicy
- - -PortPolicy - - -
-

PortPolicy defines the policy for how the HostPort is populated. -Dynamic port will allocate a HostPort within the selected MIN_PORT and MAX_PORT range passed to the controller -at installation time. -When Static portPolicy is specified, HostPort is required, to specify the port that game clients will -connect to

-
-container
- -string - -
-(Optional) -

Container is the name of the container on which to open the port. Defaults to the game server container.

-
-containerPort
+maxReplicas
int32
-

ContainerPort is the port that is being opened on the specified container’s process

+

MaxReplicas is the maximum amount of replicas that the fleet may have. +It must be bigger than both MinReplicas and BufferSize

-hostPort
+minReplicas
int32
-

HostPort the port exposed on the host for clients to connect to

+

MinReplicas is the minimum amount of replicas that the fleet must have +If zero, it is ignored. +If non zero, it must be smaller than MaxReplicas and bigger than BufferSize

-protocol
+bufferSize
- -Kubernetes core/v1.Protocol - +k8s.io/apimachinery/pkg/util/intstr.IntOrString
-

Protocol is the network protocol being used. Defaults to UDP. TCP and TCPUDP are other options.

+

BufferSize defines how many replicas the autoscaler tries to have ready all the time +Value can be an absolute number (ex: 5) or a percentage of desired gs instances (ex: 15%) +Absolute number is calculated from percentage by rounding up. +Example: when this is set to 20%, the autoscaler will make sure that 20% +of the fleet’s game server replicas are ready. When this is set to 20, +the autoscaler will make sure that there are 20 available game servers +Must be bigger than 0 +Note: by “ready” we understand in this case “non-allocated”; this is done to ensure robustness +and computation stability in different edge case (fleet just created, not enough +capacity in the cluster etc)

-

GameServerSetSpec +

CounterPolicy

(Appears on: -GameServerSet) +FleetAutoscalerPolicy)

-

GameServerSetSpec the specification for GameServerSet

+

CounterPolicy controls the desired behavior of the Counter autoscaler policy.

@@ -1156,83 +1188,64 @@

GameServerSetSpec

- - - -
-replicas
- -int32 - -
-

Replicas are the number of GameServers that should be in this set

-
-allocationOverflow
+key
- -AllocationOverflow - +string
-(Optional) -

[Stage: Alpha] -[FeatureFlag:FleetAllocationOverflow] -Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below -the desired replicas on the underlying GameServerSet

+

Key is the name of the Counter. Required field.

-scheduling
+maxCapacity
-agones.dev/agones/pkg/apis.SchedulingStrategy +int64
-

Scheduling strategy. Defaults to “Packed”.

+

MaxCapacity is the maximum aggregate Counter total capacity across the fleet. +MaxCapacity must be bigger than both MinCapacity and BufferSize. Required field.

-priorities
+minCapacity
- -[]Priority - +int64
-(Optional) -

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers -by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by -State and Strategy. Impacts scale down logic.

+

MinCapacity is the minimum aggregate Counter total capacity across the fleet. +If zero, MinCapacity is ignored. +If non zero, MinCapacity must be smaller than MaxCapacity and bigger than BufferSize.

-template
+bufferSize
- -GameServerTemplateSpec - +k8s.io/apimachinery/pkg/util/intstr.IntOrString
-

Template the GameServer template to apply for this GameServerSet

+

BufferSize is the size of a buffer of counted items that are available in the Fleet (available +capacity). Value can be an absolute number (ex: 5) or a percentage of desired gs instances +(ex: 5%). An absolute number is calculated from percentage by rounding up. +Must be bigger than 0. Required field.

-

GameServerSetStatus +

FixedIntervalSync

(Appears on: -GameServerSet) +FleetAutoscalerSync)

-

GameServerSetStatus is the status of a GameServerSet

+

FixedIntervalSync controls the desired behavior of the fixed interval based sync.

@@ -1244,116 +1257,93 @@

GameServerSetStatus

- - - - - - - - + +
-replicas
+seconds
int32
-

Replicas is the total number of current GameServer replicas

-
-readyReplicas
- -int32 - -
-

ReadyReplicas is the number of Ready GameServer replicas

-
-reservedReplicas
- -int32 - -
-

ReservedReplicas is the number of Reserved GameServer replicas

+

Seconds defines how often we run fleet autoscaling in seconds

+

FleetAutoscaleRequest +

+

+(Appears on: +FleetAutoscaleReview) +

+

+

FleetAutoscaleRequest defines the request to webhook autoscaler endpoint

+

+ + - - + + + +
-allocatedReplicas
- -int32 - -
-

AllocatedReplicas is the number of Allocated GameServer replicas

-
FieldDescription
-shutdownReplicas
+uid
-int32 +k8s.io/apimachinery/pkg/types.UID
-

ShutdownReplicas is the number of Shutdown GameServers replicas

+

UID is an identifier for the individual request/response. It allows us to distinguish instances of requests which are +otherwise identical (parallel requests, requests when earlier requests did not modify etc) +The UID is meant to track the round trip (request/response) between the Autoscaler and the WebHook, not the user request. +It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging.

-players
+name
- -AggregatedPlayerStatus - +string
-(Optional) -

[Stage:Alpha] -[FeatureFlag:PlayerTracking] -Players is the current total player capacity and count for this GameServerSet

+

Name is the name of the Fleet being scaled

-counters
+namespace
- -map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus - +string
-(Optional) -

(Alpha, CountsAndLists feature flag) Counters provides aggregated Counter capacity and Counter -count for this GameServerSet.

+

Namespace is the namespace associated with the request (if any).

-lists
+status
- -map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedListStatus + +FleetStatus
-(Optional) -

(Alpha, CountsAndLists feature flag) Lists provides aggregated List capacity and List values -for this GameServerSet.

+

The Fleet’s status values

-

GameServerSpec +

FleetAutoscaleResponse

(Appears on: -GameServer, -GameServerTemplateSpec) +FleetAutoscaleReview)

-

GameServerSpec is the spec for a GameServer resource

+

FleetAutoscaleResponse defines the response of webhook autoscaler endpoint

@@ -1365,153 +1355,190 @@

GameServerSpec

+ +
-container
+uid
-string +k8s.io/apimachinery/pkg/types.UID
-

Container specifies which Pod container is the game server. Only required if there is more than one -container defined

+

UID is an identifier for the individual request/response. +This should be copied over from the corresponding FleetAutoscaleRequest.

-ports
+scale
- -[]GameServerPort - +bool
-

Ports are the array of ports that can be exposed via the game server

+

Set to false if no scaling should occur to the Fleet

-health
+replicas
- -Health - +int32
-

Health configures health checking

+

The targeted replica count

+

FleetAutoscaleReview +

+

+

FleetAutoscaleReview is passed to the webhook with a populated Request value, +and then returned with a populated Response.

+

+ + + + + + + + + +
FieldDescription
-scheduling
+request
-agones.dev/agones/pkg/apis.SchedulingStrategy + +FleetAutoscaleRequest +
-

Scheduling strategy. Defaults to “Packed”

-sdkServer
+response
- -SdkServer + +FleetAutoscaleResponse
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

FleetAutoscalerPolicy +

+

+(Appears on: +FleetAutoscalerSpec) +

+

+

FleetAutoscalerPolicy describes how to scale a fleet

+

+ + + + + + + +
FieldDescription
-template
+type
- -Kubernetes core/v1.PodTemplateSpec + +FleetAutoscalerPolicyType
-

Template describes the Pod that will be created for the GameServer

+

Type of autoscaling policy.

-players
+buffer
- -PlayersSpec + +BufferPolicy
(Optional) -

(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features.

+

Buffer policy config params. Present only if FleetAutoscalerPolicyType = Buffer.

-counters
+webhook
- -map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus + +WebhookPolicy
(Optional) -

(Alpha, CountsAndLists feature flag) Counters and Lists provides the configuration for generic tracking features.

+

Webhook policy config params. Present only if FleetAutoscalerPolicyType = Webhook.

-lists
+counter
- -map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus + +CounterPolicy
+(Optional) +

[Stage:Alpha] +[FeatureFlag:CountsAndLists] +Counter policy config params. Present only if FleetAutoscalerPolicyType = Counter.

-eviction
+list
- -Eviction + +ListPolicy
(Optional) -

Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

+

[Stage:Alpha] +[FeatureFlag:CountsAndLists] +List policy config params. Present only if FleetAutoscalerPolicyType = List.

-

GameServerState +

FleetAutoscalerPolicyType (string alias)

(Appears on: -GameServerSelector, -GameServerStatus) +FleetAutoscalerPolicy)

-

GameServerState is the state for the GameServer

+

FleetAutoscalerPolicyType is the policy for autoscaling +for a given Fleet

-

GameServerStatus +

FleetAutoscalerSpec

(Appears on: -GameServer) +FleetAutoscaler)

-

GameServerStatus is the status for a GameServer resource

+

FleetAutoscalerSpec is the spec for a Fleet Scaler

@@ -1523,143 +1550,131 @@

GameServerStatus

- - - - - - - + +
-state
+fleetName
- -GameServerState - +string
-

GameServerState is the current state of a GameServer, e.g. Creating, Starting, Ready, etc

-ports
+policy
- -[]GameServerStatusPort + +FleetAutoscalerPolicy
+

Autoscaling policy

-address
- -string - -
-
-addresses
+sync
- -[]Kubernetes core/v1.NodeAddress + +FleetAutoscalerSync
(Optional) -

Addresses is the array of addresses at which the GameServer can be reached; copy of Node.Status.addresses.

+

Sync defines when FleetAutoscalers runs autoscaling

-nodeName
- -string - -
-
+

FleetAutoscalerStatus +

+

+(Appears on: +FleetAutoscaler) +

+

+

FleetAutoscalerStatus defines the current status of a FleetAutoscaler

+

+ + + + + + +
FieldDescription
-reservedUntil
+currentReplicas
- -Kubernetes meta/v1.Time - +int32
+

CurrentReplicas is the current number of gameserver replicas +of the fleet managed by this autoscaler, as last seen by the autoscaler

-players
+desiredReplicas
- -PlayerStatus - +int32
-(Optional) -

[Stage:Alpha] -[FeatureFlag:PlayerTracking]

+

DesiredReplicas is the desired number of gameserver replicas +of the fleet managed by this autoscaler, as last calculated by the autoscaler

-counters
+lastScaleTime
- -map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus + +Kubernetes meta/v1.Time
(Optional) -

(Alpha, CountsAndLists feature flag) Counters and Lists provides the configuration for generic tracking features.

+

lastScaleTime is the last time the FleetAutoscaler scaled the attached fleet,

-lists
+ableToScale
- -map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus - +bool
-(Optional) +

AbleToScale indicates that we can access the target fleet

-eviction
+scalingLimited
- -Eviction - +bool
-(Optional) -

Eviction specifies the eviction tolerance of the GameServer.

+

ScalingLimited indicates that the calculated scale would be above or below the range +defined by MinReplicas and MaxReplicas, and has thus been capped.

-

GameServerStatusPort +

FleetAutoscalerSync

(Appears on: -GameServerAllocationStatus, -GameServerStatus) +FleetAutoscalerSpec)

-

GameServerStatusPort shows the port that was allocated to a -GameServer.

+

FleetAutoscalerSync describes when to sync a fleet

@@ -1671,35 +1686,50 @@

GameServerStatusPort

-name
+type
-string + +FleetAutoscalerSyncType +
+

Type of autoscaling sync.

-port
+fixedInterval
-int32 + +FixedIntervalSync +
+(Optional) +

FixedInterval config params. Present only if FleetAutoscalerSyncType = FixedInterval.

-

GameServerTemplateSpec +

FleetAutoscalerSyncType +(string alias)

+

+(Appears on: +FleetAutoscalerSync) +

+

+

FleetAutoscalerSyncType is the sync strategy for a given Fleet

+

+

ListPolicy

(Appears on: -FleetSpec, -GameServerSetSpec) +FleetAutoscalerPolicy)

-

GameServerTemplateSpec is a template for GameServers

+

ListPolicy controls the desired behavior of the List autoscaler policy.

@@ -1711,173 +1741,150 @@

GameServerTemplateSpec

- - - - -
-metadata
- - -Kubernetes meta/v1.ObjectMeta - - -
-Refer to the Kubernetes API documentation for the fields of the -metadata field. -
-spec
- - -GameServerSpec - - -
-
-
- - - - - - - + +
-container
+key
string
-

Container specifies which Pod container is the game server. Only required if there is more than one -container defined

-
-ports
- - -[]GameServerPort - - -
-

Ports are the array of ports that can be exposed via the game server

+

Key is the name of the List. Required field.

-health
+maxCapacity
- -Health - +int64
-

Health configures health checking

+

MaxCapacity is the maximum aggregate List total capacity across the fleet. +MaxCapacity must be bigger than both MinCapacity and BufferSize. Required field.

-scheduling
+minCapacity
-agones.dev/agones/pkg/apis.SchedulingStrategy +int64
-

Scheduling strategy. Defaults to “Packed”

+

MinCapacity is the minimum aggregate List total capacity across the fleet. +If zero, it is ignored. +If non zero, it must be smaller than MaxCapacity and bigger than BufferSize.

-sdkServer
+bufferSize
- -SdkServer - +k8s.io/apimachinery/pkg/util/intstr.IntOrString
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

BufferSize is the size of a buffer based on the List capacity that is available over the +current aggregate List length in the Fleet (available capacity). It can be specified either +as an absolute value (i.e. 5) or percentage format (i.e. 5%). +Must be bigger than 0. Required field.

+

WebhookPolicy +

+

+(Appears on: +FleetAutoscalerPolicy) +

+

+

WebhookPolicy controls the desired behavior of the webhook policy. +It contains the description of the webhook autoscaler service +used to form url which is accessible inside the cluster

+

+ + - - + + + + - - - - - -
-template
- - -Kubernetes core/v1.PodTemplateSpec - - -
-

Template describes the Pod that will be created for the GameServer

-
FieldDescription
-players
+url
- -PlayersSpec - +string
(Optional) -

(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features.

+

url gives the location of the webhook, in standard URL form +(scheme://host:port/path). Exactly one of url or service +must be specified.

+

The host should not refer to a service running in the cluster; use +the service field instead. The host might be resolved via external +DNS in some apiservers (e.g., kube-apiserver cannot resolve +in-cluster DNS as that would be a layering violation). host may +also be an IP address.

+

Please note that using localhost or 127.0.0.1 as a host is +risky unless you take great care to run this webhook on all hosts +which run an apiserver which might need to make calls to this +webhook. Such installs are likely to be non-portable, i.e., not easy +to turn up in a new cluster.

+

The scheme must be “https”; the URL must begin with “https://”.

+

A path is optional, and if present may be any string permissible in +a URL. You may use the path to pass an arbitrary string to the +webhook, for example, a cluster identifier.

+

Attempting to use a user or basic auth e.g. “user:password@” is not +allowed. Fragments (“#…”) and query parameters (“?…”) are not +allowed, either.

-counters
+service
- -map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus + +Kubernetes admissionregistration/v1.ServiceReference
(Optional) -

(Alpha, CountsAndLists feature flag) Counters and Lists provides the configuration for generic tracking features.

+

service is a reference to the service for this webhook. Either +service or url must be specified.

+

If the webhook is running within the cluster, then you should use service.

-lists
+caBundle
- -map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus - +[]byte
-
-eviction
- - -Eviction - - -
-(Optional) -

Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

-
+(Optional) +

caBundle is a PEM encoded CA bundle which will be used to validate the webhook’s server certificate. +If unspecified, system trust roots on the apiserver are used.

-

Health -

+
+

multicluster.agones.dev/v1

-(Appears on: -GameServerSpec) +

Package v1 is the v1 version of the API.

+Resource Types: + +

GameServerAllocationPolicy +

-

Health configures health checking on the GameServer

+

GameServerAllocationPolicy is the Schema for the gameserverallocationpolicies API

@@ -1889,59 +1896,93 @@

Health

+ + + + + + + + +
-disabled
+apiVersion
+string
+ +multicluster.agones.dev/v1 + +
+kind
+string +
GameServerAllocationPolicy
+metadata
-bool + +Kubernetes meta/v1.ObjectMeta +
-

Disabled is whether health checking is disabled or not

+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-periodSeconds
+spec
+ + +GameServerAllocationPolicySpec + + +
+
+
+ + + + +
+priority
int32
-

PeriodSeconds is the number of seconds each health ping has to occur in

-failureThreshold
+weight
-int32 +int
-

FailureThreshold how many failures in a row constitutes unhealthy

-initialDelaySeconds
+connectionInfo
-int32 + +ClusterConnectionInfo +
-

InitialDelaySeconds initial delay before checking health

+
-

ListStatus +

ClusterConnectionInfo

(Appears on: -GameServerSpec, -GameServerStatus) +GameServerAllocationPolicySpec)

-

ListStatus stores the current list values

+

ClusterConnectionInfo defines the connection information for a cluster

@@ -1953,83 +1994,67 @@

ListStatus

- -
-capacity
+clusterName
-int64 +string
+

Optional: the name of the targeted cluster

-values
+allocationEndpoints
[]string
+

The endpoints for the allocator service in the targeted cluster. +If the AllocationEndpoints is not set, the allocation happens on local cluster. +If there are multiple endpoints any of the endpoints that can handle allocation request should suffice

-

PlayerStatus -

-

-(Appears on: -GameServerStatus) -

-

-

PlayerStatus stores the current player capacity values

-

- - - - - - - -
FieldDescription
-count
+secretName
-int64 +string
+

The name of the secret that contains TLS client certificates to connect the allocator server in the targeted cluster

-capacity
+namespace
-int64 +string
+

The cluster namespace from which to allocate gameservers

-ids
+serverCa
-[]string +[]byte
+

The PEM encoded server CA, used by the allocator client to authenticate the remote server.

-

PlayersSpec +

ConnectionInfoIterator

-(Appears on: -GameServerSpec) -

-

-

PlayersSpec tracks the initial player capacity

+

ConnectionInfoIterator an iterator on ClusterConnectionInfo

@@ -2041,88 +2066,58 @@

PlayersSpec

- -
-initialCapacity
+currPriority
-int64 +int
+

currPriority Current priority index from the orderedPriorities

-

PortPolicy -(string alias)

-

-(Appears on: -GameServerPort) -

-

-

PortPolicy is the port policy for the GameServer

-

-

Priority -

-

-(Appears on: -FleetSpec, -GameServerAllocationSpec, -GameServerSetSpec) -

-

-

Priority is a sorting option for GameServers with Counters or Lists based on the Capacity. -Type: Sort by a “Counter” or a “List”. -Key: The name of the Counter or List. If not found on the GameServer, has no impact. -Order: Sort by “Ascending” or “Descending”. “Descending” a bigger Capacity is preferred. -“Ascending” would be smaller Capacity is preferred.

-

- - - - - - - -
FieldDescription
-type
+orderedPriorities
-string +[]int32
+

orderedPriorities list of ordered priorities

-key
+priorityToCluster
-string +map[int32]map[string][]*agones.dev/agones/pkg/apis/multicluster/v1.GameServerAllocationPolicy
+

priorityToCluster Map of priority to cluster-policies map

-order
+clusterBlackList
-string +map[string]bool
+

clusterBlackList the cluster blacklist for the clusters that has already returned

-

SdkServer +

GameServerAllocationPolicySpec

(Appears on: -GameServerSpec) +GameServerAllocationPolicy)

-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

GameServerAllocationPolicySpec defines the desired state of GameServerAllocationPolicy

@@ -2134,64 +2129,55 @@

SdkServer

-logLevel
+priority
- -SdkServerLogLevel - +int32
-

LogLevel for SDK server (sidecar) logs. Defaults to “Info”

-grpcPort
+weight
-int32 +int
-

GRPCPort is the port on which the SDK Server binds the gRPC server to accept incoming connections

-httpPort
+connectionInfo
-int32 + +ClusterConnectionInfo +
-

HTTPPort is the port on which the SDK Server binds the HTTP gRPC gateway server to accept incoming connections

-

SdkServerLogLevel -(string alias)

-

-(Appears on: -SdkServer) -

-

-

SdkServerLogLevel is the log level for SDK server (sidecar) logs

-


-

allocation.agones.dev/v1

+

agones.dev/v1

Package v1 is the v1 version of the API.

Resource Types: -

GameServerAllocation +

Fleet

-

GameServerAllocation is the data structure for allocating against a set of -GameServers, defined selectors selectors

+

Fleet is the data structure for a Fleet resource

@@ -2207,7 +2193,7 @@

GameServerAllocation string

@@ -2216,7 +2202,7 @@

GameServerAllocation kind
string -

+ @@ -2247,82 +2233,43 @@

GameServerAllocation

-allocation.agones.dev/v1 +agones.dev/v1
GameServerAllocationFleet
@@ -2236,8 +2222,8 @@

GameServerAllocation

spec
- -GameServerAllocationSpec + +FleetSpec
- - - - - - - - @@ -2338,43 +2285,32 @@

GameServerAllocation

- - - -
-multiClusterSetting
+replicas
- -MultiClusterSetting - - -
-

MultiClusterPolicySelector if specified, multi-cluster policies are applied. -Otherwise, allocation will happen locally.

-
-required
- - -GameServerSelector - - -
-

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. -Required is the GameServer selector from which to choose GameServers from. -Defaults to all GameServers.

-
-preferred
- - -[]GameServerSelector - +int32
-

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. -Preferred is an ordered list of preferred GameServer selectors -that are optional to be fulfilled, but will be searched before the required selector. -If the first selector is not matched, the selection attempts the second selector, and so on. -If any of the preferred selectors are matched, the required selector is not considered. -This is useful for things like smoke testing of new game servers.

+

Replicas are the number of GameServers that should be in this set. Defaults to 0.

-priorities
+allocationOverflow
- -[]Priority + +AllocationOverflow
(Optional) -

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The allocator will use the first priority for sorting GameServers by -available Capacity in the Selector set. Acts as a tie-breaker after sorting the game servers -by State and Strategy Packed. Impacts which GameServer is checked first.

+

[Stage: Beta] +[FeatureFlag:FleetAllocationOverflow] +Labels and/or Annotations to apply to overflowing GameServers when the number of Allocated GameServers is more +than the desired replicas on the underlying GameServerSet

-selectors
+strategy
- -[]GameServerSelector + +Kubernetes apps/v1.DeploymentStrategy
-

Ordered list of GameServer label selectors. -If the first selector is not matched, the selection attempts the second selector, and so on. -This is useful for things like smoke testing of new game servers. -Note: This field can only be set if neither Required or Preferred is set.

+

Deployment strategy

-metadata
- - -MetaPatch - - -
-

MetaPatch is optional custom metadata that is added to the game server at allocation -You can use this to tell the server necessary session data

-
-counters
+priorities
- -map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterAction + +[]Priority
(Optional) -

(Alpha, CountsAndLists feature flag) Counters and Lists provide a set of actions to perform -on Counters and Lists during allocation.

+

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most +important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers +by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by +State and Strategy. Impacts scale down logic.

-lists
+template
- -map[string]agones.dev/agones/pkg/apis/allocation/v1.ListAction + +GameServerTemplateSpec
+

Template the GameServer template to apply for this Fleet

@@ -2384,8 +2320,8 @@

GameServerAllocation status
- -GameServerAllocationStatus + +FleetStatus @@ -2394,17 +2330,14 @@

GameServerAllocation -

CounterAction +

GameServer

-(Appears on: -GameServerAllocationSpec) -

-

-

CounterAction is an optional action that can be performed on a Counter at allocation. -Action: “Increment” or “Decrement” the Counter’s Count (optional). Must also define the Amount. -Amount: The amount to increment or decrement the Count (optional). Must be a positive integer. -Capacity: Update the maximum capacity of the Counter to this number (optional). Min 0, Max int64.

+

GameServer is the data structure for a GameServer resource. +It is worth noting that while there is a GameServerStatus Status entry for the GameServer, it is not +defined as a subresource - unlike Fleet and other Agones resources. +This is so that we can retain the ability to change multiple aspects of a GameServer in a single atomic operation, +which is particularly useful for operations such as allocation.

@@ -2416,239 +2349,190 @@

CounterAction

+ + + + - - -
-action
- -string - +apiVersion
+string
+ +agones.dev/v1 +
+kind
+string
GameServer
-amount
+metadata
-int64 + +Kubernetes meta/v1.ObjectMeta +
+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-capacity
+spec
-int64 + +GameServerSpec +
-
-

CounterSelector -

-

-(Appears on: -GameServerSelector) -

-

-

CounterSelector is the filter options for a GameServer based on the count and/or available capacity. -0 for MaxCount or MaxAvailable means unlimited maximum. Default for all fields: 0

-

+
+
- - - - - - - - -
FieldDescription
-minCount
+container
-int64 +string
+

Container specifies which Pod container is the game server. Only required if there is more than one +container defined

-maxCount
+ports
-int64 + +[]GameServerPort +
+

Ports are the array of ports that can be exposed via the game server

-minAvailable
+health
-int64 + +Health +
+

Health configures health checking

-maxAvailable
+scheduling
-int64 +agones.dev/agones/pkg/apis.SchedulingStrategy
+

Scheduling strategy. Defaults to “Packed”

-

GameServerAllocationSpec -

-

-(Appears on: -GameServerAllocation) -

-

-

GameServerAllocationSpec is the spec for a GameServerAllocation

-

- - - - - - - - - - - - - - -
FieldDescription
-multiClusterSetting
+sdkServer
- -MultiClusterSetting + +SdkServer
-

MultiClusterPolicySelector if specified, multi-cluster policies are applied. -Otherwise, allocation will happen locally.

+

SdkServer specifies parameters for the Agones SDK Server sidecar container

-required
+template
- -GameServerSelector + +Kubernetes core/v1.PodTemplateSpec
-

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. -Required is the GameServer selector from which to choose GameServers from. -Defaults to all GameServers.

+

Template describes the Pod that will be created for the GameServer

-preferred
+players
- -[]GameServerSelector + +PlayersSpec
-

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. -Preferred is an ordered list of preferred GameServer selectors -that are optional to be fulfilled, but will be searched before the required selector. -If the first selector is not matched, the selection attempts the second selector, and so on. -If any of the preferred selectors are matched, the required selector is not considered. -This is useful for things like smoke testing of new game servers.

+(Optional) +

(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features.

-priorities
+counters
- -[]Priority + +map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
(Optional) -

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The allocator will use the first priority for sorting GameServers by -available Capacity in the Selector set. Acts as a tie-breaker after sorting the game servers -by State and Strategy Packed. Impacts which GameServer is checked first.

+

(Alpha, CountsAndLists feature flag) Counters provides the configuration for tracking of int64 values against a GameServer. +Keys must be declared at GameServer creation time.

-selectors
+lists
- -[]GameServerSelector + +map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
-

Ordered list of GameServer label selectors. -If the first selector is not matched, the selection attempts the second selector, and so on. -This is useful for things like smoke testing of new game servers. -Note: This field can only be set if neither Required or Preferred is set.

-
-scheduling
- -agones.dev/agones/pkg/apis.SchedulingStrategy - -
-

Scheduling strategy. Defaults to “Packed”.

+(Optional) +

(Alpha, CountsAndLists feature flag) Lists provides the configuration for tracking of lists of up to 1000 values against a GameServer. +Keys must be declared at GameServer creation time.

-metadata
+eviction
- -MetaPatch + +Eviction
-

MetaPatch is optional custom metadata that is added to the game server at allocation -You can use this to tell the server necessary session data

+(Optional) +

Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

-counters
- - -map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterAction - - -
-(Optional) -

(Alpha, CountsAndLists feature flag) Counters and Lists provide a set of actions to perform -on Counters and Lists during allocation.

+
-lists
+status
- -map[string]agones.dev/agones/pkg/apis/allocation/v1.ListAction + +GameServerStatus @@ -2657,23 +2541,12 @@

GameServerAllocationS -

GameServerAllocationState -(string alias)

-

-(Appears on: -GameServerAllocationStatus) -

-

-

GameServerAllocationState is the Allocation state

-

-

GameServerAllocationStatus +

GameServerSet

-(Appears on: -GameServerAllocation) -

-

-

GameServerAllocationStatus is the status for an GameServerAllocation resource

+

GameServerSet is the data structure for a set of GameServers. +This matches philosophically with the relationship between +Deployments and ReplicaSets

@@ -2685,129 +2558,127 @@

GameServerAllocatio

+apiVersion
+string - + - +
+
+
-state
- - -GameServerAllocationState - - -
-

GameServerState is the current state of an GameServerAllocation, e.g. Allocated, or UnAllocated

+ +agones.dev/v1 +
-gameServerName
- +kind
string -
-
GameServerSet
-ports
+metadata
- -[]GameServerStatusPort + +Kubernetes meta/v1.ObjectMeta
+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-address
+spec
-string + +GameServerSetSpec +
-
- -
-addresses
+replicas
- -[]Kubernetes core/v1.NodeAddress - +int32
+

Replicas are the number of GameServers that should be in this set

-nodeName
+allocationOverflow
-string + +AllocationOverflow +
+(Optional) +

[Stage: Beta] +[FeatureFlag:FleetAllocationOverflow] +Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below +the desired replicas on the underlying GameServerSet

-source
+scheduling
-string +agones.dev/agones/pkg/apis.SchedulingStrategy
-

If the allocation is from a remote cluster, Source is the endpoint of the remote agones-allocator. -Otherwise, Source is “local”

+

Scheduling strategy. Defaults to “Packed”.

-metadata
+priorities
- -GameServerMetadata + +[]Priority
+(Optional) +

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most +important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers +by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by +State and Strategy. Impacts scale down logic.

-

GameServerMetadata -

-

-(Appears on: -GameServerAllocationStatus) -

-

-

GameServerMetadata is the metadata from the allocated game server at allocation time

-

- - - - - - - - + +
FieldDescription
-labels
+template
-map[string]string + +GameServerTemplateSpec +
+

Template the GameServer template to apply for this GameServerSet

+
-annotations
+status
-map[string]string + +GameServerSetStatus + @@ -2815,15 +2686,15 @@

GameServerMetadata -

GameServerSelector +

AggregatedCounterStatus

(Appears on: -GameServerAllocationSpec) +FleetStatus, +GameServerSetStatus)

-

GameServerSelector contains all the filter options for selecting -a GameServer for allocation.

+

AggregatedCounterStatus stores total and allocated Counter tracking values

@@ -2835,96 +2706,55 @@

GameServerSelector

- - - -
-LabelSelector
- - -Kubernetes meta/v1.LabelSelector - - -
-

-(Members of LabelSelector are embedded into this type.) -

-

See: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/

-
-gameServerState
+allocatedCount
- -GameServerState - +int64
-

GameServerState specifies which State is the filter to be used when attempting to retrieve a GameServer -via Allocation. Defaults to “Ready”. The only other option is “Allocated”, which can be used in conjunction with -label/annotation/player selectors to retrieve an already Allocated GameServer.

-players
+allocatedCapacity
- -PlayerSelector - +int64
-(Optional) -

[Stage:Alpha] -[FeatureFlag:PlayerAllocationFilter] -Players provides a filter on minimum and maximum values for player capacity when retrieving a GameServer -through Allocation. Defaults to no limits.

-counters
+count
- -map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterSelector - +int64
-(Optional) -

(Alpha, CountsAndLists feature flag) Counters provides filters on minimum and maximum values -for a Counter’s count and available capacity when retrieving a GameServer through Allocation. -Defaults to no limits.

-lists
+capacity
- -map[string]agones.dev/agones/pkg/apis/allocation/v1.ListSelector - +int64
-(Optional) -

(Alpha, CountsAndLists feature flag) Lists provides filters on minimum and maximum values -for List capacity, and for the existence of a value in a List, when retrieving a GameServer -through Allocation. Defaults to no limits.

-

ListAction +

AggregatedListStatus

(Appears on: -GameServerAllocationSpec) +FleetStatus, +GameServerSetStatus)

-

ListAction is an optional action that can be performed on a List at allocation. -AddValues: Append values to a List’s Values array (optional). Any duplicate values will be ignored. -Capacity: Update the maximum capacity of the Counter to this number (optional). Min 0, Max 1000.

+

AggregatedListStatus stores total and allocated List tracking values

@@ -2936,9 +2766,9 @@

ListAction

- -
-addValues
+allocatedCount
-[]string +int64
@@ -2946,7 +2776,7 @@

ListAction

-capacity
+allocatedCapacity
int64 @@ -2954,41 +2784,9 @@

ListAction

-

ListSelector -

-

-(Appears on: -GameServerSelector) -

-

-

ListSelector is the filter options for a GameServer based on List available capacity and/or the -existence of a value in a List. -0 for MaxAvailable means unlimited maximum. Default for integer fields: 0 -“” for ContainsValue means ignore field. Default for string field: “”

-

- - - - - - - - - - - -
FieldDescription
-containsValue
- -string - -
-
-minAvailable
+count
int64 @@ -2998,7 +2796,7 @@

ListSelector

-maxAvailable
+capacity
int64 @@ -3008,14 +2806,15 @@

ListSelector

-

MetaPatch +

AggregatedPlayerStatus

(Appears on: -GameServerAllocationSpec) +FleetStatus, +GameServerSetStatus)

-

MetaPatch is the metadata used to patch the GameServer metadata on allocation

+

AggregatedPlayerStatus stores total player tracking values

@@ -3027,9 +2826,9 @@

MetaPatch

-labels
+count
-map[string]string +int64
@@ -3037,9 +2836,9 @@

MetaPatch

-annotations
+capacity
-map[string]string +int64
@@ -3047,14 +2846,17 @@

MetaPatch

-

MultiClusterSetting +

AllocationOverflow

(Appears on: -GameServerAllocationSpec) +FleetSpec, +GameServerSetSpec)

-

MultiClusterSetting specifies settings for multi-cluster allocation.

+

AllocationOverflow specifies what labels and/or annotations to apply on Allocated GameServers +if the desired number of the underlying GameServerSet drops below the number of Allocated GameServers +attached to it.

@@ -3066,36 +2868,39 @@

MultiClusterSetting

-enabled
+labels
-bool +map[string]string
+(Optional) +

Labels to be applied to the GameServer

-policySelector
+annotations
- -Kubernetes meta/v1.LabelSelector - +map[string]string
+(Optional) +

Annotations to be applied to the GameServer

-

PlayerSelector +

CounterStatus

(Appears on: -GameServerSelector) +GameServerSpec, +GameServerStatus)

-

PlayerSelector is the filter options for a GameServer based on player counts

+

CounterStatus stores the current counter values and maximum capacity

@@ -3107,7 +2912,7 @@

PlayerSelector

-minAvailable
+count
int64 @@ -3117,7 +2922,7 @@

PlayerSelector

-maxAvailable
+capacity
int64 @@ -3127,19 +2932,15 @@

PlayerSelector

-
-

autoscaling.agones.dev/v1

+

Eviction +

-

Package v1 is the v1 version of the API.

+(Appears on: +GameServerSpec, +GameServerStatus)

-Resource Types: - -

FleetAutoscaler -

-

FleetAutoscaler is the data structure for a FleetAutoscaler resource

+

Eviction specifies the eviction tolerance of the GameServer

@@ -3151,110 +2952,141 @@

FleetAutoscaler

+safe
+ + +EvictionSafe + + + + +
-apiVersion
-string
- -autoscaling.agones.dev/v1 - +

Game server supports termination via SIGTERM: +- Always: Allow eviction for both Cluster Autoscaler and node drain for upgrades +- OnUpgrade: Allow eviction for upgrades alone +- Never (default): Pod should run to completion

+

EvictionSafe +(string alias)

+

+(Appears on: +Eviction) +

+

+

EvictionSafe specified whether the game server supports termination via SIGTERM

+

+

FleetSpec +

+

+(Appears on: +Fleet) +

+

+

FleetSpec is the spec for a Fleet

+

+ + - - + + + +
-kind
-string -
FleetAutoscalerFieldDescription
-metadata
+replicas
- -Kubernetes meta/v1.ObjectMeta - +int32
-Refer to the Kubernetes API documentation for the fields of the -metadata field. +

Replicas are the number of GameServers that should be in this set. Defaults to 0.

-spec
+allocationOverflow
- -FleetAutoscalerSpec + +AllocationOverflow
-
-
- +(Optional) +

[Stage: Beta] +[FeatureFlag:FleetAllocationOverflow] +Labels and/or Annotations to apply to overflowing GameServers when the number of Allocated GameServers is more +than the desired replicas on the underlying GameServerSet

+ + - -
-fleetName
+strategy
-string + +Kubernetes apps/v1.DeploymentStrategy +
+

Deployment strategy

-policy
+scheduling
- -FleetAutoscalerPolicy - +agones.dev/agones/pkg/apis.SchedulingStrategy
-

Autoscaling policy

+

Scheduling strategy. Defaults to “Packed”.

-sync
+priorities
- -FleetAutoscalerSync + +[]Priority
(Optional) -

Sync defines when FleetAutoscalers runs autoscaling

-
+

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most +important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers +by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by +State and Strategy. Impacts scale down logic.

-status
+template
- -FleetAutoscalerStatus + +GameServerTemplateSpec
+

Template the GameServer template to apply for this Fleet

-

BufferPolicy +

FleetStatus

(Appears on: -FleetAutoscalerPolicy) +Fleet, +FleetAutoscaleRequest)

-

BufferPolicy controls the desired behavior of the buffer policy.

+

FleetStatus is the status of a Fleet

@@ -3266,128 +3098,106 @@

BufferPolicy

- -
-maxReplicas
+replicas
int32
-

MaxReplicas is the maximum amount of replicas that the fleet may have. -It must be bigger than both MinReplicas and BufferSize

+

Replicas the total number of current GameServer replicas

-minReplicas
+readyReplicas
int32
-

MinReplicas is the minimum amount of replicas that the fleet must have -If zero, it is ignored. -If non zero, it must be smaller than MaxReplicas and bigger than BufferSize

+

ReadyReplicas are the number of Ready GameServer replicas

-bufferSize
+reservedReplicas
-k8s.io/apimachinery/pkg/util/intstr.IntOrString +int32
-

BufferSize defines how many replicas the autoscaler tries to have ready all the time -Value can be an absolute number (ex: 5) or a percentage of desired gs instances (ex: 15%) -Absolute number is calculated from percentage by rounding up. -Example: when this is set to 20%, the autoscaler will make sure that 20% -of the fleet’s game server replicas are ready. When this is set to 20, -the autoscaler will make sure that there are 20 available game servers -Must be bigger than 0 -Note: by “ready” we understand in this case “non-allocated”; this is done to ensure robustness -and computation stability in different edge case (fleet just created, not enough -capacity in the cluster etc)

+

ReservedReplicas are the total number of Reserved GameServer replicas in this fleet. +Reserved instances won’t be deleted on scale down, but won’t cause an autoscaler to scale up.

-

CounterPolicy -

-

-(Appears on: -FleetAutoscalerPolicy) -

-

-

CounterPolicy controls the desired behavior of the Counter autoscaler policy.

-

- - - - - - - -
FieldDescription
-key
+allocatedReplicas
-string +int32
-

Key is the name of the Counter. Required field.

+

AllocatedReplicas are the number of Allocated GameServer replicas

-maxCapacity
+players
-int64 + +AggregatedPlayerStatus +
-

MaxCapacity is the maximum aggregate Counter total capacity across the fleet. -MaxCapacity must be bigger than both MinCapacity and BufferSize. Required field.

+(Optional) +

[Stage:Alpha] +[FeatureFlag:PlayerTracking] +Players are the current total player capacity and count for this Fleet

-minCapacity
+counters
-int64 + +map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus +
-

MinCapacity is the minimum aggregate Counter total capacity across the fleet. -If zero, MinCapacity is ignored. -If non zero, MinCapacity must be smaller than MaxCapacity and bigger than BufferSize.

+(Optional) +

(Alpha, CountsAndLists feature flag) Counters provides aggregated Counter capacity and Counter +count for this Fleet.

-bufferSize
+lists
-k8s.io/apimachinery/pkg/util/intstr.IntOrString + +map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedListStatus +
-

BufferSize is the size of a buffer of counted items that are available in the Fleet (available -capacity). Value can be an absolute number (ex: 5) or a percentage of desired gs instances -(ex: 5%). An absolute number is calculated from percentage by rounding up. -Must be bigger than 0. Required field.

+(Optional) +

(Alpha, CountsAndLists feature flag) Lists provides aggregated List capacityv and List values +for this Fleet.

-

FixedIntervalSync +

GameServerPort

(Appears on: -FleetAutoscalerSync) +GameServerSpec)

-

FixedIntervalSync controls the desired behavior of the fixed interval based sync.

+

GameServerPort defines a set of Ports that +are to be exposed via the GameServer

@@ -3399,93 +3209,89 @@

FixedIntervalSync

- -
-seconds
+name
-int32 +string
-

Seconds defines how often we run fleet autoscaling in seconds

+

Name is the descriptive name of the port

-

FleetAutoscaleRequest -

-

-(Appears on: -FleetAutoscaleReview) -

-

-

FleetAutoscaleRequest defines the request to webhook autoscaler endpoint

-

- - - - + + - -
FieldDescription +portPolicy
+ + +PortPolicy + + +
+

PortPolicy defines the policy for how the HostPort is populated. +Dynamic port will allocate a HostPort within the selected MIN_PORT and MAX_PORT range passed to the controller +at installation time. +When Static portPolicy is specified, HostPort is required, to specify the port that game clients will +connect to

+
-uid
+container
-k8s.io/apimachinery/pkg/types.UID +string
-

UID is an identifier for the individual request/response. It allows us to distinguish instances of requests which are -otherwise identical (parallel requests, requests when earlier requests did not modify etc) -The UID is meant to track the round trip (request/response) between the Autoscaler and the WebHook, not the user request. -It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging.

+(Optional) +

Container is the name of the container on which to open the port. Defaults to the game server container.

-name
+containerPort
-string +int32
-

Name is the name of the Fleet being scaled

+

ContainerPort is the port that is being opened on the specified container’s process

-namespace
+hostPort
-string +int32
-

Namespace is the namespace associated with the request (if any).

+

HostPort the port exposed on the host for clients to connect to

-status
+protocol
- -FleetStatus + +Kubernetes core/v1.Protocol
-

The Fleet’s status values

+

Protocol is the network protocol being used. Defaults to UDP. TCP and TCPUDP are other options.

-

FleetAutoscaleResponse +

GameServerSetSpec

(Appears on: -FleetAutoscaleReview) +GameServerSet)

-

FleetAutoscaleResponse defines the response of webhook autoscaler endpoint

+

GameServerSetSpec the specification for GameServerSet

@@ -3497,88 +3303,83 @@

FleetAutoscaleResponse

- -
-uid
+replicas
-k8s.io/apimachinery/pkg/types.UID +int32
-

UID is an identifier for the individual request/response. -This should be copied over from the corresponding FleetAutoscaleRequest.

+

Replicas are the number of GameServers that should be in this set

-scale
+allocationOverflow
-bool + +AllocationOverflow +
-

Set to false if no scaling should occur to the Fleet

+(Optional) +

[Stage: Beta] +[FeatureFlag:FleetAllocationOverflow] +Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below +the desired replicas on the underlying GameServerSet

-replicas
+scheduling
-int32 +agones.dev/agones/pkg/apis.SchedulingStrategy
-

The targeted replica count

+

Scheduling strategy. Defaults to “Packed”.

-

FleetAutoscaleReview -

-

-

FleetAutoscaleReview is passed to the webhook with a populated Request value, -and then returned with a populated Response.

-

- - - - - - - -
FieldDescription
-request
+priorities
- -FleetAutoscaleRequest + +[]Priority
+(Optional) +

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most +important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers +by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by +State and Strategy. Impacts scale down logic.

-response
+template
- -FleetAutoscaleResponse + +GameServerTemplateSpec
+

Template the GameServer template to apply for this GameServerSet

-

FleetAutoscalerPolicy +

GameServerSetStatus

(Appears on: -FleetAutoscalerSpec) +GameServerSet)

-

FleetAutoscalerPolicy describes how to scale a fleet

+

GameServerSetStatus is the status of a GameServerSet

@@ -3590,97 +3391,116 @@

FleetAutoscalerPolicy

+ + + + + + + + - -
-type
+replicas
- -FleetAutoscalerPolicyType - +int32
-

Type of autoscaling policy.

+

Replicas is the total number of current GameServer replicas

-buffer
+readyReplicas
- -BufferPolicy - +int32
-(Optional) -

Buffer policy config params. Present only if FleetAutoscalerPolicyType = Buffer.

+

ReadyReplicas is the number of Ready GameServer replicas

-webhook
+reservedReplicas
- -WebhookPolicy - +int32
-(Optional) -

Webhook policy config params. Present only if FleetAutoscalerPolicyType = Webhook.

+

ReservedReplicas is the number of Reserved GameServer replicas

-counter
+allocatedReplicas
- -CounterPolicy +int32 + +
+

AllocatedReplicas is the number of Allocated GameServer replicas

+
+shutdownReplicas
+ +int32 + +
+

ShutdownReplicas is the number of Shutdown GameServers replicas

+
+players
+ + +AggregatedPlayerStatus
(Optional)

[Stage:Alpha] -[FeatureFlag:CountsAndLists] -Counter policy config params. Present only if FleetAutoscalerPolicyType = Counter.

+[FeatureFlag:PlayerTracking] +Players is the current total player capacity and count for this GameServerSet

-list
+counters
- -ListPolicy + +map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus
(Optional) -

[Stage:Alpha] -[FeatureFlag:CountsAndLists] -List policy config params. Present only if FleetAutoscalerPolicyType = List.

+

(Alpha, CountsAndLists feature flag) Counters provides aggregated Counter capacity and Counter +count for this GameServerSet.

-

FleetAutoscalerPolicyType -(string alias)

-

-(Appears on: -FleetAutoscalerPolicy) -

-

-

FleetAutoscalerPolicyType is the policy for autoscaling -for a given Fleet

-

-

FleetAutoscalerSpec + + +lists
+ + +map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedListStatus + + + + +(Optional) +

(Alpha, CountsAndLists feature flag) Lists provides aggregated List capacity and List values +for this GameServerSet.

+ + + + +

GameServerSpec

(Appears on: -FleetAutoscaler) +GameServer, +GameServerTemplateSpec)

-

FleetAutoscalerSpec is the spec for a Fleet Scaler

+

GameServerSpec is the spec for a GameServer resource

@@ -3692,186 +3512,157 @@

FleetAutoscalerSpec

- -
-fleetName
+container
string
+

Container specifies which Pod container is the game server. Only required if there is more than one +container defined

-policy
+ports
- -FleetAutoscalerPolicy + +[]GameServerPort
-

Autoscaling policy

+

Ports are the array of ports that can be exposed via the game server

-sync
+health
- -FleetAutoscalerSync + +Health
-(Optional) -

Sync defines when FleetAutoscalers runs autoscaling

+

Health configures health checking

-

FleetAutoscalerStatus -

-

-(Appears on: -FleetAutoscaler) -

-

-

FleetAutoscalerStatus defines the current status of a FleetAutoscaler

-

- - - - - - - - - -
FieldDescription
-currentReplicas
+scheduling
-int32 +agones.dev/agones/pkg/apis.SchedulingStrategy
-

CurrentReplicas is the current number of gameserver replicas -of the fleet managed by this autoscaler, as last seen by the autoscaler

+

Scheduling strategy. Defaults to “Packed”

-desiredReplicas
+sdkServer
-int32 + +SdkServer +
-

DesiredReplicas is the desired number of gameserver replicas -of the fleet managed by this autoscaler, as last calculated by the autoscaler

+

SdkServer specifies parameters for the Agones SDK Server sidecar container

-lastScaleTime
+template
- -Kubernetes meta/v1.Time + +Kubernetes core/v1.PodTemplateSpec
-(Optional) -

lastScaleTime is the last time the FleetAutoscaler scaled the attached fleet,

+

Template describes the Pod that will be created for the GameServer

-ableToScale
+players
-bool + +PlayersSpec +
-

AbleToScale indicates that we can access the target fleet

+(Optional) +

(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features.

-scalingLimited
+counters
-bool + +map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus +
-

ScalingLimited indicates that the calculated scale would be above or below the range -defined by MinReplicas and MaxReplicas, and has thus been capped.

+(Optional) +

(Alpha, CountsAndLists feature flag) Counters provides the configuration for tracking of int64 values against a GameServer. +Keys must be declared at GameServer creation time.

-

FleetAutoscalerSync -

-

-(Appears on: -FleetAutoscalerSpec) -

-

-

FleetAutoscalerSync describes when to sync a fleet

-

- - - - - - - -
FieldDescription
-type
+lists
- -FleetAutoscalerSyncType + +map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
-

Type of autoscaling sync.

+(Optional) +

(Alpha, CountsAndLists feature flag) Lists provides the configuration for tracking of lists of up to 1000 values against a GameServer. +Keys must be declared at GameServer creation time.

-fixedInterval
+eviction
- -FixedIntervalSync + +Eviction
(Optional) -

FixedInterval config params. Present only if FleetAutoscalerSyncType = FixedInterval.

+

Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

-

FleetAutoscalerSyncType +

GameServerState (string alias)

(Appears on: -FleetAutoscalerSync) +GameServerSelector, +GameServerStatus)

-

FleetAutoscalerSyncType is the sync strategy for a given Fleet

+

GameServerState is the state for the GameServer

-

ListPolicy +

GameServerStatus

(Appears on: -FleetAutoscalerPolicy) +GameServer)

-

ListPolicy controls the desired behavior of the List autoscaler policy.

+

GameServerStatus is the status for a GameServer resource

@@ -3883,150 +3674,143 @@

ListPolicy

- -
-key
+state
-string + +GameServerState +
-

Key is the name of the List. Required field.

+

GameServerState is the current state of a GameServer, e.g. Creating, Starting, Ready, etc

-maxCapacity
+ports
-int64 + +[]GameServerStatusPort +
-

MaxCapacity is the maximum aggregate List total capacity across the fleet. -MaxCapacity must be bigger than both MinCapacity and BufferSize. Required field.

-minCapacity
+address
-int64 +string
-

MinCapacity is the minimum aggregate List total capacity across the fleet. -If zero, it is ignored. -If non zero, it must be smaller than MaxCapacity and bigger than BufferSize.

-bufferSize
+addresses
-k8s.io/apimachinery/pkg/util/intstr.IntOrString + +[]Kubernetes core/v1.NodeAddress +
-

BufferSize is the size of a buffer based on the List capacity that is available over the -current aggregate List length in the Fleet (available capacity). It can be specified either -as an absolute value (i.e. 5) or percentage format (i.e. 5%). -Must be bigger than 0. Required field.

+(Optional) +

Addresses is the array of addresses at which the GameServer can be reached; copy of Node.Status.addresses.

-

WebhookPolicy -

-

-(Appears on: -FleetAutoscalerPolicy) -

-

-

WebhookPolicy controls the desired behavior of the webhook policy. -It contains the description of the webhook autoscaler service -used to form url which is accessible inside the cluster

-

- - - - - - - - + + + + + + + + + + + +
FieldDescription
-url
+nodeName
string
-(Optional) -

url gives the location of the webhook, in standard URL form -(scheme://host:port/path). Exactly one of url or service -must be specified.

-

The host should not refer to a service running in the cluster; use -the service field instead. The host might be resolved via external -DNS in some apiservers (e.g., kube-apiserver cannot resolve -in-cluster DNS as that would be a layering violation). host may -also be an IP address.

-

Please note that using localhost or 127.0.0.1 as a host is -risky unless you take great care to run this webhook on all hosts -which run an apiserver which might need to make calls to this -webhook. Such installs are likely to be non-portable, i.e., not easy -to turn up in a new cluster.

-

The scheme must be “https”; the URL must begin with “https://”.

-

A path is optional, and if present may be any string permissible in -a URL. You may use the path to pass an arbitrary string to the -webhook, for example, a cluster identifier.

-

Attempting to use a user or basic auth e.g. “user:password@” is not -allowed. Fragments (“#…”) and query parameters (“?…”) are not -allowed, either.

-service
+reservedUntil
- -Kubernetes admissionregistration/v1.ServiceReference + +Kubernetes meta/v1.Time
-(Optional) -

service is a reference to the service for this webhook. Either -service or url must be specified.

-

If the webhook is running within the cluster, then you should use service.

-caBundle
+players
-[]byte + +PlayerStatus +
(Optional) -

caBundle is a PEM encoded CA bundle which will be used to validate the webhook’s server certificate. -If unspecified, system trust roots on the apiserver are used.

+

[Stage:Alpha] +[FeatureFlag:PlayerTracking]

+
+counters
+ + +map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus + + +
+(Optional) +

(Alpha, CountsAndLists feature flag) Counters and Lists provides the configuration for generic tracking features.

+
+lists
+ + +map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus + + +
+(Optional) +
+eviction
+ + +Eviction + + +
+(Optional) +

Eviction specifies the eviction tolerance of the GameServer.

-
-

multicluster.agones.dev/v1

+

GameServerStatusPort +

-

Package v1 is the v1 version of the API.

+(Appears on: +GameServerAllocationStatus, +GameServerStatus)

-Resource Types: - -

GameServerAllocationPolicy -

-

GameServerAllocationPolicy is the Schema for the gameserverallocationpolicies API

+

GameServerStatusPort shows the port that was allocated to a +GameServer.

@@ -4038,21 +3822,44 @@

GameServerAllocat

+name
+ +string + + - + + + +
-apiVersion
-string
- -multicluster.agones.dev/v1 -
-kind
-string +port
+ +int32 +
GameServerAllocationPolicy +
+

GameServerTemplateSpec +

+

+(Appears on: +FleetSpec, +GameServerSetSpec) +

+

+

GameServerTemplateSpec is a template for GameServers

+

+ + + + + + + @@ -4082,121 +3889,150 @@

GameServerAllocat

FieldDescription
metadata
@@ -4071,8 +3878,8 @@

GameServerAllocat

spec
- -GameServerAllocationPolicySpec + +GameServerSpec
-
-priority
+container
-int32 +string
+

Container specifies which Pod container is the game server. Only required if there is more than one +container defined

-weight
+ports
-int + +[]GameServerPort +
+

Ports are the array of ports that can be exposed via the game server

-connectionInfo
+health
- -ClusterConnectionInfo + +Health
+

Health configures health checking

+ + +scheduling
+ +agones.dev/agones/pkg/apis.SchedulingStrategy + + + +

Scheduling strategy. Defaults to “Packed”

- - -

ClusterConnectionInfo -

-

-(Appears on: -GameServerAllocationPolicySpec) -

-

-

ClusterConnectionInfo defines the connection information for a cluster

-

- - - - + + - - + +
FieldDescription +sdkServer
+ + +SdkServer + + +
+

SdkServer specifies parameters for the Agones SDK Server sidecar container

+
-clusterName
+template
-string + +Kubernetes core/v1.PodTemplateSpec +
-

Optional: the name of the targeted cluster

+

Template describes the Pod that will be created for the GameServer

-allocationEndpoints
+players
-[]string + +PlayersSpec +
-

The endpoints for the allocator service in the targeted cluster. -If the AllocationEndpoints is not set, the allocation happens on local cluster. -If there are multiple endpoints any of the endpoints that can handle allocation request should suffice

+(Optional) +

(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features.

-secretName
+counters
-string + +map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus +
-

The name of the secret that contains TLS client certificates to connect the allocator server in the targeted cluster

+(Optional) +

(Alpha, CountsAndLists feature flag) Counters provides the configuration for tracking of int64 values against a GameServer. +Keys must be declared at GameServer creation time.

-namespace
+lists
-string + +map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus +
-

The cluster namespace from which to allocate gameservers

+(Optional) +

(Alpha, CountsAndLists feature flag) Lists provides the configuration for tracking of lists of up to 1000 values against a GameServer. +Keys must be declared at GameServer creation time.

-serverCa
+eviction
-[]byte + +Eviction +
-

The PEM encoded server CA, used by the allocator client to authenticate the remote server.

+(Optional) +

Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

+
-

ConnectionInfoIterator +

Health

-

ConnectionInfoIterator an iterator on ClusterConnectionInfo

+(Appears on: +GameServerSpec) +

+

+

Health configures health checking on the GameServer

@@ -4208,58 +4044,59 @@

ConnectionInfoIterato

-currPriority
+disabled
-int +bool
-

currPriority Current priority index from the orderedPriorities

+

Disabled is whether health checking is disabled or not

-orderedPriorities
+periodSeconds
-[]int32 +int32
-

orderedPriorities list of ordered priorities

+

PeriodSeconds is the number of seconds each health ping has to occur in

-priorityToCluster
+failureThreshold
-map[int32]map[string][]*agones.dev/agones/pkg/apis/multicluster/v1.GameServerAllocationPolicy +int32
-

priorityToCluster Map of priority to cluster-policies map

+

FailureThreshold how many failures in a row constitutes unhealthy

-clusterBlackList
+initialDelaySeconds
-map[string]bool +int32
-

clusterBlackList the cluster blacklist for the clusters that has already returned

+

InitialDelaySeconds initial delay before checking health

-

GameServerAllocationPolicySpec +

ListStatus

(Appears on: -GameServerAllocationPolicy) +GameServerSpec, +GameServerStatus)

-

GameServerAllocationPolicySpec defines the desired state of GameServerAllocationPolicy

+

ListStatus stores the current list values and maximum capacity

@@ -4271,9 +4108,9 @@

GameServerAll

+ +
-priority
+capacity
-int32 +int64
@@ -4281,62 +4118,254 @@

GameServerAll

-weight
+values
-int +[]string
+

PlayerStatus +

+

+(Appears on: +GameServerStatus) +

+

+

PlayerStatus stores the current player capacity values

+

+ + + + + + + + + + + + + + + + + + + +
FieldDescription
-connectionInfo
+count
- -ClusterConnectionInfo +int64 + +
+
+capacity
+ +int64 + +
+
+ids
+ +[]string + +
+
+

PlayersSpec +

+

+(Appears on: +GameServerSpec) +

+

+

PlayersSpec tracks the initial player capacity

+

+ + + + + + + + + + + + + +
FieldDescription
+initialCapacity
+ +int64 + +
+
+

PortPolicy +(string alias)

+

+(Appears on: +GameServerPort) +

+

+

PortPolicy is the port policy for the GameServer

+

+

Priority +

+

+(Appears on: +FleetSpec, +GameServerAllocationSpec, +GameServerSetSpec) +

+

+

Priority is a sorting option for GameServers with Counters or Lists based on the Capacity.

+

+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+type
+ +string + +
+

Type: Sort by a “Counter” or a “List”.

+
+key
+ +string + +
+

Key: The name of the Counter or List. If not found on the GameServer, has no impact.

+
+order
+ +string + +
+

Order: Sort by “Ascending” or “Descending”. “Descending” a bigger Capacity is preferred. +“Ascending” would be smaller Capacity is preferred.

+
+

SdkServer +

+

+(Appears on: +GameServerSpec) +

+

+

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

+ + + + + + + + + + + + + + + + + +
FieldDescription
+logLevel
+ + +SdkServerLogLevel
+

LogLevel for SDK server (sidecar) logs. Defaults to “Info”

+
+grpcPort
+ +int32 + +
+

GRPCPort is the port on which the SDK Server binds the gRPC server to accept incoming connections

+
+httpPort
+ +int32 + +
+

HTTPPort is the port on which the SDK Server binds the HTTP gRPC gateway server to accept incoming connections

+

SdkServerLogLevel +(string alias)

+

+(Appears on: +SdkServer) +

+

+

SdkServerLogLevel is the log level for SDK server (sidecar) logs

+


Generated with gen-crd-api-reference-docs.

{{% /feature %}} -{{% feature publishVersion="1.37.0" %}} +{{% feature publishVersion="1.39.0" %}}

Packages:

-

allocation.agones.dev/v1

+

multicluster.agones.dev/v1

Package v1 is the v1 version of the API.

Resource Types: -

GameServerAllocation +

GameServerAllocationPolicy

-

GameServerAllocation is the data structure for allocating against a set of -GameServers, defined selectors selectors

+

GameServerAllocationPolicy is the Schema for the gameserverallocationpolicies API

@@ -4352,7 +4381,7 @@

GameServerAllocation string

@@ -4361,13 +4390,13 @@

GameServerAllocation kind
string -

+ @@ -4392,162 +4421,121 @@

GameServerAllocation

-allocation.agones.dev/v1 +multicluster.agones.dev/v1
GameServerAllocationGameServerAllocationPolicy
metadata
- + Kubernetes meta/v1.ObjectMeta @@ -4381,8 +4410,8 @@

GameServerAllocation

spec
- -GameServerAllocationSpec + +GameServerAllocationPolicySpec
- - -
-multiClusterSetting
+priority
- -MultiClusterSetting - +int32
-

MultiClusterPolicySelector if specified, multi-cluster policies are applied. -Otherwise, allocation will happen locally.

-required
+weight
- -GameServerSelector - +int
-

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. -Required is the GameServer selector from which to choose GameServers from. -Defaults to all GameServers.

-preferred
+connectionInfo
- -[]GameServerSelector + +ClusterConnectionInfo
-

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. -Preferred is an ordered list of preferred GameServer selectors -that are optional to be fulfilled, but will be searched before the required selector. -If the first selector is not matched, the selection attempts the second selector, and so on. -If any of the preferred selectors are matched, the required selector is not considered. -This is useful for things like smoke testing of new game servers.

-priorities
- - -[]Priority - - -
-(Optional) -

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The allocator will use the first priority for sorting GameServers by -available Capacity in the Selector set. Acts as a tie-breaker after sorting the game servers -by State and Strategy Packed. Impacts which GameServer is checked first.

+
+ + +

ClusterConnectionInfo +

+

+(Appears on: +GameServerAllocationPolicySpec) +

+

+

ClusterConnectionInfo defines the connection information for a cluster

+

+ + - - + + + + - -
-selectors
- - -[]GameServerSelector - - -
-

Ordered list of GameServer label selectors. -If the first selector is not matched, the selection attempts the second selector, and so on. -This is useful for things like smoke testing of new game servers. -Note: This field can only be set if neither Required or Preferred is set.

-
FieldDescription
-scheduling
+clusterName
-agones.dev/agones/pkg/apis.SchedulingStrategy +string
-

Scheduling strategy. Defaults to “Packed”.

+

Optional: the name of the targeted cluster

-metadata
+allocationEndpoints
- -MetaPatch - +[]string
-

MetaPatch is optional custom metadata that is added to the game server at allocation -You can use this to tell the server necessary session data

+

The endpoints for the allocator service in the targeted cluster. +If the AllocationEndpoints is not set, the allocation happens on local cluster. +If there are multiple endpoints any of the endpoints that can handle allocation request should suffice

-counters
+secretName
- -map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterAction - +string
-(Optional) -

(Alpha, CountsAndLists feature flag) Counter actions to perform during allocation.

+

The name of the secret that contains TLS client certificates to connect the allocator server in the targeted cluster

-lists
+namespace
- -map[string]agones.dev/agones/pkg/apis/allocation/v1.ListAction - +string
-(Optional) -

(Alpha, CountsAndLists feature flag) List actions to perform during allocation.

-
+

The cluster namespace from which to allocate gameservers

-status
+serverCa
- -GameServerAllocationStatus - +[]byte +

The PEM encoded server CA, used by the allocator client to authenticate the remote server.

-

CounterAction +

ConnectionInfoIterator

-(Appears on: -GameServerAllocationSpec) -

-

-

CounterAction is an optional action that can be performed on a Counter at allocation.

+

ConnectionInfoIterator an iterator on ClusterConnectionInfo

@@ -4559,50 +4547,58 @@

CounterAction

+ + + +
-action
+currPriority
-string +int
-(Optional) -

Action must to either “Increment” or “Decrement” the Counter’s Count. Must also define the Amount.

+

currPriority Current priority index from the orderedPriorities

-amount
+orderedPriorities
-int64 +[]int32
-(Optional) -

Amount is the amount to increment or decrement the Count. Must be a positive integer.

+

orderedPriorities list of ordered priorities

-capacity
+priorityToCluster
-int64 +map[int32]map[string][]*agones.dev/agones/pkg/apis/multicluster/v1.GameServerAllocationPolicy
-(Optional) -

Capacity is the amount to update the maximum capacity of the Counter to this number. Min 0, Max int64.

+

priorityToCluster Map of priority to cluster-policies map

+
+clusterBlackList
+ +map[string]bool + +
+

clusterBlackList the cluster blacklist for the clusters that has already returned

-

CounterSelector +

GameServerAllocationPolicySpec

(Appears on: -GameServerSelector) +GameServerAllocationPolicy)

-

CounterSelector is the filter options for a GameServer based on the count and/or available capacity.

+

GameServerAllocationPolicySpec defines the desired state of GameServerAllocationPolicy

@@ -4614,62 +4610,55 @@

CounterSelector

- - - -
-minCount
- -int64 - -
-(Optional) -

MinCount is the minimum current value. Defaults to 0.

-
-maxCount
+priority
-int64 +int32
-(Optional) -

MaxCount is the maximum current value. Defaults to 0, which translates as max(in64).

-minAvailable
+weight
-int64 +int
-(Optional) -

MinAvailable specifies the minimum capacity (current capacity - current count) available on a GameServer. Defaults to 0.

-maxAvailable
+connectionInfo
-int64 + +ClusterConnectionInfo +
-(Optional) -

MaxAvailable specifies the maximum capacity (current capacity - current count) available on a GameServer. Defaults to 0, which translates to max(int64).

-

GameServerAllocationSpec -

+
+

agones.dev/v1

-(Appears on: -GameServerAllocation) +

Package v1 is the v1 version of the API.

+Resource Types: + +

Fleet +

-

GameServerAllocationSpec is the spec for a GameServerAllocation

+

Fleet is the data structure for a Fleet resource

@@ -4681,82 +4670,87 @@

GameServerAllocationS

+ + + +
-multiClusterSetting
- - -MultiClusterSetting - - +apiVersion
+string
+ +agones.dev/v1 +
-

MultiClusterPolicySelector if specified, multi-cluster policies are applied. -Otherwise, allocation will happen locally.

+kind
+string
Fleet
-required
+metadata
- -GameServerSelector + +Kubernetes meta/v1.ObjectMeta
-

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. -Required is the GameServer selector from which to choose GameServers from. -Defaults to all GameServers.

+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-preferred
+spec
- -[]GameServerSelector + +FleetSpec
-

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. -Preferred is an ordered list of preferred GameServer selectors -that are optional to be fulfilled, but will be searched before the required selector. -If the first selector is not matched, the selection attempts the second selector, and so on. -If any of the preferred selectors are matched, the required selector is not considered. -This is useful for things like smoke testing of new game servers.

+
+
+ + + + @@ -4772,65 +4766,59 @@

GameServerAllocationS

+ +
+replicas
+ +int32 + +
+

Replicas are the number of GameServers that should be in this set. Defaults to 0.

-priorities
+allocationOverflow
- -[]Priority + +AllocationOverflow
(Optional) -

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The allocator will use the first priority for sorting GameServers by -available Capacity in the Selector set. Acts as a tie-breaker after sorting the game servers -by State and Strategy Packed. Impacts which GameServer is checked first.

+

[Stage: Beta] +[FeatureFlag:FleetAllocationOverflow] +Labels and/or Annotations to apply to overflowing GameServers when the number of Allocated GameServers is more +than the desired replicas on the underlying GameServerSet

-selectors
+strategy
- -[]GameServerSelector + +Kubernetes apps/v1.DeploymentStrategy
-

Ordered list of GameServer label selectors. -If the first selector is not matched, the selection attempts the second selector, and so on. -This is useful for things like smoke testing of new game servers. -Note: This field can only be set if neither Required or Preferred is set.

+

Deployment strategy

-metadata
+priorities
- -MetaPatch + +[]Priority
-

MetaPatch is optional custom metadata that is added to the game server at allocation -You can use this to tell the server necessary session data

+(Optional) +

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most +important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers +by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by +State and Strategy. Impacts scale down logic.

-counters
+template
- -map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterAction + +GameServerTemplateSpec
-(Optional) -

(Alpha, CountsAndLists feature flag) Counter actions to perform during allocation.

+

Template the GameServer template to apply for this Fleet

+
-lists
+status
- -map[string]agones.dev/agones/pkg/apis/allocation/v1.ListAction + +FleetStatus
-(Optional) -

(Alpha, CountsAndLists feature flag) List actions to perform during allocation.

-

GameServerAllocationState -(string alias)

-

-(Appears on: -GameServerAllocationStatus) -

-

-

GameServerAllocationState is the Allocation state

-

-

GameServerAllocationStatus +

GameServer

-(Appears on: -GameServerAllocation) -

-

-

GameServerAllocationStatus is the status for an GameServerAllocation resource

+

GameServer is the data structure for a GameServer resource. +It is worth noting that while there is a GameServerStatus Status entry for the GameServer, it is not +defined as a subresource - unlike Fleet and other Agones resources. +This is so that we can retain the ability to change multiple aspects of a GameServer in a single atomic operation, +which is particularly useful for operations such as allocation.

@@ -4842,288 +4830,204 @@

GameServerAllocatio

+apiVersion
+string - + - - - - - - - - - +
+
+
-state
- - -GameServerAllocationState - - -
-

GameServerState is the current state of an GameServerAllocation, e.g. Allocated, or UnAllocated

+ +agones.dev/v1 +
-gameServerName
- +kind
string -
-
GameServer
-ports
+metadata
- -[]GameServerStatusPort + +Kubernetes meta/v1.ObjectMeta
+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-address
- -string - -
-
-addresses
+spec
- -[]Kubernetes core/v1.NodeAddress + +GameServerSpec
-
-nodeName
- -string - -
-
- -
-source
+container
string
-

If the allocation is from a remote cluster, Source is the endpoint of the remote agones-allocator. -Otherwise, Source is “local”

+

Container specifies which Pod container is the game server. Only required if there is more than one +container defined

-metadata
+ports
- -GameServerMetadata + +[]GameServerPort
+

Ports are the array of ports that can be exposed via the game server

-

GameServerMetadata -

-

-(Appears on: -GameServerAllocationStatus) -

-

-

GameServerMetadata is the metadata from the allocated game server at allocation time

-

- - - - - - - - - - - -
FieldDescription
-labels
+health
-map[string]string + +Health +
+

Health configures health checking

-annotations
+scheduling
-map[string]string - -
-
-

GameServerSelector -

-

-(Appears on: -GameServerAllocationSpec) -

-

-

GameServerSelector contains all the filter options for selecting -a GameServer for allocation.

-

- - - - - +agones.dev/agones/pkg/apis.SchedulingStrategy + + + - - - -
FieldDescription +

Scheduling strategy. Defaults to “Packed”

+
-LabelSelector
+sdkServer
- -Kubernetes meta/v1.LabelSelector + +SdkServer
-

-(Members of LabelSelector are embedded into this type.) -

-

See: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/

+

SdkServer specifies parameters for the Agones SDK Server sidecar container

-gameServerState
+template
- -GameServerState + +Kubernetes core/v1.PodTemplateSpec
-

GameServerState specifies which State is the filter to be used when attempting to retrieve a GameServer -via Allocation. Defaults to “Ready”. The only other option is “Allocated”, which can be used in conjunction with -label/annotation/player selectors to retrieve an already Allocated GameServer.

+

Template describes the Pod that will be created for the GameServer

players
- -PlayerSelector + +PlayersSpec
(Optional) -

[Stage:Alpha] -[FeatureFlag:PlayerAllocationFilter] -Players provides a filter on minimum and maximum values for player capacity when retrieving a GameServer -through Allocation. Defaults to no limits.

+

(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features.

counters
- -map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterSelector + +map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
(Optional) -

(Alpha, CountsAndLists feature flag) Counters provides filters on minimum and maximum values -for a Counter’s count and available capacity when retrieving a GameServer through Allocation. -Defaults to no limits.

+

(Alpha, CountsAndLists feature flag) Counters provides the configuration for tracking of int64 values against a GameServer. +Keys must be declared at GameServer creation time.

lists
- -map[string]agones.dev/agones/pkg/apis/allocation/v1.ListSelector + +map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
(Optional) -

(Alpha, CountsAndLists feature flag) Lists provides filters on minimum and maximum values -for List capacity, and for the existence of a value in a List, when retrieving a GameServer -through Allocation. Defaults to no limits.

+

(Alpha, CountsAndLists feature flag) Lists provides the configuration for tracking of lists of up to 1000 values against a GameServer. +Keys must be declared at GameServer creation time.

-

ListAction -

-

-(Appears on: -GameServerAllocationSpec) -

-

-

ListAction is an optional action that can be performed on a List at allocation.

-

- - - - - - - - + +
FieldDescription
-addValues
+eviction
-[]string + +Eviction +
(Optional) -

AddValues appends values to a List’s Values array. Any duplicate values will be ignored.

+

Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

+
-capacity
+status
-int64 + +GameServerStatus + -(Optional) -

Capacity updates the maximum capacity of the Counter to this number. Min 0, Max 1000.

-

ListSelector +

GameServerSet

-(Appears on: -GameServerSelector) -

-

-

ListSelector is the filter options for a GameServer based on List available capacity and/or the -existence of a value in a List.

+

GameServerSet is the data structure for a set of GameServers. +This matches philosophically with the relationship between +Deployments and ReplicaSets

@@ -5135,174 +5039,143 @@

ListSelector

+ + + + - - -
-containsValue
- -string - +apiVersion
+string
+ +agones.dev/v1 +
-(Optional) -

ContainsValue says to only match GameServers who has this value in the list. Defaults to “”, which is all.

+kind
+string
GameServerSet
-minAvailable
+metadata
-int64 + +Kubernetes meta/v1.ObjectMeta +
-(Optional) -

MinAvailable specifies the minimum capacity (current capacity - current count) available on a GameServer. Defaults to 0.

+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-maxAvailable
+spec
-int64 + +GameServerSetSpec +
-(Optional) -

MaxAvailable specifies the maximum capacity (current capacity - current count) available on a GameServer. Defaults to 0, which is translated as max(int64).

-
-

MetaPatch -

-

-(Appears on: -GameServerAllocationSpec) -

-

-

MetaPatch is the metadata used to patch the GameServer metadata on allocation

-

+
+
- - - - - - - - -
FieldDescription
-labels
+replicas
-map[string]string +int32
+

Replicas are the number of GameServers that should be in this set

-annotations
+allocationOverflow
-map[string]string + +AllocationOverflow +
+(Optional) +

[Stage: Beta] +[FeatureFlag:FleetAllocationOverflow] +Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below +the desired replicas on the underlying GameServerSet

-

MultiClusterSetting -

-

-(Appears on: -GameServerAllocationSpec) -

-

-

MultiClusterSetting specifies settings for multi-cluster allocation.

-

- - - - - - - - - -
FieldDescription
-enabled
+scheduling
-bool +agones.dev/agones/pkg/apis.SchedulingStrategy
+

Scheduling strategy. Defaults to “Packed”.

-policySelector
+priorities
- -Kubernetes meta/v1.LabelSelector + +[]Priority
+(Optional) +

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most +important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers +by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by +State and Strategy. Impacts scale down logic.

-

PlayerSelector -

-

-(Appears on: -GameServerSelector) -

-

-

PlayerSelector is the filter options for a GameServer based on player counts

-

- - - - - - - - + +
FieldDescription
-minAvailable
+template
-int64 + +GameServerTemplateSpec +
+

Template the GameServer template to apply for this GameServerSet

+
-maxAvailable
+status
-int64 + +GameServerSetStatus + - -
-

autoscaling.agones.dev/v1

-

-

Package v1 is the v1 version of the API.

-

-Resource Types: - -

FleetAutoscaler + +

AggregatedCounterStatus

-

FleetAutoscaler is the data structure for a FleetAutoscaler resource

+(Appears on: +FleetStatus, +GameServerSetStatus) +

+

+

AggregatedCounterStatus stores total and allocated Counter tracking values

@@ -5314,53 +5187,69 @@

FleetAutoscaler

+allocatedCount
+ +int64 + + + - + + +
-apiVersion
-string
- -autoscaling.agones.dev/v1 -
-kind
-string +allocatedCapacity
+ +int64 + +
FleetAutoscaler
-metadata
+count
- -Kubernetes meta/v1.ObjectMeta - +int64
-Refer to the Kubernetes API documentation for the fields of the -metadata field.
-spec
+capacity
- -FleetAutoscalerSpec - +int64
-
-
+
+

AggregatedListStatus +

+

+(Appears on: +FleetStatus, +GameServerSetStatus) +

+

+

AggregatedListStatus stores total and allocated List tracking values

+

+ + + + + + + - -
FieldDescription
-fleetName
+allocatedCount
-string +int64
@@ -5368,41 +5257,29 @@

FleetAutoscaler

-policy
+allocatedCapacity
- -FleetAutoscalerPolicy - +int64
-

Autoscaling policy

-sync
+count
- -FleetAutoscalerSync - +int64
-(Optional) -

Sync defines when FleetAutoscalers runs autoscaling

-
-status
+capacity
- -FleetAutoscalerStatus - +int64 @@ -5410,14 +5287,15 @@

FleetAutoscaler -

BufferPolicy +

AggregatedPlayerStatus

(Appears on: -FleetAutoscalerPolicy) +FleetStatus, +GameServerSetStatus)

-

BufferPolicy controls the desired behavior of the buffer policy.

+

AggregatedPlayerStatus stores total player tracking values

@@ -5429,59 +5307,37 @@

BufferPolicy

- - - -
-maxReplicas
- -int32 - -
-

MaxReplicas is the maximum amount of replicas that the fleet may have. -It must be bigger than both MinReplicas and BufferSize

-
-minReplicas
+count
-int32 +int64
-

MinReplicas is the minimum amount of replicas that the fleet must have -If zero, it is ignored. -If non zero, it must be smaller than MaxReplicas and bigger than BufferSize

-bufferSize
+capacity
-k8s.io/apimachinery/pkg/util/intstr.IntOrString +int64
-

BufferSize defines how many replicas the autoscaler tries to have ready all the time -Value can be an absolute number (ex: 5) or a percentage of desired gs instances (ex: 15%) -Absolute number is calculated from percentage by rounding up. -Example: when this is set to 20%, the autoscaler will make sure that 20% -of the fleet’s game server replicas are ready. When this is set to 20, -the autoscaler will make sure that there are 20 available game servers -Must be bigger than 0 -Note: by “ready” we understand in this case “non-allocated”; this is done to ensure robustness -and computation stability in different edge case (fleet just created, not enough -capacity in the cluster etc)

-

CounterPolicy +

AllocationOverflow

(Appears on: -FleetAutoscalerPolicy) +FleetSpec, +GameServerSetSpec)

-

CounterPolicy controls the desired behavior of the Counter autoscaler policy.

+

AllocationOverflow specifies what labels and/or annotations to apply on Allocated GameServers +if the desired number of the underlying GameServerSet drops below the number of Allocated GameServers +attached to it.

@@ -5493,64 +5349,79 @@

CounterPolicy

+ +
-key
+labels
-string +map[string]string
-

Key is the name of the Counter. Required field.

+(Optional) +

Labels to be applied to the GameServer

-maxCapacity
+annotations
-int64 +map[string]string
-

MaxCapacity is the maximum aggregate Counter total capacity across the fleet. -MaxCapacity must be bigger than both MinCapacity and BufferSize. Required field.

+(Optional) +

Annotations to be applied to the GameServer

+

CounterStatus +

+

+(Appears on: +GameServerSpec, +GameServerStatus) +

+

+

CounterStatus stores the current counter values and maximum capacity

+

+ + + + + + + +
FieldDescription
-minCapacity
+count
int64
-

MinCapacity is the minimum aggregate Counter total capacity across the fleet. -If zero, MinCapacity is ignored. -If non zero, MinCapacity must be smaller than MaxCapacity and bigger than BufferSize.

-bufferSize
+capacity
-k8s.io/apimachinery/pkg/util/intstr.IntOrString +int64
-

BufferSize is the size of a buffer of counted items that are available in the Fleet (available -capacity). Value can be an absolute number (ex: 5) or a percentage of desired gs instances -(ex: 5%). An absolute number is calculated from percentage by rounding up. -Must be bigger than 0. Required field.

-

FixedIntervalSync +

Eviction

(Appears on: -FleetAutoscalerSync) +GameServerSpec, +GameServerStatus)

-

FixedIntervalSync controls the desired behavior of the fixed interval based sync.

+

Eviction specifies the eviction tolerance of the GameServer

@@ -5562,25 +5433,39 @@

FixedIntervalSync

-seconds
+safe
-int32 + +EvictionSafe +
-

Seconds defines how often we run fleet autoscaling in seconds

+

Game server supports termination via SIGTERM: +- Always: Allow eviction for both Cluster Autoscaler and node drain for upgrades +- OnUpgrade: Allow eviction for upgrades alone +- Never (default): Pod should run to completion

-

FleetAutoscaleRequest +

EvictionSafe +(string alias)

+

+(Appears on: +Eviction) +

+

+

EvictionSafe specified whether the game server supports termination via SIGTERM

+

+

FleetSpec

(Appears on: -FleetAutoscaleReview) +Fleet)

-

FleetAutoscaleRequest defines the request to webhook autoscaler endpoint

+

FleetSpec is the spec for a Fleet

@@ -5592,113 +5477,97 @@

FleetAutoscaleRequest

- - - - - -
-uid
- -k8s.io/apimachinery/pkg/types.UID - -
-

UID is an identifier for the individual request/response. It allows us to distinguish instances of requests which are -otherwise identical (parallel requests, requests when earlier requests did not modify etc) -The UID is meant to track the round trip (request/response) between the Autoscaler and the WebHook, not the user request. -It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging.

-
-name
+replicas
-string +int32
-

Name is the name of the Fleet being scaled

+

Replicas are the number of GameServers that should be in this set. Defaults to 0.

-namespace
+allocationOverflow
-string + +AllocationOverflow +
-

Namespace is the namespace associated with the request (if any).

+(Optional) +

[Stage: Beta] +[FeatureFlag:FleetAllocationOverflow] +Labels and/or Annotations to apply to overflowing GameServers when the number of Allocated GameServers is more +than the desired replicas on the underlying GameServerSet

-status
+strategy
- -FleetStatus + +Kubernetes apps/v1.DeploymentStrategy
-

The Fleet’s status values

+

Deployment strategy

-

FleetAutoscaleResponse -

-

-(Appears on: -FleetAutoscaleReview) -

-

-

FleetAutoscaleResponse defines the response of webhook autoscaler endpoint

-

- - - - - - - -
FieldDescription
-uid
+scheduling
-k8s.io/apimachinery/pkg/types.UID +agones.dev/agones/pkg/apis.SchedulingStrategy
-

UID is an identifier for the individual request/response. -This should be copied over from the corresponding FleetAutoscaleRequest.

+

Scheduling strategy. Defaults to “Packed”.

-scale
+priorities
-bool + +[]Priority +
-

Set to false if no scaling should occur to the Fleet

+(Optional) +

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most +important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers +by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by +State and Strategy. Impacts scale down logic.

-replicas
+template
-int32 + +GameServerTemplateSpec +
-

The targeted replica count

+

Template the GameServer template to apply for this Fleet

-

FleetAutoscaleReview +

FleetStatus

-

FleetAutoscaleReview is passed to the webhook with a populated Request value, -and then returned with a populated Response.

+(Appears on: +Fleet, +FleetAutoscaleRequest) +

+

+

FleetStatus is the status of a Fleet

@@ -5710,140 +5579,106 @@

FleetAutoscaleReview

- -
-request
+replicas
- -FleetAutoscaleRequest - +int32
+

Replicas the total number of current GameServer replicas

-response
+readyReplicas
- -FleetAutoscaleResponse - +int32
+

ReadyReplicas are the number of Ready GameServer replicas

-

FleetAutoscalerPolicy -

-

-(Appears on: -FleetAutoscalerSpec) -

-

-

FleetAutoscalerPolicy describes how to scale a fleet

-

- - - - - - - -
FieldDescription
-type
+reservedReplicas
- -FleetAutoscalerPolicyType - +int32
-

Type of autoscaling policy.

+

ReservedReplicas are the total number of Reserved GameServer replicas in this fleet. +Reserved instances won’t be deleted on scale down, but won’t cause an autoscaler to scale up.

-buffer
+allocatedReplicas
- -BufferPolicy - +int32
-(Optional) -

Buffer policy config params. Present only if FleetAutoscalerPolicyType = Buffer.

+

AllocatedReplicas are the number of Allocated GameServer replicas

-webhook
+players
- -WebhookPolicy + +AggregatedPlayerStatus
(Optional) -

Webhook policy config params. Present only if FleetAutoscalerPolicyType = Webhook.

+

[Stage:Alpha] +[FeatureFlag:PlayerTracking] +Players are the current total player capacity and count for this Fleet

-counter
+counters
- -CounterPolicy + +map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus
(Optional) -

[Stage:Alpha] -[FeatureFlag:CountsAndLists] -Counter policy config params. Present only if FleetAutoscalerPolicyType = Counter.

+

(Alpha, CountsAndLists feature flag) Counters provides aggregated Counter capacity and Counter +count for this Fleet.

-list
+lists
- -ListPolicy + +map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedListStatus
(Optional) -

[Stage:Alpha] -[FeatureFlag:CountsAndLists] -List policy config params. Present only if FleetAutoscalerPolicyType = List.

+

(Alpha, CountsAndLists feature flag) Lists provides aggregated List capacityv and List values +for this Fleet.

-

FleetAutoscalerPolicyType -(string alias)

-

-(Appears on: -FleetAutoscalerPolicy) -

-

-

FleetAutoscalerPolicyType is the policy for autoscaling -for a given Fleet

-

-

FleetAutoscalerSpec +

GameServerPort

(Appears on: -FleetAutoscaler) +GameServerSpec)

-

FleetAutoscalerSpec is the spec for a Fleet Scaler

+

GameServerPort defines a set of Ports that +are to be exposed via the GameServer

@@ -5855,51 +5690,89 @@

FleetAutoscalerSpec

+ + + + + + + + + + + +
-fleetName
+name
string
+

Name is the descriptive name of the port

-policy
+portPolicy
- -FleetAutoscalerPolicy + +PortPolicy
-

Autoscaling policy

+

PortPolicy defines the policy for how the HostPort is populated. +Dynamic port will allocate a HostPort within the selected MIN_PORT and MAX_PORT range passed to the controller +at installation time. +When Static portPolicy is specified, HostPort is required, to specify the port that game clients will +connect to

-sync
+container
- -FleetAutoscalerSync - +string
(Optional) -

Sync defines when FleetAutoscalers runs autoscaling

+

Container is the name of the container on which to open the port. Defaults to the game server container.

+
+containerPort
+ +int32 + +
+

ContainerPort is the port that is being opened on the specified container’s process

+
+hostPort
+ +int32 + +
+

HostPort the port exposed on the host for clients to connect to

+
+protocol
+ + +Kubernetes core/v1.Protocol + + +
+

Protocol is the network protocol being used. Defaults to UDP. TCP and TCPUDP are other options.

-

FleetAutoscalerStatus +

GameServerSetSpec

(Appears on: -FleetAutoscaler) +GameServerSet)

-

FleetAutoscalerStatus defines the current status of a FleetAutoscaler

+

GameServerSetSpec the specification for GameServerSet

@@ -5911,75 +5784,83 @@

FleetAutoscalerStatus

-currentReplicas
+replicas
int32
-

CurrentReplicas is the current number of gameserver replicas -of the fleet managed by this autoscaler, as last seen by the autoscaler

+

Replicas are the number of GameServers that should be in this set

-desiredReplicas
+allocationOverflow
-int32 + +AllocationOverflow +
-

DesiredReplicas is the desired number of gameserver replicas -of the fleet managed by this autoscaler, as last calculated by the autoscaler

+(Optional) +

[Stage: Beta] +[FeatureFlag:FleetAllocationOverflow] +Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below +the desired replicas on the underlying GameServerSet

-lastScaleTime
+scheduling
- -Kubernetes meta/v1.Time - +agones.dev/agones/pkg/apis.SchedulingStrategy
-(Optional) -

lastScaleTime is the last time the FleetAutoscaler scaled the attached fleet,

+

Scheduling strategy. Defaults to “Packed”.

-ableToScale
+priorities
-bool + +[]Priority +
-

AbleToScale indicates that we can access the target fleet

+(Optional) +

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most +important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers +by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by +State and Strategy. Impacts scale down logic.

-scalingLimited
+template
-bool + +GameServerTemplateSpec +
-

ScalingLimited indicates that the calculated scale would be above or below the range -defined by MinReplicas and MaxReplicas, and has thus been capped.

+

Template the GameServer template to apply for this GameServerSet

-

FleetAutoscalerSync +

GameServerSetStatus

(Appears on: -FleetAutoscalerSpec) +GameServerSet)

-

FleetAutoscalerSync describes when to sync a fleet

+

GameServerSetStatus is the status of a GameServerSet

@@ -5991,121 +5872,116 @@

FleetAutoscalerSync

- -
-type
+replicas
- -FleetAutoscalerSyncType - +int32
-

Type of autoscaling sync.

+

Replicas is the total number of current GameServer replicas

-fixedInterval
+readyReplicas
- -FixedIntervalSync - +int32
-(Optional) -

FixedInterval config params. Present only if FleetAutoscalerSyncType = FixedInterval.

+

ReadyReplicas is the number of Ready GameServer replicas

-

FleetAutoscalerSyncType -(string alias)

-

-(Appears on: -FleetAutoscalerSync) -

-

-

FleetAutoscalerSyncType is the sync strategy for a given Fleet

-

-

ListPolicy -

-

-(Appears on: -FleetAutoscalerPolicy) -

-

-

ListPolicy controls the desired behavior of the List autoscaler policy.

-

- - - - + + - - + + + +
FieldDescription +reservedReplicas
+ +int32 + +
+

ReservedReplicas is the number of Reserved GameServer replicas

+
-key
+allocatedReplicas
-string +int32
-

Key is the name of the List. Required field.

+

AllocatedReplicas is the number of Allocated GameServer replicas

-maxCapacity
+shutdownReplicas
-int64 +int32
-

MaxCapacity is the maximum aggregate List total capacity across the fleet. -MaxCapacity must be bigger than both MinCapacity and BufferSize. Required field.

+

ShutdownReplicas is the number of Shutdown GameServers replicas

-minCapacity
+players
-int64 + +AggregatedPlayerStatus +
-

MinCapacity is the minimum aggregate List total capacity across the fleet. -If zero, it is ignored. -If non zero, it must be smaller than MaxCapacity and bigger than BufferSize.

+(Optional) +

[Stage:Alpha] +[FeatureFlag:PlayerTracking] +Players is the current total player capacity and count for this GameServerSet

-bufferSize
+counters
-k8s.io/apimachinery/pkg/util/intstr.IntOrString + +map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus +
-

BufferSize is the size of a buffer based on the List capacity that is available over the -current aggregate List length in the Fleet (available capacity). It can be specified either -as an absolute value (i.e. 5) or percentage format (i.e. 5%). -Must be bigger than 0. Required field.

+(Optional) +

(Alpha, CountsAndLists feature flag) Counters provides aggregated Counter capacity and Counter +count for this GameServerSet.

+
+lists
+ + +map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedListStatus + + +
+(Optional) +

(Alpha, CountsAndLists feature flag) Lists provides aggregated List capacity and List values +for this GameServerSet.

-

WebhookPolicy +

GameServerSpec

(Appears on: -FleetAutoscalerPolicy) +GameServer, +GameServerTemplateSpec)

-

WebhookPolicy controls the desired behavior of the webhook policy. -It contains the description of the webhook autoscaler service -used to form url which is accessible inside the cluster

+

GameServerSpec is the spec for a GameServer resource

@@ -6117,177 +5993,157 @@

WebhookPolicy

- -
-url
+container
string
-(Optional) -

url gives the location of the webhook, in standard URL form -(scheme://host:port/path). Exactly one of url or service -must be specified.

-

The host should not refer to a service running in the cluster; use -the service field instead. The host might be resolved via external -DNS in some apiservers (e.g., kube-apiserver cannot resolve -in-cluster DNS as that would be a layering violation). host may -also be an IP address.

-

Please note that using localhost or 127.0.0.1 as a host is -risky unless you take great care to run this webhook on all hosts -which run an apiserver which might need to make calls to this -webhook. Such installs are likely to be non-portable, i.e., not easy -to turn up in a new cluster.

-

The scheme must be “https”; the URL must begin with “https://”.

-

A path is optional, and if present may be any string permissible in -a URL. You may use the path to pass an arbitrary string to the -webhook, for example, a cluster identifier.

-

Attempting to use a user or basic auth e.g. “user:password@” is not -allowed. Fragments (“#…”) and query parameters (“?…”) are not -allowed, either.

+

Container specifies which Pod container is the game server. Only required if there is more than one +container defined

-service
+ports
- -Kubernetes admissionregistration/v1.ServiceReference + +[]GameServerPort
-(Optional) -

service is a reference to the service for this webhook. Either -service or url must be specified.

-

If the webhook is running within the cluster, then you should use service.

+

Ports are the array of ports that can be exposed via the game server

-caBundle
+health
-[]byte + +Health +
-(Optional) -

caBundle is a PEM encoded CA bundle which will be used to validate the webhook’s server certificate. -If unspecified, system trust roots on the apiserver are used.

+

Health configures health checking

-
-

multicluster.agones.dev/v1

-

-

Package v1 is the v1 version of the API.

-

-Resource Types: - -

GameServerAllocationPolicy -

-

-

GameServerAllocationPolicy is the Schema for the gameserverallocationpolicies API

-

- - - - - - - - +scheduling
+ +agones.dev/agones/pkg/apis.SchedulingStrategy + + + -
FieldDescription
-apiVersion
-string
- -multicluster.agones.dev/v1 - +

Scheduling strategy. Defaults to “Packed”

-kind
-string +sdkServer
+ + +SdkServer + + +
+

SdkServer specifies parameters for the Agones SDK Server sidecar container

GameServerAllocationPolicy
-metadata
+template
- -Kubernetes meta/v1.ObjectMeta + +Kubernetes core/v1.PodTemplateSpec
-Refer to the Kubernetes API documentation for the fields of the -metadata field. +

Template describes the Pod that will be created for the GameServer

-spec
+players
- -GameServerAllocationPolicySpec + +PlayersSpec
-
-
- +(Optional) +

(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features.

+ + - -
-priority
+counters
-int32 + +map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus +
+(Optional) +

(Alpha, CountsAndLists feature flag) Counters provides the configuration for tracking of int64 values against a GameServer. +Keys must be declared at GameServer creation time.

-weight
+lists
-int + +map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus +
+(Optional) +

(Alpha, CountsAndLists feature flag) Lists provides the configuration for tracking of lists of up to 1000 values against a GameServer. +Keys must be declared at GameServer creation time.

-connectionInfo
+eviction
- -ClusterConnectionInfo + +Eviction
-
+(Optional) +

Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

-

ClusterConnectionInfo +

GameServerState +(string alias)

+

+(Appears on: +GameServerSelector, +GameServerStatus) +

+

+

GameServerState is the state for the GameServer

+

+

GameServerStatus

(Appears on: -GameServerAllocationPolicySpec) +GameServer)

-

ClusterConnectionInfo defines the connection information for a cluster

+

GameServerStatus is the status for a GameServer resource

@@ -6299,130 +6155,143 @@

ClusterConnectionInfo

- -
-clusterName
+state
-string + +GameServerState +
-

Optional: the name of the targeted cluster

+

GameServerState is the current state of a GameServer, e.g. Creating, Starting, Ready, etc

-allocationEndpoints
+ports
-[]string + +[]GameServerStatusPort +
-

The endpoints for the allocator service in the targeted cluster. -If the AllocationEndpoints is not set, the allocation happens on local cluster. -If there are multiple endpoints any of the endpoints that can handle allocation request should suffice

-secretName
+address
string
-

The name of the secret that contains TLS client certificates to connect the allocator server in the targeted cluster

-namespace
+addresses
-string + +[]Kubernetes core/v1.NodeAddress +
-

The cluster namespace from which to allocate gameservers

+(Optional) +

Addresses is the array of addresses at which the GameServer can be reached; copy of Node.Status.addresses.

-serverCa
+nodeName
-[]byte +string
-

The PEM encoded server CA, used by the allocator client to authenticate the remote server.

-

ConnectionInfoIterator -

-

-

ConnectionInfoIterator an iterator on ClusterConnectionInfo

-

- - - - + + - -
FieldDescription +reservedUntil
+ + +Kubernetes meta/v1.Time + + +
+
-currPriority
+players
-int + +PlayerStatus +
-

currPriority Current priority index from the orderedPriorities

+(Optional) +

[Stage:Alpha] +[FeatureFlag:PlayerTracking]

-orderedPriorities
+counters
-[]int32 + +map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus +
-

orderedPriorities list of ordered priorities

+(Optional) +

(Alpha, CountsAndLists feature flag) Counters and Lists provides the configuration for generic tracking features.

-priorityToCluster
+lists
-map[int32]map[string][]*agones.dev/agones/pkg/apis/multicluster/v1.GameServerAllocationPolicy + +map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus +
-

priorityToCluster Map of priority to cluster-policies map

+(Optional)
-clusterBlackList
+eviction
-map[string]bool + +Eviction +
-

clusterBlackList the cluster blacklist for the clusters that has already returned

+(Optional) +

Eviction specifies the eviction tolerance of the GameServer.

-

GameServerAllocationPolicySpec +

GameServerStatusPort

(Appears on: -GameServerAllocationPolicy) +GameServerAllocationStatus, +GameServerStatus)

-

GameServerAllocationPolicySpec defines the desired state of GameServerAllocationPolicy

+

GameServerStatusPort shows the port that was allocated to a +GameServer.

@@ -6434,19 +6303,9 @@

GameServerAll

- - - -
-priority
- -int32 - -
-
-weight
+name
-int +string
@@ -6454,11 +6313,9 @@

GameServerAll

-connectionInfo
+port
- -ClusterConnectionInfo - +int32
@@ -6466,23 +6323,15 @@

GameServerAll

-
-

agones.dev/v1

+

GameServerTemplateSpec +

-

Package v1 is the v1 version of the API.

+(Appears on: +FleetSpec, +GameServerSetSpec)

-Resource Types: - -

Fleet -

-

Fleet is the data structure for a Fleet resource

+

GameServerTemplateSpec is a template for GameServers

@@ -6494,155 +6343,177 @@

Fleet

+metadata
+ + +Kubernetes meta/v1.ObjectMeta + + + +
-apiVersion
-string
- -agones.dev/v1 - +Refer to the Kubernetes API documentation for the fields of the +metadata field.
-kind
+spec
+ + +GameServerSpec + + +
+
+
+ + + + - + +
+container
+ string + +
+

Container specifies which Pod container is the game server. Only required if there is more than one +container defined

Fleet
-metadata
+ports
- -Kubernetes meta/v1.ObjectMeta + +[]GameServerPort
-Refer to the Kubernetes API documentation for the fields of the -metadata field. +

Ports are the array of ports that can be exposed via the game server

-spec
+health
- -FleetSpec + +Health
-
-
- +

Health configures health checking

+ + - -
-replicas
+scheduling
-int32 +agones.dev/agones/pkg/apis.SchedulingStrategy
-

Replicas are the number of GameServers that should be in this set. Defaults to 0.

+

Scheduling strategy. Defaults to “Packed”

-allocationOverflow
+sdkServer
- -AllocationOverflow + +SdkServer
-(Optional) -

[Stage: Beta] -[FeatureFlag:FleetAllocationOverflow] -Labels and/or Annotations to apply to overflowing GameServers when the number of Allocated GameServers is more -than the desired replicas on the underlying GameServerSet

+

SdkServer specifies parameters for the Agones SDK Server sidecar container

-strategy
+template
- -Kubernetes apps/v1.DeploymentStrategy + +Kubernetes core/v1.PodTemplateSpec
-

Deployment strategy

+

Template describes the Pod that will be created for the GameServer

-scheduling
+players
-agones.dev/agones/pkg/apis.SchedulingStrategy + +PlayersSpec +
-

Scheduling strategy. Defaults to “Packed”.

+(Optional) +

(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features.

-priorities
+counters
- -[]Priority + +map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
(Optional) -

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers -by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by -State and Strategy. Impacts scale down logic.

+

(Alpha, CountsAndLists feature flag) Counters provides the configuration for tracking of int64 values against a GameServer. +Keys must be declared at GameServer creation time.

-template
+lists
- -GameServerTemplateSpec + +map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
-

Template the GameServer template to apply for this Fleet

-
+(Optional) +

(Alpha, CountsAndLists feature flag) Lists provides the configuration for tracking of lists of up to 1000 values against a GameServer. +Keys must be declared at GameServer creation time.

-status
+eviction
- -FleetStatus + +Eviction
+(Optional) +

Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

+
-

GameServer +

Health

-

GameServer is the data structure for a GameServer resource. -It is worth noting that while there is a GameServerStatus Status entry for the GameServer, it is not -defined as a subresource - unlike Fleet and other Agones resources. -This is so that we can retain the ability to change multiple aspects of a GameServer in a single atomic operation, -which is particularly useful for operations such as allocation.

+(Appears on: +GameServerSpec) +

+

+

Health configures health checking on the GameServer

@@ -6654,204 +6525,309 @@

GameServer

+disabled
+ +bool + + + - + + +
-apiVersion
-string
- -agones.dev/v1 - +

Disabled is whether health checking is disabled or not

-kind
-string +periodSeconds
+ +int32 + +
+

PeriodSeconds is the number of seconds each health ping has to occur in

GameServer
-metadata
+failureThreshold
- -Kubernetes meta/v1.ObjectMeta - +int32
-Refer to the Kubernetes API documentation for the fields of the -metadata field. +

FailureThreshold how many failures in a row constitutes unhealthy

-spec
+initialDelaySeconds
- -GameServerSpec - +int32
-
-
+

InitialDelaySeconds initial delay before checking health

+
+

ListStatus +

+

+(Appears on: +GameServerSpec, +GameServerStatus) +

+

+

ListStatus stores the current list values and maximum capacity

+

+ + + + + + + + +
FieldDescription
-container
+capacity
-string +int64
-

Container specifies which Pod container is the game server. Only required if there is more than one -container defined

-ports
+values
- -[]GameServerPort - +[]string
-

Ports are the array of ports that can be exposed via the game server

+

PlayerStatus +

+

+(Appears on: +GameServerStatus) +

+

+

PlayerStatus stores the current player capacity values

+

+ + + + + + + + + +
FieldDescription
-health
+count
- -Health - +int64
-

Health configures health checking

-scheduling
+capacity
-agones.dev/agones/pkg/apis.SchedulingStrategy +int64
-

Scheduling strategy. Defaults to “Packed”

-sdkServer
+ids
- -SdkServer - +[]string
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

PlayersSpec +

+

+(Appears on: +GameServerSpec) +

+

+

PlayersSpec tracks the initial player capacity

+

+ + + + + + + + + +
FieldDescription
-template
+initialCapacity
- -Kubernetes core/v1.PodTemplateSpec - +int64
-

Template describes the Pod that will be created for the GameServer

+

PortPolicy +(string alias)

+

+(Appears on: +GameServerPort) +

+

+

PortPolicy is the port policy for the GameServer

+

+

Priority +

+

+(Appears on: +FleetSpec, +GameServerAllocationSpec, +GameServerSetSpec) +

+

+

Priority is a sorting option for GameServers with Counters or Lists based on the Capacity.

+

+ + + + + + + + + + + + + + +
FieldDescription
-players
+type
- -PlayersSpec - +string
-(Optional) -

(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features.

+

Type: Sort by a “Counter” or a “List”.

-counters
+key
- -map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus - +string
-(Optional) -

(Alpha, CountsAndLists feature flag) Counters provides the configuration for tracking of int64 values against a GameServer. -Keys must be declared at GameServer creation time.

+

Key: The name of the Counter or List. If not found on the GameServer, has no impact.

+
+order
+ +string +
+

Order: Sort by “Ascending” or “Descending”. “Descending” a bigger Capacity is preferred. +“Ascending” would be smaller Capacity is preferred.

+
+

SdkServer +

+

+(Appears on: +GameServerSpec) +

+

+

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

+ + + + + + + - -
FieldDescription
-lists
+logLevel
- -map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus + +SdkServerLogLevel
-(Optional) -

(Alpha, CountsAndLists feature flag) Lists provides the configuration for tracking of lists of up to 1000 values against a GameServer. -Keys must be declared at GameServer creation time.

+

LogLevel for SDK server (sidecar) logs. Defaults to “Info”

-eviction
+grpcPort
- -Eviction - +int32
-(Optional) -

Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

-
+

GRPCPort is the port on which the SDK Server binds the gRPC server to accept incoming connections

-status
+httpPort
- -GameServerStatus - +int32 +

HTTPPort is the port on which the SDK Server binds the HTTP gRPC gateway server to accept incoming connections

-

GameServerSet +

SdkServerLogLevel +(string alias)

+

+(Appears on: +SdkServer) +

+

+

SdkServerLogLevel is the log level for SDK server (sidecar) logs

+

+
+

allocation.agones.dev/v1

+

+

Package v1 is the v1 version of the API.

+

+Resource Types: + +

GameServerAllocation

-

GameServerSet is the data structure for a set of GameServers. -This matches philosophically with the relationship between -Deployments and ReplicaSets

+

GameServerAllocation is the data structure for allocating against a set of +GameServers, defined selectors selectors

@@ -6867,7 +6843,7 @@

GameServerSet string

@@ -6876,13 +6852,13 @@

GameServerSet kind
string -

+ @@ -6907,41 +6883,49 @@

GameServerSet

-agones.dev/v1 +allocation.agones.dev/v1
GameServerSetGameServerAllocation
metadata
- + Kubernetes meta/v1.ObjectMeta @@ -6896,8 +6872,8 @@

GameServerSet

spec
- -GameServerSetSpec + +GameServerAllocationSpec
@@ -6956,154 +6940,90 @@

GameServerSet

- - - - - -
-replicas
+multiClusterSetting
-int32 + +MultiClusterSetting +
-

Replicas are the number of GameServers that should be in this set

+

MultiClusterPolicySelector if specified, multi-cluster policies are applied. +Otherwise, allocation will happen locally.

-allocationOverflow
+required
- -AllocationOverflow + +GameServerSelector
-(Optional) -

[Stage: Beta] -[FeatureFlag:FleetAllocationOverflow] -Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below -the desired replicas on the underlying GameServerSet

+

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. +Required is the GameServer selector from which to choose GameServers from. +Defaults to all GameServers.

-scheduling
+preferred
-agones.dev/agones/pkg/apis.SchedulingStrategy + +[]GameServerSelector +
-

Scheduling strategy. Defaults to “Packed”.

+

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. +Preferred is an ordered list of preferred GameServer selectors +that are optional to be fulfilled, but will be searched before the required selector. +If the first selector is not matched, the selection attempts the second selector, and so on. +If any of the preferred selectors are matched, the required selector is not considered. +This is useful for things like smoke testing of new game servers.

(Optional)

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers -by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by -State and Strategy. Impacts scale down logic.

-
-template
- - -GameServerTemplateSpec - - -
-

Template the GameServer template to apply for this GameServerSet

-
+important for sorting. The allocator will use the first priority for sorting GameServers by +available Capacity in the Selector set. Acts as a tie-breaker after sorting the game servers +by State and Strategy Packed. Impacts which GameServer is checked first.

-status
+selectors
- -GameServerSetStatus + +[]GameServerSelector +

Ordered list of GameServer label selectors. +If the first selector is not matched, the selection attempts the second selector, and so on. +This is useful for things like smoke testing of new game servers. +Note: This field can only be set if neither Required or Preferred is set.

- - -

AggregatedCounterStatus -

-

-(Appears on: -FleetStatus, -GameServerSetStatus) -

-

-

AggregatedCounterStatus stores total and allocated Counter tracking values

-

- - - - - - - - -
FieldDescription
-allocatedCount
+scheduling
-int64 +agones.dev/agones/pkg/apis.SchedulingStrategy
+

Scheduling strategy. Defaults to “Packed”.

-allocatedCapacity
+metadata
-int64 + +MetaPatch +
+

MetaPatch is optional custom metadata that is added to the game server at allocation +You can use this to tell the server necessary session data

-count
+counters
-int64 + +map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterAction +
+(Optional) +

(Alpha, CountsAndLists feature flag) Counter actions to perform during allocation.

-capacity
+lists
-int64 + +map[string]agones.dev/agones/pkg/apis/allocation/v1.ListAction +
+(Optional) +

(Alpha, CountsAndLists feature flag) List actions to perform during allocation.

-

AggregatedListStatus -

-

-(Appears on: -FleetStatus, -GameServerSetStatus) -

-

-

AggregatedListStatus stores total and allocated List tracking values

-

- - - - - - - - - - - - - - - - - - -
FieldDescription
-allocatedCount
- -int64 - -
-
-allocatedCapacity
- -int64 - -
-count
- -int64 - -
-
-capacity
+status
-int64 + +GameServerAllocationStatus +
@@ -7111,15 +7031,14 @@

AggregatedListStatus

-

AggregatedPlayerStatus +

CounterAction

(Appears on: -FleetStatus, -GameServerSetStatus) +GameServerAllocationSpec)

-

AggregatedPlayerStatus stores total player tracking values

+

CounterAction is an optional action that can be performed on a Counter at allocation.

@@ -7131,12 +7050,26 @@

AggregatedPlayerStatus

+ + + + @@ -7147,21 +7080,20 @@

AggregatedPlayerStatus

-count
+action
+ +string + +
+(Optional) +

Action must to either “Increment” or “Decrement” the Counter’s Count. Must also define the Amount.

+
+amount
int64
+(Optional) +

Amount is the amount to increment or decrement the Count. Must be a positive integer.

+(Optional) +

Capacity is the amount to update the maximum capacity of the Counter to this number. Min 0, Max int64.

-

AllocationOverflow +

CounterSelector

(Appears on: -FleetSpec, -GameServerSetSpec) +GameServerSelector)

-

AllocationOverflow specifies what labels and/or annotations to apply on Allocated GameServers -if the desired number of the underlying GameServerSet drops below the number of Allocated GameServers -attached to it.

+

CounterSelector is the filter options for a GameServer based on the count and/or available capacity.

@@ -7173,79 +7105,62 @@

AllocationOverflow

- -
-labels
+minCount
-map[string]string +int64
(Optional) -

Labels to be applied to the GameServer

+

MinCount is the minimum current value. Defaults to 0.

-annotations
+maxCount
-map[string]string +int64
(Optional) -

Annotations to be applied to the GameServer

+

MaxCount is the maximum current value. Defaults to 0, which translates as max(in64).

-

CounterStatus -

-

-(Appears on: -GameServerSpec, -GameServerStatus) -

-

-

CounterStatus stores the current counter values and maximum capacity

-

- - - - - - - -
FieldDescription
-count
+minAvailable
int64
+(Optional) +

MinAvailable specifies the minimum capacity (current capacity - current count) available on a GameServer. Defaults to 0.

-capacity
+maxAvailable
int64
+(Optional) +

MaxAvailable specifies the maximum capacity (current capacity - current count) available on a GameServer. Defaults to 0, which translates to max(int64).

-

Eviction +

GameServerAllocationSpec

(Appears on: -GameServerSpec, -GameServerStatus) +GameServerAllocation)

-

Eviction specifies the eviction tolerance of the GameServer

+

GameServerAllocationSpec is the spec for a GameServerAllocation

@@ -7257,87 +7172,82 @@

Eviction

- -
-safe
+multiClusterSetting
- -EvictionSafe + +MultiClusterSetting
-

Game server supports termination via SIGTERM: -- Always: Allow eviction for both Cluster Autoscaler and node drain for upgrades -- OnUpgrade: Allow eviction for upgrades alone -- Never (default): Pod should run to completion

+

MultiClusterPolicySelector if specified, multi-cluster policies are applied. +Otherwise, allocation will happen locally.

-

EvictionSafe -(string alias)

-

-(Appears on: -Eviction) -

-

-

EvictionSafe specified whether the game server supports termination via SIGTERM

-

-

FleetSpec -

-

-(Appears on: -Fleet) -

-

-

FleetSpec is the spec for a Fleet

-

- - - - + + - - @@ -7353,45 +7263,65 @@

FleetSpec

+ + + +
FieldDescription +required
+ + +GameServerSelector + + +
+

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. +Required is the GameServer selector from which to choose GameServers from. +Defaults to all GameServers.

+
-replicas
+preferred
-int32 + +[]GameServerSelector +
-

Replicas are the number of GameServers that should be in this set. Defaults to 0.

+

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. +Preferred is an ordered list of preferred GameServer selectors +that are optional to be fulfilled, but will be searched before the required selector. +If the first selector is not matched, the selection attempts the second selector, and so on. +If any of the preferred selectors are matched, the required selector is not considered. +This is useful for things like smoke testing of new game servers.

-allocationOverflow
+priorities
- -AllocationOverflow + +[]Priority
(Optional) -

[Stage: Beta] -[FeatureFlag:FleetAllocationOverflow] -Labels and/or Annotations to apply to overflowing GameServers when the number of Allocated GameServers is more -than the desired replicas on the underlying GameServerSet

+

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most +important for sorting. The allocator will use the first priority for sorting GameServers by +available Capacity in the Selector set. Acts as a tie-breaker after sorting the game servers +by State and Strategy Packed. Impacts which GameServer is checked first.

-strategy
+selectors
- -Kubernetes apps/v1.DeploymentStrategy + +[]GameServerSelector
-

Deployment strategy

+

Ordered list of GameServer label selectors. +If the first selector is not matched, the selection attempts the second selector, and so on. +This is useful for things like smoke testing of new game servers. +Note: This field can only be set if neither Required or Preferred is set.

-priorities
+metadata
- -[]Priority + +MetaPatch + + +
+

MetaPatch is optional custom metadata that is added to the game server at allocation +You can use this to tell the server necessary session data

+
+counters
+ + +map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterAction
(Optional) -

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers -by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by -State and Strategy. Impacts scale down logic.

+

(Alpha, CountsAndLists feature flag) Counter actions to perform during allocation.

-template
+lists
- -GameServerTemplateSpec + +map[string]agones.dev/agones/pkg/apis/allocation/v1.ListAction
-

Template the GameServer template to apply for this Fleet

+(Optional) +

(Alpha, CountsAndLists feature flag) List actions to perform during allocation.

-

FleetStatus +

GameServerAllocationState +(string alias)

+

+(Appears on: +GameServerAllocationStatus) +

+

+

GameServerAllocationState is the Allocation state

+

+

GameServerAllocationStatus

(Appears on: -Fleet, -FleetAutoscaleRequest) +GameServerAllocation)

-

FleetStatus is the status of a Fleet

+

GameServerAllocationStatus is the status for an GameServerAllocation resource

@@ -7403,106 +7333,145 @@

FleetStatus

+ + + + + + + + + + + + + +
-replicas
+state
+ + +GameServerAllocationState + + +
+

GameServerState is the current state of an GameServerAllocation, e.g. Allocated, or UnAllocated

+
+gameServerName
+ +string + +
+
+ports
+ + +[]GameServerStatusPort + + +
+
+address
-int32 +string
-

Replicas the total number of current GameServer replicas

-readyReplicas
+addresses
-int32 + +[]Kubernetes core/v1.NodeAddress +
-

ReadyReplicas are the number of Ready GameServer replicas

-reservedReplicas
+nodeName
-int32 +string
-

ReservedReplicas are the total number of Reserved GameServer replicas in this fleet. -Reserved instances won’t be deleted on scale down, but won’t cause an autoscaler to scale up.

-allocatedReplicas
+source
-int32 +string
-

AllocatedReplicas are the number of Allocated GameServer replicas

+

If the allocation is from a remote cluster, Source is the endpoint of the remote agones-allocator. +Otherwise, Source is “local”

-players
+metadata
- -AggregatedPlayerStatus + +GameServerMetadata
-(Optional) -

[Stage:Alpha] -[FeatureFlag:PlayerTracking] -Players are the current total player capacity and count for this Fleet

+

GameServerMetadata +

+

+(Appears on: +GameServerAllocationStatus) +

+

+

GameServerMetadata is the metadata from the allocated game server at allocation time

+

+ + + + + + + +
FieldDescription
-counters
+labels
- -map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus - +map[string]string
-(Optional) -

(Alpha, CountsAndLists feature flag) Counters provides aggregated Counter capacity and Counter -count for this Fleet.

-lists
+annotations
- -map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedListStatus - +map[string]string
-(Optional) -

(Alpha, CountsAndLists feature flag) Lists provides aggregated List capacityv and List values -for this Fleet.

-

GameServerPort +

GameServerSelector

(Appears on: -GameServerSpec) +GameServerAllocationSpec)

-

GameServerPort defines a set of Ports that -are to be exposed via the GameServer

+

GameServerSelector contains all the filter options for selecting +a GameServer for allocation.

@@ -7514,89 +7483,94 @@

GameServerPort

- - - -
-name
+LabelSelector
-string + +Kubernetes meta/v1.LabelSelector +
-

Name is the descriptive name of the port

+

+(Members of LabelSelector are embedded into this type.) +

+

See: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/

-portPolicy
+gameServerState
- -PortPolicy + +GameServerState
-

PortPolicy defines the policy for how the HostPort is populated. -Dynamic port will allocate a HostPort within the selected MIN_PORT and MAX_PORT range passed to the controller -at installation time. -When Static portPolicy is specified, HostPort is required, to specify the port that game clients will -connect to

+

GameServerState specifies which State is the filter to be used when attempting to retrieve a GameServer +via Allocation. Defaults to “Ready”. The only other option is “Allocated”, which can be used in conjunction with +label/annotation/player selectors to retrieve an already Allocated GameServer.

-container
+players
-string + +PlayerSelector +
(Optional) -

Container is the name of the container on which to open the port. Defaults to the game server container.

-
-containerPort
- -int32 - -
-

ContainerPort is the port that is being opened on the specified container’s process

+

[Stage:Alpha] +[FeatureFlag:PlayerAllocationFilter] +Players provides a filter on minimum and maximum values for player capacity when retrieving a GameServer +through Allocation. Defaults to no limits.

-hostPort
+counters
-int32 + +map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterSelector +
-

HostPort the port exposed on the host for clients to connect to

+(Optional) +

(Alpha, CountsAndLists feature flag) Counters provides filters on minimum and maximum values +for a Counter’s count and available capacity when retrieving a GameServer through Allocation. +Defaults to no limits.

-protocol
+lists
- -Kubernetes core/v1.Protocol + +map[string]agones.dev/agones/pkg/apis/allocation/v1.ListSelector
-

Protocol is the network protocol being used. Defaults to UDP. TCP and TCPUDP are other options.

+(Optional) +

(Alpha, CountsAndLists feature flag) Lists provides filters on minimum and maximum values +for List capacity, and for the existence of a value in a List, when retrieving a GameServer +through Allocation. Defaults to no limits.

-

GameServerSetSpec +

ListAction

(Appears on: -GameServerSet) +GameServerAllocationSpec)

-

GameServerSetSpec the specification for GameServerSet

+

ListAction is an optional action that can be performed on a List at allocation.

@@ -7608,83 +7582,39 @@

GameServerSetSpec

- - - - - - - - - - - -
-replicas
- -int32 - -
-

Replicas are the number of GameServers that should be in this set

-
-allocationOverflow
+addValues
- -AllocationOverflow - +[]string
(Optional) -

[Stage: Beta] -[FeatureFlag:FleetAllocationOverflow] -Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below -the desired replicas on the underlying GameServerSet

-
-scheduling
- -agones.dev/agones/pkg/apis.SchedulingStrategy - -
-

Scheduling strategy. Defaults to “Packed”.

+

AddValues appends values to a List’s Values array. Any duplicate values will be ignored.

-priorities
+capacity
- -[]Priority - +int64
(Optional) -

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most -important for sorting. The Fleetautoscaler will use the first priority for sorting GameServers -by total Capacity in the Fleet and acts as a tie-breaker after sorting the game servers by -State and Strategy. Impacts scale down logic.

-
-template
- - -GameServerTemplateSpec - - -
-

Template the GameServer template to apply for this GameServerSet

+

Capacity updates the maximum capacity of the Counter to this number. Min 0, Max 1000.

-

GameServerSetStatus +

ListSelector

(Appears on: -GameServerSet) +GameServerSelector)

-

GameServerSetStatus is the status of a GameServerSet

+

ListSelector is the filter options for a GameServer based on List available capacity and/or the +existence of a value in a List.

@@ -7696,116 +7626,130 @@

GameServerSetStatus

+ +
-replicas
+containsValue
-int32 +string
-

Replicas is the total number of current GameServer replicas

+(Optional) +

ContainsValue says to only match GameServers who has this value in the list. Defaults to “”, which is all.

-readyReplicas
+minAvailable
-int32 +int64
-

ReadyReplicas is the number of Ready GameServer replicas

+(Optional) +

MinAvailable specifies the minimum capacity (current capacity - current count) available on a GameServer. Defaults to 0.

-reservedReplicas
+maxAvailable
-int32 +int64
-

ReservedReplicas is the number of Reserved GameServer replicas

+(Optional) +

MaxAvailable specifies the maximum capacity (current capacity - current count) available on a GameServer. Defaults to 0, which is translated as max(int64).

+

MetaPatch +

+

+(Appears on: +GameServerAllocationSpec) +

+

+

MetaPatch is the metadata used to patch the GameServer metadata on allocation

+

+ + + + + + + + + +
FieldDescription
-allocatedReplicas
+labels
-int32 +map[string]string
-

AllocatedReplicas is the number of Allocated GameServer replicas

-shutdownReplicas
+annotations
-int32 +map[string]string
-

ShutdownReplicas is the number of Shutdown GameServers replicas

+

MultiClusterSetting +

+

+(Appears on: +GameServerAllocationSpec) +

+

+

MultiClusterSetting specifies settings for multi-cluster allocation.

+

+ + - - + + + +
-players
- - -AggregatedPlayerStatus - - -
-(Optional) -

[Stage:Alpha] -[FeatureFlag:PlayerTracking] -Players is the current total player capacity and count for this GameServerSet

-
FieldDescription
-counters
+enabled
- -map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus - +bool
-(Optional) -

(Alpha, CountsAndLists feature flag) Counters provides aggregated Counter capacity and Counter -count for this GameServerSet.

-lists
+policySelector
- -map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedListStatus + +Kubernetes meta/v1.LabelSelector
-(Optional) -

(Alpha, CountsAndLists feature flag) Lists provides aggregated List capacity and List values -for this GameServerSet.

-

GameServerSpec +

PlayerSelector

(Appears on: -GameServer, -GameServerTemplateSpec) +GameServerSelector)

-

GameServerSpec is the spec for a GameServer resource

+

PlayerSelector is the filter options for a GameServer based on player counts

@@ -7817,157 +7761,154 @@

GameServerSpec

+ +
-container
+minAvailable
-string +int64
-

Container specifies which Pod container is the game server. Only required if there is more than one -container defined

-ports
+maxAvailable
- -[]GameServerPort - +int64
-

Ports are the array of ports that can be exposed via the game server

+
+

autoscaling.agones.dev/v1

+

+

Package v1 is the v1 version of the API.

+

+Resource Types: + +

FleetAutoscaler +

+

+

FleetAutoscaler is the data structure for a FleetAutoscaler resource

+

+ + + + + + + + +apiVersion
+string - + - +
+
+
FieldDescription
-health
- - -Health - - -
-

Health configures health checking

+ +autoscaling.agones.dev/v1 +
-scheduling
- -agones.dev/agones/pkg/apis.SchedulingStrategy - -
-

Scheduling strategy. Defaults to “Packed”

+kind
+string
FleetAutoscaler
-sdkServer
+metadata
- -SdkServer + +Kubernetes meta/v1.ObjectMeta
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-template
+spec
- -Kubernetes core/v1.PodTemplateSpec + +FleetAutoscalerSpec
-

Template describes the Pod that will be created for the GameServer

-
+ +
-players
+fleetName
- -PlayersSpec - +string
-(Optional) -

(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features.

-counters
+policy
- -map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus + +FleetAutoscalerPolicy
-(Optional) -

(Alpha, CountsAndLists feature flag) Counters provides the configuration for tracking of int64 values against a GameServer. -Keys must be declared at GameServer creation time.

+

Autoscaling policy

-lists
+sync
- -map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus + +FleetAutoscalerSync
(Optional) -

(Alpha, CountsAndLists feature flag) Lists provides the configuration for tracking of lists of up to 1000 values against a GameServer. -Keys must be declared at GameServer creation time.

+

Sync defines when FleetAutoscalers runs autoscaling

+
-eviction
+status
- -Eviction + +FleetAutoscalerStatus -(Optional) -

Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

-

GameServerState -(string alias)

-

-(Appears on: -GameServerSelector, -GameServerStatus) -

-

-

GameServerState is the state for the GameServer

-

-

GameServerStatus +

BufferPolicy

(Appears on: -GameServer) +FleetAutoscalerPolicy)

-

GameServerStatus is the status for a GameServer resource

+

BufferPolicy controls the desired behavior of the buffer policy.

@@ -7979,143 +7920,158 @@

GameServerStatus

+ +
-state
+maxReplicas
- -GameServerState - +int32
-

GameServerState is the current state of a GameServer, e.g. Creating, Starting, Ready, etc

+

MaxReplicas is the maximum amount of replicas that the fleet may have. +It must be bigger than both MinReplicas and BufferSize

-ports
+minReplicas
- -[]GameServerStatusPort - +int32
+

MinReplicas is the minimum amount of replicas that the fleet must have +If zero, it is ignored. +If non zero, it must be smaller than MaxReplicas and bigger than BufferSize

-address
+bufferSize
-string +k8s.io/apimachinery/pkg/util/intstr.IntOrString
+

BufferSize defines how many replicas the autoscaler tries to have ready all the time +Value can be an absolute number (ex: 5) or a percentage of desired gs instances (ex: 15%) +Absolute number is calculated from percentage by rounding up. +Example: when this is set to 20%, the autoscaler will make sure that 20% +of the fleet’s game server replicas are ready. When this is set to 20, +the autoscaler will make sure that there are 20 available game servers +Must be bigger than 0 +Note: by “ready” we understand in this case “non-allocated”; this is done to ensure robustness +and computation stability in different edge case (fleet just created, not enough +capacity in the cluster etc)

+

CounterPolicy +

+

+(Appears on: +FleetAutoscalerPolicy) +

+

+

CounterPolicy controls the desired behavior of the Counter autoscaler policy.

+

+ + - - + + + + + +
-addresses
- - -[]Kubernetes core/v1.NodeAddress - - -
-(Optional) -

Addresses is the array of addresses at which the GameServer can be reached; copy of Node.Status.addresses.

-
FieldDescription
-nodeName
+key
string
+

Key is the name of the Counter. Required field.

-reservedUntil
+maxCapacity
- -Kubernetes meta/v1.Time - +int64
+

MaxCapacity is the maximum aggregate Counter total capacity across the fleet. +MaxCapacity must be bigger than both MinCapacity and BufferSize. Required field.

-players
+minCapacity
- -PlayerStatus - +int64
-(Optional) -

[Stage:Alpha] -[FeatureFlag:PlayerTracking]

+

MinCapacity is the minimum aggregate Counter total capacity across the fleet. +If zero, MinCapacity is ignored. +If non zero, MinCapacity must be smaller than MaxCapacity and bigger than BufferSize.

-counters
+bufferSize
- -map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus - +k8s.io/apimachinery/pkg/util/intstr.IntOrString
-(Optional) -

(Alpha, CountsAndLists feature flag) Counters and Lists provides the configuration for generic tracking features.

+

BufferSize is the size of a buffer of counted items that are available in the Fleet (available +capacity). Value can be an absolute number (ex: 5) or a percentage of desired gs instances +(ex: 5%). An absolute number is calculated from percentage by rounding up. +Must be bigger than 0. Required field.

+

FixedIntervalSync +

+

+(Appears on: +FleetAutoscalerSync) +

+

+

FixedIntervalSync controls the desired behavior of the fixed interval based sync.

+

+ + - - + + + +
-lists
- - -map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus - - -
-(Optional) -FieldDescription
-eviction
+seconds
- -Eviction - +int32
-(Optional) -

Eviction specifies the eviction tolerance of the GameServer.

+

Seconds defines how often we run fleet autoscaling in seconds

-

GameServerStatusPort +

FleetAutoscaleRequest

(Appears on: -GameServerAllocationStatus, -GameServerStatus) +FleetAutoscaleReview)

-

GameServerStatusPort shows the port that was allocated to a -GameServer.

+

FleetAutoscaleRequest defines the request to webhook autoscaler endpoint

@@ -8127,35 +8083,63 @@

GameServerStatusPort

+ + + + + + + +
+uid
+ +k8s.io/apimachinery/pkg/types.UID + +
+

UID is an identifier for the individual request/response. It allows us to distinguish instances of requests which are +otherwise identical (parallel requests, requests when earlier requests did not modify etc) +The UID is meant to track the round trip (request/response) between the Autoscaler and the WebHook, not the user request. +It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging.

+
name
string
+

Name is the name of the Fleet being scaled

-port
+namespace
-int32 +string + +
+

Namespace is the namespace associated with the request (if any).

+
+status
+ + +FleetStatus +
+

The Fleet’s status values

-

GameServerTemplateSpec +

FleetAutoscaleResponse

(Appears on: -FleetSpec, -GameServerSetSpec) +FleetAutoscaleReview)

-

GameServerTemplateSpec is a template for GameServers

+

FleetAutoscaleResponse defines the response of webhook autoscaler endpoint

@@ -8167,177 +8151,190 @@

GameServerTemplateSpec

-
-metadata
+uid
- -Kubernetes meta/v1.ObjectMeta - +k8s.io/apimachinery/pkg/types.UID
-Refer to the Kubernetes API documentation for the fields of the -metadata field. +

UID is an identifier for the individual request/response. +This should be copied over from the corresponding FleetAutoscaleRequest.

-spec
- - -GameServerSpec - - -
-
-
- - - + +
-container
+scale
-string +bool
-

Container specifies which Pod container is the game server. Only required if there is more than one -container defined

+

Set to false if no scaling should occur to the Fleet

-ports
+replicas
- -[]GameServerPort - +int32
-

Ports are the array of ports that can be exposed via the game server

+

The targeted replica count

+

FleetAutoscaleReview +

+

+

FleetAutoscaleReview is passed to the webhook with a populated Request value, +and then returned with a populated Response.

+

+ + - - + + + + + +
-health
- - -Health - - -
-

Health configures health checking

-
FieldDescription
-scheduling
+request
-agones.dev/agones/pkg/apis.SchedulingStrategy + +FleetAutoscaleRequest +
-

Scheduling strategy. Defaults to “Packed”

-sdkServer
+response
- -SdkServer + +FleetAutoscaleResponse
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

FleetAutoscalerPolicy +

+

+(Appears on: +FleetAutoscalerSpec) +

+

+

FleetAutoscalerPolicy describes how to scale a fleet

+

+ + + + + + + + - -
FieldDescription
-template
+type
- -Kubernetes core/v1.PodTemplateSpec + +FleetAutoscalerPolicyType
-

Template describes the Pod that will be created for the GameServer

+

Type of autoscaling policy.

-players
+buffer
- -PlayersSpec + +BufferPolicy
(Optional) -

(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features.

+

Buffer policy config params. Present only if FleetAutoscalerPolicyType = Buffer.

-counters
+webhook
- -map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus + +WebhookPolicy
(Optional) -

(Alpha, CountsAndLists feature flag) Counters provides the configuration for tracking of int64 values against a GameServer. -Keys must be declared at GameServer creation time.

+

Webhook policy config params. Present only if FleetAutoscalerPolicyType = Webhook.

-lists
+counter
- -map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus + +CounterPolicy
(Optional) -

(Alpha, CountsAndLists feature flag) Lists provides the configuration for tracking of lists of up to 1000 values against a GameServer. -Keys must be declared at GameServer creation time.

+

[Stage:Alpha] +[FeatureFlag:CountsAndLists] +Counter policy config params. Present only if FleetAutoscalerPolicyType = Counter.

-eviction
+list
- -Eviction + +ListPolicy
(Optional) -

Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

-
+

[Stage:Alpha] +[FeatureFlag:CountsAndLists] +List policy config params. Present only if FleetAutoscalerPolicyType = List.

-

Health +

FleetAutoscalerPolicyType +(string alias)

+

+(Appears on: +FleetAutoscalerPolicy) +

+

+

FleetAutoscalerPolicyType is the policy for autoscaling +for a given Fleet

+

+

FleetAutoscalerSpec

(Appears on: -GameServerSpec) +FleetAutoscaler)

-

Health configures health checking on the GameServer

+

FleetAutoscalerSpec is the spec for a Fleet Scaler

@@ -8349,59 +8346,51 @@

Health

- - - -
-disabled
- -bool - -
-

Disabled is whether health checking is disabled or not

-
-periodSeconds
+fleetName
-int32 +string
-

PeriodSeconds is the number of seconds each health ping has to occur in

-failureThreshold
+policy
-int32 + +FleetAutoscalerPolicy +
-

FailureThreshold how many failures in a row constitutes unhealthy

+

Autoscaling policy

-initialDelaySeconds
+sync
-int32 + +FleetAutoscalerSync +
-

InitialDelaySeconds initial delay before checking health

+(Optional) +

Sync defines when FleetAutoscalers runs autoscaling

-

ListStatus +

FleetAutoscalerStatus

(Appears on: -GameServerSpec, -GameServerStatus) +FleetAutoscaler)

-

ListStatus stores the current list values and maximum capacity

+

FleetAutoscalerStatus defines the current status of a FleetAutoscaler

@@ -8413,83 +8402,75 @@

ListStatus

- -
-capacity
+currentReplicas
-int64 +int32
+

CurrentReplicas is the current number of gameserver replicas +of the fleet managed by this autoscaler, as last seen by the autoscaler

-values
+desiredReplicas
-[]string +int32
+

DesiredReplicas is the desired number of gameserver replicas +of the fleet managed by this autoscaler, as last calculated by the autoscaler

-

PlayerStatus -

-

-(Appears on: -GameServerStatus) -

-

-

PlayerStatus stores the current player capacity values

-

- - - - - - - -
FieldDescription
-count
+lastScaleTime
-int64 + +Kubernetes meta/v1.Time +
+(Optional) +

lastScaleTime is the last time the FleetAutoscaler scaled the attached fleet,

-capacity
+ableToScale
-int64 +bool
+

AbleToScale indicates that we can access the target fleet

-ids
+scalingLimited
-[]string +bool
+

ScalingLimited indicates that the calculated scale would be above or below the range +defined by MinReplicas and MaxReplicas, and has thus been capped.

-

PlayersSpec +

FleetAutoscalerSync

(Appears on: -GameServerSpec) +FleetAutoscalerSpec)

-

PlayersSpec tracks the initial player capacity

+

FleetAutoscalerSync describes when to sync a fleet

@@ -8501,35 +8482,50 @@

PlayersSpec

+ + + +
-initialCapacity
+type
-int64 + +FleetAutoscalerSyncType + + +
+

Type of autoscaling sync.

+
+fixedInterval
+ + +FixedIntervalSync +
+(Optional) +

FixedInterval config params. Present only if FleetAutoscalerSyncType = FixedInterval.

-

PortPolicy +

FleetAutoscalerSyncType (string alias)

(Appears on: -GameServerPort) +FleetAutoscalerSync)

-

PortPolicy is the port policy for the GameServer

+

FleetAutoscalerSyncType is the sync strategy for a given Fleet

-

Priority +

ListPolicy

(Appears on: -FleetSpec, -GameServerAllocationSpec, -GameServerSetSpec) +FleetAutoscalerPolicy)

-

Priority is a sorting option for GameServers with Counters or Lists based on the Capacity.

+

ListPolicy controls the desired behavior of the List autoscaler policy.

@@ -8541,48 +8537,66 @@

Priority

+ + + +
-type
+key
string
-

Type: Sort by a “Counter” or a “List”.

+

Key is the name of the List. Required field.

-key
+maxCapacity
-string +int64
-

Key: The name of the Counter or List. If not found on the GameServer, has no impact.

+

MaxCapacity is the maximum aggregate List total capacity across the fleet. +MaxCapacity must be bigger than both MinCapacity and BufferSize. Required field.

-order
+minCapacity
-string +int64
-

Order: Sort by “Ascending” or “Descending”. “Descending” a bigger Capacity is preferred. -“Ascending” would be smaller Capacity is preferred.

+

MinCapacity is the minimum aggregate List total capacity across the fleet. +If zero, it is ignored. +If non zero, it must be smaller than MaxCapacity and bigger than BufferSize.

+
+bufferSize
+ +k8s.io/apimachinery/pkg/util/intstr.IntOrString + +
+

BufferSize is the size of a buffer based on the List capacity that is available over the +current aggregate List length in the Fleet (available capacity). It can be specified either +as an absolute value (i.e. 5) or percentage format (i.e. 5%). +Must be bigger than 0. Required field.

-

SdkServer +

WebhookPolicy

(Appears on: -GameServerSpec) +FleetAutoscalerPolicy)

-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

WebhookPolicy controls the desired behavior of the webhook policy. +It contains the description of the webhook autoscaler service +used to form url which is accessible inside the cluster

@@ -8594,50 +8608,66 @@

SdkServer

-logLevel
+url
- -SdkServerLogLevel - +string
-

LogLevel for SDK server (sidecar) logs. Defaults to “Info”

+(Optional) +

url gives the location of the webhook, in standard URL form +(scheme://host:port/path). Exactly one of url or service +must be specified.

+

The host should not refer to a service running in the cluster; use +the service field instead. The host might be resolved via external +DNS in some apiservers (e.g., kube-apiserver cannot resolve +in-cluster DNS as that would be a layering violation). host may +also be an IP address.

+

Please note that using localhost or 127.0.0.1 as a host is +risky unless you take great care to run this webhook on all hosts +which run an apiserver which might need to make calls to this +webhook. Such installs are likely to be non-portable, i.e., not easy +to turn up in a new cluster.

+

The scheme must be “https”; the URL must begin with “https://”.

+

A path is optional, and if present may be any string permissible in +a URL. You may use the path to pass an arbitrary string to the +webhook, for example, a cluster identifier.

+

Attempting to use a user or basic auth e.g. “user:password@” is not +allowed. Fragments (“#…”) and query parameters (“?…”) are not +allowed, either.

-grpcPort
+service
-int32 + +Kubernetes admissionregistration/v1.ServiceReference +
-

GRPCPort is the port on which the SDK Server binds the gRPC server to accept incoming connections

+(Optional) +

service is a reference to the service for this webhook. Either +service or url must be specified.

+

If the webhook is running within the cluster, then you should use service.

-httpPort
+caBundle
-int32 +[]byte
-

HTTPPort is the port on which the SDK Server binds the HTTP gRPC gateway server to accept incoming connections

+(Optional) +

caBundle is a PEM encoded CA bundle which will be used to validate the webhook’s server certificate. +If unspecified, system trust roots on the apiserver are used.

-

SdkServerLogLevel -(string alias)

-

-(Appears on: -SdkServer) -

-

-

SdkServerLogLevel is the log level for SDK server (sidecar) logs

-


Generated with gen-crd-api-reference-docs.