diff --git a/pkg/apis/allocation/v1/zz_generated.deepcopy.go b/pkg/apis/allocation/v1/zz_generated.deepcopy.go index e532bb88a6..c6668ce68f 100644 --- a/pkg/apis/allocation/v1/zz_generated.deepcopy.go +++ b/pkg/apis/allocation/v1/zz_generated.deepcopy.go @@ -26,6 +26,37 @@ import ( runtime "k8s.io/apimachinery/pkg/runtime" ) +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CounterAction) DeepCopyInto(out *CounterAction) { + *out = *in + if in.Action != nil { + in, out := &in.Action, &out.Action + *out = new(string) + **out = **in + } + if in.Amount != nil { + in, out := &in.Amount, &out.Amount + *out = new(int64) + **out = **in + } + if in.Capacity != nil { + in, out := &in.Capacity, &out.Capacity + *out = new(int64) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CounterAction. +func (in *CounterAction) DeepCopy() *CounterAction { + if in == nil { + return nil + } + out := new(CounterAction) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CounterSelector) DeepCopyInto(out *CounterSelector) { *out = *in @@ -128,6 +159,20 @@ func (in *GameServerAllocationSpec) DeepCopyInto(out *GameServerAllocationSpec) } } in.MetaPatch.DeepCopyInto(&out.MetaPatch) + if in.Counters != nil { + in, out := &in.Counters, &out.Counters + *out = make(map[string]CounterAction, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } + if in.Lists != nil { + in, out := &in.Lists, &out.Lists + *out = make(map[string]ListAction, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } return } @@ -203,6 +248,36 @@ func (in *GameServerSelector) DeepCopy() *GameServerSelector { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ListAction) DeepCopyInto(out *ListAction) { + *out = *in + if in.AddValues != nil { + in, out := &in.AddValues, &out.AddValues + *out = new([]string) + if **in != nil { + in, out := *in, *out + *out = make([]string, len(*in)) + copy(*out, *in) + } + } + if in.Capacity != nil { + in, out := &in.Capacity, &out.Capacity + *out = new(int64) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ListAction. +func (in *ListAction) DeepCopy() *ListAction { + if in == nil { + return nil + } + out := new(ListAction) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ListSelector) DeepCopyInto(out *ListSelector) { *out = *in 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 45c685a2f2..f13387c23e 100644 --- a/site/content/en/docs/Reference/agones_crd_api_reference.html +++ b/site/content/en/docs/Reference/agones_crd_api_reference.html @@ -3677,6 +3677,9 @@

SdkServerLogLevel

Packages:

-

agones.dev/v1

+

multicluster.agones.dev/v1

Package v1 is the v1 version of the API.

Resource Types: -

Fleet +

GameServerAllocationPolicy

-

Fleet is the data structure for a Fleet resource

+

GameServerAllocationPolicy is the Schema for the gameserverallocationpolicies API

@@ -3720,7 +3716,7 @@

Fleet string

@@ -3729,7 +3725,7 @@

Fleet kind
string -

+ @@ -3760,94 +3756,49 @@

Fleet

-agones.dev/v1 +multicluster.agones.dev/v1
FleetGameServerAllocationPolicy
@@ -3749,8 +3745,8 @@

Fleet

spec
- -FleetSpec + +GameServerAllocationPolicySpec
- - - - - - - -
-replicas
+priority
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/or Annotations to apply to overflowing GameServers when the number of Allocated GameServers is more -than the desired replicas on the underlying GameServerSet

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

Deployment strategy

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

Scheduling strategy. Defaults to “Packed”.

-template
+connectionInfo
- -GameServerTemplateSpec + +ClusterConnectionInfo
-

Template the GameServer template to apply for this Fleet

- - -status
- - -FleetStatus - - - - - - -

GameServer +

ClusterConnectionInfo

-

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

+

+

ClusterConnectionInfo defines the connection information for a cluster

@@ -3859,158 +3810,144 @@

GameServer

- - - - - - - - @@ -4047,12 +3977,23 @@

GameServer

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

Optional: the name of the targeted cluster

-spec
+allocationEndpoints
- -GameServerSpec - +[]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

+ + + +
-container
+secretName
string
-

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

+

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

-ports
+namespace
- -[]GameServerPort - +string
-

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

+

The cluster namespace from which to allocate gameservers

-health
+serverCa
- -Health - +[]byte
-

Health configures health checking

+

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

+

ConnectionInfoIterator +

+

+

ConnectionInfoIterator an iterator on ClusterConnectionInfo

+

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

Scheduling strategy. Defaults to “Packed”

-
FieldDescription
-sdkServer
+currPriority
- -SdkServer - +int
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

currPriority Current priority index from the orderedPriorities

-template
+orderedPriorities
- -Kubernetes core/v1.PodTemplateSpec - +[]int32
-

Template describes the Pod that will be created for the GameServer

+

orderedPriorities list of ordered priorities

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

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

+

priorityToCluster Map of priority to cluster-policies map

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

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

+

clusterBlackList the cluster blacklist for the clusters that has already returned

+

GameServerAllocationPolicySpec +

+

+(Appears on: +GameServerAllocationPolicy) +

+

+

GameServerAllocationPolicySpec defines the desired state of GameServerAllocationPolicy

+

+ + + + + + + + - -
FieldDescription
-lists
+priority
- -map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus - +int32
@@ -4018,27 +3955,20 @@

GameServer

-eviction
+weight
- -Eviction - +int
-(Optional) -

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

-
-status
+connectionInfo
- -GameServerStatus + +ClusterConnectionInfo
-

GameServerSet -

+
+

agones.dev/v1

-

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

+

Package v1 is the v1 version of the API.

+

+Resource Types: + +

Fleet +

+

+

Fleet is the data structure for a Fleet resource

@@ -4077,7 +4018,7 @@

GameServerSet kind
string -

+ @@ -4114,7 +4055,7 @@

GameServerSet

@@ -4130,8 +4071,21 @@

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

+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

+ +

+ + + @@ -4155,7 +4109,7 @@

GameServerSet

GameServerSetFleet
@@ -4097,8 +4038,8 @@

GameServerSet

spec
- -GameServerSetSpec + +FleetSpec
-

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

+

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

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

Deployment strategy

-

Template the GameServer template to apply for this GameServerSet

+

Template the GameServer template to apply for this Fleet

@@ -4165,8 +4119,8 @@

GameServerSet status
- -GameServerSetStatus + +FleetStatus @@ -4175,15 +4129,14 @@

GameServerSet -

AggregatedPlayerStatus +

GameServer

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

-

-

AggregatedPlayerStatus stores total player tracking values

+

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.

@@ -4195,332 +4148,200 @@

AggregatedPlayerStatus

+apiVersion
+string - + - -
-count
- -int64 - -
+ +agones.dev/v1 +
-capacity
- -int64 - -
+kind
+string
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.

-

- - - - - - - - - - -
FieldDescription
-labels
+metadata
-map[string]string + +Kubernetes meta/v1.ObjectMeta +
-(Optional) -

Labels to be applied to the GameServer

+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-annotations
+spec
-map[string]string + +GameServerSpec +
-(Optional) -

Annotations to be applied to the GameServer

-
-

CounterStatus -

-

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

-

-

CounterStatus stores the current counter values

-

+
+
- - - - - - - - -
FieldDescription
-count
+container
-int64 +string
+

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

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

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

-

Eviction -

-

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

-

-

Eviction specifies the eviction tolerance of the GameServer

-

- - - - - - - - - -
FieldDescription
-safe
+health
- -EvictionSafe + +Health
-

(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

+

Health configures health checking

-

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
-replicas
+scheduling
-int32 +agones.dev/agones/pkg/apis.SchedulingStrategy
-

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

+

Scheduling strategy. Defaults to “Packed”

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

[Stage: 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

+

SdkServer specifies parameters for the Agones SDK Server sidecar container

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

Deployment strategy

+

Template describes the Pod that will be created for the GameServer

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

Scheduling strategy. Defaults to “Packed”.

+(Optional) +

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

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

Template the GameServer template to apply for this Fleet

-
-

FleetStatus -

-

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

-

-

FleetStatus is the status of a Fleet

-

- - - - - - - - - - - - - -
FieldDescription
-replicas
- -int32 - -
-

Replicas the total number of current GameServer replicas

+(Optional) +

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

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

ReadyReplicas are the number of Ready GameServer replicas

-reservedReplicas
+eviction
-int32 + +Eviction +
-

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.

+(Optional) +

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

-allocatedReplicas
- -int32 - -
-

AllocatedReplicas are the number of Allocated GameServer replicas

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

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

-

GameServerPort +

GameServerSet

-(Appears on: -GameServerSpec) -

-

-

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

+

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

@@ -4532,89 +4353,126 @@

GameServerPort

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

Name is the descriptive name of the port

+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-portPolicy
+spec
- -PortPolicy + +GameServerSetSpec
-

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

+
+
+ + + + + +
+replicas
+ +int32 + +
+

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

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

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

+

[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

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

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

+

Scheduling strategy. Defaults to “Packed”.

-hostPort
+template
-int32 + +GameServerTemplateSpec +
-

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

+

Template the GameServer template to apply for this GameServerSet

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

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

-

GameServerSetSpec +

AggregatedPlayerStatus

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

-

GameServerSetSpec the specification for GameServerSet

+

AggregatedPlayerStatus stores total player tracking values

@@ -4626,66 +4484,81 @@

GameServerSetSpec

+ +
-replicas
+count
-int32 +int64
-

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

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

+

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
-scheduling
+labels
-agones.dev/agones/pkg/apis.SchedulingStrategy +map[string]string
-

Scheduling strategy. Defaults to “Packed”.

+(Optional) +

Labels to be applied to the GameServer

-template
+annotations
- -GameServerTemplateSpec - +map[string]string
-

Template the GameServer template to apply for this GameServerSet

+(Optional) +

Annotations to be applied to the GameServer

-

GameServerSetStatus +

CounterStatus

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

-

GameServerSetStatus is the status of a GameServerSet

+

CounterStatus stores the current counter values

@@ -4697,86 +4570,80 @@

GameServerSetStatus

- - - - - - - - + +
-replicas
+count
-int32 +int64
-

Replicas is the total number of current GameServer replicas

-readyReplicas
+capacity
-int32 +int64
-

ReadyReplicas is the number of Ready GameServer replicas

-
-reservedReplicas
- -int32 - -
-

ReservedReplicas is the number of Reserved GameServer replicas

-
-allocatedReplicas
- -int32 - -
-

AllocatedReplicas is the number of Allocated GameServer replicas

+

Eviction +

+

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

+

+

Eviction specifies the eviction tolerance of the GameServer

+

+ + - - + + + +
-shutdownReplicas
- -int32 - -
-

ShutdownReplicas is the number of Shutdown GameServers replicas

-
FieldDescription
-players
+safe
- -AggregatedPlayerStatus + +EvictionSafe
-(Optional) -

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

+

(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

-

GameServerSpec +

EvictionSafe +(string alias)

+

+(Appears on: +Eviction) +

+

+

EvictionSafe specified whether the game server supports termination via SIGTERM

+

+

FleetSpec

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

-

GameServerSpec is the spec for a GameServer resource

+

FleetSpec is the spec for a Fleet

@@ -4788,40 +4655,43 @@

GameServerSpec

@@ -4832,109 +4702,114 @@

GameServerSpec

+ +
-container
+replicas
-string +int32
-

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

+

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

-ports
+allocationOverflow
- -[]GameServerPort + +AllocationOverflow
-

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

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

-health
+strategy
- -Health + +Kubernetes apps/v1.DeploymentStrategy
-

Health configures health checking

+

Deployment strategy

-

Scheduling strategy. Defaults to “Packed”

+

Scheduling strategy. Defaults to “Packed”.

-sdkServer
+template
- -SdkServer + +GameServerTemplateSpec
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

Template the GameServer template to apply for this Fleet

+

FleetStatus +

+

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

+

+

FleetStatus is the status of a Fleet

+

+ + + + + + + +
FieldDescription
-template
+replicas
- -Kubernetes core/v1.PodTemplateSpec - +int32
-

Template describes the Pod that will be created for the GameServer

+

Replicas the total number of current GameServer replicas

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

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

+

ReadyReplicas are the number of Ready GameServer replicas

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

+

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.

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

AllocatedReplicas are the number of Allocated GameServer replicas

-eviction
+players
- -Eviction + +AggregatedPlayerStatus
(Optional) -

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

+

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

-

GameServerState -(string alias)

-

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

-

-

GameServerState is the state for the GameServer

-

-

GameServerStatus +

GameServerPort

(Appears on: -GameServer) +GameServerSpec)

-

GameServerStatus is the status for a GameServer resource

+

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

@@ -4946,129 +4821,160 @@

GameServerStatus

+ +
-state
+name
- -GameServerState - +string
-

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

+

Name is the descriptive name of the port

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

-address
+container
string
+(Optional) +

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

-nodeName
+containerPort
-string +int32
+

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

-reservedUntil
+hostPort
- -Kubernetes meta/v1.Time - +int32
+

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

-players
+protocol
- -PlayerStatus + +Kubernetes core/v1.Protocol
-(Optional) -

[Stage:Alpha] -[FeatureFlag:PlayerTracking]

+

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

+

GameServerSetSpec +

+

+(Appears on: +GameServerSet) +

+

+

GameServerSetSpec the specification for GameServerSet

+

+ + + + + + + + + + + +
FieldDescription
-counters
+replicas
- -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.

+

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

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

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

Scheduling strategy. Defaults to “Packed”.

+
+template
+ + +GameServerTemplateSpec
-(Optional) -

(Alpha, SafeToEvict feature flag) Eviction specifies the eviction tolerance of the GameServer.

+

Template the GameServer template to apply for this GameServerSet

-

GameServerStatusPort +

GameServerSetStatus

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

-

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

+

GameServerSetStatus is the status of a GameServerSet

@@ -5080,71 +4986,95 @@

GameServerStatusPort

- -
-name
+replicas
-string +int32
+

Replicas is the total number of current GameServer replicas

-port
+readyReplicas
int32
+

ReadyReplicas is the number of Ready GameServer replicas

-

GameServerTemplateSpec -

-

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

-

-

GameServerTemplateSpec is a template for GameServers

-

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

ReservedReplicas is the number of Reserved GameServer replicas

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

AllocatedReplicas is the number of Allocated GameServer replicas

-spec
+shutdownReplicas
- -GameServerSpec +int32 + +
+

ShutdownReplicas is the number of Shutdown GameServers replicas

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

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

+
+

GameServerSpec +

+

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

+

+

GameServerSpec is the spec for a GameServer resource

+

+ + + + + + + -
FieldDescription
container
@@ -5274,19 +5204,26 @@

GameServerTemplateSpec

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

- - -

Health +

GameServerState +(string alias)

+

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

+

+

GameServerState is the state for the GameServer

+

+

GameServerStatus

(Appears on: -GameServerSpec) +GameServer)

-

Health configures health checking on the GameServer

+

GameServerStatus is the status for a GameServer resource

@@ -5298,73 +5235,56 @@

Health

- -
-disabled
+state
-bool + +GameServerState +
-

Disabled is whether health checking is disabled or not

+

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

-periodSeconds
+ports
-int32 + +[]GameServerStatusPort +
-

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

-failureThreshold
+address
-int32 +string
-

FailureThreshold how many failures in a row constitutes unhealthy

-initialDelaySeconds
+nodeName
-int32 +string
-

InitialDelaySeconds initial delay before checking health

-

ListStatus -

-

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

-

-

ListStatus stores the current list values

-

- - - - - - - - - -
FieldDescription
-capacity
+reservedUntil
-int64 + +Kubernetes meta/v1.Time +
@@ -5372,111 +5292,72 @@

ListStatus

-values
+players
-[]string + +PlayerStatus +
+(Optional) +

[Stage:Alpha] +[FeatureFlag:PlayerTracking]

-

PlayerStatus -

-

-(Appears on: -GameServerStatus) -

-

-

PlayerStatus stores the current player capacity values

-

- - - - - - - -
FieldDescription
-count
+counters
-int64 + +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.

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

(Alpha, SafeToEvict feature flag) Eviction specifies the eviction tolerance of the GameServer.

-

PlayersSpec +

GameServerStatusPort

(Appears on: -GameServerSpec) -

-

-

PlayersSpec tracks the initial player capacity

-

- - - - - - - - - - - - - -
FieldDescription
-initialCapacity
- -int64 - -
-
-

PortPolicy -(string alias)

-

-(Appears on: -GameServerPort) -

-

-

PortPolicy is the port policy for the GameServer

-

-

SdkServer -

-

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

-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

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

@@ -5488,64 +5369,35 @@

SdkServer

- - - -
-logLevel
- - -SdkServerLogLevel - - -
-

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

-
-grpcPort
+name
-int32 +string
-

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

-httpPort
+port
int32
-

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

-

SdkServerLogLevel -(string alias)

+

GameServerTemplateSpec +

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

+FleetSpec, +GameServerSetSpec)

-Resource Types: - -

GameServerAllocation -

-

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

+

GameServerTemplateSpec is a template for GameServers

@@ -5557,23 +5409,6 @@

GameServerAllocation

- - - - - - - - @@ -5601,135 +5436,146 @@

GameServerAllocation

-apiVersion
-string
- -allocation.agones.dev/v1 - -
-kind
-string -
GameServerAllocation
metadata
@@ -5590,8 +5425,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 + +
+

Scheduling strategy. Defaults to “Packed”

+
+sdkServer
+ + +SdkServer
-(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 in the -Selector set, and will only use any following priority for tie-breaking during sort. -Impacts which GameServer is checked first.

+

SdkServer specifies parameters for the Agones SDK Server sidecar container

-selectors
+template
- -[]GameServerSelector + +Kubernetes core/v1.PodTemplateSpec
-

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 describes the Pod that will be created for the GameServer

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

Scheduling strategy. Defaults to “Packed”.

+(Optional) +

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

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

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

+(Optional) +

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

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

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

+ + + -

CounterSelector +

Health

(Appears on: -GameServerSelector) +GameServerSpec)

-

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

+

Health configures health checking on the GameServer

@@ -5741,54 +5587,59 @@

CounterSelector

-minCount
+disabled
-int64 +bool
+

Disabled is whether health checking is disabled or not

-maxCount
+periodSeconds
-int64 +int32
+

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

-minAvailable
+failureThreshold
-int64 +int32
+

FailureThreshold how many failures in a row constitutes unhealthy

-maxAvailable
+initialDelaySeconds
-int64 +int32
+

InitialDelaySeconds initial delay before checking health

-

GameServerAllocationSpec +

ListStatus

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

-

GameServerAllocationSpec is the spec for a GameServerAllocation

+

ListStatus stores the current list values

@@ -5800,11 +5651,250 @@

GameServerAllocationS

+ + + + + + + +
-multiClusterSetting
+capacity
- -MultiClusterSetting - +int64 + +
+
+values
+ +[]string + +
+
+

PlayerStatus +

+

+(Appears on: +GameServerStatus) +

+

+

PlayerStatus stores the current player capacity values

+

+ + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+count
+ +int64 + +
+
+capacity
+ +int64 + +
+
+ids
+ +[]string + +
+
+

PlayersSpec +

+

+(Appears on: +GameServerSpec) +

+

+

PlayersSpec tracks the initial player capacity

+

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

PortPolicy +(string alias)

+

+(Appears on: +GameServerPort) +

+

+

PortPolicy is the port policy for the GameServer

+

+

SdkServer +

+

+(Appears on: +GameServerSpec) +

+

+

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

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

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

+
+grpcPort
+ +int32 + +
+

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

+
+httpPort
+ +int32 + +
+

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

+
+

SdkServerLogLevel +(string alias)

+

+(Appears on: +SdkServer) +

+

+

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

+

+
+

allocation.agones.dev/v1

+

+

Package v1 is the v1 version of the API.

+

+Resource Types: + +

GameServerAllocation +

+

+

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

+

+ + + + + + + + + + + + + + + + + + + + + + + + + +
FieldDescription
+apiVersion
+string
+ +allocation.agones.dev/v1 + +
+kind
+string +
GameServerAllocation
+metadata
+ + +Kubernetes meta/v1.ObjectMeta + + +
+Refer to the Kubernetes API documentation for the fields of the +metadata field. +
+spec
+ + +GameServerAllocationSpec + + +
+
+
+ + + - -
+multiClusterSetting
+ + +MultiClusterSetting +
@@ -5903,72 +5993,73 @@

GameServerAllocationS You can use this to tell the server necessary session data

-

GameServerAllocationState -(string alias)

-

-(Appears on: -GameServerAllocationStatus) -

-

-

GameServerAllocationState is the Allocation state

-

-

GameServerAllocationStatus -

-

-(Appears on: -GameServerAllocation) -

-

-

GameServerAllocationStatus is the status for an GameServerAllocation resource

-

- - - - - - - - +
FieldDescription
-state
+counters
- -GameServerAllocationState + +map[string]agones.dev/agones/pkg/apis/allocation/v1.CounterAction
-

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

+(Optional) +

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

-gameServerName
+lists
-string + +map[string]agones.dev/agones/pkg/apis/allocation/v1.ListAction +
+
-ports
+status
- -[]GameServerStatusPort + +GameServerAllocationStatus
+

CounterAction +

+

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

+

+ + + + + + + +
FieldDescription
-address
+action
string @@ -5978,9 +6069,9 @@

GameServerAllocatio

-nodeName
+amount
-string +int64
@@ -5988,27 +6079,25 @@

GameServerAllocatio

-source
+capacity
-string +int64
-

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

-

GameServerSelector +

CounterSelector

(Appears on: -GameServerAllocationSpec) +GameServerSelector)

-

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

+

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

@@ -6020,100 +6109,54 @@

GameServerSelector

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

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

-

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

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

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

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

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

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

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

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

-

ListSelector +

GameServerAllocationSpec

(Appears on: -GameServerSelector) -

-

-

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

+GameServerAllocation) +

+

+

GameServerAllocationSpec is the spec for a GameServerAllocation

@@ -6125,108 +6168,130 @@

ListSelector

- -
-containsValue
+multiClusterSetting
-string + +MultiClusterSetting +
+

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

-minAvailable
+required
-int64 + +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.

-maxAvailable
+preferred
-int64 + +[]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.

-

MetaPatch -

-

-(Appears on: -GameServerAllocationSpec) -

-

-

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

-

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

(Alpha, CountsAndLists feature flag) The first Priority on the array of Priorities is the most +important for sorting. The allocator will use the first priority for sorting GameServers in the +Selector set, and will only use any following priority for tie-breaking during sort. +Impacts which GameServer is checked first.

+
-labels
+selectors
-map[string]string + +[]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.

-annotations
+scheduling
-map[string]string +agones.dev/agones/pkg/apis.SchedulingStrategy
+

Scheduling strategy. Defaults to “Packed”.

-

MultiClusterSetting -

-

-(Appears on: -GameServerAllocationSpec) -

-

-

MultiClusterSetting specifies settings for multi-cluster allocation.

-

- - - - + + - - @@ -6235,14 +6300,23 @@

MultiClusterSetting

FieldDescription +metadata
+ + +MetaPatch + + +
+

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

+
-enabled
+counters
-bool + +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.

-policySelector
+lists
- -Kubernetes meta/v1.LabelSelector + +map[string]agones.dev/agones/pkg/apis/allocation/v1.ListAction
-

PlayerSelector +

GameServerAllocationState +(string alias)

+

+(Appears on: +GameServerAllocationStatus) +

+

+

GameServerAllocationState is the Allocation state

+

+

GameServerAllocationStatus

(Appears on: -GameServerSelector) +GameServerAllocation)

-

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

+

GameServerAllocationStatus is the status for an GameServerAllocation resource

@@ -6254,51 +6328,42 @@

PlayerSelector

- -
-minAvailable
+state
-int64 + +GameServerAllocationState +
+

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

-maxAvailable
+gameServerName
-int64 +string
-

Priority -

-

-(Appears on: -GameServerAllocationSpec) -

-

-

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.

-

- - - - + + - -
FieldDescription +ports
+ + +[]GameServerStatusPort + + +
+
-priorityType
+address
string @@ -6308,7 +6373,7 @@

Priority

-key
+nodeName
string @@ -6318,29 +6383,27 @@

Priority

-order
+source
string
+

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

-
-

autoscaling.agones.dev/v1

+

GameServerSelector +

-

Package v1 is the v1 version of the API.

+(Appears on: +GameServerAllocationSpec)

-Resource Types: - -

FleetAutoscaler -

-

FleetAutoscaler is the data structure for a FleetAutoscaler resource

+

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

@@ -6352,97 +6415,123 @@

FleetAutoscaler

- - - -
-apiVersion
-string
- -autoscaling.agones.dev/v1 - +LabelSelector
+ + +Kubernetes meta/v1.LabelSelector + +
-kind
-string +

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

+

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

FleetAutoscaler
-metadata
+gameServerState
- -Kubernetes meta/v1.ObjectMeta + +GameServerState
-Refer to the Kubernetes API documentation for the fields of the -metadata field. +(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.

-spec
+players
- -FleetAutoscalerSpec + +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.

+ + + +
-fleetName
+counters
-string + +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.

-policy
+lists
- -FleetAutoscalerPolicy + +map[string]agones.dev/agones/pkg/apis/allocation/v1.ListSelector
-

Autoscaling policy

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

+

+ + + + + + + + - -
FieldDescription
-sync
+addValues
- -FleetAutoscalerSync - +[]string
-(Optional) -

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

-
-status
+capacity
- -FleetAutoscalerStatus - +int64
@@ -6450,14 +6539,17 @@

FleetAutoscaler

-

BufferPolicy +

ListSelector

(Appears on: -FleetAutoscalerPolicy) +GameServerSelector)

-

BufferPolicy controls the desired behavior of the buffer policy.

+

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

@@ -6469,59 +6561,44 @@

BufferPolicy

-maxReplicas
+containsValue
-int32 +string
-

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

-minReplicas
+minAvailable
-int32 +int64
-

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

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

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

-

FixedIntervalSync +

MetaPatch

(Appears on: -FleetAutoscalerSync) +GameServerAllocationSpec)

-

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

+

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

@@ -6533,25 +6610,34 @@

FixedIntervalSync

+ + + +
-seconds
+labels
-int32 +map[string]string + +
+
+annotations
+ +map[string]string
-

Seconds defines how often we run fleet autoscaling in seconds

-

FleetAutoscaleRequest +

MultiClusterSetting

(Appears on: -FleetAutoscaleReview) +GameServerAllocationSpec)

-

FleetAutoscaleRequest defines the request to webhook autoscaler endpoint

+

MultiClusterSetting specifies settings for multi-cluster allocation.

@@ -6563,63 +6649,80 @@

FleetAutoscaleRequest

+ +
-uid
+enabled
-k8s.io/apimachinery/pkg/types.UID +bool
-

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

-name
+policySelector
-string + +Kubernetes meta/v1.LabelSelector +
-

Name is the name of the Fleet being scaled

+

PlayerSelector +

+

+(Appears on: +GameServerSelector) +

+

+

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

+

+ + + + + + + +
FieldDescription
-namespace
+minAvailable
-string +int64
-

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

-status
+maxAvailable
- -FleetStatus - +int64
-

The Fleet’s status values

-

FleetAutoscaleResponse +

Priority

(Appears on: -FleetAutoscaleReview) +GameServerAllocationSpec)

-

FleetAutoscaleResponse defines the response of webhook autoscaler endpoint

+

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.

@@ -6631,45 +6734,49 @@

FleetAutoscaleResponse

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

-scale
+key
-bool +string
-

Set to false if no scaling should occur to the Fleet

-replicas
+order
-int32 +string
-

The targeted replica count

-

FleetAutoscaleReview +
+

autoscaling.agones.dev/v1

+

+

Package v1 is the v1 version of the API.

+

+Resource Types: + +

FleetAutoscaler

-

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

+

FleetAutoscaler is the data structure for a FleetAutoscaler resource

@@ -6681,108 +6788,112 @@

FleetAutoscaleReview

+ + + + + + + + - - -
-request
+apiVersion
+string
+ +autoscaling.agones.dev/v1 + +
+kind
+string +
FleetAutoscaler
+metadata
- -FleetAutoscaleRequest + +Kubernetes meta/v1.ObjectMeta
+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-response
+spec
- -FleetAutoscaleResponse + +FleetAutoscalerSpec
-
-

FleetAutoscalerPolicy -

-

-(Appears on: -FleetAutoscalerSpec) -

-

-

FleetAutoscalerPolicy describes how to scale a fleet

-

+
+
- - - + + - - + +
FieldDescription +fleetName
+ +string + +
+
-type
+policy
- -FleetAutoscalerPolicyType + +FleetAutoscalerPolicy
-

Type of autoscaling policy.

+

Autoscaling policy

-buffer
+sync
- -BufferPolicy + +FleetAutoscalerSync
(Optional) -

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

+

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

+
-webhook
+status
- -WebhookPolicy + +FleetAutoscalerStatus -(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 +

BufferPolicy

(Appears on: -FleetAutoscaler) +FleetAutoscalerPolicy)

-

FleetAutoscalerSpec is the spec for a Fleet Scaler

+

BufferPolicy controls the desired behavior of the buffer policy.

@@ -6794,53 +6905,59 @@

FleetAutoscalerSpec

-fleetName
+maxReplicas
-string +int32
+

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

-policy
+minReplicas
- -FleetAutoscalerPolicy - +int32
-

Autoscaling policy

+

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

-sync
+bufferSize
- -FleetAutoscalerSync - +k8s.io/apimachinery/pkg/util/intstr.IntOrString
-(Optional) -

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

+

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)

-

FleetAutoscalerStatus +

FixedIntervalSync

(Appears on: -FleetAutoscaler) +FleetAutoscalerSync)

-

FleetAutoscalerStatus defines the current status of a FleetAutoscaler

+

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

@@ -6852,75 +6969,93 @@

FleetAutoscalerStatus

+ +
-currentReplicas
+seconds
int32
-

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

+

Seconds defines how often we run fleet autoscaling in seconds

+

FleetAutoscaleRequest +

+

+(Appears on: +FleetAutoscaleReview) +

+

+

FleetAutoscaleRequest defines the request to webhook autoscaler endpoint

+

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

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

+

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.

-lastScaleTime
+name
- -Kubernetes meta/v1.Time - +string
-(Optional) -

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

+

Name is the name of the Fleet being scaled

-ableToScale
+namespace
-bool +string
-

AbleToScale indicates that we can access the target fleet

+

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

-scalingLimited
+status
-bool + +FleetStatus +
-

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

+

The Fleet’s status values

-

FleetAutoscalerSync +

FleetAutoscaleResponse

(Appears on: -FleetAutoscalerSpec) +FleetAutoscaleReview)

-

FleetAutoscalerSync describes when to sync a fleet

+

FleetAutoscaleResponse defines the response of webhook autoscaler endpoint

@@ -6932,52 +7067,45 @@

FleetAutoscalerSync

+ + + +
-type
+uid
- -FleetAutoscalerSyncType - +k8s.io/apimachinery/pkg/types.UID
-

Type of autoscaling sync.

+

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

-fixedInterval
+scale
- -FixedIntervalSync - +bool
-(Optional) -

FixedInterval config params. Present only if FleetAutoscalerSyncType = FixedInterval.

+

Set to false if no scaling should occur to the Fleet

+
+replicas
+ +int32 + +
+

The targeted replica count

-

FleetAutoscalerSyncType -(string alias)

-

-(Appears on: -FleetAutoscalerSync) -

-

-

FleetAutoscalerSyncType is the sync strategy for a given Fleet

-

-

WebhookPolicy +

FleetAutoscaleReview

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

+

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

@@ -6989,79 +7117,38 @@

WebhookPolicy

- - - -
-url
- -string - -
-(Optional) -

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

-

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

-

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

-

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

-

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

-

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

-
-service
+request
- -Kubernetes admissionregistration/v1.ServiceReference + +FleetAutoscaleRequest
-(Optional) -

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

-

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

-caBundle
+response
-[]byte + +FleetAutoscaleResponse +
-(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.

-
-

multicluster.agones.dev/v1

+

FleetAutoscalerPolicy +

-

Package v1 is the v1 version of the API.

+(Appears on: +FleetAutoscalerSpec)

-Resource Types: - -

GameServerAllocationPolicy -

-

GameServerAllocationPolicy is the Schema for the gameserverallocationpolicies API

+

FleetAutoscalerPolicy describes how to scale a fleet

@@ -7073,53 +7160,79 @@

GameServerAllocat

- - - - + + +
-apiVersion
-string
- -multicluster.agones.dev/v1 - +type
+ + +FleetAutoscalerPolicyType + +
-kind
-string +

Type of autoscaling policy.

GameServerAllocationPolicy
-metadata
+buffer
- -Kubernetes meta/v1.ObjectMeta + +BufferPolicy
-Refer to the Kubernetes API documentation for the fields of the -metadata field. +(Optional) +

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

-spec
+webhook
- -GameServerAllocationPolicySpec + +WebhookPolicy
-
-
+(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
-priority
+fleetName
-int32 +string
@@ -7127,39 +7240,43 @@

GameServerAllocat

-weight
+policy
-int + +FleetAutoscalerPolicy +
+

Autoscaling policy

-connectionInfo
+sync
- -ClusterConnectionInfo + +FleetAutoscalerSync
-
+(Optional) +

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

-

ClusterConnectionInfo +

FleetAutoscalerStatus

(Appears on: -GameServerAllocationPolicySpec) +FleetAutoscaler)

-

ClusterConnectionInfo defines the connection information for a cluster

+

FleetAutoscalerStatus defines the current status of a FleetAutoscaler

@@ -7171,67 +7288,75 @@

ClusterConnectionInfo

-clusterName
+currentReplicas
-string +int32
-

Optional: the name of the targeted cluster

+

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

-allocationEndpoints
+desiredReplicas
-[]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

+

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

-secretName
+lastScaleTime
-string + +Kubernetes meta/v1.Time +
-

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

+(Optional) +

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

-namespace
+ableToScale
-string +bool
-

The cluster namespace from which to allocate gameservers

+

AbleToScale indicates that we can access the target fleet

-serverCa
+scalingLimited
-[]byte +bool
-

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

+

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

-

ConnectionInfoIterator +

FleetAutoscalerSync

-

ConnectionInfoIterator an iterator on ClusterConnectionInfo

+(Appears on: +FleetAutoscalerSpec) +

+

+

FleetAutoscalerSync describes when to sync a fleet

@@ -7243,58 +7368,52 @@

ConnectionInfoIterato

- - - - - - - -
-currPriority
- -int - -
-

currPriority Current priority index from the orderedPriorities

-
-orderedPriorities
- -[]int32 - -
-

orderedPriorities list of ordered priorities

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

priorityToCluster Map of priority to cluster-policies map

+

Type of autoscaling sync.

-clusterBlackList
+fixedInterval
-map[string]bool + +FixedIntervalSync +
-

clusterBlackList the cluster blacklist for the clusters that has already returned

+(Optional) +

FixedInterval config params. Present only if FleetAutoscalerSyncType = FixedInterval.

-

GameServerAllocationPolicySpec +

FleetAutoscalerSyncType +(string alias)

+

+(Appears on: +FleetAutoscalerSync) +

+

+

FleetAutoscalerSyncType is the sync strategy for a given Fleet

+

+

WebhookPolicy

(Appears on: -GameServerAllocationPolicy) +FleetAutoscalerPolicy)

-

GameServerAllocationPolicySpec defines the desired state of GameServerAllocationPolicy

+

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

@@ -7306,34 +7425,62 @@

GameServerAll

-priority
+url
-int32 +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.

-weight
+service
-int + +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.

-connectionInfo
+caBundle
- -ClusterConnectionInfo - +[]byte
+(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.