From 924c6f166b626a41f2e9a81a5f0c1edf0f205442 Mon Sep 17 00:00:00 2001 From: Ivy Gooch Date: Wed, 12 Apr 2023 22:38:03 +0000 Subject: [PATCH] Generated files --- .../allocation/v1/zz_generated.deepcopy.go | 21 + .../allocation_cache_test.go | 2 +- pkg/gameserverallocations/find_test.go | 2 +- .../Reference/agones_crd_api_reference.html | 2952 +++++++++-------- 4 files changed, 1543 insertions(+), 1434 deletions(-) diff --git a/pkg/apis/allocation/v1/zz_generated.deepcopy.go b/pkg/apis/allocation/v1/zz_generated.deepcopy.go index 944213772e..e532bb88a6 100644 --- a/pkg/apis/allocation/v1/zz_generated.deepcopy.go +++ b/pkg/apis/allocation/v1/zz_generated.deepcopy.go @@ -115,6 +115,11 @@ func (in *GameServerAllocationSpec) DeepCopyInto(out *GameServerAllocationSpec) (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Priorities != nil { + in, out := &in.Priorities, &out.Priorities + *out = make([]Priority, len(*in)) + copy(*out, *in) + } if in.Selectors != nil { in, out := &in.Selectors, &out.Selectors *out = make([]GameServerSelector, len(*in)) @@ -276,3 +281,19 @@ func (in *PlayerSelector) DeepCopy() *PlayerSelector { in.DeepCopyInto(out) return out } + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Priority) DeepCopyInto(out *Priority) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Priority. +func (in *Priority) DeepCopy() *Priority { + if in == nil { + return nil + } + out := new(Priority) + in.DeepCopyInto(out) + return out +} diff --git a/pkg/gameserverallocations/allocation_cache_test.go b/pkg/gameserverallocations/allocation_cache_test.go index 0e7a792f2e..9ddf94ba94 100644 --- a/pkg/gameserverallocations/allocation_cache_test.go +++ b/pkg/gameserverallocations/allocation_cache_test.go @@ -78,7 +78,7 @@ func TestAllocationCacheListSortedGameServers(t *testing.T) { list []agonesv1.GameServer test func(*testing.T, []*agonesv1.GameServer) features string - gsa *allocationv1.GameServerAllocation + gsa *allocationv1.GameServerAllocation }{ "most allocated": { // node1: 1 ready, 1 allocated, node2: 1 ready diff --git a/pkg/gameserverallocations/find_test.go b/pkg/gameserverallocations/find_test.go index fed283d72c..2613bbca97 100644 --- a/pkg/gameserverallocations/find_test.go +++ b/pkg/gameserverallocations/find_test.go @@ -57,7 +57,7 @@ func TestFindGameServerForAllocationPacked(t *testing.T) { list []agonesv1.GameServer test func(*testing.T, []*agonesv1.GameServer) features string - gsa *allocationv1.GameServerAllocation + gsa *allocationv1.GameServerAllocation }{ "empty selector": { list: []agonesv1.GameServer{{ObjectMeta: metav1.ObjectMeta{Name: "gs1", Namespace: defaultNs, Labels: oneLabel}, Status: agonesv1.GameServerStatus{NodeName: "node1", State: agonesv1.GameServerStateReady}}}, 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 a917c84ef5..90f901a071 100644 --- a/site/content/en/docs/Reference/agones_crd_api_reference.html +++ b/site/content/en/docs/Reference/agones_crd_api_reference.html @@ -3445,9 +3445,6 @@

GameServerAll

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

@@ -3488,7 +3485,7 @@

Fleet string

@@ -3497,7 +3494,7 @@

Fleet kind
string -

+ @@ -3528,43 +3525,82 @@

Fleet

-agones.dev/v1 +allocation.agones.dev/v1
FleetGameServerAllocation
@@ -3517,8 +3514,8 @@

Fleet

spec
- -FleetSpec + +GameServerAllocationSpec
+ + + + + + + + @@ -3580,15 +3616,16 @@

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 Annotations to apply to GameServers when the number of Allocated GameServers drops below -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 in the +Selector set, and will only use any following priority for tie-breaking during sort. +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.

-template
+metadata
- -GameServerTemplateSpec + +MetaPatch
-

Template the GameServer template to apply for this Fleet

+

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

@@ -3598,8 +3635,8 @@

Fleet status
- -FleetStatus + +GameServerAllocationStatus @@ -3608,14 +3645,15 @@

Fleet -

GameServer +

CounterSelector

-

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

@@ -3627,200 +3665,187 @@

GameServer

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

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

-ports
+minAvailable
- -[]GameServerPort - +int64
-

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

-health
+maxAvailable
- -Health - +int64
-

Health configures health checking

+

GameServerAllocationSpec +

+

+(Appears on: +GameServerAllocation) +

+

+

GameServerAllocationSpec is the spec for a GameServerAllocation

+

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

Scheduling strategy. Defaults to “Packed”

+

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

-sdkServer
+required
- -SdkServer + +GameServerSelector
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

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

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

(Alpha, PlayerTracking feature flag) Players provides the configuration for player 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 in the +Selector set, and will only use any following priority for tie-breaking during sort. +Impacts which GameServer is checked first.

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

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

+

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.

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

Scheduling strategy. Defaults to “Packed”.

-eviction
+metadata
- -Eviction + +MetaPatch
-(Optional) -

(Alpha, SafeToEvict feature flag) 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

-
-status
- - -GameServerStatus - - -
-
-

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

@@ -3832,126 +3857,187 @@

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.

-

AggregatedPlayerStatus +

ListSelector

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

-

AggregatedPlayerStatus stores total player 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: “”

@@ -3963,7 +4049,17 @@

AggregatedPlayerStatus

+ + + +
-count
+containsValue
+ +string + +
+
+minAvailable
int64 @@ -3973,7 +4069,7 @@

AggregatedPlayerStatus

-capacity
+maxAvailable
int64 @@ -3983,17 +4079,14 @@

AggregatedPlayerStatus

-

AllocationOverflow +

MetaPatch

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

+

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

@@ -4011,8 +4104,6 @@

AllocationOverflow

@@ -4023,21 +4114,18 @@

AllocationOverflow

-(Optional) -

Labels to be applied to the GameServer

-(Optional) -

Annotations to be applied to the GameServer

-

CounterStatus +

MultiClusterSetting

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

-

CounterStatus stores the current counter values

+

MultiClusterSetting specifies settings for multi-cluster allocation.

@@ -4049,9 +4137,9 @@

CounterStatus

-count
+enabled
-int64 +bool
@@ -4059,9 +4147,11 @@

CounterStatus

-capacity
+policySelector
-int64 + +Kubernetes meta/v1.LabelSelector +
@@ -4069,15 +4159,14 @@

CounterStatus

-

Eviction +

PlayerSelector

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

-

Eviction specifies the eviction tolerance of the GameServer

+

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

@@ -4089,40 +4178,39 @@

Eviction

- -
-safe
+minAvailable
- -EvictionSafe - +int64
-

(Alpha, SafeToEvict feature flag) -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 + + +maxAvailable
+ +int64 + + + + + + + +

Priority

(Appears on: -Fleet) +GameServerAllocationSpec)

-

FleetSpec is the spec for a Fleet

+

Priority is a sorting option for GameServers with Counters or Lists based on the count or +number of items in a List. +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 count is preferred. +“Ascending” would be smaller count is preferred.

@@ -4134,80 +4222,49 @@

FleetSpec

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

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

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

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

Deployment strategy

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

Scheduling strategy. Defaults to “Packed”.

-template
+order
- -GameServerTemplateSpec - +string
-

Template the GameServer template to apply for this Fleet

-

FleetStatus -

+
+

autoscaling.agones.dev/v1

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

Package v1 is the v1 version of the API.

+Resource Types: + +

FleetAutoscaler +

-

FleetStatus is the status of a Fleet

+

FleetAutoscaler is the data structure for a FleetAutoscaler resource

@@ -4219,76 +4276,112 @@

FleetStatus

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

Replicas the total number of current GameServer replicas

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

ReadyReplicas are the number of Ready GameServer replicas

-reservedReplicas
+policy
-int32 + +FleetAutoscalerPolicy +
-

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.

+

Autoscaling policy

-allocatedReplicas
+sync
-int32 + +FleetAutoscalerSync +
-

AllocatedReplicas are the number of Allocated GameServer replicas

+(Optional) +

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

+
-players
+status
- -AggregatedPlayerStatus + +FleetAutoscalerStatus
-(Optional) -

[Stage:Alpha] -[FeatureFlag:PlayerTracking] -Players are the current total player capacity and count 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.

@@ -4300,89 +4393,89 @@

GameServerPort

+ +
-name
+maxReplicas
-string +int32
-

Name is the descriptive name of the port

+

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

-portPolicy
+minReplicas
- -PortPolicy - +int32
-

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

+

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

-container
+bufferSize
-string +k8s.io/apimachinery/pkg/util/intstr.IntOrString
-(Optional) -

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

+

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)

+

FixedIntervalSync +

+

+(Appears on: +FleetAutoscalerSync) +

+

+

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

+

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

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

-
FieldDescription
-hostPort
+seconds
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.

+

Seconds defines how often we run fleet autoscaling in seconds

-

GameServerSetSpec +

FleetAutoscaleRequest

(Appears on: -GameServerSet) +FleetAutoscaleReview)

-

GameServerSetSpec the specification for GameServerSet

+

FleetAutoscaleRequest defines the request to webhook autoscaler endpoint

@@ -4394,66 +4487,63 @@

GameServerSetSpec

- +

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.

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

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

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

+

Name is the name of the Fleet being scaled

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

Scheduling strategy. Defaults to “Packed”.

+

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

-template
+status
- -GameServerTemplateSpec + +FleetStatus
-

Template the GameServer template to apply for this GameServerSet

+

The Fleet’s status values

-

GameServerSetStatus +

FleetAutoscaleResponse

(Appears on: -GameServerSet) +FleetAutoscaleReview)

-

GameServerSetStatus is the status of a GameServerSet

+

FleetAutoscaleResponse defines the response of webhook autoscaler endpoint

@@ -4465,86 +4555,88 @@

GameServerSetStatus

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

Replicas is the total number of current GameServer replicas

+

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

-readyReplicas
+scale
-int32 +bool
-

ReadyReplicas is the number of Ready GameServer replicas

+

Set to false if no scaling should occur to the Fleet

-reservedReplicas
+replicas
int32
-

ReservedReplicas is the number of Reserved GameServer replicas

+

The targeted replica count

+

FleetAutoscaleReview +

+

+

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

+

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

AllocatedReplicas is the number of Allocated GameServer replicas

-
FieldDescription
-shutdownReplicas
+request
-int32 + +FleetAutoscaleRequest +
-

ShutdownReplicas is the number of Shutdown GameServers replicas

-players
+response
- -AggregatedPlayerStatus + +FleetAutoscaleResponse
-(Optional) -

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

-

GameServerSpec +

FleetAutoscalerPolicy

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

-

GameServerSpec is the spec for a GameServer resource

+

FleetAutoscalerPolicy describes how to scale a fleet

@@ -4556,153 +4648,203 @@

GameServerSpec

+ +
-container
+type
-string + +FleetAutoscalerPolicyType +
-

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

+

Type of autoscaling policy.

-ports
+buffer
- -[]GameServerPort + +BufferPolicy
-

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

+(Optional) +

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

-health
+webhook
- -Health + +WebhookPolicy
-

Health configures health checking

+(Optional) +

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

+

FleetAutoscalerPolicyType +(string alias)

+

+(Appears on: +FleetAutoscalerPolicy) +

+

+

FleetAutoscalerPolicyType is the policy for autoscaling +for a given Fleet

+

+

FleetAutoscalerSpec +

+

+(Appears on: +FleetAutoscaler) +

+

+

FleetAutoscalerSpec is the spec for a Fleet Scaler

+

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

Scheduling strategy. Defaults to “Packed”

-sdkServer
+policy
- -SdkServer + +FleetAutoscalerPolicy
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

Autoscaling policy

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

Template describes the Pod that will be created for the GameServer

+(Optional) +

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

+
+

FleetAutoscalerStatus +

+

+(Appears on: +FleetAutoscaler) +

+

+

FleetAutoscalerStatus defines the current status of a FleetAutoscaler

+

+ + + + + + + + + + +
FieldDescription
+currentReplicas
+ +int32 + +
+

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

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

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

+

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
+

AbleToScale indicates that we can access the target fleet

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

(Alpha, SafeToEvict feature flag) Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

+

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

-

GameServerState -(string alias)

+

FleetAutoscalerSync +

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

-

GameServerState is the state for the GameServer

-

-

GameServerStatus -

-

-(Appears on: -GameServer) -

-

-

GameServerStatus is the status for a GameServer resource

+

FleetAutoscalerSync describes when to sync a fleet

@@ -4714,129 +4856,136 @@

GameServerStatus

+ +
-state
+type
- -GameServerState + +FleetAutoscalerSyncType
-

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

+

Type of autoscaling sync.

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

FixedInterval config params. Present only if FleetAutoscalerSyncType = FixedInterval.

+

FleetAutoscalerSyncType +(string alias)

+

+(Appears on: +FleetAutoscalerSync) +

+

+

FleetAutoscalerSyncType is the sync strategy for a given Fleet

+

+

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

+

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

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

+

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.

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

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

(Alpha, SafeToEvict feature flag) 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

@@ -4848,44 +4997,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

-

- - - - - - - - @@ -4915,114 +5041,19 @@

GameServerTemplateSpec

FieldDescription
metadata
@@ -4904,8 +5030,8 @@

GameServerTemplateSpec

spec
- -GameServerSpec + +GameServerAllocationPolicySpec
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-container
- -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

-
-health
- - -Health - - -
-

Health configures health checking

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

Scheduling strategy. Defaults to “Packed”

-
-sdkServer
- - -SdkServer - - -
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

-
-template
- - -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
+priority
- -map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus - +int32
-(Optional) -

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

-lists
+weight
- -map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus - +int
@@ -5030,16 +5061,14 @@

GameServerTemplateSpec

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

(Alpha, SafeToEvict feature flag) Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

@@ -5047,14 +5076,14 @@

GameServerTemplateSpec -

Health +

ClusterConnectionInfo

(Appears on: -GameServerSpec) +GameServerAllocationPolicySpec)

-

Health configures health checking on the GameServer

+

ClusterConnectionInfo defines the connection information for a cluster

@@ -5066,98 +5095,67 @@

Health

- - - - - -
-disabled
- -bool - -
-

Disabled is whether health checking is disabled or not

-
-periodSeconds
+clusterName
-int32 +string
-

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

+

Optional: the name of the targeted cluster

-failureThreshold
+allocationEndpoints
-int32 +[]string
-

FailureThreshold how many failures in a row constitutes unhealthy

+

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

-initialDelaySeconds
+secretName
-int32 +string
-

InitialDelaySeconds initial delay before checking health

+

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

-

ListStatus -

-

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

-

-

ListStatus stores the current list values

-

- - - - - - - -
FieldDescription
-capacity
+namespace
-int64 +string
+

The cluster namespace from which to allocate gameservers

-values
+serverCa
-[]string +[]byte
+

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

-

PlayerStatus +

ConnectionInfoIterator

-(Appears on: -GameServerStatus) -

-

-

PlayerStatus stores the current player capacity values

+

ConnectionInfoIterator an iterator on ClusterConnectionInfo

@@ -5169,82 +5167,58 @@

PlayerStatus

- -
-count
+currPriority
-int64 +int
+

currPriority Current priority index from the orderedPriorities

-capacity
+orderedPriorities
-int64 +[]int32
+

orderedPriorities list of ordered priorities

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

priorityToCluster Map of priority to cluster-policies map

-

PlayersSpec -

-

-(Appears on: -GameServerSpec) -

-

-

PlayersSpec tracks the initial player capacity

-

- - - - - - - -
FieldDescription
-initialCapacity
+clusterBlackList
-int64 +map[string]bool
+

clusterBlackList the cluster blacklist for the clusters that has already returned

-

PortPolicy -(string alias)

-

-(Appears on: -GameServerPort) -

-

-

PortPolicy is the port policy for the GameServer

-

-

SdkServer +

GameServerAllocationPolicySpec

(Appears on: -GameServerSpec) +GameServerAllocationPolicy)

-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

GameServerAllocationPolicySpec defines the desired state of GameServerAllocationPolicy

@@ -5256,64 +5230,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

@@ -5329,7 +5294,7 @@

GameServerAllocation string

@@ -5338,7 +5303,7 @@

GameServerAllocation kind
string -

+ @@ -5369,65 +5334,43 @@

GameServerAllocation

-allocation.agones.dev/v1 +agones.dev/v1
GameServerAllocationFleet
@@ -5358,8 +5323,8 @@

GameServerAllocation

spec
- -GameServerAllocationSpec + +FleetSpec
- - - - @@ -5443,16 +5386,15 @@

GameServerAllocation

-multiClusterSetting
- - -MultiClusterSetting - - -
-

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

-
-required
+replicas
- -GameServerSelector - +int32
-

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 are the number of GameServers that should be in this set. Defaults to 0.

-preferred
+allocationOverflow
- -[]GameServerSelector + +AllocationOverflow
-

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

[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

-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
+template
- -MetaPatch + +GameServerTemplateSpec
-

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 the GameServer template to apply for this Fleet

@@ -5462,8 +5404,8 @@

GameServerAllocation status
- -GameServerAllocationStatus + +FleetStatus @@ -5472,15 +5414,14 @@

GameServerAllocation -

CounterSelector +

GameServer

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

+

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.

@@ -5488,174 +5429,204 @@

CounterSelector

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

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

+
-minCount
+ports
-int64 + +[]GameServerPort +
+

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

-maxCount
+health
-int64 + +Health +
+

Health configures health checking

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

Scheduling strategy. Defaults to “Packed”

-maxAvailable
+sdkServer
-int64 + +SdkServer +
+

SdkServer specifies parameters for the Agones SDK Server sidecar container

-

GameServerAllocationSpec -

-

-(Appears on: -GameServerAllocation) -

-

-

GameServerAllocationSpec is the spec for a GameServerAllocation

-

- - - - - - - - + +
FieldDescription
-multiClusterSetting
+template
- -MultiClusterSetting + +Kubernetes core/v1.PodTemplateSpec
-

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

+

Template describes the Pod that will be created for the GameServer

-required
+players
- -GameServerSelector + +PlayersSpec
-

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.

+(Optional) +

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

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

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

-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
+eviction
-agones.dev/agones/pkg/apis.SchedulingStrategy + +Eviction +
-

Scheduling strategy. Defaults to “Packed”.

+(Optional) +

(Alpha, SafeToEvict feature flag) Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

+
-metadata
+status
- -MetaPatch + +GameServerStatus
-

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

-

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

@@ -5667,82 +5638,126 @@

GameServerAllocatio

+ + + + + + + + +
-state
+apiVersion
+string
+ +agones.dev/v1 + +
+kind
+string +
GameServerSet
+metadata
- -GameServerAllocationState + +Kubernetes meta/v1.ObjectMeta
-

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

+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-gameServerName
+spec
-string + +GameServerSetSpec + + +
+
+
+ + + + +
+replicas
+ +int32
+

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

-ports
+allocationOverflow
- -[]GameServerStatusPort + +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

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

Scheduling strategy. Defaults to “Packed”.

-nodeName
+template
-string + +GameServerTemplateSpec +
+

Template the GameServer template to apply for this GameServerSet

+
-source
+status
-string + +GameServerSetStatus +
-

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

-

GameServerSelector +

AggregatedPlayerStatus

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

-

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

+

AggregatedPlayerStatus stores total player tracking values

@@ -5754,100 +5769,81 @@

GameServerSelector

+ +
-LabelSelector
+count
- -Kubernetes meta/v1.LabelSelector - +int64
-

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

-

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

-gameServerState
+capacity
- -GameServerState - +int64
-(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.

+

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.

+

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

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

+

Labels to be applied to the GameServer

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

+

Annotations to be applied to the GameServer

-

ListSelector +

CounterStatus

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

-

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

+

CounterStatus stores the current counter values

@@ -5859,9 +5855,9 @@

ListSelector

+ +
-containsValue
+count
-string +int64
@@ -5869,7 +5865,7 @@

ListSelector

-minAvailable
+capacity
int64 @@ -5877,26 +5873,62 @@

ListSelector

+

Eviction +

+

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

+

+

Eviction specifies the eviction tolerance of the GameServer

+

+ + + + + + + +
FieldDescription
-maxAvailable
+safe
-int64 + +EvictionSafe +
+

(Alpha, SafeToEvict feature flag) +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

-

MetaPatch +

EvictionSafe +(string alias)

+

+(Appears on: +Eviction) +

+

+

EvictionSafe specified whether the game server supports termination via SIGTERM

+

+

FleetSpec

(Appears on: -GameServerAllocationSpec) +Fleet)

-

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

+

FleetSpec is the spec for a Fleet

@@ -5908,75 +5940,80 @@

MetaPatch

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

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

-annotations
+allocationOverflow
-map[string]string + +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

-

MultiClusterSetting -

-

-(Appears on: -GameServerAllocationSpec) -

-

-

MultiClusterSetting specifies settings for multi-cluster allocation.

-

- - - - + + - -
FieldDescription +strategy
+ + +Kubernetes apps/v1.DeploymentStrategy + + +
+

Deployment strategy

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

Scheduling strategy. Defaults to “Packed”.

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

Template the GameServer template to apply for this Fleet

-

PlayerSelector +

FleetStatus

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

-

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

+

FleetStatus is the status of a Fleet

@@ -5988,39 +6025,76 @@

PlayerSelector

+ + + + + + + + + + + +
-minAvailable
+replicas
-int64 +int32
+

Replicas the total number of current GameServer replicas

-maxAvailable
+readyReplicas
-int64 +int32 + +
+

ReadyReplicas are the number of Ready GameServer replicas

+
+reservedReplicas
+ +int32 + +
+

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

AllocatedReplicas are the number of Allocated GameServer replicas

+
+players
+ + +AggregatedPlayerStatus +
+(Optional) +

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

-
-

autoscaling.agones.dev/v1

+

GameServerPort +

-

Package v1 is the v1 version of the API.

+(Appears on: +GameServerSpec)

-Resource Types: - -

FleetAutoscaler -

-

FleetAutoscaler is the data structure for a FleetAutoscaler resource

+

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

@@ -6032,112 +6106,89 @@

FleetAutoscaler

- - - - - - - -
-apiVersion
-string
- -autoscaling.agones.dev/v1 - -
-kind
-string -
FleetAutoscaler
-metadata
+name
- -Kubernetes meta/v1.ObjectMeta - +string
-Refer to the Kubernetes API documentation for the fields of the -metadata field. +

Name is the descriptive name of the port

-spec
+portPolicy
- -FleetAutoscalerSpec + +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

+ + - -
-fleetName
+container
string
+(Optional) +

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

-policy
+containerPort
- -FleetAutoscalerPolicy - +int32
-

Autoscaling policy

+

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

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

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

-
+

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

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

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

-

BufferPolicy +

GameServerSetSpec

(Appears on: -FleetAutoscalerPolicy) +GameServerSet)

-

BufferPolicy controls the desired behavior of the buffer policy.

+

GameServerSetSpec the specification for GameServerSet

@@ -6149,59 +6200,66 @@

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 are the number of GameServers that should be in this set

-minReplicas
+allocationOverflow
-int32 + +AllocationOverflow +
-

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

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

-bufferSize
+scheduling
-k8s.io/apimachinery/pkg/util/intstr.IntOrString +agones.dev/agones/pkg/apis.SchedulingStrategy
-

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)

+

Scheduling strategy. Defaults to “Packed”.

+
+template
+ + +GameServerTemplateSpec + + +
+

Template the GameServer template to apply for this GameServerSet

-

FixedIntervalSync +

GameServerSetStatus

(Appears on: -FleetAutoscalerSync) +GameServerSet)

-

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

+

GameServerSetStatus is the status of a GameServerSet

@@ -6213,93 +6271,86 @@

FixedIntervalSync

- -
-seconds
+replicas
int32
-

Seconds defines how often we run fleet autoscaling in seconds

+

Replicas is the total number of current GameServer replicas

-

FleetAutoscaleRequest -

-

-(Appears on: -FleetAutoscaleReview) -

-

-

FleetAutoscaleRequest defines the request to webhook autoscaler endpoint

-

- - - - + + - -
FieldDescription +readyReplicas
+ +int32 + +
+

ReadyReplicas is the number of Ready GameServer replicas

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

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.

+

ReservedReplicas is the number of Reserved GameServer replicas

-name
+allocatedReplicas
-string +int32
-

Name is the name of the Fleet being scaled

+

AllocatedReplicas is the number of Allocated GameServer replicas

-namespace
+shutdownReplicas
-string +int32
-

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

+

ShutdownReplicas is the number of Shutdown GameServers replicas

-status
+players
- -FleetStatus + +AggregatedPlayerStatus
-

The Fleet’s status values

+(Optional) +

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

-

FleetAutoscaleResponse +

GameServerSpec

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

-

FleetAutoscaleResponse defines the response of webhook autoscaler endpoint

+

GameServerSpec is the spec for a GameServer resource

@@ -6311,158 +6362,153 @@

FleetAutoscaleResponse

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

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

+

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

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

Set to false if no scaling should occur to the Fleet

+

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

-replicas
+health
-int32 + +Health +
-

The targeted replica count

+

Health configures health checking

-

FleetAutoscaleReview -

-

-

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

-

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

Scheduling strategy. Defaults to “Packed”

+
-request
+sdkServer
- -FleetAutoscaleRequest + +SdkServer
+

SdkServer specifies parameters for the Agones SDK Server sidecar container

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

Template describes the Pod that will be created for the GameServer

-

FleetAutoscalerPolicy -

-

-(Appears on: -FleetAutoscalerSpec) -

-

-

FleetAutoscalerPolicy describes how to scale a fleet

-

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

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

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

Type of autoscaling policy.

+(Optional) +

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

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

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

-webhook
+eviction
- -WebhookPolicy + +Eviction
(Optional) -

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

+

(Alpha, SafeToEvict feature flag) Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

-

FleetAutoscalerPolicyType +

GameServerState (string alias)

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

-

FleetAutoscalerPolicyType is the policy for autoscaling -for a given Fleet

+

GameServerState is the state for the GameServer

-

FleetAutoscalerSpec +

GameServerStatus

(Appears on: -FleetAutoscaler) +GameServer)

-

FleetAutoscalerSpec is the spec for a Fleet Scaler

+

GameServerStatus is the status for a GameServer resource

@@ -6474,133 +6520,129 @@

FleetAutoscalerSpec

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

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

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

Autoscaling policy

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

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

-

FleetAutoscalerStatus -

-

-(Appears on: -FleetAutoscaler) -

-

-

FleetAutoscalerStatus defines the current status of a FleetAutoscaler

-

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

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

-desiredReplicas
+players
-int32 + +PlayerStatus +
-

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

+(Optional) +

[Stage:Alpha] +[FeatureFlag:PlayerTracking]

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

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

+

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

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

AbleToScale indicates that we can access the target fleet

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

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, SafeToEvict feature flag) Eviction specifies the eviction tolerance of the GameServer.

-

FleetAutoscalerSync +

GameServerStatusPort

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

-

FleetAutoscalerSync describes when to sync a fleet

+

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

@@ -6612,52 +6654,35 @@

FleetAutoscalerSync

-type
+name
- -FleetAutoscalerSyncType - +string
-

Type of autoscaling sync.

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

FixedInterval config params. Present only if FleetAutoscalerSyncType = FixedInterval.

-

FleetAutoscalerSyncType -(string alias)

-

-(Appears on: -FleetAutoscalerSync) -

-

-

FleetAutoscalerSyncType is the sync strategy for a given Fleet

-

-

WebhookPolicy +

GameServerTemplateSpec

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

-

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

+

GameServerTemplateSpec is a template for GameServers

@@ -6669,147 +6694,141 @@

WebhookPolicy

+ + + + +
-url
+metadata
+ + +Kubernetes meta/v1.ObjectMeta + + +
+Refer to the Kubernetes API documentation for the fields of the +metadata field. +
+spec
+ + +GameServerSpec + + +
+
+
+ + + + + + + - -
+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 + + +
+

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

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

+

Health configures health checking

-caBundle
+scheduling
-[]byte +agones.dev/agones/pkg/apis.SchedulingStrategy
-(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.

+

Scheduling strategy. Defaults to “Packed”

-
-

multicluster.agones.dev/v1

-

-

Package v1 is the v1 version of the API.

-

-Resource Types: - -

GameServerAllocationPolicy -

-

-

GameServerAllocationPolicy is the Schema for the gameserverallocationpolicies API

-

- - - - - - - - - - - -
FieldDescription
-apiVersion
-string
- -multicluster.agones.dev/v1 - +sdkServer
+ + +SdkServer + +
-kind
-string +

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

-weight
+lists
-int + +map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus +
@@ -6817,14 +6836,16 @@

GameServerAllocat

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

(Alpha, SafeToEvict feature flag) Eviction specifies the eviction tolerance of the GameServer. Defaults to “Never”.

@@ -6832,14 +6853,14 @@

GameServerAllocat

-

ClusterConnectionInfo +

Health

(Appears on: -GameServerAllocationPolicySpec) +GameServerSpec)

-

ClusterConnectionInfo defines the connection information for a cluster

+

Health configures health checking on the GameServer

@@ -6851,67 +6872,98 @@

ClusterConnectionInfo

+ +
-clusterName
+disabled
-string +bool
-

Optional: the name of the targeted cluster

+

Disabled is whether health checking is disabled or not

-allocationEndpoints
+periodSeconds
-[]string +int32
-

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

+

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

-secretName
+failureThreshold
-string +int32
-

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

+

FailureThreshold how many failures in a row constitutes unhealthy

-namespace
+initialDelaySeconds
-string +int32
-

The cluster namespace from which to allocate gameservers

+

InitialDelaySeconds initial delay before checking health

+

ListStatus +

+

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

+

+

ListStatus stores the current list values

+

+ + + + + + + + + + + +
FieldDescription
-serverCa
+capacity
-[]byte +int64 + +
+
+values
+ +[]string
-

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

-

ConnectionInfoIterator +

PlayerStatus

-

ConnectionInfoIterator an iterator on ClusterConnectionInfo

+(Appears on: +GameServerStatus) +

+

+

PlayerStatus stores the current player capacity values

@@ -6923,58 +6975,82 @@

ConnectionInfoIterato

+ +
-currPriority
+count
-int +int64
-

currPriority Current priority index from the orderedPriorities

-orderedPriorities
+capacity
-[]int32 +int64
-

orderedPriorities list of ordered priorities

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

priorityToCluster Map of priority to cluster-policies map

+

PlayersSpec +

+

+(Appears on: +GameServerSpec) +

+

+

PlayersSpec tracks the initial player capacity

+

+ + + + + + + +
FieldDescription
-clusterBlackList
+initialCapacity
-map[string]bool +int64
-

clusterBlackList the cluster blacklist for the clusters that has already returned

-

GameServerAllocationPolicySpec +

PortPolicy +(string alias)

+

+(Appears on: +GameServerPort) +

+

+

PortPolicy is the port policy for the GameServer

+

+

SdkServer

(Appears on: -GameServerAllocationPolicy) +GameServerSpec)

-

GameServerAllocationPolicySpec defines the desired state of GameServerAllocationPolicy

+

SdkServer specifies parameters for the Agones SDK Server sidecar container

@@ -6986,38 +7062,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.