From 3bb4bb557ab981cf80979a45a087edd3aba359e4 Mon Sep 17 00:00:00 2001 From: Ivy Gooch Date: Thu, 16 Feb 2023 18:21:52 +0000 Subject: [PATCH] Adds generated crd api docs --- .../Reference/agones_crd_api_reference.html | 5054 +++++++++-------- 1 file changed, 2659 insertions(+), 2395 deletions(-) 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 a7db8d0215..d35a21dd6c 100644 --- a/site/content/en/docs/Reference/agones_crd_api_reference.html +++ b/site/content/en/docs/Reference/agones_crd_api_reference.html @@ -3,10 +3,13 @@ description="Detailed list of Agones Custom Resource Definitions available" +++ -{{% feature expiryVersion="1.29.0" %}} +{{% feature expiryVersion="1.30.0" %}}

Packages:

-

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

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

GameServerAllocation string

@@ -56,13 +59,13 @@

GameServerAllocation kind
string -

+ @@ -87,65 +90,26 @@

GameServerAllocation

-allocation.agones.dev/v1 +agones.dev/v1
GameServerAllocationFleet
metadata
- + Kubernetes meta/v1.ObjectMeta @@ -76,8 +79,8 @@

GameServerAllocation

spec
- -GameServerAllocationSpec + +FleetSpec
- - - - - - - - @@ -161,16 +125,15 @@

GameServerAllocation

-multiClusterSetting
- - -MultiClusterSetting - - -
-

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

-
-required
- - -GameServerSelector - - -
-

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

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

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

+

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

-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

@@ -180,8 +143,8 @@

GameServerAllocation status
- -GameServerAllocationStatus + +FleetStatus @@ -190,14 +153,14 @@

GameServerAllocation -

GameServerAllocationSpec +

GameServer

-(Appears on: -GameServerAllocation) -

-

-

GameServerAllocationSpec is the spec for a GameServerAllocation

+

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.

@@ -209,186 +172,174 @@

GameServerAllocationS

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

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

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

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

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

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.

-
- -
-selectors
+container
- -[]GameServerSelector - +string
-

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

+

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

-scheduling
+ports
-agones.dev/agones/pkg/apis.SchedulingStrategy + +[]GameServerPort +
-

Scheduling strategy. Defaults to “Packed”.

+

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

-metadata
+health
- -MetaPatch + +Health
-

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

+

Health configures health checking

-

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

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

+

Scheduling strategy. Defaults to “Packed”

-gameServerName
+sdkServer
-string + +SdkServer +
+

SdkServer specifies parameters for the Agones SDK Server sidecar container

-ports
+template
- -[]GameServerStatusPort + +Kubernetes core/v1.PodTemplateSpec
+

Template describes the Pod that will be created for the GameServer

-address
+players
-string + +PlayersSpec +
+(Optional) +

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

-nodeName
+eviction
-string + +Eviction +
+(Optional) +

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

-

GameServerSelector -

-

-(Appears on: -GameServerAllocationSpec) -

-

-

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

+ + + + +status
+ + +GameServerStatus + + + + + + + + +

GameServerSet +

+

+

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

@@ -400,62 +351,109 @@

GameServerSelector

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

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

+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-gameServerState
+spec
- -GameServerState + +GameServerSetSpec
-(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.

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

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

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

Scheduling strategy. Defaults to “Packed”.

+
+template
+ + +GameServerTemplateSpec + + +
+

Template the GameServer template to apply for this GameServerSet

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

-

MetaPatch +

AggregatedPlayerStatus

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

-

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

+

AggregatedPlayerStatus stores total player tracking values

@@ -467,9 +465,9 @@

MetaPatch

-labels
+count
-map[string]string +int64
@@ -477,9 +475,9 @@

MetaPatch

-annotations
+capacity
-map[string]string +int64
@@ -487,14 +485,15 @@

MetaPatch

-

MultiClusterSetting +

Eviction

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

-

MultiClusterSetting specifies settings for multi-cluster allocation.

+

Eviction specifies the eviction tolerance of the GameServer

@@ -506,36 +505,40 @@

MultiClusterSetting

- - - -
-enabled
- -bool - -
-
-policySelector
+safe
- -Kubernetes meta/v1.LabelSelector + +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

-

PlayerSelector +

EvictionSafe +(string alias)

+

+(Appears on: +Eviction) +

+

+

EvictionSafe specified whether the game server supports termination via SIGTERM

+

+

FleetSpec

(Appears on: -GameServerSelector) +Fleet)

-

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

+

FleetSpec is the spec for a Fleet

@@ -547,39 +550,63 @@

PlayerSelector

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

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

-maxAvailable
+strategy
-int64 + +Kubernetes apps/v1.DeploymentStrategy + + +
+

Deployment strategy

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

Scheduling strategy. Defaults to “Packed”.

+
+template
+ + +GameServerTemplateSpec +
+

Template the GameServer template to apply for this Fleet

-
-

autoscaling.agones.dev/v1

+

FleetStatus +

-

Package v1 is the v1 version of the API.

+(Appears on: +Fleet, +FleetAutoscaleRequest)

-Resource Types: - -

FleetAutoscaler -

-

FleetAutoscaler is the data structure for a FleetAutoscaler resource

+

FleetStatus is the status of a Fleet

@@ -591,112 +618,170 @@

FleetAutoscaler

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

Replicas the total number of current GameServer replicas

-kind
-string +readyReplicas
+ +int32 + +
+

ReadyReplicas are the number of Ready GameServer replicas

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

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.

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

+
+

GameServerPort +

+

+(Appears on: +GameServerSpec) +

+

+

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

+

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

Name is the descriptive name of the port

-policy
+portPolicy
- -FleetAutoscalerPolicy + +PortPolicy
-

Autoscaling policy

+

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

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

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

+

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

+ + +containerPort
+ +int32 + + + +

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

-status
+hostPort
- -FleetAutoscalerStatus +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.

-

BufferPolicy +

GameServerSetSpec

(Appears on: -FleetAutoscalerPolicy) +GameServerSet)

-

BufferPolicy controls the desired behavior of the buffer policy.

+

GameServerSetSpec the specification for GameServerSet

@@ -708,59 +793,49 @@

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

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

+

Scheduling strategy. Defaults to “Packed”.

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

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)

+

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

@@ -772,93 +847,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

@@ -870,158 +938,127 @@

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

Scheduling strategy. Defaults to “Packed”

-response
+sdkServer
- -FleetAutoscaleResponse - + +SdkServer +
+

SdkServer specifies parameters for the Agones SDK Server sidecar container

-

FleetAutoscalerPolicy -

-

-(Appears on: -FleetAutoscalerSpec) -

-

-

FleetAutoscalerPolicy describes how to scale a fleet

-

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

Type of autoscaling policy.

+

Template describes the Pod that will be created for the GameServer

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

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

+

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

-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

@@ -1033,133 +1070,101 @@

FleetAutoscalerSpec

- - - - - -
-fleetName
- -string - -
-
-policy
+state
- -FleetAutoscalerPolicy + +GameServerState
-

Autoscaling policy

+

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

-sync
+ports
- -FleetAutoscalerSync + +[]GameServerStatusPort
-(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
+address
-int32 +string
-

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

-desiredReplicas
+nodeName
-int32 +string
-

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

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

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

-ableToScale
+players
-bool + +PlayerStatus +
-

AbleToScale indicates that we can access the target fleet

+(Optional) +

[Stage:Alpha] +[FeatureFlag:PlayerTracking]

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

+

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

@@ -1171,52 +1176,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

@@ -1228,162 +1216,132 @@

WebhookPolicy

@@ -1712,14 +1734,14 @@

Fleet

-url
+metadata
-string + +Kubernetes meta/v1.ObjectMeta +
-(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.

+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-service
+spec
- -Kubernetes admissionregistration/v1.ServiceReference + +GameServerSpec
-(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.

+
+
+ + + + - -
+container
+ +string + +
+

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

-caBundle
+ports
-[]byte + +[]GameServerPort +
-(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.

+

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

-
-

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

Health configures health checking

GameServerAllocationPolicy
-metadata
+scheduling
- -Kubernetes meta/v1.ObjectMeta - +agones.dev/agones/pkg/apis.SchedulingStrategy
-Refer to the Kubernetes API documentation for the fields of the -metadata field. +

Scheduling strategy. Defaults to “Packed”

-spec
+sdkServer
- -GameServerAllocationPolicySpec + +SdkServer
-
-
- +

SdkServer specifies parameters for the Agones SDK Server sidecar container

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

Template describes the Pod that will be created for the GameServer

-weight
+players
-int + +PlayersSpec +
+(Optional) +

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

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

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

@@ -1391,14 +1349,14 @@

GameServerAllocat

-

ClusterConnectionInfo +

Health

(Appears on: -GameServerAllocationPolicySpec) +GameServerSpec)

-

ClusterConnectionInfo defines the connection information for a cluster

+

Health configures health checking on the GameServer

@@ -1410,67 +1368,58 @@

ClusterConnectionInfo

- - - -
-clusterName
- -string - -
-

Optional: the name of the targeted cluster

-
-allocationEndpoints
+disabled
-[]string +bool
-

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

+

Disabled is whether health checking is disabled or not

-secretName
+periodSeconds
-string +int32
-

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

+

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

-namespace
+failureThreshold
-string +int32
-

The cluster namespace from which to allocate gameservers

+

FailureThreshold how many failures in a row constitutes unhealthy

-serverCa
+initialDelaySeconds
-[]byte +int32
-

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

+

InitialDelaySeconds initial delay before checking health

-

ConnectionInfoIterator +

PlayerStatus

-

ConnectionInfoIterator an iterator on ClusterConnectionInfo

+(Appears on: +GameServerStatus) +

+

+

PlayerStatus stores the current player capacity values

@@ -1482,58 +1431,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

@@ -1545,55 +1518,64 @@

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

+


-

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

@@ -1609,7 +1591,7 @@

Fleet string

@@ -1618,13 +1600,13 @@

Fleet kind
string -

+ @@ -1649,50 +1631,90 @@

Fleet

-agones.dev/v1 +allocation.agones.dev/v1
FleetGameServerAllocation
metadata
- + Kubernetes meta/v1.ObjectMeta @@ -1638,8 +1620,8 @@

Fleet

spec
- -FleetSpec + +GameServerAllocationSpec
+

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

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

-strategy
+required
- -Kubernetes apps/v1.DeploymentStrategy + +GameServerSelector
-

Deployment strategy

+

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

-scheduling
+preferred
-agones.dev/agones/pkg/apis.SchedulingStrategy + +[]GameServerSelector +
-

Scheduling strategy. Defaults to “Packed”.

-
-template
+selectors
- -GameServerTemplateSpec + +[]GameServerSelector
-

Template the GameServer template to apply for this Fleet

+

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

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

Scheduling strategy. Defaults to “Packed”.

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

@@ -1702,8 +1724,8 @@

Fleet

status
- -FleetStatus + +GameServerAllocationStatus
-

GameServer +

GameServerAllocationSpec

-

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

+

+

GameServerAllocationSpec is the spec for a GameServerAllocation

@@ -1731,160 +1753,198 @@

GameServer

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

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

-kind
-string +required
+ + +GameServerSelector + + +
+

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

GameServer
-metadata
+preferred
- -Kubernetes meta/v1.ObjectMeta + +[]GameServerSelector
-Refer to the Kubernetes API documentation for the fields of the -metadata field. +

Deprecated: use field Selectors instead. If Selectors is set, this field is ignored. +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.

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

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

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

+

Scheduling strategy. Defaults to “Packed”.

-ports
+metadata
- -[]GameServerPort + +MetaPatch
-

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

+

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 +

+

+(Appears on: +GameServerAllocation) +

+

+

GameServerAllocationStatus is the status for an GameServerAllocation resource

+

+ + + + + + + + - -
FieldDescription
-health
+state
- -Health + +GameServerAllocationState
-

Health configures health checking

+

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

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

Scheduling strategy. Defaults to “Packed”

-sdkServer
+ports
- -SdkServer + +[]GameServerStatusPort
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

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

Template describes the Pod that will be created for the GameServer

-players
+nodeName
- -PlayersSpec - +string
-(Optional) -

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

-
-status
+source
- -GameServerStatus - +string
+

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

-

GameServerSet +

GameServerSelector

-

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

+(Appears on: +GameServerAllocationSpec) +

+

+

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

@@ -1896,92 +1956,129 @@

GameServerSet

- - - - + + +
-apiVersion
-string
- -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/

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

+
+

MetaPatch +

+

+(Appears on: +GameServerAllocationSpec) +

+

+

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

+

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

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

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

Scheduling strategy. Defaults to “Packed”.

+

MultiClusterSetting +

+

+(Appears on: +GameServerAllocationSpec) +

+

+

MultiClusterSetting specifies settings for multi-cluster allocation.

+

+ + + + + + + + - -
FieldDescription
-template
+enabled
- -GameServerTemplateSpec - +bool
-

Template the GameServer template to apply for this GameServerSet

-
-status
+policySelector
- -GameServerSetStatus + +Kubernetes meta/v1.LabelSelector @@ -1990,15 +2087,14 @@

GameServerSet -

AggregatedPlayerStatus +

PlayerSelector

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

-

AggregatedPlayerStatus stores total player tracking values

+

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

@@ -2010,7 +2106,7 @@

AggregatedPlayerStatus

-count
+minAvailable
int64 @@ -2020,7 +2116,7 @@

AggregatedPlayerStatus

-capacity
+maxAvailable
int64 @@ -2030,14 +2126,19 @@

AggregatedPlayerStatus

-

FleetSpec -

+
+

autoscaling.agones.dev/v1

-(Appears on: -Fleet) +

Package v1 is the v1 version of the API.

+Resource Types: + +

FleetAutoscaler +

-

FleetSpec is the spec for a Fleet

+

FleetAutoscaler is the data structure for a FleetAutoscaler resource

@@ -2049,63 +2150,112 @@

FleetSpec

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

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

+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-strategy
+spec
- -Kubernetes apps/v1.DeploymentStrategy + +FleetAutoscalerSpec
-

Deployment strategy

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

Scheduling strategy. Defaults to “Packed”.

+

Autoscaling policy

-template
+sync
- -GameServerTemplateSpec + +FleetAutoscalerSync + + +
+(Optional) +

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

+
+
+status
+ + +FleetAutoscalerStatus
-

Template the GameServer template to apply for this Fleet

-

FleetStatus +

BufferPolicy

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

-

FleetStatus is the status of a Fleet

+

BufferPolicy controls the desired behavior of the buffer policy.

@@ -2117,76 +2267,89 @@

FleetStatus

+ +
-replicas
+maxReplicas
int32
-

Replicas the total number of current GameServer replicas

+

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

-readyReplicas
+minReplicas
int32
-

ReadyReplicas are the number of Ready GameServer replicas

+

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

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

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

+

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

+

FixedIntervalSync +

+

+(Appears on: +FleetAutoscalerSync) +

+

+

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

+

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

AllocatedReplicas are the number of Allocated GameServer replicas

-
FieldDescription
-players
+seconds
- -AggregatedPlayerStatus - +int32
-(Optional) -

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

+

Seconds defines how often we run fleet autoscaling in seconds

-

GameServerPort +

FleetAutoscaleRequest

(Appears on: -GameServerSpec) +FleetAutoscaleReview)

-

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

+

FleetAutoscaleRequest defines the request to webhook autoscaler endpoint

@@ -2198,89 +2361,63 @@

GameServerPort

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

Name is the descriptive name of the port

-
-portPolicy
- - -PortPolicy - - -
-

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

+

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.

-container
+name
string
-(Optional) -

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

-
-containerPort
- -int32 - -
-

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

+

Name is the name of the Fleet being scaled

-hostPort
+namespace
-int32 +string
-

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

+

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

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

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

+

The Fleet’s status values

-

GameServerSetSpec +

FleetAutoscaleResponse

(Appears on: -GameServerSet) +FleetAutoscaleReview)

-

GameServerSetSpec the specification for GameServerSet

+

FleetAutoscaleResponse defines the response of webhook autoscaler endpoint

@@ -2292,49 +2429,45 @@

GameServerSetSpec

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

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

+

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

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

Scheduling strategy. Defaults to “Packed”.

+

Set to false if no scaling should occur to the Fleet

-template
+replicas
- -GameServerTemplateSpec - +int32
-

Template the GameServer template to apply for this GameServerSet

+

The targeted replica count

-

GameServerSetStatus +

FleetAutoscaleReview

-(Appears on: -GameServerSet) -

-

-

GameServerSetStatus is the status of a GameServerSet

+

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

@@ -2346,86 +2479,108 @@

GameServerSetStatus

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

Replicas is the total number of current GameServer replicas

-readyReplicas
+response
-int32 + +FleetAutoscaleResponse +
-

ReadyReplicas is the number of Ready GameServer replicas

+

FleetAutoscalerPolicy +

+

+(Appears on: +FleetAutoscalerSpec) +

+

+

FleetAutoscalerPolicy describes how to scale a fleet

+

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

ReservedReplicas is the number of Reserved GameServer replicas

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

AllocatedReplicas is the number of Allocated GameServer replicas

+

Type of autoscaling policy.

-shutdownReplicas
+buffer
-int32 + +BufferPolicy +
-

ShutdownReplicas is the number of Shutdown GameServers replicas

+(Optional) +

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

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

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

+

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

-

GameServerSpec +

FleetAutoscalerPolicyType +(string alias)

+

+(Appears on: +FleetAutoscalerPolicy) +

+

+

FleetAutoscalerPolicyType is the policy for autoscaling +for a given Fleet

+

+

FleetAutoscalerSpec

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

-

GameServerSpec is the spec for a GameServer resource

+

FleetAutoscalerSpec is the spec for a Fleet Scaler

@@ -2437,113 +2592,133 @@

GameServerSpec

+ +
-container
+fleetName
string
-

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

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

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

+

Autoscaling policy

-health
+sync
- -Health + +FleetAutoscalerSync
-

Health configures health checking

+(Optional) +

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

+

FleetAutoscalerStatus +

+

+(Appears on: +FleetAutoscaler) +

+

+

FleetAutoscalerStatus defines the current status of a FleetAutoscaler

+

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

Scheduling strategy. Defaults to “Packed”

+

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

-sdkServer
+desiredReplicas
- -SdkServer - +int32
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

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

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

Template describes the Pod that will be created for the GameServer

+(Optional) +

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

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

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

+

AbleToScale indicates that we can access the target fleet

-

GameServerState -(string alias)

-

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

-

-

GameServerState is the state for the GameServer

-

-

GameServerStatus + + +scalingLimited
+ +bool + + + +

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

+ + + + +

FleetAutoscalerSync

(Appears on: -GameServer) +FleetAutoscalerSpec)

-

GameServerStatus is the status for a GameServer resource

+

FleetAutoscalerSync describes when to sync a fleet

@@ -2555,88 +2730,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
+(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.

-reservedUntil
+service
- -Kubernetes meta/v1.Time + +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.

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

[Stage:Alpha] -[FeatureFlag:PlayerTracking]

+

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

@@ -2648,49 +2871,26 @@

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

-

- - - - - - - - @@ -2715,169 +2915,121 @@

GameServerTemplateSpec

FieldDescription
metadata
- + Kubernetes meta/v1.ObjectMeta @@ -2704,8 +2904,8 @@

GameServerTemplateSpec

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

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

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

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

-health
+connectionInfo
- -Health + +ClusterConnectionInfo
-

Health configures health checking

+ + + + +

ClusterConnectionInfo +

+

+(Appears on: +GameServerAllocationPolicySpec) +

+

+

ClusterConnectionInfo defines the connection information for a cluster

+

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

Scheduling strategy. Defaults to “Packed”

+

Optional: the name of the targeted cluster

-sdkServer
+allocationEndpoints
- -SdkServer - +[]string
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

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

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

Template describes the Pod that will be created for the GameServer

+

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

-players
+namespace
- -PlayersSpec - +string
-(Optional) -

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

-
- - - - -

Health -

-

-(Appears on: -GameServerSpec) -

-

-

Health configures health checking on the GameServer

-

- - - - - - - - - - - - - - - - - - -
FieldDescription
-disabled
- -bool - -
-

Disabled is whether health checking is disabled or not

-
-periodSeconds
- -int32 - -
-

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

-
-failureThreshold
- -int32 - -
-

FailureThreshold how many failures in a row constitutes unhealthy

+

The cluster namespace from which to allocate gameservers

-initialDelaySeconds
+serverCa
-int32 +[]byte
-

InitialDelaySeconds initial delay before checking health

+

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

@@ -2889,82 +3041,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

@@ -2976,62 +3104,47 @@

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

-


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

{{% /feature %}} -{{% feature publishVersion="1.29.0" %}} +{{% feature publishVersion="1.30.0" %}}

Packages:

-

agones.dev/v1

+

allocation.agones.dev/v1

Package v1 is the v1 version of the API.

Resource Types: -

Fleet +

GameServerAllocation

-

Fleet is the data structure for a Fleet resource

+

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

@@ -3072,7 +3185,7 @@

Fleet string

@@ -3081,7 +3194,7 @@

Fleet kind
string -

+ @@ -3112,26 +3225,65 @@

Fleet

-agones.dev/v1 +allocation.agones.dev/v1
FleetGameServerAllocation
@@ -3101,8 +3214,8 @@

Fleet

spec
- -FleetSpec + +GameServerAllocationSpec
+ + + + + + + + @@ -3147,15 +3299,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.

-strategy
+required
- -Kubernetes apps/v1.DeploymentStrategy + +GameServerSelector
-

Deployment strategy

+

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.

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

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

-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

@@ -3165,8 +3318,8 @@

Fleet status
- -FleetStatus + +GameServerAllocationStatus @@ -3175,14 +3328,14 @@

Fleet -

GameServer +

GameServerAllocationSpec

-

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

+

+

GameServerAllocationSpec is the spec for a GameServerAllocation

@@ -3194,174 +3347,198 @@

GameServer

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

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

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

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

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

+ + + +
-container
+selectors
-string + +[]GameServerSelector +
-

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

+

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.

-ports
+scheduling
- -[]GameServerPort - +agones.dev/agones/pkg/apis.SchedulingStrategy
-

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

+

Scheduling strategy. Defaults to “Packed”.

-health
+metadata
- -Health + +MetaPatch
-

Health configures health checking

+

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 +

+

+(Appears on: +GameServerAllocation) +

+

+

GameServerAllocationStatus is the status for an GameServerAllocation resource

+

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

Scheduling strategy. Defaults to “Packed”

+

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

-sdkServer
+gameServerName
- -SdkServer - +string
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

-template
+ports
- -Kubernetes core/v1.PodTemplateSpec + +[]GameServerStatusPort
-

Template describes the Pod that will be created for the GameServer

-players
+address
- -PlayersSpec - +string
-(Optional) -

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

-eviction
+nodeName
- -Eviction - +string
-(Optional) -

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

-
-status
+source
- -GameServerStatus - +string
+

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

-

GameServerSet +

GameServerSelector

-

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

+(Appears on: +GameServerAllocationSpec) +

+

+

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

@@ -3373,109 +3550,65 @@

GameServerSet

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

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

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

Scheduling strategy. Defaults to “Packed”.

+

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

+

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

-template
+gameServerState
- -GameServerTemplateSpec + +GameServerState
-

Template the GameServer template to apply for this GameServerSet

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

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

-

AggregatedPlayerStatus +

MetaPatch

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

-

AggregatedPlayerStatus stores total player tracking values

+

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

@@ -3487,9 +3620,9 @@

AggregatedPlayerStatus

-count
+labels
-int64 +map[string]string
@@ -3497,9 +3630,9 @@

AggregatedPlayerStatus

-capacity
+annotations
-int64 +map[string]string
@@ -3507,15 +3640,14 @@

AggregatedPlayerStatus

-

Eviction +

MultiClusterSetting

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

-

Eviction specifies the eviction tolerance of the GameServer

+

MultiClusterSetting specifies settings for multi-cluster allocation.

@@ -3527,40 +3659,36 @@

Eviction

+ + + +
-safe
+enabled
- -EvictionSafe +bool + +
+
+policySelector
+ + +Kubernetes meta/v1.LabelSelector
-

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

PlayerSelector

(Appears on: -Fleet) +GameServerSelector)

-

FleetSpec is the spec for a Fleet

+

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

@@ -3572,63 +3700,39 @@

FleetSpec

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

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

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

Deployment strategy

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

Scheduling strategy. Defaults to “Packed”.

-template
+maxAvailable
- -GameServerTemplateSpec - +int64
-

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

@@ -3640,76 +3744,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
+ + +FleetAutoscalerSpec + + +
+
+
+ + + + +
+fleetName
-int32 +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.

@@ -3721,89 +3861,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

@@ -3815,49 +3955,63 @@

GameServerSetSpec

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

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

+

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.

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

Scheduling strategy. Defaults to “Packed”.

+

Name is the name of the Fleet being scaled

-template
+namespace
- -GameServerTemplateSpec +string + +
+

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

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

@@ -3869,218 +4023,216 @@

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

-

-

GameServerSpec is the spec for a GameServer resource

+FleetAutoscalerSpec)

- - - - - - - - - - - +

+

FleetAutoscalerPolicy describes how to scale a fleet

+

+
FieldDescription
-container
- -string - -
-

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

-
+ + + + + + + +
FieldDescription
-ports
+type
- -[]GameServerPort + +FleetAutoscalerPolicyType
-

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

+

Type of autoscaling policy.

-health
+buffer
- -Health + +BufferPolicy
-

Health configures health checking

+(Optional) +

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

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

Scheduling strategy. Defaults to “Packed”

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

+

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

SdkServer specifies parameters for the Agones SDK Server sidecar container

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

Template describes the Pod that will be created for the GameServer

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

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

+

Autoscaling policy

-eviction
+sync
- -Eviction + +FleetAutoscalerSync
(Optional) -

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

+

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

-

GameServerState -(string alias)

-

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

-

-

GameServerState is the state for the GameServer

-

-

GameServerStatus +

FleetAutoscalerStatus

(Appears on: -GameServer) +FleetAutoscaler)

-

GameServerStatus is the status for a GameServer resource

+

FleetAutoscalerStatus defines the current status of a FleetAutoscaler

@@ -4092,101 +4244,132 @@

GameServerStatus

+ +
-state
+currentReplicas
- -GameServerState - +int32
-

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

+

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

-ports
+desiredReplicas
- -[]GameServerStatusPort - +int32
+

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

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

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

-nodeName
+ableToScale
-string +bool
+

AbleToScale indicates that we can access the target fleet

-reservedUntil
+scalingLimited
- -Kubernetes meta/v1.Time - +bool
+

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

+

FleetAutoscalerSync +

+

+(Appears on: +FleetAutoscalerSpec) +

+

+

FleetAutoscalerSync describes when to sync a fleet

+

+ + + + + + + +
FieldDescription
-players
+type
- -PlayerStatus + +FleetAutoscalerSyncType
-(Optional) -

[Stage:Alpha] -[FeatureFlag:PlayerTracking]

+

Type of autoscaling sync.

-eviction
+fixedInterval
- -Eviction + +FixedIntervalSync
-

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

+(Optional) +

FixedInterval config params. Present only if FleetAutoscalerSyncType = FixedInterval.

-

GameServerStatusPort +

FleetAutoscalerSyncType +(string alias)

+

+(Appears on: +FleetAutoscalerSync) +

+

+

FleetAutoscalerSyncType is the sync strategy for a given Fleet

+

+

WebhookPolicy

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

-

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

+

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

@@ -4198,35 +4381,79 @@

GameServerStatusPort

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

-port
+caBundle
-int32 +[]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.

-

GameServerTemplateSpec -

+
+

multicluster.agones.dev/v1

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

Package v1 is the v1 version of the API.

+Resource Types: + +

GameServerAllocationPolicy +

-

GameServerTemplateSpec is a template for GameServers

+

GameServerAllocationPolicy is the Schema for the gameserverallocationpolicies API

@@ -4238,6 +4465,23 @@

GameServerTemplateSpec

+ + + + + + + + @@ -4265,120 +4509,121 @@

GameServerTemplateSpec

+apiVersion
+string
+ +multicluster.agones.dev/v1 + +
+kind
+string +
GameServerAllocationPolicy
metadata
@@ -4254,8 +4498,8 @@

GameServerTemplateSpec

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

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

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

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

-health
+connectionInfo
- -Health + +ClusterConnectionInfo
-

Health configures health checking

+ + + + +

ClusterConnectionInfo +

+

+(Appears on: +GameServerAllocationPolicySpec) +

+

+

ClusterConnectionInfo defines the connection information for a cluster

+

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

Scheduling strategy. Defaults to “Packed”

+

Optional: the name of the targeted cluster

-sdkServer
+allocationEndpoints
- -SdkServer - +[]string
-

SdkServer specifies parameters for the Agones SDK Server sidecar container

+

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

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

Template describes the Pod that will be created for the GameServer

+

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

-players
+namespace
- -PlayersSpec - +string
-(Optional) -

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

+

The cluster namespace from which to allocate gameservers

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

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

-
+

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

-

Health +

ConnectionInfoIterator

-(Appears on: -GameServerSpec) -

-

-

Health configures health checking on the GameServer

+

ConnectionInfoIterator an iterator on ClusterConnectionInfo

@@ -4390,58 +4635,58 @@

Health

-disabled
+currPriority
-bool +int
-

Disabled is whether health checking is disabled or not

+

currPriority Current priority index from the orderedPriorities

-periodSeconds
+orderedPriorities
-int32 +[]int32
-

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

+

orderedPriorities list of ordered priorities

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

FailureThreshold how many failures in a row constitutes unhealthy

+

priorityToCluster Map of priority to cluster-policies map

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

InitialDelaySeconds initial delay before checking health

+

clusterBlackList the cluster blacklist for the clusters that has already returned

-

PlayerStatus +

GameServerAllocationPolicySpec

(Appears on: -GameServerStatus) +GameServerAllocationPolicy)

-

PlayerStatus stores the current player capacity values

+

GameServerAllocationPolicySpec defines the desired state of GameServerAllocationPolicy

@@ -4453,9 +4698,9 @@

PlayerStatus

-count
+priority
-int64 +int32
@@ -4463,9 +4708,9 @@

PlayerStatus

-capacity
+weight
-int64 +int
@@ -4473,9 +4718,11 @@

PlayerStatus

-ids
+connectionInfo
-[]string + +ClusterConnectionInfo +
@@ -4483,14 +4730,23 @@

PlayerStatus

-

PlayersSpec -

+
+

agones.dev/v1

-(Appears on: -GameServerSpec) +

Package v1 is the v1 version of the API.

+Resource Types: + +

Fleet +

-

PlayersSpec tracks the initial player capacity

+

Fleet is the data structure for a Fleet resource

@@ -4502,102 +4758,121 @@

PlayersSpec

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

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

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

Deployment strategy

-

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

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

+

Scheduling strategy. Defaults to “Packed”.

-grpcPort
+template
-int32 + +GameServerTemplateSpec +
-

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

+

Template the GameServer template to apply for this Fleet

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

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

-

SdkServerLogLevel -(string alias)

-

-(Appears on: -SdkServer) -

-

-

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

-

-
-

allocation.agones.dev/v1

-

-

Package v1 is the v1 version of the API.

-

-Resource Types: - -

GameServerAllocation +

GameServer

-

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

+

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

@@ -4613,7 +4888,7 @@

GameServerAllocation string

@@ -4622,7 +4897,7 @@

GameServerAllocation kind
string -

+ @@ -4653,90 +4928,131 @@

GameServerAllocation

-allocation.agones.dev/v1 +agones.dev/v1
GameServerAllocationGameServer
@@ -4642,8 +4917,8 @@

GameServerAllocation

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

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

+
+ports
+ + +[]GameServerPort
-

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

+

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

-required
+health
- -GameServerSelector + +Health
-

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.

+

Health configures health checking

-preferred
+scheduling
- -[]GameServerSelector +agones.dev/agones/pkg/apis.SchedulingStrategy + +
+

Scheduling strategy. Defaults to “Packed”

+
+sdkServer
+ + +SdkServer
-

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.

+

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

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

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

@@ -4746,8 +5062,8 @@

GameServerAllocation status
- -GameServerAllocationStatus + +GameServerStatus @@ -4756,14 +5072,12 @@

GameServerAllocation -

GameServerAllocationSpec +

GameServerSet

-(Appears on: -GameServerAllocation) -

-

-

GameServerAllocationSpec is the spec for a GameServerAllocation

+

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

@@ -4775,111 +5089,109 @@

GameServerAllocationS

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

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

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

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

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

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

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

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

-selectors
+scheduling
- -[]GameServerSelector - +agones.dev/agones/pkg/apis.SchedulingStrategy
-

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 strategy. Defaults to “Packed”.

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

Scheduling strategy. Defaults to “Packed”.

+

Template the GameServer template to apply for this GameServerSet

+
-metadata
+status
- -MetaPatch + +GameServerSetStatus
-

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 +

AggregatedPlayerStatus

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

-

GameServerAllocationStatus is the status for an GameServerAllocation resource

+

AggregatedPlayerStatus stores total player tracking values

@@ -4891,22 +5203,9 @@

GameServerAllocatio

- - - - + +
-state
- - -GameServerAllocationState - - -
-

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

-
-gameServerName
+count
-string +int64
@@ -4914,31 +5213,34 @@

GameServerAllocatio

-ports
+capacity
- -[]GameServerStatusPort - +int64
+

CounterSpec +

+

+

CounterSpec tracks if counter specified (for giving error message if feature gate not set)

+

+ + - - + + + +
-address
- -string - -
-FieldDescription
-nodeName
+count
-string +int64
@@ -4946,27 +5248,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 +

Eviction

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

-

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

+

Eviction specifies the eviction tolerance of the GameServer

@@ -4978,104 +5278,108 @@

GameServerSelector

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

+
+

EvictionSafe +(string alias)

-(Members of LabelSelector are embedded into this type.) +(Appears on: +Eviction)

-

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

- +

+

EvictionSafe specified whether the game server supports termination via SIGTERM

+

+

FleetSpec +

+

+(Appears on: +Fleet) +

+

+

FleetSpec is the spec for a Fleet

+

+ + + + + + + - -
FieldDescription
-gameServerState
+replicas
- -GameServerState - +int32
-(Optional) -

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

+

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

-players
+strategy
- -PlayerSelector + +Kubernetes apps/v1.DeploymentStrategy
-(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.

+

Deployment strategy

-

MetaPatch -

-

-(Appears on: -GameServerAllocationSpec) -

-

-

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

-

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

Scheduling strategy. Defaults to “Packed”.

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

Template the GameServer template to apply for this Fleet

-

MultiClusterSetting +

FleetStatus

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

-

MultiClusterSetting specifies settings for multi-cluster allocation.

+

FleetStatus is the status of a Fleet

@@ -5087,80 +5391,76 @@

MultiClusterSetting

- -
-enabled
+replicas
-bool +int32
+

Replicas the total number of current GameServer replicas

-policySelector
+readyReplicas
- -Kubernetes meta/v1.LabelSelector - +int32
+

ReadyReplicas are the number of Ready GameServer replicas

-

PlayerSelector -

-

-(Appears on: -GameServerSelector) -

-

-

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

-

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

+
-minAvailable
+allocatedReplicas
-int64 +int32
+

AllocatedReplicas are the number of Allocated GameServer replicas

-maxAvailable
+players
-int64 + +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

@@ -5172,112 +5472,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

@@ -5289,59 +5566,49 @@

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

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

+

Scheduling strategy. Defaults to “Packed”.

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

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)

+

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

@@ -5353,93 +5620,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

@@ -5451,158 +5711,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.CounterSpec
-

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

@@ -5614,89 +5869,52 @@

FleetAutoscalerSpec

- - - - - -
-fleetName
- -string - -
-
-policy
+state
- -FleetAutoscalerPolicy + +GameServerState
-

Autoscaling policy

+

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

-sync
+ports
- -FleetAutoscalerSync + +[]GameServerStatusPort
-(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
+address
-int32 +string
-

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

-desiredReplicas
+nodeName
-int32 +string
-

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

-lastScaleTime
+reservedUntil
Kubernetes meta/v1.Time @@ -5704,43 +5922,48 @@

FleetAutoscalerStatus

-(Optional) -

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

-ableToScale
+players
-bool + +PlayerStatus +
-

AbleToScale indicates that we can access the target fleet

+(Optional) +

[Stage:Alpha] +[FeatureFlag:PlayerTracking]

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

+

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

@@ -5752,52 +5975,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

@@ -5809,147 +6015,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
-(Optional) -

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

-

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

+

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

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

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

+

Health configures health checking

-
-

multicluster.agones.dev/v1

-

-

Package v1 is the v1 version of the API.

-

-Resource Types: - -

GameServerAllocationPolicy -

-

-

GameServerAllocationPolicy is the Schema for the gameserverallocationpolicies API

-

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

Scheduling strategy. Defaults to “Packed”

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

SdkServer specifies parameters for the Agones SDK Server sidecar container

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

Template describes the Pod that will be created for the GameServer

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

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

+ +
-priority
+counters
-int32 + +map[string]*agones.dev/agones/pkg/apis/agones/v1.CounterSpec +
+(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.ListSpec +
@@ -5957,14 +6157,16 @@

GameServerAllocat

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

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

@@ -5972,14 +6174,14 @@

GameServerAllocat

-

ClusterConnectionInfo +

Health

(Appears on: -GameServerAllocationPolicySpec) +GameServerSpec)

-

ClusterConnectionInfo defines the connection information for a cluster

+

Health configures health checking on the GameServer

@@ -5991,67 +6193,93 @@

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

+

ListSpec +

+

+

ListSpec tracks the list capacity

+

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

@@ -6063,58 +6291,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

@@ -6126,38 +6378,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.