From ada2c4d4be56ee6ac7fa635143554fdaad62fa60 Mon Sep 17 00:00:00 2001 From: Ivy Gooch Date: Tue, 20 Jun 2023 01:21:09 +0000 Subject: [PATCH] Generated Files --- install/yaml/install.yaml | 18 +- pkg/apis/agones/v1/zz_generated.deepcopy.go | 5 + .../Reference/agones_crd_api_reference.html | 3449 +++++++++-------- 3 files changed, 1764 insertions(+), 1708 deletions(-) diff --git a/install/yaml/install.yaml b/install/yaml/install.yaml index 8f3f771291..b00e025f57 100644 --- a/install/yaml/install.yaml +++ b/install/yaml/install.yaml @@ -280,7 +280,7 @@ spec: anyOf: - type: integer - type: string - priorities: # which gameservers in the Fleet are most important to keep around - impacts scale down logic + priorities: # which gameservers in the Fleet are most important to keep around - impacts scale down logic. Must be identical to priorities in gameserverset.yaml. type: array title: Configuration of Counters and Lists scale down logic nullable: true @@ -10615,6 +10615,22 @@ spec: enum: - Packed - Distributed + priorities: # see fleet.yaml + type: array + title: Configuration of Counters and Lists scale down logic + nullable: true + items: + type: object + properties: + priorityType: + type: string + title: Whether a Counter or a List. + key: + type: string + title: The name of the Counter or List + order: + type: string + title: Ascending or Descending sort order template: description: 'GameServer is the data structure for a GameServer resource.' type: object diff --git a/pkg/apis/agones/v1/zz_generated.deepcopy.go b/pkg/apis/agones/v1/zz_generated.deepcopy.go index e7c5f75659..848a259dff 100644 --- a/pkg/apis/agones/v1/zz_generated.deepcopy.go +++ b/pkg/apis/agones/v1/zz_generated.deepcopy.go @@ -410,6 +410,11 @@ func (in *GameServerSetSpec) DeepCopyInto(out *GameServerSetSpec) { *out = new(AllocationOverflow) (*in).DeepCopyInto(*out) } + if in.Priorities != nil { + in, out := &in.Priorities, &out.Priorities + *out = make([]Priority, len(*in)) + copy(*out, *in) + } in.Template.DeepCopyInto(&out.Template) return } 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 d102e81713..635507b628 100644 --- a/site/content/en/docs/Reference/agones_crd_api_reference.html +++ b/site/content/en/docs/Reference/agones_crd_api_reference.html @@ -3823,9 +3823,6 @@

Priority

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

@@ -3866,7 +3863,7 @@

Fleet string

@@ -3875,7 +3872,7 @@

Fleet kind
string -

+ @@ -3906,43 +3903,82 @@

Fleet

-agones.dev/v1 +allocation.agones.dev/v1
FleetGameServerAllocation
@@ -3895,8 +3892,8 @@

Fleet

spec
- -FleetSpec + +GameServerAllocationSpec
+ + + + + + + + @@ -3958,32 +3994,43 @@

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 and acts as a tie-breaker after sorting the game servers +by State and Strategy. 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) Counters and Lists provide a set of actions to perform +on Counters and Lists during allocation.

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

Template the GameServer template to apply for this Fleet

@@ -3993,8 +4040,8 @@

Fleet status
- -FleetStatus + +GameServerAllocationStatus @@ -4003,14 +4050,17 @@

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. +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.

@@ -4022,186 +4072,239 @@

GameServer

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

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
-container
+minCount
-string +int64
-

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

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

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

-health
+minAvailable
- -Health - +int64
-

Health configures health checking

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

Scheduling strategy. Defaults to “Packed”

+

GameServerAllocationSpec +

+

+(Appears on: +GameServerAllocation) +

+

+

GameServerAllocationSpec is the spec for a GameServerAllocation

+

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

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

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

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

Template describes the Pod that will be created for the GameServer

+

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.

-players
+preferred
- -PlayersSpec + +[]GameServerSelector
-(Optional) -

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

+

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.

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

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

+

(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 and acts as a tie-breaker after sorting the game servers +by State and Strategy. Impacts which GameServer is checked first.

-lists
+selectors
- -map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus + +[]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.

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

Scheduling strategy. Defaults to “Packed”.

+
+metadata
+ + +MetaPatch
-(Optional) -

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

+

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) Counters and Lists provide a set of actions to perform +on Counters and Lists during allocation.

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

GameServer -

GameServerSet +

GameServerAllocationState +(string alias)

+

+(Appears on: +GameServerAllocationStatus) +

+

+

GameServerAllocationState is the Allocation state

+

+

GameServerAllocationStatus

-

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

+(Appears on: +GameServerAllocation) +

+

+

GameServerAllocationStatus is the status for an GameServerAllocation resource

@@ -4227,126 +4341,186 @@

GameServerSet

+state
+ + +GameServerAllocationState + + + + - + +
-apiVersion
-string
- -agones.dev/v1 - +

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

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

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

-allocationOverflow
+source
- -AllocationOverflow +string + +
+

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

+
+

GameServerSelector +

+

+(Appears on: +GameServerAllocationSpec) +

+

+

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

+

+ + + + + + + + + + -
FieldDescription
+LabelSelector
+ + +Kubernetes meta/v1.LabelSelector
-(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

+

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

+

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

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

Scheduling strategy. Defaults to “Packed”.

+(Optional) +

[Stage:Beta] +[FeatureFlag:StateAllocationFilter] +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
+players
- -GameServerTemplateSpec + +PlayerSelector
-

Template the GameServer template to apply for this GameServerSet

+(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
+ + +map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterSelector + + +
+(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.

-status
+lists
- -GameServerSetStatus + +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.

-

AggregatedCounterStatus +

ListAction

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

-

AggregatedCounterStatus stores total Counter tracking values

+

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.

@@ -4358,9 +4532,9 @@

AggregatedCounterStatus

-count
+addValues
-int64 +[]string
@@ -4378,15 +4552,17 @@

AggregatedCounterStatus

-

AggregatedListStatus +

ListSelector

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

-

AggregatedListStatus stores total List tracking values

+

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: “”

@@ -4398,7 +4574,17 @@

AggregatedListStatus

+ + + +
-count
+containsValue
+ +string + +
+
+minAvailable
int64 @@ -4408,7 +4594,7 @@

AggregatedListStatus

-capacity
+maxAvailable
int64 @@ -4418,15 +4604,14 @@

AggregatedListStatus

-

AggregatedPlayerStatus +

MetaPatch

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

-

AggregatedPlayerStatus stores total player tracking values

+

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

@@ -4438,9 +4623,9 @@

AggregatedPlayerStatus

-count
+labels
-int64 +map[string]string
@@ -4448,9 +4633,9 @@

AggregatedPlayerStatus

-capacity
+annotations
-int64 +map[string]string
@@ -4458,17 +4643,14 @@

AggregatedPlayerStatus

-

AllocationOverflow +

MultiClusterSetting

(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.

+

MultiClusterSetting specifies settings for multi-cluster allocation.

@@ -4480,39 +4662,36 @@

AllocationOverflow

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

Labels to be applied to the GameServer

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

Annotations to be applied to the GameServer

-

CounterStatus +

PlayerSelector

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

-

CounterStatus stores the current counter values

+

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

@@ -4524,7 +4703,7 @@

CounterStatus

-count
+minAvailable
int64 @@ -4534,7 +4713,7 @@

CounterStatus

-capacity
+maxAvailable
int64 @@ -4544,15 +4723,19 @@

CounterStatus

-

Eviction -

+
+

autoscaling.agones.dev/v1

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

Package v1 is the v1 version of the API.

+Resource Types: + +

FleetAutoscaler +

-

Eviction specifies the eviction tolerance of the GameServer

+

FleetAutoscaler is the data structure for a FleetAutoscaler resource

@@ -4564,141 +4747,112 @@

Eviction

+apiVersion
+string - -
-safe
- - -EvictionSafe - - -
-

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

+ +autoscaling.agones.dev/v1 +
-

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

-

- - - - + + - - - +
+
+
FieldDescription +kind
+string +
FleetAutoscaler
-replicas
+metadata
-int32 + +Kubernetes meta/v1.ObjectMeta +
-

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

+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-allocationOverflow
+spec
- -AllocationOverflow + +FleetAutoscalerSpec
-(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
+fleetName
- -Kubernetes apps/v1.DeploymentStrategy - +string
-

Deployment strategy

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

Scheduling strategy. Defaults to “Packed”.

+

Autoscaling policy

-priorities
+sync
- -[]Priority + +FleetAutoscalerSync
(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.

+

[Stage:Beta] +[FeatureFlag:CustomFasSyncInterval] +Sync defines when FleetAutoscalers runs autoscaling

+
-template
+status
- -GameServerTemplateSpec + +FleetAutoscalerStatus -

Template the GameServer template to apply for this Fleet

-

FleetStatus +

BufferPolicy

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

-

FleetStatus is the status of a Fleet

+

BufferPolicy controls the desired behavior of the buffer policy.

@@ -4710,106 +4864,128 @@

FleetStatus

+ +
-replicas
+maxReplicas
int32
-

Replicas the total number of current GameServer replicas

+

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

-readyReplicas
+minReplicas
int32
-

ReadyReplicas are the number of Ready GameServer replicas

+

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

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

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.

+

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.

+

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

AllocatedReplicas are the number of Allocated GameServer replicas

+

Key is the name of the Counter. Required field.

-players
+maxCapacity
- -AggregatedPlayerStatus - +int64
-(Optional) -

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

+

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

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

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

+

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.

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

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

+

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.

-

GameServerPort +

FixedIntervalSync

(Appears on: -GameServerSpec) +FleetAutoscalerSync)

-

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

+

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

@@ -4821,89 +4997,93 @@

GameServerPort

+ +
-name
+seconds
-string +int32
-

Name is the descriptive name of the port

+

Seconds defines how often we run fleet autoscaling in seconds

+

FleetAutoscaleRequest +

+

+(Appears on: +FleetAutoscaleReview) +

+

+

FleetAutoscaleRequest defines the request to webhook autoscaler endpoint

+

+ + - - + + + +
-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

-
FieldDescription
-container
+uid
-string +k8s.io/apimachinery/pkg/types.UID
-(Optional) -

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

+

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.

-containerPort
+name
-int32 +string
-

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

+

Name is the name of the Fleet being scaled

-hostPort
+namespace
-int32 +string
-

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

+

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

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

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

+

The Fleet’s status values

-

GameServerSetSpec +

FleetAutoscaleResponse

(Appears on: -GameServerSet) +FleetAutoscaleReview)

-

GameServerSetSpec the specification for GameServerSet

+

FleetAutoscaleResponse defines the response of webhook autoscaler endpoint

@@ -4915,66 +5095,45 @@

GameServerSetSpec

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

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

-
-allocationOverflow
+uid
- -AllocationOverflow - +k8s.io/apimachinery/pkg/types.UID
-(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

+

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

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

Scheduling strategy. Defaults to “Packed”.

+

Set to false if no scaling should occur to the Fleet

-template
+replicas
- -GameServerTemplateSpec - +int32
-

Template the GameServer template to apply for this GameServerSet

+

The targeted replica count

-

GameServerSetStatus +

FleetAutoscaleReview

-(Appears on: -GameServerSet) -

-

-

GameServerSetStatus is the status of a GameServerSet

+

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

@@ -4986,116 +5145,140 @@

GameServerSetStatus

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

Replicas is the total number of current GameServer replicas

-readyReplicas
+response
-int32 + +FleetAutoscaleResponse +
-

ReadyReplicas is the number of Ready GameServer replicas

+

FleetAutoscalerPolicy +

+

+(Appears on: +FleetAutoscalerSpec) +

+

+

FleetAutoscalerPolicy describes how to scale a fleet

+

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

ReservedReplicas is the number of Reserved GameServer replicas

-
FieldDescription
-allocatedReplicas
+type
-int32 + +FleetAutoscalerPolicyType +
-

AllocatedReplicas is the number of Allocated GameServer replicas

+

Type of autoscaling policy.

-shutdownReplicas
+buffer
-int32 + +BufferPolicy +
-

ShutdownReplicas is the number of Shutdown GameServers replicas

+(Optional) +

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

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

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

+

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

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

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

+

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

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

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

+

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

-

GameServerSpec +

FleetAutoscalerPolicyType +(string alias)

+

+(Appears on: +FleetAutoscalerPolicy) +

+

+

FleetAutoscalerPolicyType is the policy for autoscaling +for a given Fleet

+

+

FleetAutoscalerSpec

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

-

GameServerSpec is the spec for a GameServer resource

+

FleetAutoscalerSpec is the spec for a Fleet Scaler

@@ -5107,153 +5290,188 @@

GameServerSpec

+ +
-container
+fleetName
string
-

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

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

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

+

Autoscaling policy

-health
+sync
- -Health + +FleetAutoscalerSync
-

Health configures health checking

+(Optional) +

[Stage:Beta] +[FeatureFlag:CustomFasSyncInterval] +Sync defines when FleetAutoscalers runs autoscaling

+

FleetAutoscalerStatus +

+

+(Appears on: +FleetAutoscaler) +

+

+

FleetAutoscalerStatus defines the current status of a FleetAutoscaler

+

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

Scheduling strategy. Defaults to “Packed”

+

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

-sdkServer
+desiredReplicas
- -SdkServer - +int32
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

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

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

Template describes the Pod that will be created for the GameServer

+(Optional) +

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

-players
+ableToScale
- -PlayersSpec - +bool
-(Optional) -

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

+

AbleToScale indicates that we can access the target fleet

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

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

+

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

+

FleetAutoscalerSync +

+

+(Appears on: +FleetAutoscalerSpec) +

+

+

FleetAutoscalerSync describes when to sync a fleet

+

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

Type of autoscaling sync.

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

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

+

FixedInterval config params. Present only if FleetAutoscalerSyncType = FixedInterval.

-

GameServerState +

FleetAutoscalerSyncType (string alias)

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

-

GameServerState is the state for the GameServer

+

FleetAutoscalerSyncType is the sync strategy for a given Fleet

-

GameServerStatus +

ListPolicy

(Appears on: -GameServer) +FleetAutoscalerPolicy)

-

GameServerStatus is the status for a GameServer resource

+

ListPolicy controls the desired behavior of the List autoscaler policy.

@@ -5265,129 +5483,150 @@

GameServerStatus

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

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

+

Key is the name of the List. Required field.

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

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

-address
+minCapacity
-string +int64
+

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.

-nodeName
+bufferSize
-string +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.

+

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

+

+ + - - + + + + - - - -
-reservedUntil
- - -Kubernetes meta/v1.Time - - -
-FieldDescription
-players
+url
- -PlayerStatus - +string
(Optional) -

[Stage:Alpha] -[FeatureFlag:PlayerTracking]

+

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
(Optional) -
-eviction
- - -Eviction - - -
-(Optional) -

Eviction specifies the eviction tolerance of the GameServer.

+

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.

-

GameServerStatusPort -

+
+

multicluster.agones.dev/v1

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

Package v1 is the v1 version of the API.

+Resource Types: + +

GameServerAllocationPolicy +

-

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

+

GameServerAllocationPolicy is the Schema for the gameserverallocationpolicies API

@@ -5399,44 +5638,21 @@

GameServerStatusPort

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

GameServerTemplateSpec -

-

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

-

-

GameServerTemplateSpec is a template for GameServers

-

- - - - - - - - @@ -5466,146 +5682,121 @@

GameServerTemplateSpec

FieldDescription
metadata
@@ -5455,8 +5671,8 @@

GameServerTemplateSpec

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

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

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

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

-health
+connectionInfo
- -Health + +ClusterConnectionInfo
-

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

+

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

SdkServer specifies parameters for the Agones SDK Server sidecar container

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

Template describes the Pod that will be created for the GameServer

+

Optional: the name of the targeted cluster

-players
+allocationEndpoints
- -PlayersSpec - +[]string
-(Optional) -

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

+

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/agones/v1.CounterStatus - +string
-(Optional) -

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

+

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/agones/v1.ListStatus - +string
+

The cluster namespace from which to allocate gameservers

-eviction
+serverCa
- -Eviction - +[]byte
-(Optional) -

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

-
+

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

-

Health +

ConnectionInfoIterator

-(Appears on: -GameServerSpec) -

-

-

Health configures health checking on the GameServer

+

ConnectionInfoIterator an iterator on ClusterConnectionInfo

@@ -5617,59 +5808,58 @@

Health

-disabled
+currPriority
-bool +int
-

Disabled is whether health checking is disabled or not

+

currPriority Current priority index from the orderedPriorities

-periodSeconds
+orderedPriorities
-int32 +[]int32
-

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

+

orderedPriorities list of ordered priorities

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

FailureThreshold how many failures in a row constitutes unhealthy

+

priorityToCluster Map of priority to cluster-policies map

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

InitialDelaySeconds initial delay before checking health

+

clusterBlackList the cluster blacklist for the clusters that has already returned

-

ListStatus +

GameServerAllocationPolicySpec

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

-

ListStatus stores the current list values

+

GameServerAllocationPolicySpec defines the desired state of GameServerAllocationPolicy

@@ -5681,9 +5871,9 @@

ListStatus

- -
-capacity
+priority
-int64 +int32
@@ -5691,58 +5881,21 @@

ListStatus

-values
+weight
-[]string +int
-

PlayerStatus -

-

-(Appears on: -GameServerStatus) -

-

-

PlayerStatus stores the current player capacity values

-

- - - - - - - - - - - - - - - -
FieldDescription
-count
+connectionInfo
-int64 - -
-
-capacity
- -int64 - -
-
-ids
- -[]string + +ClusterConnectionInfo +
@@ -5750,14 +5903,23 @@

PlayerStatus

-

PlayersSpec -

+
+

agones.dev/v1

-(Appears on: -GameServerSpec) +

Package v1 is the v1 version of the API.

+Resource Types: + +

Fleet +

-

PlayersSpec tracks the initial player capacity

+

Fleet is the data structure for a Fleet resource

@@ -5769,156 +5931,155 @@

PlayersSpec

+ + + + + + + + - -
-initialCapacity
+apiVersion
+string
+ +agones.dev/v1 + +
+kind
+string +
Fleet
+metadata
-int64 + +Kubernetes meta/v1.ObjectMeta +
+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-

PortPolicy -(string alias)

-

-(Appears on: -GameServerPort) -

-

-

PortPolicy is the port policy for the GameServer

-

-

Priority -

-

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

-

-

Priority is a sorting option for GameServers with Counters or Lists based on the Capacity. -PriorityType: 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”. Default is “Descending” so bigger Capacity is preferred. -“Ascending” would be smaller Capacity is preferred.

-

- - - - - - - + +
FieldDescription
+spec
+ + +FleetSpec + + +
+
+
+ - -
-priorityType
+replicas
-string +int32
+

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

-key
+allocationOverflow
-string + +AllocationOverflow +
+(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

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

Deployment strategy

-

SdkServer -

-

-(Appears on: -GameServerSpec) -

-

-

SdkServer specifies parameters for the Agones SDK Server sidecar container

-

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

Scheduling strategy. Defaults to “Packed”.

+
-logLevel
+priorities
- -SdkServerLogLevel + +[]Priority
-

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

+(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.

-grpcPort
+template
-int32 + +GameServerTemplateSpec +
-

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

+

Template the GameServer template to apply for this Fleet

+
-httpPort
+status
-int32 + +FleetStatus +
-

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

-

-

Package v1 is the v1 version of the API.

-

-Resource Types: - -

GameServerAllocation +

GameServer

-

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

+

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.

@@ -5934,7 +6095,7 @@

GameServerAllocation string

@@ -5943,7 +6104,7 @@

GameServerAllocation kind
string -

+ @@ -5974,134 +6135,131 @@

GameServerAllocation

-allocation.agones.dev/v1 +agones.dev/v1
GameServerAllocationGameServer
@@ -5963,8 +6124,8 @@

GameServerAllocation

spec
- -GameServerAllocationSpec + +GameServerSpec
+ + + +
-multiClusterSetting
+container
- -MultiClusterSetting - +string
-

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

+

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

-required
+ports
- -GameServerSelector + +[]GameServerPort
-

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.

+

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

-preferred
+health
- -[]GameServerSelector + +Health
-

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.

+

Health configures health checking

-priorities
+scheduling
- -[]Priority - +agones.dev/agones/pkg/apis.SchedulingStrategy
-(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 and acts as a tie-breaker after sorting the game servers -by State and Strategy. Impacts which GameServer is checked first.

+

Scheduling strategy. Defaults to “Packed”

-selectors
+sdkServer
- -[]GameServerSelector + +SdkServer
-

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.

+

SdkServer specifies parameters for the Agones SDK Server sidecar container

-scheduling
+template
-agones.dev/agones/pkg/apis.SchedulingStrategy + +Kubernetes core/v1.PodTemplateSpec +
-

Scheduling strategy. Defaults to “Packed”.

+

Template describes the Pod that will be created for the GameServer

-metadata
+players
- -MetaPatch + +PlayersSpec
-

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, PlayerTracking feature flag) Players provides the configuration for player tracking features.

counters
- -map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterAction + +map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
(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) Counters and Lists provides the configuration for generic tracking features.

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

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

@@ -6111,8 +6269,8 @@

GameServerAllocation status
- -GameServerAllocationStatus + +GameServerStatus @@ -6121,17 +6279,12 @@

GameServerAllocation -

CounterAction +

GameServerSet

-(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.

+

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

@@ -6143,29 +6296,127 @@

CounterAction

+ + + + + + + + + + + +
-action
- +apiVersion
+string
+ +agones.dev/v1 + +
+kind
string +
GameServerSet
+metadata
+ + +Kubernetes meta/v1.ObjectMeta +
+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-amount
+spec
-int64 + +GameServerSetSpec + + +
+
+
+ + + + + + + + + + + + + + + + + +
+replicas
+ +int32
+

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

-capacity
+allocationOverflow
-int64 + +AllocationOverflow + + +
+(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

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

Scheduling strategy. Defaults to “Packed”.

+
+priorities
+ + +[]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.

+
+template
+ + +GameServerTemplateSpec + + +
+

Template the GameServer template to apply for this GameServerSet

+
+
+status
+ + +GameServerSetStatus +
@@ -6173,15 +6424,15 @@

CounterAction

-

CounterSelector +

AggregatedCounterStatus

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

-

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

+

AggregatedCounterStatus stores total Counter tracking values

@@ -6193,7 +6444,7 @@

CounterSelector

+ +
-minCount
+count
int64 @@ -6203,7 +6454,7 @@

CounterSelector

-maxCount
+capacity
int64 @@ -6211,9 +6462,29 @@

CounterSelector

+

AggregatedListStatus +

+

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

+

+

AggregatedListStatus stores total List tracking values

+

+ + + + + + + +
FieldDescription
-minAvailable
+count
int64 @@ -6223,7 +6494,7 @@

CounterSelector

-maxAvailable
+capacity
int64 @@ -6233,14 +6504,15 @@

CounterSelector

-

GameServerAllocationSpec +

AggregatedPlayerStatus

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

-

GameServerAllocationSpec is the spec for a GameServerAllocation

+

AggregatedPlayerStatus stores total player tracking values

@@ -6252,155 +6524,165 @@

GameServerAllocationS

- - - + +
-multiClusterSetting
+count
- -MultiClusterSetting - +int64
-

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

-required
+capacity
- -GameServerSelector - +int64
-

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.

-
+

AllocationOverflow +

+

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

+

+

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.

+

+ + + + + + + + +
FieldDescription
-priorities
+labels
- -[]Priority - +map[string]string
(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 and acts as a tie-breaker after sorting the game servers -by State and Strategy. Impacts which GameServer is checked first.

+

Labels to be applied to the GameServer

-selectors
+annotations
- -[]GameServerSelector - +map[string]string
-

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.

+(Optional) +

Annotations to be applied to the GameServer

+

CounterStatus +

+

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

+

+

CounterStatus stores the current counter values

+

+ + + + + + + + + +
FieldDescription
-scheduling
+count
-agones.dev/agones/pkg/apis.SchedulingStrategy +int64
-

Scheduling strategy. Defaults to “Packed”.

-metadata
+capacity
- -MetaPatch - +int64
-

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

+

Eviction +

+

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

+

+

Eviction specifies the eviction tolerance of the GameServer

+

+ + - - + + + +
-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.

-
FieldDescription
-lists
+safe
- -map[string]agones.dev/agones/pkg/apis/allocation/v1.ListAction + +EvictionSafe
+

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

-

GameServerAllocationState +

EvictionSafe (string alias)

(Appears on: -GameServerAllocationStatus) +Eviction)

-

GameServerAllocationState is the Allocation state

+

EvictionSafe specified whether the game server supports termination via SIGTERM

-

GameServerAllocationStatus +

FleetSpec

(Appears on: -GameServerAllocation) +Fleet)

-

GameServerAllocationStatus is the status for an GameServerAllocation resource

+

FleetSpec is the spec for a Fleet

@@ -6412,82 +6694,97 @@

GameServerAllocatio

-state
+replicas
- -GameServerAllocationState - +int32
-

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

+

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

-gameServerName
+allocationOverflow
-string + +AllocationOverflow +
+(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

-ports
+strategy
- -[]GameServerStatusPort + +Kubernetes apps/v1.DeploymentStrategy
+

Deployment strategy

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

Scheduling strategy. Defaults to “Packed”.

-nodeName
+priorities
-string + +[]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.

-source
+template
-string + +GameServerTemplateSpec +
-

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

+

Template the GameServer template to apply for this Fleet

-

GameServerSelector +

FleetStatus

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

-

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

+

FleetStatus is the status of a Fleet

@@ -6499,141 +6796,106 @@

GameServerSelector

- - -
-LabelSelector
+replicas
- -Kubernetes meta/v1.LabelSelector - +int32
-

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

-

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

+

Replicas the total number of current GameServer replicas

-gameServerState
+readyReplicas
- -GameServerState - +int32
-(Optional) -

[Stage:Beta] -[FeatureFlag:StateAllocationFilter] -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.

+

ReadyReplicas are the number of Ready GameServer replicas

-players
+reservedReplicas
- -PlayerSelector - +int32
-(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.

+

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.

-counters
+allocatedReplicas
- -map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterSelector - +int32
-(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.

+

AllocatedReplicas are the number of Allocated GameServer replicas

-lists
+players
- -map[string]agones.dev/agones/pkg/apis/allocation/v1.ListSelector + +AggregatedPlayerStatus
(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 -

-

-(Appears on: -GameServerAllocationSpec) -

-

-

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.

-

- - - - - +

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

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

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

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

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

-

ListSelector +

GameServerPort

(Appears on: -GameServerSelector) +GameServerSpec)

-

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: “”

+

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

@@ -6645,83 +6907,89 @@

ListSelector

- -
-containsValue
+name
string
+

Name is the descriptive name of the port

-minAvailable
+portPolicy
-int64 + +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

-maxAvailable
+container
-int64 +string
+(Optional) +

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

-

MetaPatch -

-

-(Appears on: -GameServerAllocationSpec) -

-

-

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

-

- - - - + + - -
FieldDescription +containerPort
+ +int32 + +
+

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

+
-labels
+hostPort
-map[string]string +int32
+

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

-annotations
+protocol
-map[string]string + +Kubernetes core/v1.Protocol +
+

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

-

MultiClusterSetting +

GameServerSetSpec

(Appears on: -GameServerAllocationSpec) +GameServerSet)

-

MultiClusterSetting specifies settings for multi-cluster allocation.

+

GameServerSetSpec the specification for GameServerSet

@@ -6733,80 +7001,83 @@

MultiClusterSetting

- -
-enabled
+replicas
-bool +int32
+

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

-policySelector
+allocationOverflow
- -Kubernetes meta/v1.LabelSelector + +AllocationOverflow
+(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

-

PlayerSelector -

-

-(Appears on: -GameServerSelector) -

-

-

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

-

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

Scheduling strategy. Defaults to “Packed”.

+
-minAvailable
+priorities
-int64 + +[]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.

-maxAvailable
+template
-int64 + +GameServerTemplateSpec +
+

Template the GameServer template to apply for this GameServerSet

-
-

autoscaling.agones.dev/v1

+

GameServerSetStatus +

-

Package v1 is the v1 version of the API.

+(Appears on: +GameServerSet)

-Resource Types: - -

FleetAutoscaler -

-

FleetAutoscaler is the data structure for a FleetAutoscaler resource

+

GameServerSetStatus is the status of a GameServerSet

@@ -6818,112 +7089,116 @@

FleetAutoscaler

- - - - + + + +
-apiVersion
-string
- -autoscaling.agones.dev/v1 - +replicas
+ +int32 +
-kind
-string +

Replicas is the total number of current GameServer replicas

FleetAutoscaler
-metadata
+readyReplicas
- -Kubernetes meta/v1.ObjectMeta - +int32
-Refer to the Kubernetes API documentation for the fields of the -metadata field. +

ReadyReplicas is the number of Ready GameServer replicas

-spec
+reservedReplicas
- -FleetAutoscalerSpec - +int32
-
-
- +

ReservedReplicas is the number of Reserved GameServer replicas

+ + - -
-fleetName
+allocatedReplicas
-string +int32
+

AllocatedReplicas is the number of Allocated GameServer replicas

-policy
+shutdownReplicas
- -FleetAutoscalerPolicy - +int32
-

Autoscaling policy

+

ShutdownReplicas is the number of Shutdown GameServers replicas

-sync
+players
- -FleetAutoscalerSync + +AggregatedPlayerStatus
(Optional) -

[Stage:Beta] -[FeatureFlag:CustomFasSyncInterval] -Sync defines when FleetAutoscalers runs autoscaling

-
+

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

-status
+counters
- -FleetAutoscalerStatus + +map[string]agones.dev/agones/pkg/apis/agones/v1.AggregatedCounterStatus + + +
+(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.

-

BufferPolicy +

GameServerSpec

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

-

BufferPolicy controls the desired behavior of the buffer policy.

+

GameServerSpec is the spec for a GameServer resource

@@ -6935,158 +7210,153 @@

BufferPolicy

- -
-maxReplicas
+container
-int32 +string
-

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

+

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

-minReplicas
+ports
-int32 + +[]GameServerPort +
-

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

+

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

-bufferSize
+health
-k8s.io/apimachinery/pkg/util/intstr.IntOrString + +Health +
-

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)

+

Health configures health checking

-

CounterPolicy -

-

-(Appears on: -FleetAutoscalerPolicy) -

-

-

CounterPolicy controls the desired behavior of the Counter autoscaler policy.

-

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

Scheduling strategy. Defaults to “Packed”

+
-key
+sdkServer
-string + +SdkServer +
-

Key is the name of the Counter. Required field.

+

SdkServer specifies parameters for the Agones SDK Server sidecar container

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

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

+

Template describes the Pod that will be created for the GameServer

-minCapacity
+players
-int64 + +PlayersSpec +
-

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, PlayerTracking feature flag) Players provides the configuration for player tracking features.

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

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) Counters and Lists provides the configuration for generic tracking features.

-

FixedIntervalSync -

-

-(Appears on: -FleetAutoscalerSync) -

-

-

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

-

- - - - + + - -
FieldDescription +lists
+ + +map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus + + +
+
-seconds
+eviction
-int32 + +Eviction +
-

Seconds defines how often we run fleet autoscaling in seconds

+(Optional) +

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

-

FleetAutoscaleRequest +

GameServerState +(string alias)

+

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

+

+

GameServerState is the state for the GameServer

+

+

GameServerStatus

(Appears on: -FleetAutoscaleReview) +GameServer)

-

FleetAutoscaleRequest defines the request to webhook autoscaler endpoint

+

GameServerStatus is the status for a GameServer resource

@@ -7098,258 +7368,129 @@

FleetAutoscaleRequest

- -
-uid
+state
-k8s.io/apimachinery/pkg/types.UID + +GameServerState +
-

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.

+

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

-name
+ports
-string + +[]GameServerStatusPort +
-

Name is the name of the Fleet being scaled

-namespace
+address
string
-

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

-status
+nodeName
- -FleetStatus - +string
-

The Fleet’s status values

-

FleetAutoscaleResponse -

-

-(Appears on: -FleetAutoscaleReview) -

-

-

FleetAutoscaleResponse defines the response of webhook autoscaler endpoint

-

- - - - - - - - - - - -
FieldDescription
-uid
+reservedUntil
-k8s.io/apimachinery/pkg/types.UID + +Kubernetes meta/v1.Time +
-

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

-scale
+players
-bool + +PlayerStatus +
-

Set to false if no scaling should occur to the Fleet

+(Optional) +

[Stage:Alpha] +[FeatureFlag:PlayerTracking]

-replicas
+counters
-int32 - -
-

The targeted replica count

-
-

FleetAutoscaleReview -

-

-

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

-

- - - - - - - - - - - - - - - - - -
FieldDescription
-request
- - -FleetAutoscaleRequest - - -
-
-response
- - -FleetAutoscaleResponse - - -
-
-

FleetAutoscalerPolicy -

-

-(Appears on: -FleetAutoscalerSpec) -

-

-

FleetAutoscalerPolicy describes how to scale a fleet

-

- - - - - - - - - - - - - - - - - -
FieldDescription
-type
- - -FleetAutoscalerPolicyType - - -
-

Type of autoscaling policy.

-
-buffer
- - -BufferPolicy - - -
-(Optional) -

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

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

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

+

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

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

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

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

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

+

Eviction specifies the eviction tolerance of the GameServer.

-

FleetAutoscalerPolicyType -(string alias)

-

-(Appears on: -FleetAutoscalerPolicy) -

-

-

FleetAutoscalerPolicyType is the policy for autoscaling -for a given Fleet

-

-

FleetAutoscalerSpec +

GameServerStatusPort

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

-

FleetAutoscalerSpec is the spec for a Fleet Scaler

+

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

@@ -7361,7 +7502,7 @@

FleetAutoscalerSpec

- - - -
-fleetName
+name
string @@ -7371,43 +7512,25 @@

FleetAutoscalerSpec

-policy
- - -FleetAutoscalerPolicy - - -
-

Autoscaling policy

-
-sync
+port
- -FleetAutoscalerSync - +int32
-(Optional) -

[Stage:Beta] -[FeatureFlag:CustomFasSyncInterval] -Sync defines when FleetAutoscalers runs autoscaling

-

FleetAutoscalerStatus +

GameServerTemplateSpec

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

-

FleetAutoscalerStatus defines the current status of a FleetAutoscaler

+

GameServerTemplateSpec is a template for GameServers

@@ -7419,285 +7542,173 @@

FleetAutoscalerStatus

- - - - - - - - - - - - - - -
-currentReplicas
- -int32 - -
-

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

-
-desiredReplicas
- -int32 - -
-

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

-
-lastScaleTime
+metadata
- -Kubernetes meta/v1.Time + +Kubernetes meta/v1.ObjectMeta
-(Optional) -

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

-
-ableToScale
- -bool - -
-

AbleToScale indicates that we can access the target fleet

+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-scalingLimited
+spec
-bool + +GameServerSpec +
-

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

-
-

FleetAutoscalerSync -

-

-(Appears on: -FleetAutoscalerSpec) -

-

-

FleetAutoscalerSync describes when to sync a fleet

-

+
+
- - - - - - - - -
FieldDescription
-type
+container
- -FleetAutoscalerSyncType - +string
-

Type of autoscaling sync.

+

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

-fixedInterval
+ports
- -FixedIntervalSync + +[]GameServerPort
-(Optional) -

FixedInterval config params. Present only if FleetAutoscalerSyncType = FixedInterval.

+

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

-

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
-key
+health
-string + +Health +
-

Key is the name of the List. Required field.

+

Health configures health checking

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

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

+

Scheduling strategy. Defaults to “Packed”

-minCapacity
+sdkServer
-int64 + +SdkServer +
-

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 specifies parameters for the Agones SDK Server sidecar container

-bufferSize
+template
-k8s.io/apimachinery/pkg/util/intstr.IntOrString + +Kubernetes core/v1.PodTemplateSpec +
-

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.

+

Template describes the Pod that will be created for the GameServer

-

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
+players
-string + +PlayersSpec +
-(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.

-
+(Optional) +

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

+
-service
+counters
- -Kubernetes admissionregistration/v1.ServiceReference + +map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
(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.

+

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

-caBundle
+lists
-[]byte + +map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus + + +
+
+eviction
+ + +Eviction +
(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.

+

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

+
-
-

multicluster.agones.dev/v1

+

Health +

-

Package v1 is the v1 version of the API.

+(Appears on: +GameServerSpec)

-Resource Types: - -

GameServerAllocationPolicy -

-

GameServerAllocationPolicy is the Schema for the gameserverallocationpolicies API

+

Health configures health checking on the GameServer

@@ -7709,93 +7720,59 @@

GameServerAllocat

- - - - - - - - -
-apiVersion
-string
- -multicluster.agones.dev/v1 - -
-kind
-string -
GameServerAllocationPolicy
-metadata
+disabled
- -Kubernetes meta/v1.ObjectMeta - +bool
-Refer to the Kubernetes API documentation for the fields of the -metadata field. +

Disabled is whether health checking is disabled or not

-spec
- - -GameServerAllocationPolicySpec - - -
-
-
- - - - -
-priority
+periodSeconds
int32
+

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

-weight
+failureThreshold
-int +int32
+

FailureThreshold how many failures in a row constitutes unhealthy

-connectionInfo
+initialDelaySeconds
- -ClusterConnectionInfo - +int32
-
+

InitialDelaySeconds initial delay before checking health

-

ClusterConnectionInfo +

ListStatus

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

-

ClusterConnectionInfo defines the connection information for a cluster

+

ListStatus stores the current list values

@@ -7807,67 +7784,83 @@

ClusterConnectionInfo

+ +
-clusterName
+capacity
-string +int64
-

Optional: the name of the targeted cluster

-allocationEndpoints
+values
[]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
-secretName
+count
-string +int64
-

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

-namespace
+capacity
-string +int64
-

The cluster namespace from which to allocate gameservers

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

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

-

ConnectionInfoIterator +

PlayersSpec

-

ConnectionInfoIterator an iterator on ClusterConnectionInfo

+(Appears on: +GameServerSpec) +

+

+

PlayersSpec tracks the initial player capacity

@@ -7879,58 +7872,88 @@

ConnectionInfoIterato

+ +
-currPriority
+initialCapacity
-int +int64
-

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. +PriorityType: 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”. Default is “Descending” so bigger Capacity is preferred. +“Ascending” would be smaller Capacity is preferred.

+

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

orderedPriorities list of ordered priorities

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

priorityToCluster Map of priority to cluster-policies map

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

clusterBlackList the cluster blacklist for the clusters that has already returned

-

GameServerAllocationPolicySpec +

SdkServer

(Appears on: -GameServerAllocationPolicy) +GameServerSpec)

-

GameServerAllocationPolicySpec defines the desired state of GameServerAllocationPolicy

+

SdkServer specifies parameters for the Agones SDK Server sidecar container

@@ -7942,38 +7965,50 @@

GameServerAll

-priority
+logLevel
-int32 + +SdkServerLogLevel +
+

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

-weight
+grpcPort
-int +int32
+

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

-connectionInfo
+httpPort
- -ClusterConnectionInfo - +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.