<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Agones – Reference</title>
    <link>/site/docs/reference/</link>
    <description>Recent content in Reference on Agones</description>
    <generator>Hugo -- gohugo.io</generator>
    
	  <atom:link href="/site/docs/reference/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: GameServer Specification</title>
      <link>/site/docs/reference/gameserver/</link>
      <pubDate>Thu, 03 Jan 2019 03:58:48 +0000</pubDate>
      
      <guid>/site/docs/reference/gameserver/</guid>
      <description>
        
        
        &lt;p&gt;A full GameServer specification is available below and in the 
&lt;a href=&#34;https://github.com/googleforgames/agones/blob/release-1.30.0/examples/gameserver.yaml&#34; target=&#34;_blank&#34; data-proofer-ignore&gt;example folder&lt;/a&gt;
 for reference :&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;apiVersion&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;agones.dev/v1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;kind&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;GameServer&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# GameServer Metadata&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#objectmeta-v1-meta&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;metadata&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# generateName: &amp;#34;gds-example&amp;#34; # generate a unique name, with the given prefix&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;gds-example&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# set a fixed name&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;spec&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# if there is more than one container, specify which one is the game server&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;container&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;example-server&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Array of ports that can be exposed as direct connections to the game server container&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;ports&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# name is a descriptive name for the port&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;- &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;default&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# portPolicy has three options:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# - &amp;#34;Dynamic&amp;#34; (default) the system allocates a free hostPort for the gameserver, for game clients to connect to&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# - &amp;#34;Static&amp;#34;, user defines the hostPort that the game client will connect to. Then onus is on the user to ensure that the&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# port is available. When static is the policy specified, `hostPort` is required to be populated&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# - &amp;#34;Passthrough&amp;#34; dynamically sets the `containerPort` to the same value as the dynamically selected hostPort.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;#      This will mean that users will need to lookup what port has been opened through the server side SDK.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;portPolicy&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Static&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# The name of the container to open the port on. Defaults to the game server container if omitted or empty.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;container&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;simple-game-server&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# the port that is being opened on the game server process&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;containerPort&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;7654&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# the port exposed on the host, only required when `portPolicy` is &amp;#34;Static&amp;#34;. Overwritten when portPolicy is &amp;#34;Dynamic&amp;#34;.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;hostPort&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;7777&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# protocol being used. Defaults to UDP. TCP and TCPUDP are other options&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# - &amp;#34;UDP&amp;#34; (default) use the UDP protocol&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# - &amp;#34;TCP&amp;#34;, use the TCP protocol&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# - &amp;#34;TCPUDP&amp;#34;, uses both TCP and UDP, and exposes the same hostPort for both protocols.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;#       This will mean that it adds an extra port, and the first port is set to TCP, and second port set to UDP&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;protocol&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;UDP&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Health checking for the running game server&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;health&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Disable health checking. defaults to false, but can be set to true&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;disabled&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;false&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Number of seconds after the container has started before health check is initiated. Defaults to 5 seconds&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;initialDelaySeconds&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;5&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# If the `Health()` function doesn&amp;#39;t get called at least once every period (seconds), then&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# the game server is not healthy. Defaults to 5&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;periodSeconds&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;5&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Minimum consecutive failures for the health probe to be considered failed after having succeeded.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Defaults to 3. Minimum value is 1&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;failureThreshold&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;3&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Parameters for game server sidecar&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;sdkServer&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# sdkServer log level parameter has three options:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;#  - &amp;#34;Info&amp;#34; (default) The SDK server will output all messages except for debug messages&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;#  - &amp;#34;Debug&amp;#34; The SDK server will output all messages including debug messages&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;#  - &amp;#34;Error&amp;#34; The SDK server will only output error messages&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;logLevel&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Info&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# grpcPort and httpPort control what ports the sdkserver listens on.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Starting with Agones 1.2 the default grpcPort is 9357 and the default&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# httpPort is 9358. In earlier releases, the defaults were 59357 and 59358&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# respectively but as these were in the ephemeral port range they could&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# conflict with other TCP connections.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;grpcPort&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;9357&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;httpPort&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;9358&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# [Stage:Alpha]&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# [FeatureFlag:PlayerTracking]&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Players provides the configuration for player tracking features.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Commented out since Alpha, and disabled by default&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# players:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;#   # set this GameServer&amp;#39;s initial player capacity&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;#   initialCapacity: 10&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Pod template configuration&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#podtemplate-v1-core&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;template&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# pod metadata. Name &amp;amp; Namespace is overwritten&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;metadata&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;labels&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;myspeciallabel&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;myspecialvalue&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Pod Specification&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;spec&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;containers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;- &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;simple-game-server&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;image&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;us-docker.pkg.dev/agones-images/examples/simple-game-server:0.15&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;imagePullPolicy&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Always&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# nodeSelector is a label that can be used to tell Kubernetes which host&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# OS to use. For Windows game servers uncomment the nodeSelector&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# definition below.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Details: https://kubernetes.io/docs/setup/production-environment/windows/user-guide-windows-containers/#ensuring-os-specific-workloads-land-on-the-appropriate-container-host&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# nodeSelector:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;#   kubernetes.io/os: windows&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Since Agones defines a new &lt;a href=&#34;https://kubernetes.io/docs/concepts/api-extension/custom-resources/&#34;&gt;Custom Resources Definition (CRD)&lt;/a&gt; we can define a new resource using the kind &lt;code&gt;GameServer&lt;/code&gt; with the custom group &lt;code&gt;agones.dev&lt;/code&gt; and API version &lt;code&gt;v1&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;You can use the metadata field to target a specific &lt;a href=&#34;https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/&#34;&gt;namespaces&lt;/a&gt;
but also attach specific &lt;a href=&#34;https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/&#34;&gt;annotations&lt;/a&gt; and &lt;a href=&#34;https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/&#34;&gt;labels&lt;/a&gt; to your resource. This is a very common pattern in the Kubernetes ecosystem.&lt;/p&gt;
&lt;p&gt;The length of the &lt;code&gt;name&lt;/code&gt; field of the Gameserver should not exceed 63 characters.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;spec&lt;/code&gt; field is the actual GameServer specification and it is composed as follow:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;container&lt;/code&gt; is the name of container running the GameServer in case you have more than one container defined in the &lt;a href=&#34;https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/&#34;&gt;pod&lt;/a&gt;. If you do,  this is a mandatory field. For instance this is useful if you want to run a sidecar to ship logs.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ports&lt;/code&gt; are an array of ports that can be exposed as direct connections to the game server container
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;name&lt;/code&gt; is an optional descriptive name for a port&lt;/li&gt;
&lt;li&gt;&lt;code&gt;portPolicy&lt;/code&gt; has three options:
- &lt;code&gt;Dynamic&lt;/code&gt; (default) the system allocates a random free hostPort for the gameserver, for game clients to connect to.
- &lt;code&gt;Static&lt;/code&gt;, user defines the hostPort that the game client will connect to. Then onus is on the user to ensure that the port is available. When static is the policy specified, &lt;code&gt;hostPort&lt;/code&gt; is required to be populated.
- &lt;code&gt;Passthrough&lt;/code&gt; dynamically sets the &lt;code&gt;containerPort&lt;/code&gt;  to the same value as the dynamically selected hostPort. This will mean that users will need to lookup what port to open through the server side SDK before starting communications.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;container&lt;/code&gt; (Alpha) the name of the container to open the port on. Defaults to the game server container if omitted or empty.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;containerPort&lt;/code&gt; the port that is being opened on the game server process, this is a required field for &lt;code&gt;Dynamic&lt;/code&gt; and &lt;code&gt;Static&lt;/code&gt; port policies, and should not be included in &lt;code&gt;Passthrough&lt;/code&gt; configuration.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;protocol&lt;/code&gt; the protocol being used. Defaults to UDP. TCP and TCPUDP are other options.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;health&lt;/code&gt; to track the overall healthy state of the GameServer, more information available in the &lt;a href=&#34;/site/site/docs/guides/health-checking/&#34;&gt;health check documentation&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sdkServer&lt;/code&gt; defines parameters for the game server sidecar
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;logging&lt;/code&gt; field defines log level for SDK server. Defaults to &amp;ldquo;Info&amp;rdquo;. It has three options:
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;Info&amp;rdquo; (default) The SDK server will output all messages except for debug messages&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Debug&amp;rdquo; The SDK server will output all messages including debug messages&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Error&amp;rdquo; The SDK server will only output error messages&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;grpcPort&lt;/code&gt; the port that the SDK Server binds to for gRPC connections&lt;/li&gt;
&lt;li&gt;&lt;code&gt;httpPort&lt;/code&gt; the port that the SDK Server binds to for HTTP gRPC gateway connections&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;players&lt;/code&gt; (Alpha, behind &amp;ldquo;PlayerTracking&amp;rdquo; feature gate), sets this GameServer&amp;rsquo;s initial player capacity&lt;/li&gt;
&lt;li&gt;&lt;code&gt;template&lt;/code&gt; the &lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#podtemplatespec-v1-core&#34;&gt;pod spec template&lt;/a&gt; to run your GameServer containers, &lt;a href=&#34;https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/#pod-templates&#34;&gt;see&lt;/a&gt; for more information.&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Note&lt;/h4&gt;

    The GameServer resource does not support updates. If you need to make regular updates to the GameServer spec, consider using a &lt;a href=&#34;/site/site/docs/reference/fleet/&#34;&gt;Fleet&lt;/a&gt;.

&lt;/div&gt;

&lt;h2 id=&#34;stable-network-id&#34;&gt;Stable Network ID&lt;/h2&gt;

&lt;div class=&#34;alert alert-warning&#34; role=&#34;alert&#34;&gt;
    &lt;h4 class=&#34;alert-heading&#34;&gt;Warning&lt;/h4&gt;
    &lt;p&gt;The Stable Network ID feature is currently &lt;strong&gt;&lt;a href=&#34;/site/site/docs/guides/feature-stages/#alpha&#34;&gt;Alpha&lt;/a&gt;&lt;/strong&gt;,
        not enabled by default, and may change in the future.&lt;/p&gt;
&lt;p&gt;Use the FeatureGate  &lt;code&gt;PodHostname&lt;/code&gt;
to enable and test this feature.&lt;/p&gt;
    &lt;p&gt;See the &lt;a href=&#34;/site/site/docs/guides/feature-stages/#feature-gates&#34;&gt;Feature Gate documentation&lt;/a&gt; for details on how to enable features.&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;Each Pod attached to a &lt;code&gt;GameServer&lt;/code&gt; derives its hostname from the name of the &lt;code&gt;GameServer&lt;/code&gt;.
A group of &lt;code&gt;Pods&lt;/code&gt; attached to &lt;code&gt;GameServers&lt;/code&gt; can use a
&lt;a href=&#34;https://kubernetes.io/docs/concepts/services-networking/service/#headless-services&#34;&gt;Headless Service&lt;/a&gt; to control
the domain of the Pods, along with providing
a &lt;a href=&#34;https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-hostname-and-subdomain-fields&#34;&gt;&lt;code&gt;subdomain&lt;/code&gt; value to the &lt;code&gt;GameServer&lt;/code&gt; &lt;code&gt;PodTemplateSpec&lt;/code&gt;&lt;/a&gt;
to provide all the required details such that Kubernetes will create a DNS record for each Pod behind the Service.&lt;/p&gt;
&lt;p&gt;You are also responsible for setting the labels on the &lt;code&gt;GameServer.Spec.Template.Metadata&lt;/code&gt; to set the labels on the
created Pods and creating the Headless Service responsible for the network identity of the pods, Agones will not do
this for you, as a stable DNS record is not required for all use cases.&lt;/p&gt;
&lt;p&gt;To ensure that the &lt;code&gt;hostName&lt;/code&gt; value matches
&lt;a href=&#34;https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names&#34;&gt;RFC 1123&lt;/a&gt;, any &lt;code&gt;.&lt;/code&gt; values
in the &lt;code&gt;GameServer&lt;/code&gt; name are replaced by &lt;code&gt;-&lt;/code&gt; when setting the &lt;code&gt;hostName&lt;/code&gt; value.&lt;/p&gt;
&lt;h2 id=&#34;gameserver-state-diagram&#34;&gt;GameServer State Diagram&lt;/h2&gt;
&lt;p&gt;The following diagram shows the lifecycle of a &lt;code&gt;GameServer&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Game Servers are created through Kubernetes API (either directly or through a &lt;a href=&#34;/site/site/docs/reference/fleet/&#34;&gt;Fleet&lt;/a&gt;) and their state transitions are orchestrated by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GameServer controller, which allocates ports, launches Pods backing game servers and manages their lifetime&lt;/li&gt;
&lt;li&gt;Allocation controller, which marks game servers as &lt;code&gt;Allocated&lt;/code&gt; to handle a game session&lt;/li&gt;
&lt;li&gt;SDK, which manages health checking and shutdown of a game server session&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;../../../diagrams/gameserver-states.dot.png&#34; alt=&#34;GameServer State Diagram&#34;&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Fleet Specification</title>
      <link>/site/docs/reference/fleet/</link>
      <pubDate>Thu, 03 Jan 2019 03:58:52 +0000</pubDate>
      
      <guid>/site/docs/reference/fleet/</guid>
      <description>
        
        
        &lt;p&gt;To allocate a &lt;code&gt;GameServer&lt;/code&gt; from a &lt;code&gt;Fleet&lt;/code&gt;, use a &lt;code&gt;GameServerAllocation&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Like any other Kubernetes resource you describe a &lt;code&gt;Fleet&lt;/code&gt;&amp;rsquo;s desired state via a specification written in YAML or JSON to the Kubernetes API. The Agones controller will then change the actual state to the desired state.&lt;/p&gt;
&lt;p&gt;A full &lt;code&gt;Fleet&lt;/code&gt; specification is available below and in the 
&lt;a href=&#34;https://github.com/googleforgames/agones/blob/release-1.30.0/examples/fleet.yaml&#34; target=&#34;_blank&#34; data-proofer-ignore&gt;example folder&lt;/a&gt;
 for reference :&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;apiVersion&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;agones.dev/v1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;kind&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Fleet&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Fleet Metadata&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#objectmeta-v1-meta&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;metadata&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;fleet-example&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;spec&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# the number of GameServers to keep Ready or Allocated in this Fleet&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;replicas&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# defines how GameServers are organised across the cluster.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Options include:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# &amp;#34;Packed&amp;#34; (default) is aimed at dynamic Kubernetes clusters, such as cloud providers, wherein we want to bin pack&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# resources&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# &amp;#34;Distributed&amp;#34; is aimed at static Kubernetes clusters, wherein we want to distribute resources across the entire&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# cluster&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;scheduling&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Packed&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# a GameServer template - see:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# https://agones.dev/site/docs/reference/gameserver/ for all the options&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;strategy&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# The replacement strategy for when the GameServer template is changed. Default option is &amp;#34;RollingUpdate&amp;#34;,&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# &amp;#34;RollingUpdate&amp;#34; will increment by maxSurge value on each iteration, while decrementing by maxUnavailable on each&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# iteration, until all GameServers have been switched from one version to another.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# &amp;#34;Recreate&amp;#34; terminates all non-allocated GameServers, and starts up a new set with the new details to replace them.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;RollingUpdate&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Only relevant when `type: RollingUpdate`&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;rollingUpdate&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# the amount to increment the new GameServers by. Defaults to 25%&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;maxSurge&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;25&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;%&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# the amount to decrements GameServers by. Defaults to 25%&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;maxUnavailable&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;25&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;%&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;template&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# GameServer metadata&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;metadata&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;labels&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;foo&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;bar&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# GameServer specification&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;spec&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;ports&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;- &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;default&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;portPolicy&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Dynamic&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;containerPort&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;26000&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;health&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;initialDelaySeconds&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;30&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;periodSeconds&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;60&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Parameters for game server sidecar&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;sdkServer&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;logLevel&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Info&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;grpcPort&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;9357&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;httpPort&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;9358&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# The GameServer&amp;#39;s Pod template&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;template&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;spec&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;          &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;containers&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;          &lt;/span&gt;- &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;simple-game-server&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;            &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;image&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;us-docker.pkg.dev/agones-images/examples/simple-game-server:0.15&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Since Agones defines a new
&lt;a href=&#34;https://kubernetes.io/docs/concepts/api-extension/custom-resources/&#34;&gt;Custom Resources Definition (CRD)&lt;/a&gt;
we can define a new resource using the kind &lt;code&gt;Fleet&lt;/code&gt; with the custom group &lt;code&gt;agones.dev&lt;/code&gt; and API
version &lt;code&gt;v1&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;You can use the metadata field to target a specific
&lt;a href=&#34;https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/&#34;&gt;namespaces&lt;/a&gt; but also
attach specific &lt;a href=&#34;https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/&#34;&gt;annotations&lt;/a&gt;
and &lt;a href=&#34;https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/&#34;&gt;labels&lt;/a&gt; to your resource.
This is a very common pattern in the Kubernetes ecosystem.&lt;/p&gt;
&lt;p&gt;The length of the &lt;code&gt;name&lt;/code&gt; field of the fleet should be at most 63 characters.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;spec&lt;/code&gt; field is the actual &lt;code&gt;Fleet&lt;/code&gt; specification and it is composed as follow:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;replicas&lt;/code&gt; is the number of &lt;code&gt;GameServers&lt;/code&gt; to keep Ready or Allocated in this Fleet&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scheduling&lt;/code&gt; defines how GameServers are organised across the cluster. Affects backing Pod scheduling, as well as scale
down mechanics.
&amp;ldquo;Packed&amp;rdquo; (default) is aimed at dynamic Kubernetes clusters, such as cloud providers, wherein we want to bin pack
resources. &amp;ldquo;Distributed&amp;rdquo; is aimed at static Kubernetes clusters, wherein we want to distribute resources across the entire
cluster. See &lt;a href=&#34;/site/site/docs/advanced/scheduling-and-autoscaling/&#34;&gt;Scheduling and Autoscaling&lt;/a&gt; for more details.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;strategy&lt;/code&gt; is the &lt;code&gt;GameServer&lt;/code&gt; replacement strategy for when the &lt;code&gt;GameServer&lt;/code&gt; template is edited.
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;type&lt;/code&gt; is replacement strategy for when the GameServer template is changed. Default option is &amp;ldquo;RollingUpdate&amp;rdquo;, but &amp;ldquo;Recreate&amp;rdquo; is also available.
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;RollingUpdate&lt;/code&gt; will increment by &lt;code&gt;maxSurge&lt;/code&gt; value on each iteration, while decrementing by &lt;code&gt;maxUnavailable&lt;/code&gt; on each iteration, until all GameServers have been switched from one version to another.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Recreate&lt;/code&gt; terminates all non-allocated &lt;code&gt;GameServers&lt;/code&gt;, and starts up a new set with the new &lt;code&gt;GameServer&lt;/code&gt; configuration to replace them.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;rollingUpdate&lt;/code&gt; is only relevant when &lt;code&gt;type: RollingUpdate&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;maxSurge&lt;/code&gt; is the amount to increment the new GameServers by. Defaults to 25%&lt;/li&gt;
&lt;li&gt;&lt;code&gt;maxUnavailable&lt;/code&gt; is the amount to decrements GameServers by. Defaults to 25%&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;template&lt;/code&gt; a full &lt;code&gt;GameServer&lt;/code&gt; configuration template.
See the &lt;a href=&#34;/site/site/docs/reference/gameserver/&#34;&gt;GameServer&lt;/a&gt; reference for all available fields.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;fleet-scale-subresource-specification&#34;&gt;Fleet Scale Subresource Specification&lt;/h2&gt;
&lt;p&gt;Scale subresource is defined for a Fleet. Please refer to &lt;a href=&#34;https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/#subresources&#34;&gt;Kubernetes docs&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can use the following command to scale the fleet with name simple-game-server:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;kubectl scale fleet simple-game-server --replicas&lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;10&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;fleet.agones.dev/simple-game-server scaled
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You can also use &lt;a href=&#34;/site/site/docs/guides/access-api/&#34;&gt;Kubernetes API&lt;/a&gt; to get or update the Replicas count:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;curl http://localhost:8001/apis/agones.dev/v1/namespaces/default/fleets/simple-game-server/scale
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre&gt;&lt;code&gt;{
  &amp;quot;kind&amp;quot;: &amp;quot;Scale&amp;quot;,
  &amp;quot;apiVersion&amp;quot;: &amp;quot;autoscaling/v1&amp;quot;,
  &amp;quot;metadata&amp;quot;: {
    &amp;quot;name&amp;quot;: &amp;quot;simple-game-server&amp;quot;,
    &amp;quot;namespace&amp;quot;: &amp;quot;default&amp;quot;,
    &amp;quot;selfLink&amp;quot;: &amp;quot;/apis/agones.dev/v1/namespaces/default/fleets/simple-game-server/scale&amp;quot;,
    &amp;quot;uid&amp;quot;: &amp;quot;4dfaa310-2566-11e9-afd1-42010a8a0058&amp;quot;,
    &amp;quot;resourceVersion&amp;quot;: &amp;quot;292652&amp;quot;,
    &amp;quot;creationTimestamp&amp;quot;: &amp;quot;2019-01-31T14:41:33Z&amp;quot;
  },
  &amp;quot;spec&amp;quot;: {
    &amp;quot;replicas&amp;quot;: 10
  },
  &amp;quot;status&amp;quot;: {
    &amp;quot;replicas&amp;quot;: 10
  }
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Also exposing a Scale subresource would allow you to configure HorizontalPodAutoscaler and PodDisruptionBudget for a fleet in the future. However these features have not been tested, and are not currently supported - but if you are looking for these features, please be sure to let us know in the &lt;a href=&#34;https://github.com/googleforgames/agones/issues/553&#34;&gt;ticket&lt;/a&gt;.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: GameServerAllocation Specification</title>
      <link>/site/docs/reference/gameserverallocation/</link>
      <pubDate>Sun, 07 Jul 2019 03:58:52 +0000</pubDate>
      
      <guid>/site/docs/reference/gameserverallocation/</guid>
      <description>
        
        
        &lt;p&gt;A full &lt;code&gt;GameServerAllocation&lt;/code&gt; specification is available below and in the

&lt;a href=&#34;https://github.com/googleforgames/agones/blob/release-1.30.0//examples/gameserverallocation.yaml&#34; target=&#34;_blank&#34; data-proofer-ignore&gt;example folder&lt;/a&gt;
 for reference:&lt;/p&gt;

  
















  
















&lt;ul class=&#34;nav nav-tabs&#34; id=&#34;tabs-1&#34; role=&#34;tablist&#34;&gt;&lt;li class=&#34;nav-item&#34;&gt;
      &lt;a class=&#34;nav-link active&#34;
        id=&#34;tabs-1-0-tab&#34; data-toggle=&#34;tab&#34; href=&#34;#tabs-1-0&#34; role=&#34;tab&#34;
        aria-controls=&#34;tabs-1-0&#34; aria-selected=&#34;true&#34;&gt;
        selectors
      &lt;/a&gt;
    &lt;/li&gt;&lt;li class=&#34;nav-item&#34;&gt;
      &lt;a class=&#34;nav-link&#34;
        id=&#34;tabs-1-1-tab&#34; data-toggle=&#34;tab&#34; href=&#34;#tabs-1-1&#34; role=&#34;tab&#34;
        aria-controls=&#34;tabs-1-1&#34; aria-selected=&#34;false&#34;&gt;
        required &amp;amp; preferred (deprecated)
      &lt;/a&gt;
    &lt;/li&gt;&lt;/ul&gt;


&lt;div class=&#34;tab-content&#34; id=&#34;tabs-1-content&#34;&gt;&lt;div class=&#34;tab-pane fade show active&#34;
        id=&#34;tabs-1-0&#34; role=&#34;tabpanel&#34; aria-labelled-by=&#34;tabs-1-0-tab&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;apiVersion&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;allocation.agones.dev/v1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;kind&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;GameServerAllocation&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;spec&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# GameServer selector from which to choose GameServers from.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Defaults to all GameServers.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# matchLabels, matchExpressions, gameServerState and player filters can be used for filtering.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# See: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more details on label selectors.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# An ordered list of GameServer label selectors.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# If the first selector is not matched, the selection attempts the second selector, and so on.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# This is useful for things like smoke testing of new game servers.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;selectors&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;- &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;matchLabels&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;agones.dev/fleet&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;green-fleet&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# [Stage:Alpha]&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# [FeatureFlag:PlayerAllocationFilter]    &lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;players&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;minAvailable&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;maxAvailable&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;99&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;- &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;matchLabels&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;agones.dev/fleet&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;blue-fleet&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;- &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;matchLabels&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;game&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;my-game&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;matchExpressions&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;- {&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;key: tier, operator: In, values&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;cache]}&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# [Stage:Beta]&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# [FeatureFlag:StateAllocationFilter]&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Specifies which State is the filter to be used when attempting to retrieve a GameServer&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# via Allocation. Defaults to &amp;#34;Ready&amp;#34;. The only other option is &amp;#34;Allocated&amp;#34;, which can be used in conjunction with&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# label/annotation/player selectors to retrieve an already Allocated GameServer.    &lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;gameServerState&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Ready&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# [Stage:Alpha]&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# [FeatureFlag:PlayerAllocationFilter]&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Provides a filter on minimum and maximum values for player capacity when retrieving a GameServer&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# through Allocation. Defaults to no limits.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;players&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;minAvailable&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;maxAvailable&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;99&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# defines how GameServers are organised across the cluster.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Options include:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# &amp;#34;Packed&amp;#34; (default) is aimed at dynamic Kubernetes clusters, such as cloud providers, wherein we want to bin pack&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# resources&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# &amp;#34;Distributed&amp;#34; is aimed at static Kubernetes clusters, wherein we want to distribute resources across the entire&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# cluster&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;scheduling&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Packed&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Optional custom metadata that is added to the game server at allocation&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# You can use this to tell the server necessary session data&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;metadata&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;labels&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;mode&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;deathmatch&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;annotations&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;map&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;garden22&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
  &lt;div class=&#34;tab-pane fade&#34;
        id=&#34;tabs-1-1&#34; role=&#34;tabpanel&#34; aria-labelled-by=&#34;tabs-1-1-tab&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;apiVersion&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;allocation.agones.dev/v1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;kind&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;GameServerAllocation&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;spec&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Deprecated, use field selectors instead.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# GameServer selector from which to choose GameServers from.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Defaults to all GameServers.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# matchLabels, matchExpressions, gameServerState and player filters can be used for filtering.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# See: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more details on label selectors.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Deprecated, use field selectors instead.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;required&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;matchLabels&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;game&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;my-game&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;matchExpressions&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;- {&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;key: tier, operator: In, values&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;cache]}&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# [Stage:Beta]&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# [FeatureFlag:StateAllocationFilter]&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Specifies which State is the filter to be used when attempting to retrieve a GameServer&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# via Allocation. Defaults to &amp;#34;Ready&amp;#34;. The only other option is &amp;#34;Allocated&amp;#34;, which can be used in conjunction with&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# label/annotation/player selectors to retrieve an already Allocated GameServer.    &lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;gameServerState&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Ready&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# [Stage:Alpha]&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# [FeatureFlag:PlayerAllocationFilter]&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Provides a filter on minimum and maximum values for player capacity when retrieving a GameServer&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# through Allocation. Defaults to no limits.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;players&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;minAvailable&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;maxAvailable&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;99&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Deprecated, use field selectors instead.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# An ordered list of preferred GameServer label selectors&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# that are optional to be fulfilled, but will be searched before the `required` selector.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# If the first selector is not matched, the selection attempts the second selector, and so on.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# If any of the preferred selectors are matched, the required selector is not considered.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# This is useful for things like smoke testing of new game servers.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# This also support matchExpressions, gameServerState and player filters.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;preferred&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;- &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;matchLabels&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;agones.dev/fleet&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;green-fleet&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# [Stage:Alpha]&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# [FeatureFlag:PlayerAllocationFilter]    &lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;players&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;minAvailable&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;0&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;maxAvailable&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;99&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;- &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;matchLabels&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;agones.dev/fleet&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;blue-fleet&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# defines how GameServers are organised across the cluster.&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Options include:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# &amp;#34;Packed&amp;#34; (default) is aimed at dynamic Kubernetes clusters, such as cloud providers, wherein we want to bin pack&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# resources&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# &amp;#34;Distributed&amp;#34; is aimed at static Kubernetes clusters, wherein we want to distribute resources across the entire&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# cluster&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;scheduling&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Packed&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Optional custom metadata that is added to the game server at allocation&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# You can use this to tell the server necessary session data&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;metadata&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;labels&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;mode&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;deathmatch&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;annotations&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;map&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;garden22&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
  
&lt;/div&gt;

&lt;p&gt;The &lt;code&gt;spec&lt;/code&gt; field is the actual &lt;code&gt;GameServerAllocation&lt;/code&gt; specification, and it is composed as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Deprecated, use &lt;code&gt;selectors&lt;/code&gt; instead. If &lt;code&gt;selectors&lt;/code&gt; is set, this field will be ignored.
&lt;code&gt;required&lt;/code&gt; is a &lt;a href=&#34;/site/site/docs/reference/agones_crd_api_reference/#allocation.agones.dev/v1.GameServerSelector&#34;&gt;GameServerSelector&lt;/a&gt;
(matchLabels. matchExpressions, gameServerState and player filters) from which to choose GameServers from.&lt;/li&gt;
&lt;li&gt;Deprecated, use &lt;code&gt;selectors&lt;/code&gt; instead. If &lt;code&gt;selectors&lt;/code&gt; is set, this field will be ignored.
&lt;code&gt;preferred&lt;/code&gt; is an ordered list of preferred &lt;a href=&#34;/site/site/docs/reference/agones_crd_api_reference/#allocation.agones.dev/v1.GameServerSelector&#34;&gt;GameServerSelector&lt;/a&gt;
that are &lt;em&gt;optional&lt;/em&gt; to be fulfilled, but will be searched before the &lt;code&gt;required&lt;/code&gt; selector.
If the first selector is not matched, the selection attempts the second selector, and so on.
If any of the &lt;code&gt;preferred&lt;/code&gt; selectors are matched, the &lt;code&gt;required&lt;/code&gt; selector is not considered.
This is useful for things like smoke testing of new game servers.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;selectors&lt;/code&gt; is an ordered list of &lt;a href=&#34;/site/site/docs/reference/agones_crd_api_reference/#allocation.agones.dev/v1.GameServerSelector&#34;&gt;GameServerSelector&lt;/a&gt;.
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.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;scheduling&lt;/code&gt; defines how GameServers are organised across the cluster, in this case specifically when allocating
&lt;code&gt;GameServers&lt;/code&gt; for usage.
&amp;ldquo;Packed&amp;rdquo; (default) is aimed at dynamic Kubernetes clusters, such as cloud providers, wherein we want to bin pack
resources. &amp;ldquo;Distributed&amp;rdquo; is aimed at static Kubernetes clusters, wherein we want to distribute resources across the entire
cluster. See &lt;a href=&#34;/site/site/docs/advanced/scheduling-and-autoscaling/&#34;&gt;Scheduling and Autoscaling&lt;/a&gt; for more details.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;metadata&lt;/code&gt; is an optional list of custom labels and/or annotations that will be used to patch
the game server&amp;rsquo;s metadata in the moment of allocation. This can be used to tell the server necessary session data&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&#34;alert alert-info&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;alert-heading&#34;&gt;Info&lt;/h4&gt;

    &lt;p&gt;For performance reasons, the query cache for a &lt;code&gt;GameServerAllocation&lt;/code&gt; is &lt;em&gt;eventually consistent&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Usually, the cache is populated practically immediately on &lt;code&gt;GameServer&lt;/code&gt; change, but under high load of the Kubernetes
control plane, it may take some time for updates to &lt;code&gt;GameServer&lt;/code&gt; selectable features to be populated into the cache
(although this doesn&amp;rsquo;t affect the atomicity of the Allocation operation).&lt;/p&gt;
&lt;p&gt;While Agones will do a small series of retries when an allocatable &lt;code&gt;GameServer&lt;/code&gt; is not available in its cache,
depending on your game requirements, it may be worth implementing your own more extend retry mechanism for
Allocation requests for high load scenarios.&lt;/p&gt;


&lt;/div&gt;

&lt;p&gt;Each &lt;code&gt;GameServerAllocation&lt;/code&gt; will allocate from a single &lt;a href=&#34;https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces&#34;&gt;namespace&lt;/a&gt;. The namespace can be specified outside of
the spec, either with the &lt;code&gt;--namespace&lt;/code&gt; flag when using the command line / &lt;code&gt;kubectl&lt;/code&gt; or
&lt;a href=&#34;/site/site/docs/guides/access-api/#allocate-a-gameserver-from-a-fleet-named-simple-game-server-with-gameserverallocation&#34;&gt;in the url&lt;/a&gt;
when using an API call. If not specified when using the command line, the &lt;a href=&#34;https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces&#34;&gt;namespace&lt;/a&gt; will be automatically set to &lt;code&gt;default&lt;/code&gt;.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Fleet Autoscaler Specification</title>
      <link>/site/docs/reference/fleetautoscaler/</link>
      <pubDate>Thu, 03 Jan 2019 03:58:55 +0000</pubDate>
      
      <guid>/site/docs/reference/fleetautoscaler/</guid>
      <description>
        
        
        &lt;p&gt;A full &lt;code&gt;FleetAutoscaler&lt;/code&gt; specification is available below and in the

&lt;a href=&#34;https://github.com/googleforgames/agones/blob/release-1.30.0/examples/fleetautoscaler.yaml&#34; target=&#34;_blank&#34; data-proofer-ignore&gt;example folder&lt;/a&gt;
 for reference :&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;apiVersion&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;autoscaling.agones.dev/v1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;kind&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;FleetAutoscaler&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# FleetAutoscaler Metadata&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#objectmeta-v1-meta&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;metadata&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;fleet-autoscaler-example&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;spec&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# The name of the fleet to attach to and control. Must be an existing Fleet in the same namespace&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# as this FleetAutoscaler&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;fleetName&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;fleet-example&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# The autoscaling policy&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;policy&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# type of the policy. for now, only Buffer is available&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Buffer&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# parameters of the buffer policy&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;buffer&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# Size of a buffer of &amp;#34;ready&amp;#34; game server instances&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# The FleetAutoscaler will scale the fleet up and down trying to maintain this buffer, &lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# as instances are being allocated or terminated&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# it can be specified either in absolute (i.e. 5) or percentage format (i.e. 5%)&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;bufferSize&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;5&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# minimum fleet size to be set by this FleetAutoscaler. &lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# if not specified, the actual minimum fleet size will be bufferSize&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;minReplicas&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;10&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# maximum fleet size that can be set by this FleetAutoscaler&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# required&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;maxReplicas&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;20&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# [Stage:Beta]&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# [FeatureFlag:CustomFasSyncInterval]&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# The autoscaling sync strategy&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;sync&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# type of the sync. for now, only FixedInterval is available&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;FixedInterval&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# parameters of the fixedInterval sync&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;fixedInterval&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# the time in seconds between each auto scaling&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;seconds&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;30&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Or for Webhook FleetAutoscaler below and in 
&lt;a href=&#34;https://github.com/googleforgames/agones/blob/release-1.30.0/examples/webhookfleetautoscaler.yaml&#34; target=&#34;_blank&#34; data-proofer-ignore&gt;example folder&lt;/a&gt;
:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;apiVersion&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#4e9a06&#34;&gt;&amp;#34;autoscaling.agones.dev/v1&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;kind&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;FleetAutoscaler&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;metadata&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;webhook-fleet-autoscaler&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;spec&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;fleetName&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;simple-game-server&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;policy&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# type of the policy - this example is Webhook&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Webhook&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# parameters for the webhook policy - this is a WebhookClientConfig, as per other K8s webhooks&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;webhook&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# use a service, or URL&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;service&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;autoscaler-webhook-service&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;namespace&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;default&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;        &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;path&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;scale&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# optional for URL defined webhooks&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# url: &amp;#34;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# caBundle:  optional, used for HTTPS webhook type&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# The autoscaling sync strategy&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;sync&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# type of the sync. for now, only FixedInterval is available&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;FixedInterval&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# parameters of the fixedInterval sync&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;fixedInterval&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;# the time in seconds between each auto scaling&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;seconds&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#0000cf;font-weight:bold&#34;&gt;30&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Since Agones defines a new
&lt;a href=&#34;https://kubernetes.io/docs/concepts/api-extension/custom-resources/&#34;&gt;Custom Resources Definition (CRD)&lt;/a&gt;
we can define a new resource using the kind &lt;code&gt;FleetAutoscaler&lt;/code&gt; with the custom group &lt;code&gt;autoscaling.agones.dev&lt;/code&gt;
and API version &lt;code&gt;v1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;spec&lt;/code&gt; field is the actual &lt;code&gt;FleetAutoscaler&lt;/code&gt; specification and it is composed as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;fleetName&lt;/code&gt; is name of the fleet to attach to and control. Must be an existing &lt;code&gt;Fleet&lt;/code&gt; in the same namespace
as this &lt;code&gt;FleetAutoscaler&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;policy&lt;/code&gt; is the autoscaling policy
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;type&lt;/code&gt; is type of the policy. &amp;ldquo;Buffer&amp;rdquo; and &amp;ldquo;Webhook&amp;rdquo; are available&lt;/li&gt;
&lt;li&gt;&lt;code&gt;buffer&lt;/code&gt; parameters of the buffer policy type
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;bufferSize&lt;/code&gt;  is the size of a buffer of &amp;ldquo;ready&amp;rdquo; and &amp;ldquo;reserved&amp;rdquo; game server instances.
The FleetAutoscaler will scale the fleet up and down trying to maintain this buffer,
as instances are being allocated or terminated.
Note that &amp;ldquo;reserved&amp;rdquo; game servers could not be scaled down.
It can be specified either in absolute (i.e. 5) or percentage format (i.e. 5%)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;minReplicas&lt;/code&gt; is the minimum fleet size to be set by this FleetAutoscaler.
if not specified, the minimum fleet size will be bufferSize if absolute value is used.
When &lt;code&gt;bufferSize&lt;/code&gt; in percentage format is used, &lt;code&gt;minReplicas&lt;/code&gt; should be more than 0.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;maxReplicas&lt;/code&gt; is the maximum fleet size that can be set by this FleetAutoscaler. Required.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;webhook&lt;/code&gt; parameters of the webhook policy type
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;service&lt;/code&gt; is a reference to the service for this webhook. Either &lt;code&gt;service&lt;/code&gt; or &lt;code&gt;url&lt;/code&gt; must be specified. If the webhook is running within the cluster, then you should use &lt;code&gt;service&lt;/code&gt;. Port 8000 will be used if it is open, otherwise it is an error.
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;name&lt;/code&gt;  is the service name bound to Deployment of autoscaler webhook. Required 
&lt;a href=&#34;https://github.com/googleforgames/agones/blob/release-1.30.0/examples/autoscaler-webhook/autoscaler-service.yaml&#34; target=&#34;_blank&#34; data-proofer-ignore&gt;(see example)&lt;/a&gt;

The FleetAutoscaler will scale the fleet up and down based on the response from this webhook server&lt;/li&gt;
&lt;li&gt;&lt;code&gt;namespace&lt;/code&gt; is the kubernetes namespace where webhook is deployed. Optional
If not specified, the &amp;ldquo;default&amp;rdquo; would be used&lt;/li&gt;
&lt;li&gt;&lt;code&gt;path&lt;/code&gt; is an optional URL path which will be sent in any request to this service. (i. e. /scale)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;port&lt;/code&gt; is optional, it is the port for the service which is hosting the webhook. The default is 8000 for backward compatibility. If given, it should be a valid port number (1-65535, inclusive).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;url&lt;/code&gt; gives the location of the webhook, in standard URL form (&lt;code&gt;[scheme://]host:port/path&lt;/code&gt;). Exactly one of &lt;code&gt;url&lt;/code&gt; or &lt;code&gt;service&lt;/code&gt; must be specified. The &lt;code&gt;host&lt;/code&gt; should not refer to a service running in the cluster; use the &lt;code&gt;service&lt;/code&gt; field instead.  (optional, instead of service)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;caBundle&lt;/code&gt; is a PEM encoded certificate authority bundle which is used to issue and then validate the webhook&amp;rsquo;s server certificate. Base64 encoded PEM string. Required only for HTTPS. If not present HTTP client would be used.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Note: only one &lt;code&gt;buffer&lt;/code&gt; or &lt;code&gt;webhook&lt;/code&gt; could be defined for FleetAutoscaler which is based on the &lt;code&gt;type&lt;/code&gt; field.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sync&lt;/code&gt; is autoscaling sync strategy. It defines when to run the autoscaling
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;type&lt;/code&gt; is type of the sync. For now only &amp;ldquo;FixedInterval&amp;rdquo; is available&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fixedInterval&lt;/code&gt; parameters of the fixedInterval sync
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;seconds&lt;/code&gt; is the time in seconds between each auto scaling&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;webhook-endpoint-specification&#34;&gt;Webhook Endpoint Specification&lt;/h1&gt;
&lt;p&gt;Webhook endpoint is used to delegate the scaling logic to a separate pod or server.&lt;/p&gt;
&lt;p&gt;FleetAutoscaler would send a request to the webhook endpoint every sync period (which is currently 30s) with a JSON body, and scale the target fleet based on the data that is returned.
JSON payload with a FleetAutoscaleReview data structure would be sent to webhook endpoint and received from it with FleetAutoscaleResponse field populated. FleetAutoscaleResponse contains target Replica count which would trigger scaling of the fleet according to it.&lt;/p&gt;
&lt;p&gt;In order to define the path to your Webhook you can use either &lt;code&gt;URL&lt;/code&gt; or &lt;code&gt;service&lt;/code&gt;. Note that &lt;code&gt;caBundle&lt;/code&gt; parameter is required if you use HTTPS for webhook fleetautoscaler, &lt;code&gt;caBundle&lt;/code&gt; should be omitted if you want to use HTTP webhook server.&lt;/p&gt;
&lt;p&gt;The connection to this webhook endpoint should be defined in &lt;code&gt;FleetAutoscaler&lt;/code&gt; using Webhook policy type.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// FleetAutoscaleReview is passed to the webhook with a populated Request value,
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// and then returned with a populated Response.
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;type&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;FleetAutoscaleReview&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;struct&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
	&lt;span style=&#34;color:#000&#34;&gt;Request&lt;/span&gt;  &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;FleetAutoscaleRequest&lt;/span&gt;  &lt;span style=&#34;color:#4e9a06&#34;&gt;`json:&amp;#34;request&amp;#34;`&lt;/span&gt;
	&lt;span style=&#34;color:#000&#34;&gt;Response&lt;/span&gt; &lt;span style=&#34;color:#ce5c00;font-weight:bold&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;FleetAutoscaleResponse&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;`json:&amp;#34;response&amp;#34;`&lt;/span&gt;
&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;

&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;type&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;FleetAutoscaleRequest&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;struct&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
	&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// UID is an identifier for the individual request/response. It allows us to distinguish instances of requests which are
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// otherwise identical (parallel requests, requests when earlier requests did not modify etc)
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// The UID is meant to track the round trip (request/response) between the Autoscaler and the WebHook, not the user request.
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging.
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#000&#34;&gt;UID&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;types&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;UID&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;`json:&amp;#34;uid&amp;#34;&amp;#34;`&lt;/span&gt;
	&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// Name is the name of the Fleet being scaled
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#000&#34;&gt;Name&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;string&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;`json:&amp;#34;name&amp;#34;`&lt;/span&gt;
	&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// Namespace is the namespace associated with the request (if any).
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#000&#34;&gt;Namespace&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;string&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;`json:&amp;#34;namespace&amp;#34;`&lt;/span&gt;
	&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// The Fleet&amp;#39;s status values
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#000&#34;&gt;Status&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;v1&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;FleetStatus&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;`json:&amp;#34;status&amp;#34;`&lt;/span&gt;
&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;

&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;type&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;FleetAutoscaleResponse&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;struct&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
	&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// UID is an identifier for the individual request/response.
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// This should be copied over from the corresponding FleetAutoscaleRequest.
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#000&#34;&gt;UID&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;types&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;UID&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;`json:&amp;#34;uid&amp;#34;`&lt;/span&gt;
	&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// Set to false if no scaling should occur to the Fleet
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#000&#34;&gt;Scale&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;bool&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;`json:&amp;#34;scale&amp;#34;`&lt;/span&gt;
	&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// The targeted replica count
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#000&#34;&gt;Replicas&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;int32&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;`json:&amp;#34;replicas&amp;#34;`&lt;/span&gt;
&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;

&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// FleetStatus is the status of a Fleet
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;type&lt;/span&gt; &lt;span style=&#34;color:#000&#34;&gt;FleetStatus&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;struct&lt;/span&gt; &lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;{&lt;/span&gt;
	&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// Replicas the total number of current GameServer replicas
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#000&#34;&gt;Replicas&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;int32&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;`json:&amp;#34;replicas&amp;#34;`&lt;/span&gt;
	&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// ReadyReplicas are the number of Ready GameServer replicas
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#000&#34;&gt;ReadyReplicas&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;int32&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;`json:&amp;#34;readyReplicas&amp;#34;`&lt;/span&gt;
	&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// ReservedReplicas are the total number of Reserved GameServer replicas in this fleet.
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// Reserved instances won&amp;#39;t be deleted on scale down, but won&amp;#39;t cause an autoscaler to scale up.
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#000&#34;&gt;ReservedReplicas&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;int32&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;`json:&amp;#34;reservedReplicas&amp;#34;`&lt;/span&gt;
	&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;// AllocatedReplicas are the number of Allocated GameServer replicas
&lt;/span&gt;&lt;span style=&#34;color:#8f5902;font-style:italic&#34;&gt;&lt;/span&gt;	&lt;span style=&#34;color:#000&#34;&gt;AllocatedReplicas&lt;/span&gt; &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;int32&lt;/span&gt; &lt;span style=&#34;color:#4e9a06&#34;&gt;`json:&amp;#34;allocatedReplicas&amp;#34;`&lt;/span&gt;
&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For Webhook Fleetautoscaler Policy either HTTP or HTTPS could be used. Switching between them occurs depending on https presence in &lt;code&gt;URL&lt;/code&gt; or by the presence of &lt;code&gt;caBundle&lt;/code&gt;.
The example of the webhook written in Go could be found 
&lt;a href=&#34;https://github.com/googleforgames/agones/blob/release-1.30.0/examples/autoscaler-webhook/main.go&#34; target=&#34;_blank&#34; data-proofer-ignore&gt;here&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;It implements the 
&lt;a href=&#34;https://github.com/googleforgames/agones/blob/release-1.30.0/examples/autoscaler-webhook/&#34; target=&#34;_blank&#34; data-proofer-ignore&gt;scaling logic&lt;/a&gt;
 based on the percentage of allocated gameservers in a fleet.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Agones Kubernetes API</title>
      <link>/site/docs/reference/agones_crd_api_reference/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/site/docs/reference/agones_crd_api_reference/</guid>
      <description>
        
        
        


&lt;p&gt;Packages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href=&#34;#agones.dev%2fv1&#34;&gt;agones.dev/v1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;#allocation.agones.dev%2fv1&#34;&gt;allocation.agones.dev/v1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;#autoscaling.agones.dev%2fv1&#34;&gt;autoscaling.agones.dev/v1&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;#multicluster.agones.dev%2fv1&#34;&gt;multicluster.agones.dev/v1&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;agones.dev/v1&#34;&gt;agones.dev/v1&lt;/h2&gt;
&lt;p&gt;
&lt;p&gt;Package v1 is the v1 version of the API.&lt;/p&gt;
&lt;/p&gt;
Resource Types:
&lt;ul&gt;&lt;li&gt;
&lt;a href=&#34;#agones.dev/v1.Fleet&#34;&gt;Fleet&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;
&lt;a href=&#34;#agones.dev/v1.GameServer&#34;&gt;GameServer&lt;/a&gt;
&lt;/li&gt;&lt;li&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerSet&#34;&gt;GameServerSet&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;h3 id=&#34;agones.dev/v1.Fleet&#34;&gt;Fleet
&lt;/h3&gt;
&lt;p&gt;
&lt;p&gt;Fleet is the data structure for a Fleet resource&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;apiVersion&lt;/code&gt;&lt;/br&gt;
string&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;
agones.dev/v1
&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;kind&lt;/code&gt;&lt;/br&gt;
string
&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Fleet&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;metadata&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#objectmeta-v1-meta&#34;&gt;
Kubernetes meta/v1.ObjectMeta
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
Refer to the Kubernetes API documentation for the fields of the
&lt;code&gt;metadata&lt;/code&gt; field.
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;spec&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.FleetSpec&#34;&gt;
FleetSpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;replicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Replicas are the number of GameServers that should be in this set. Defaults to 0.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;allocationOverflow&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.AllocationOverflow&#34;&gt;
AllocationOverflow
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;[Stage: Alpha]
[FeatureFlag:FleetAllocationOverflow]
Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below
the desired replicas on the underlying &lt;code&gt;GameServerSet&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;strategy&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#deploymentstrategy-v1-apps&#34;&gt;
Kubernetes apps/v1.DeploymentStrategy
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Deployment strategy&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;scheduling&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
agones.dev/agones/pkg/apis.SchedulingStrategy
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Scheduling strategy. Defaults to &amp;ldquo;Packed&amp;rdquo;.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;template&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerTemplateSpec&#34;&gt;
GameServerTemplateSpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Template the GameServer template to apply for this Fleet&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;status&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.FleetStatus&#34;&gt;
FleetStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.GameServer&#34;&gt;GameServer
&lt;/h3&gt;
&lt;p&gt;
&lt;p&gt;GameServer is the data structure for a GameServer resource.
It is worth noting that while there is a &lt;code&gt;GameServerStatus&lt;/code&gt; Status entry for the &lt;code&gt;GameServer&lt;/code&gt;, it is not
defined as a subresource - unlike &lt;code&gt;Fleet&lt;/code&gt; and other Agones resources.
This is so that we can retain the ability to change multiple aspects of a &lt;code&gt;GameServer&lt;/code&gt; in a single atomic operation,
which is particularly useful for operations such as allocation.&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;apiVersion&lt;/code&gt;&lt;/br&gt;
string&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;
agones.dev/v1
&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;kind&lt;/code&gt;&lt;/br&gt;
string
&lt;/td&gt;
&lt;td&gt;&lt;code&gt;GameServer&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;metadata&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#objectmeta-v1-meta&#34;&gt;
Kubernetes meta/v1.ObjectMeta
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
Refer to the Kubernetes API documentation for the fields of the
&lt;code&gt;metadata&lt;/code&gt; field.
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;spec&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerSpec&#34;&gt;
GameServerSpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;container&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Container specifies which Pod container is the game server. Only required if there is more than one
container defined&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;ports&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerPort&#34;&gt;
[]GameServerPort
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Ports are the array of ports that can be exposed via the game server&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;health&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.Health&#34;&gt;
Health
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Health configures health checking&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;scheduling&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
agones.dev/agones/pkg/apis.SchedulingStrategy
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Scheduling strategy. Defaults to &amp;ldquo;Packed&amp;rdquo;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;sdkServer&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.SdkServer&#34;&gt;
SdkServer
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;SdkServer specifies parameters for the Agones SDK Server sidecar container&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;template&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#podtemplatespec-v1-core&#34;&gt;
Kubernetes core/v1.PodTemplateSpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Template describes the Pod that will be created for the GameServer&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;players&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.PlayersSpec&#34;&gt;
PlayersSpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;counters&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.CounterStatus&#34;&gt;
map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;(Alpha, CountsAndLists feature flag) Counters and Lists provides the configuration for generic tracking features.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;lists&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.ListStatus&#34;&gt;
map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;eviction&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.Eviction&#34;&gt;
Eviction
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;(Alpha, SafeToEvict feature flag) Eviction specifies the eviction tolerance of the GameServer. Defaults to &amp;ldquo;Never&amp;rdquo;.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;status&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerStatus&#34;&gt;
GameServerStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.GameServerSet&#34;&gt;GameServerSet
&lt;/h3&gt;
&lt;p&gt;
&lt;p&gt;GameServerSet is the data structure for a set of GameServers.
This matches philosophically with the relationship between
Deployments and ReplicaSets&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;apiVersion&lt;/code&gt;&lt;/br&gt;
string&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;
agones.dev/v1
&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;kind&lt;/code&gt;&lt;/br&gt;
string
&lt;/td&gt;
&lt;td&gt;&lt;code&gt;GameServerSet&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;metadata&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#objectmeta-v1-meta&#34;&gt;
Kubernetes meta/v1.ObjectMeta
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
Refer to the Kubernetes API documentation for the fields of the
&lt;code&gt;metadata&lt;/code&gt; field.
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;spec&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerSetSpec&#34;&gt;
GameServerSetSpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;replicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Replicas are the number of GameServers that should be in this set&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;allocationOverflow&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.AllocationOverflow&#34;&gt;
AllocationOverflow
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;[Stage: Alpha]
[FeatureFlag:FleetAllocationOverflow]
Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below
the desired replicas on the underlying &lt;code&gt;GameServerSet&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;scheduling&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
agones.dev/agones/pkg/apis.SchedulingStrategy
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Scheduling strategy. Defaults to &amp;ldquo;Packed&amp;rdquo;.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;template&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerTemplateSpec&#34;&gt;
GameServerTemplateSpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Template the GameServer template to apply for this GameServerSet&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;status&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerSetStatus&#34;&gt;
GameServerSetStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.AggregatedPlayerStatus&#34;&gt;AggregatedPlayerStatus
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.FleetStatus&#34;&gt;FleetStatus&lt;/a&gt;, 
&lt;a href=&#34;#agones.dev/v1.GameServerSetStatus&#34;&gt;GameServerSetStatus&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;AggregatedPlayerStatus stores total player tracking values&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;count&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int64
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;capacity&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int64
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.AllocationOverflow&#34;&gt;AllocationOverflow
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.FleetSpec&#34;&gt;FleetSpec&lt;/a&gt;, 
&lt;a href=&#34;#agones.dev/v1.GameServerSetSpec&#34;&gt;GameServerSetSpec&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;AllocationOverflow specifies what labels and/or annotations to apply on Allocated GameServers
if the desired number of the underlying &lt;code&gt;GameServerSet&lt;/code&gt; drops below the number of Allocated GameServers
attached to it.&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;labels&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
map[string]string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;Labels to be applied to the &lt;code&gt;GameServer&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;annotations&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
map[string]string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;Annotations to be applied to the &lt;code&gt;GameServer&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.CounterStatus&#34;&gt;CounterStatus
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerSpec&#34;&gt;GameServerSpec&lt;/a&gt;, 
&lt;a href=&#34;#agones.dev/v1.GameServerStatus&#34;&gt;GameServerStatus&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;CounterStatus stores the current counter values&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;count&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int64
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;capacity&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int64
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.Eviction&#34;&gt;Eviction
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerSpec&#34;&gt;GameServerSpec&lt;/a&gt;, 
&lt;a href=&#34;#agones.dev/v1.GameServerStatus&#34;&gt;GameServerStatus&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;Eviction specifies the eviction tolerance of the GameServer&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;safe&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.EvictionSafe&#34;&gt;
EvictionSafe
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;(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&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.EvictionSafe&#34;&gt;EvictionSafe
(&lt;code&gt;string&lt;/code&gt; alias)&lt;/p&gt;&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.Eviction&#34;&gt;Eviction&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;EvictionSafe specified whether the game server supports termination via SIGTERM&lt;/p&gt;
&lt;/p&gt;
&lt;h3 id=&#34;agones.dev/v1.FleetSpec&#34;&gt;FleetSpec
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.Fleet&#34;&gt;Fleet&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;FleetSpec is the spec for a Fleet&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;replicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Replicas are the number of GameServers that should be in this set. Defaults to 0.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;allocationOverflow&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.AllocationOverflow&#34;&gt;
AllocationOverflow
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;[Stage: Alpha]
[FeatureFlag:FleetAllocationOverflow]
Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below
the desired replicas on the underlying &lt;code&gt;GameServerSet&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;strategy&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#deploymentstrategy-v1-apps&#34;&gt;
Kubernetes apps/v1.DeploymentStrategy
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Deployment strategy&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;scheduling&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
agones.dev/agones/pkg/apis.SchedulingStrategy
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Scheduling strategy. Defaults to &amp;ldquo;Packed&amp;rdquo;.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;template&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerTemplateSpec&#34;&gt;
GameServerTemplateSpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Template the GameServer template to apply for this Fleet&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.FleetStatus&#34;&gt;FleetStatus
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.Fleet&#34;&gt;Fleet&lt;/a&gt;, 
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscaleRequest&#34;&gt;FleetAutoscaleRequest&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;FleetStatus is the status of a Fleet&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;replicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Replicas the total number of current GameServer replicas&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;readyReplicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;ReadyReplicas are the number of Ready GameServer replicas&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;reservedReplicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;ReservedReplicas are the total number of Reserved GameServer replicas in this fleet.
Reserved instances won&amp;rsquo;t be deleted on scale down, but won&amp;rsquo;t cause an autoscaler to scale up.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;allocatedReplicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;AllocatedReplicas are the number of Allocated GameServer replicas&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;players&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.AggregatedPlayerStatus&#34;&gt;
AggregatedPlayerStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;[Stage:Alpha]
[FeatureFlag:PlayerTracking]
Players are the current total player capacity and count for this Fleet&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.GameServerPort&#34;&gt;GameServerPort
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerSpec&#34;&gt;GameServerSpec&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;GameServerPort defines a set of Ports that
are to be exposed via the GameServer&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;name&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Name is the descriptive name of the port&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;portPolicy&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.PortPolicy&#34;&gt;
PortPolicy
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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 &lt;code&gt;Static&lt;/code&gt; portPolicy is specified, &lt;code&gt;HostPort&lt;/code&gt; is required, to specify the port that game clients will
connect to&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;container&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;Container is the name of the container on which to open the port. Defaults to the game server container.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;containerPort&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;ContainerPort is the port that is being opened on the specified container&amp;rsquo;s process&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;hostPort&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;HostPort the port exposed on the host for clients to connect to&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;protocol&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#protocol-v1-core&#34;&gt;
Kubernetes core/v1.Protocol
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Protocol is the network protocol being used. Defaults to UDP. TCP and TCPUDP are other options.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.GameServerSetSpec&#34;&gt;GameServerSetSpec
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerSet&#34;&gt;GameServerSet&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;GameServerSetSpec the specification for GameServerSet&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;replicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Replicas are the number of GameServers that should be in this set&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;allocationOverflow&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.AllocationOverflow&#34;&gt;
AllocationOverflow
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;[Stage: Alpha]
[FeatureFlag:FleetAllocationOverflow]
Labels and Annotations to apply to GameServers when the number of Allocated GameServers drops below
the desired replicas on the underlying &lt;code&gt;GameServerSet&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;scheduling&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
agones.dev/agones/pkg/apis.SchedulingStrategy
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Scheduling strategy. Defaults to &amp;ldquo;Packed&amp;rdquo;.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;template&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerTemplateSpec&#34;&gt;
GameServerTemplateSpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Template the GameServer template to apply for this GameServerSet&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.GameServerSetStatus&#34;&gt;GameServerSetStatus
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerSet&#34;&gt;GameServerSet&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;GameServerSetStatus is the status of a GameServerSet&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;replicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Replicas is the total number of current GameServer replicas&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;readyReplicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;ReadyReplicas is the number of Ready GameServer replicas&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;reservedReplicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;ReservedReplicas is the number of Reserved GameServer replicas&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;allocatedReplicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;AllocatedReplicas is the number of Allocated GameServer replicas&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;shutdownReplicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;ShutdownReplicas is the number of Shutdown GameServers replicas&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;players&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.AggregatedPlayerStatus&#34;&gt;
AggregatedPlayerStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;[Stage:Alpha]
[FeatureFlag:PlayerTracking]
Players is the current total player capacity and count for this GameServerSet&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.GameServerSpec&#34;&gt;GameServerSpec
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServer&#34;&gt;GameServer&lt;/a&gt;, 
&lt;a href=&#34;#agones.dev/v1.GameServerTemplateSpec&#34;&gt;GameServerTemplateSpec&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;GameServerSpec is the spec for a GameServer resource&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;container&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Container specifies which Pod container is the game server. Only required if there is more than one
container defined&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;ports&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerPort&#34;&gt;
[]GameServerPort
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Ports are the array of ports that can be exposed via the game server&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;health&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.Health&#34;&gt;
Health
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Health configures health checking&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;scheduling&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
agones.dev/agones/pkg/apis.SchedulingStrategy
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Scheduling strategy. Defaults to &amp;ldquo;Packed&amp;rdquo;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;sdkServer&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.SdkServer&#34;&gt;
SdkServer
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;SdkServer specifies parameters for the Agones SDK Server sidecar container&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;template&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#podtemplatespec-v1-core&#34;&gt;
Kubernetes core/v1.PodTemplateSpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Template describes the Pod that will be created for the GameServer&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;players&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.PlayersSpec&#34;&gt;
PlayersSpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;counters&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.CounterStatus&#34;&gt;
map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;(Alpha, CountsAndLists feature flag) Counters and Lists provides the configuration for generic tracking features.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;lists&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.ListStatus&#34;&gt;
map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;eviction&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.Eviction&#34;&gt;
Eviction
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;(Alpha, SafeToEvict feature flag) Eviction specifies the eviction tolerance of the GameServer. Defaults to &amp;ldquo;Never&amp;rdquo;.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.GameServerState&#34;&gt;GameServerState
(&lt;code&gt;string&lt;/code&gt; alias)&lt;/p&gt;&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerSelector&#34;&gt;GameServerSelector&lt;/a&gt;, 
&lt;a href=&#34;#agones.dev/v1.GameServerStatus&#34;&gt;GameServerStatus&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;GameServerState is the state for the GameServer&lt;/p&gt;
&lt;/p&gt;
&lt;h3 id=&#34;agones.dev/v1.GameServerStatus&#34;&gt;GameServerStatus
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServer&#34;&gt;GameServer&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;GameServerStatus is the status for a GameServer resource&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;state&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerState&#34;&gt;
GameServerState
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;GameServerState is the current state of a GameServer, e.g. Creating, Starting, Ready, etc&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;ports&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerStatusPort&#34;&gt;
[]GameServerStatusPort
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;address&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;nodeName&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;reservedUntil&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#time-v1-meta&#34;&gt;
Kubernetes meta/v1.Time
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;players&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.PlayerStatus&#34;&gt;
PlayerStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;[Stage:Alpha]
[FeatureFlag:PlayerTracking]&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;counters&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.CounterStatus&#34;&gt;
map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;(Alpha, CountsAndLists feature flag) Counters and Lists provides the configuration for generic tracking features.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;lists&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.ListStatus&#34;&gt;
map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;eviction&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.Eviction&#34;&gt;
Eviction
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;(Alpha, SafeToEvict feature flag) Eviction specifies the eviction tolerance of the GameServer.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.GameServerStatusPort&#34;&gt;GameServerStatusPort
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerAllocationStatus&#34;&gt;GameServerAllocationStatus&lt;/a&gt;, 
&lt;a href=&#34;#agones.dev/v1.GameServerStatus&#34;&gt;GameServerStatus&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;GameServerStatusPort shows the port that was allocated to a
GameServer.&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;name&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;port&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.GameServerTemplateSpec&#34;&gt;GameServerTemplateSpec
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.FleetSpec&#34;&gt;FleetSpec&lt;/a&gt;, 
&lt;a href=&#34;#agones.dev/v1.GameServerSetSpec&#34;&gt;GameServerSetSpec&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;GameServerTemplateSpec is a template for GameServers&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;metadata&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#objectmeta-v1-meta&#34;&gt;
Kubernetes meta/v1.ObjectMeta
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
Refer to the Kubernetes API documentation for the fields of the
&lt;code&gt;metadata&lt;/code&gt; field.
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;spec&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerSpec&#34;&gt;
GameServerSpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;container&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Container specifies which Pod container is the game server. Only required if there is more than one
container defined&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;ports&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerPort&#34;&gt;
[]GameServerPort
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Ports are the array of ports that can be exposed via the game server&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;health&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.Health&#34;&gt;
Health
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Health configures health checking&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;scheduling&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
agones.dev/agones/pkg/apis.SchedulingStrategy
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Scheduling strategy. Defaults to &amp;ldquo;Packed&amp;rdquo;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;sdkServer&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.SdkServer&#34;&gt;
SdkServer
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;SdkServer specifies parameters for the Agones SDK Server sidecar container&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;template&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#podtemplatespec-v1-core&#34;&gt;
Kubernetes core/v1.PodTemplateSpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Template describes the Pod that will be created for the GameServer&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;players&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.PlayersSpec&#34;&gt;
PlayersSpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;(Alpha, PlayerTracking feature flag) Players provides the configuration for player tracking features.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;counters&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.CounterStatus&#34;&gt;
map[string]agones.dev/agones/pkg/apis/agones/v1.CounterStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;(Alpha, CountsAndLists feature flag) Counters and Lists provides the configuration for generic tracking features.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;lists&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.ListStatus&#34;&gt;
map[string]agones.dev/agones/pkg/apis/agones/v1.ListStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;eviction&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.Eviction&#34;&gt;
Eviction
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;(Alpha, SafeToEvict feature flag) Eviction specifies the eviction tolerance of the GameServer. Defaults to &amp;ldquo;Never&amp;rdquo;.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.Health&#34;&gt;Health
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerSpec&#34;&gt;GameServerSpec&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;Health configures health checking on the GameServer&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;disabled&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
bool
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Disabled is whether health checking is disabled or not&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;periodSeconds&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;PeriodSeconds is the number of seconds each health ping has to occur in&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;failureThreshold&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;FailureThreshold how many failures in a row constitutes unhealthy&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;initialDelaySeconds&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;InitialDelaySeconds initial delay before checking health&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.ListStatus&#34;&gt;ListStatus
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerSpec&#34;&gt;GameServerSpec&lt;/a&gt;, 
&lt;a href=&#34;#agones.dev/v1.GameServerStatus&#34;&gt;GameServerStatus&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;ListStatus stores the current list values&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;capacity&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int64
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;values&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
[]string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.PlayerStatus&#34;&gt;PlayerStatus
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerStatus&#34;&gt;GameServerStatus&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;PlayerStatus stores the current player capacity values&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;count&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int64
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;capacity&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int64
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;ids&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
[]string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.PlayersSpec&#34;&gt;PlayersSpec
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerSpec&#34;&gt;GameServerSpec&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;PlayersSpec tracks the initial player capacity&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;initialCapacity&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int64
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.PortPolicy&#34;&gt;PortPolicy
(&lt;code&gt;string&lt;/code&gt; alias)&lt;/p&gt;&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerPort&#34;&gt;GameServerPort&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;PortPolicy is the port policy for the GameServer&lt;/p&gt;
&lt;/p&gt;
&lt;h3 id=&#34;agones.dev/v1.SdkServer&#34;&gt;SdkServer
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerSpec&#34;&gt;GameServerSpec&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;SdkServer specifies parameters for the Agones SDK Server sidecar container&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;logLevel&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.SdkServerLogLevel&#34;&gt;
SdkServerLogLevel
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;LogLevel for SDK server (sidecar) logs. Defaults to &amp;ldquo;Info&amp;rdquo;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;grpcPort&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;GRPCPort is the port on which the SDK Server binds the gRPC server to accept incoming connections&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;httpPort&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;HTTPPort is the port on which the SDK Server binds the HTTP gRPC gateway server to accept incoming connections&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;agones.dev/v1.SdkServerLogLevel&#34;&gt;SdkServerLogLevel
(&lt;code&gt;string&lt;/code&gt; alias)&lt;/p&gt;&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#agones.dev/v1.SdkServer&#34;&gt;SdkServer&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;SdkServerLogLevel is the log level for SDK server (sidecar) logs&lt;/p&gt;
&lt;/p&gt;
&lt;hr/&gt;
&lt;h2 id=&#34;allocation.agones.dev/v1&#34;&gt;allocation.agones.dev/v1&lt;/h2&gt;
&lt;p&gt;
&lt;p&gt;Package v1 is the v1 version of the API.&lt;/p&gt;
&lt;/p&gt;
Resource Types:
&lt;ul&gt;&lt;li&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerAllocation&#34;&gt;GameServerAllocation&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;h3 id=&#34;allocation.agones.dev/v1.GameServerAllocation&#34;&gt;GameServerAllocation
&lt;/h3&gt;
&lt;p&gt;
&lt;p&gt;GameServerAllocation is the data structure for allocating against a set of
GameServers, defined &lt;code&gt;selectors&lt;/code&gt; selectors&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;apiVersion&lt;/code&gt;&lt;/br&gt;
string&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;
allocation.agones.dev/v1
&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;kind&lt;/code&gt;&lt;/br&gt;
string
&lt;/td&gt;
&lt;td&gt;&lt;code&gt;GameServerAllocation&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;metadata&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#objectmeta-v1-meta&#34;&gt;
Kubernetes meta/v1.ObjectMeta
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
Refer to the Kubernetes API documentation for the fields of the
&lt;code&gt;metadata&lt;/code&gt; field.
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;spec&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerAllocationSpec&#34;&gt;
GameServerAllocationSpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;multiClusterSetting&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.MultiClusterSetting&#34;&gt;
MultiClusterSetting
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;MultiClusterPolicySelector if specified, multi-cluster policies are applied.
Otherwise, allocation will happen locally.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;required&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerSelector&#34;&gt;
GameServerSelector
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;preferred&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerSelector&#34;&gt;
[]GameServerSelector
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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 &lt;code&gt;required&lt;/code&gt; 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.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;selectors&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerSelector&#34;&gt;
[]GameServerSelector
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;scheduling&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
agones.dev/agones/pkg/apis.SchedulingStrategy
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Scheduling strategy. Defaults to &amp;ldquo;Packed&amp;rdquo;.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;metadata&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.MetaPatch&#34;&gt;
MetaPatch
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;status&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerAllocationStatus&#34;&gt;
GameServerAllocationStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;allocation.agones.dev/v1.GameServerAllocationSpec&#34;&gt;GameServerAllocationSpec
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerAllocation&#34;&gt;GameServerAllocation&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;GameServerAllocationSpec is the spec for a GameServerAllocation&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;multiClusterSetting&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.MultiClusterSetting&#34;&gt;
MultiClusterSetting
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;MultiClusterPolicySelector if specified, multi-cluster policies are applied.
Otherwise, allocation will happen locally.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;required&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerSelector&#34;&gt;
GameServerSelector
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;preferred&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerSelector&#34;&gt;
[]GameServerSelector
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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 &lt;code&gt;required&lt;/code&gt; 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.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;selectors&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerSelector&#34;&gt;
[]GameServerSelector
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;scheduling&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
agones.dev/agones/pkg/apis.SchedulingStrategy
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Scheduling strategy. Defaults to &amp;ldquo;Packed&amp;rdquo;.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;metadata&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.MetaPatch&#34;&gt;
MetaPatch
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;allocation.agones.dev/v1.GameServerAllocationState&#34;&gt;GameServerAllocationState
(&lt;code&gt;string&lt;/code&gt; alias)&lt;/p&gt;&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerAllocationStatus&#34;&gt;GameServerAllocationStatus&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;GameServerAllocationState is the Allocation state&lt;/p&gt;
&lt;/p&gt;
&lt;h3 id=&#34;allocation.agones.dev/v1.GameServerAllocationStatus&#34;&gt;GameServerAllocationStatus
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerAllocation&#34;&gt;GameServerAllocation&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;GameServerAllocationStatus is the status for an GameServerAllocation resource&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;state&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerAllocationState&#34;&gt;
GameServerAllocationState
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;GameServerState is the current state of an GameServerAllocation, e.g. Allocated, or UnAllocated&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;gameServerName&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;ports&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerStatusPort&#34;&gt;
[]GameServerStatusPort
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;address&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;nodeName&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;source&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;If the allocation is from a remote cluster, Source is the endpoint of the remote agones-allocator.
Otherwise, Source is &amp;ldquo;local&amp;rdquo;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;allocation.agones.dev/v1.GameServerSelector&#34;&gt;GameServerSelector
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerAllocationSpec&#34;&gt;GameServerAllocationSpec&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;GameServerSelector contains all the filter options for selecting
a GameServer for allocation.&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;LabelSelector&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#labelselector-v1-meta&#34;&gt;
Kubernetes meta/v1.LabelSelector
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;
(Members of &lt;code&gt;LabelSelector&lt;/code&gt; are embedded into this type.)
&lt;/p&gt;
&lt;p&gt;See: &lt;a href=&#34;https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/&#34;&gt;https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/&lt;/a&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;gameServerState&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.GameServerState&#34;&gt;
GameServerState
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;[Stage:Beta]
[FeatureFlag:StateAllocationFilter]
GameServerState specifies which State is the filter to be used when attempting to retrieve a GameServer
via Allocation. Defaults to &amp;ldquo;Ready&amp;rdquo;. The only other option is &amp;ldquo;Allocated&amp;rdquo;, which can be used in conjunction with
label/annotation/player selectors to retrieve an already Allocated GameServer.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;players&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.PlayerSelector&#34;&gt;
PlayerSelector
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;[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.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;allocation.agones.dev/v1.MetaPatch&#34;&gt;MetaPatch
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerAllocationSpec&#34;&gt;GameServerAllocationSpec&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;MetaPatch is the metadata used to patch the GameServer metadata on allocation&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;labels&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
map[string]string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;annotations&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
map[string]string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;allocation.agones.dev/v1.MultiClusterSetting&#34;&gt;MultiClusterSetting
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerAllocationSpec&#34;&gt;GameServerAllocationSpec&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;MultiClusterSetting specifies settings for multi-cluster allocation.&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;enabled&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
bool
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;policySelector&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#labelselector-v1-meta&#34;&gt;
Kubernetes meta/v1.LabelSelector
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;allocation.agones.dev/v1.PlayerSelector&#34;&gt;PlayerSelector
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#allocation.agones.dev/v1.GameServerSelector&#34;&gt;GameServerSelector&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;PlayerSelector is the filter options for a GameServer based on player counts&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;minAvailable&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int64
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;maxAvailable&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int64
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr/&gt;
&lt;h2 id=&#34;autoscaling.agones.dev/v1&#34;&gt;autoscaling.agones.dev/v1&lt;/h2&gt;
&lt;p&gt;
&lt;p&gt;Package v1 is the v1 version of the API.&lt;/p&gt;
&lt;/p&gt;
Resource Types:
&lt;ul&gt;&lt;li&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscaler&#34;&gt;FleetAutoscaler&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;h3 id=&#34;autoscaling.agones.dev/v1.FleetAutoscaler&#34;&gt;FleetAutoscaler
&lt;/h3&gt;
&lt;p&gt;
&lt;p&gt;FleetAutoscaler is the data structure for a FleetAutoscaler resource&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;apiVersion&lt;/code&gt;&lt;/br&gt;
string&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;
autoscaling.agones.dev/v1
&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;kind&lt;/code&gt;&lt;/br&gt;
string
&lt;/td&gt;
&lt;td&gt;&lt;code&gt;FleetAutoscaler&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;metadata&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#objectmeta-v1-meta&#34;&gt;
Kubernetes meta/v1.ObjectMeta
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
Refer to the Kubernetes API documentation for the fields of the
&lt;code&gt;metadata&lt;/code&gt; field.
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;spec&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscalerSpec&#34;&gt;
FleetAutoscalerSpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;fleetName&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;policy&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscalerPolicy&#34;&gt;
FleetAutoscalerPolicy
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Autoscaling policy&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;sync&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscalerSync&#34;&gt;
FleetAutoscalerSync
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;[Stage:Beta]
[FeatureFlag:CustomFasSyncInterval]
Sync defines when FleetAutoscalers runs autoscaling&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;status&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscalerStatus&#34;&gt;
FleetAutoscalerStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;autoscaling.agones.dev/v1.BufferPolicy&#34;&gt;BufferPolicy
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscalerPolicy&#34;&gt;FleetAutoscalerPolicy&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;BufferPolicy controls the desired behavior of the buffer policy.&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;maxReplicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;MaxReplicas is the maximum amount of replicas that the fleet may have.
It must be bigger than both MinReplicas and BufferSize&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;minReplicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;bufferSize&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
k8s.io/apimachinery/pkg/util/intstr.IntOrString
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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&amp;rsquo;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 &amp;ldquo;ready&amp;rdquo; we understand in this case &amp;ldquo;non-allocated&amp;rdquo;; this is done to ensure robustness
and computation stability in different edge case (fleet just created, not enough
capacity in the cluster etc)&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;autoscaling.agones.dev/v1.FixedIntervalSync&#34;&gt;FixedIntervalSync
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscalerSync&#34;&gt;FleetAutoscalerSync&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;FixedIntervalSync controls the desired behavior of the fixed interval based sync.&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;seconds&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Seconds defines how often we run fleet autoscaling in seconds&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;autoscaling.agones.dev/v1.FleetAutoscaleRequest&#34;&gt;FleetAutoscaleRequest
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscaleReview&#34;&gt;FleetAutoscaleReview&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;FleetAutoscaleRequest defines the request to webhook autoscaler endpoint&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;uid&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
k8s.io/apimachinery/pkg/types.UID
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;name&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Name is the name of the Fleet being scaled&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;namespace&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Namespace is the namespace associated with the request (if any).&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;status&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#agones.dev/v1.FleetStatus&#34;&gt;
FleetStatus
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;The Fleet&amp;rsquo;s status values&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;autoscaling.agones.dev/v1.FleetAutoscaleResponse&#34;&gt;FleetAutoscaleResponse
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscaleReview&#34;&gt;FleetAutoscaleReview&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;FleetAutoscaleResponse defines the response of webhook autoscaler endpoint&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;uid&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
k8s.io/apimachinery/pkg/types.UID
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;UID is an identifier for the individual request/response.
This should be copied over from the corresponding FleetAutoscaleRequest.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;scale&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
bool
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Set to false if no scaling should occur to the Fleet&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;replicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;The targeted replica count&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;autoscaling.agones.dev/v1.FleetAutoscaleReview&#34;&gt;FleetAutoscaleReview
&lt;/h3&gt;
&lt;p&gt;
&lt;p&gt;FleetAutoscaleReview is passed to the webhook with a populated Request value,
and then returned with a populated Response.&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;request&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscaleRequest&#34;&gt;
FleetAutoscaleRequest
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;response&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscaleResponse&#34;&gt;
FleetAutoscaleResponse
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;autoscaling.agones.dev/v1.FleetAutoscalerPolicy&#34;&gt;FleetAutoscalerPolicy
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscalerSpec&#34;&gt;FleetAutoscalerSpec&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;FleetAutoscalerPolicy describes how to scale a fleet&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;type&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscalerPolicyType&#34;&gt;
FleetAutoscalerPolicyType
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Type of autoscaling policy.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;buffer&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.BufferPolicy&#34;&gt;
BufferPolicy
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;Buffer policy config params. Present only if FleetAutoscalerPolicyType = Buffer.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;webhook&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.WebhookPolicy&#34;&gt;
WebhookPolicy
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;Webhook policy config params. Present only if FleetAutoscalerPolicyType = Webhook.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;autoscaling.agones.dev/v1.FleetAutoscalerPolicyType&#34;&gt;FleetAutoscalerPolicyType
(&lt;code&gt;string&lt;/code&gt; alias)&lt;/p&gt;&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscalerPolicy&#34;&gt;FleetAutoscalerPolicy&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;FleetAutoscalerPolicyType is the policy for autoscaling
for a given Fleet&lt;/p&gt;
&lt;/p&gt;
&lt;h3 id=&#34;autoscaling.agones.dev/v1.FleetAutoscalerSpec&#34;&gt;FleetAutoscalerSpec
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscaler&#34;&gt;FleetAutoscaler&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;FleetAutoscalerSpec is the spec for a Fleet Scaler&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;fleetName&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;policy&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscalerPolicy&#34;&gt;
FleetAutoscalerPolicy
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Autoscaling policy&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;sync&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscalerSync&#34;&gt;
FleetAutoscalerSync
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;[Stage:Beta]
[FeatureFlag:CustomFasSyncInterval]
Sync defines when FleetAutoscalers runs autoscaling&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;autoscaling.agones.dev/v1.FleetAutoscalerStatus&#34;&gt;FleetAutoscalerStatus
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscaler&#34;&gt;FleetAutoscaler&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;FleetAutoscalerStatus defines the current status of a FleetAutoscaler&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;currentReplicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;CurrentReplicas is the current number of gameserver replicas
of the fleet managed by this autoscaler, as last seen by the autoscaler&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;desiredReplicas&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;DesiredReplicas is the desired number of gameserver replicas
of the fleet managed by this autoscaler, as last calculated by the autoscaler&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;lastScaleTime&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#time-v1-meta&#34;&gt;
Kubernetes meta/v1.Time
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;lastScaleTime is the last time the FleetAutoscaler scaled the attached fleet,&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;ableToScale&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
bool
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;AbleToScale indicates that we can access the target fleet&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;scalingLimited&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
bool
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;ScalingLimited indicates that the calculated scale would be above or below the range
defined by MinReplicas and MaxReplicas, and has thus been capped.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;autoscaling.agones.dev/v1.FleetAutoscalerSync&#34;&gt;FleetAutoscalerSync
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscalerSpec&#34;&gt;FleetAutoscalerSpec&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;FleetAutoscalerSync describes when to sync a fleet&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;type&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscalerSyncType&#34;&gt;
FleetAutoscalerSyncType
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Type of autoscaling sync.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;fixedInterval&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FixedIntervalSync&#34;&gt;
FixedIntervalSync
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;FixedInterval config params. Present only if FleetAutoscalerSyncType = FixedInterval.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;autoscaling.agones.dev/v1.FleetAutoscalerSyncType&#34;&gt;FleetAutoscalerSyncType
(&lt;code&gt;string&lt;/code&gt; alias)&lt;/p&gt;&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscalerSync&#34;&gt;FleetAutoscalerSync&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;FleetAutoscalerSyncType is the sync strategy for a given Fleet&lt;/p&gt;
&lt;/p&gt;
&lt;h3 id=&#34;autoscaling.agones.dev/v1.WebhookPolicy&#34;&gt;WebhookPolicy
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#autoscaling.agones.dev/v1.FleetAutoscalerPolicy&#34;&gt;FleetAutoscalerPolicy&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;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&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;url&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;&lt;code&gt;url&lt;/code&gt; gives the location of the webhook, in standard URL form
(&lt;code&gt;scheme://host:port/path&lt;/code&gt;). Exactly one of &lt;code&gt;url&lt;/code&gt; or &lt;code&gt;service&lt;/code&gt;
must be specified.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;host&lt;/code&gt; should not refer to a service running in the cluster; use
the &lt;code&gt;service&lt;/code&gt; field instead. The host might be resolved via external
DNS in some apiservers (e.g., &lt;code&gt;kube-apiserver&lt;/code&gt; cannot resolve
in-cluster DNS as that would be a layering violation). &lt;code&gt;host&lt;/code&gt; may
also be an IP address.&lt;/p&gt;
&lt;p&gt;Please note that using &lt;code&gt;localhost&lt;/code&gt; or &lt;code&gt;127.0.0.1&lt;/code&gt; as a &lt;code&gt;host&lt;/code&gt; 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.&lt;/p&gt;
&lt;p&gt;The scheme must be &amp;ldquo;https&amp;rdquo;; the URL must begin with &amp;ldquo;https://&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Attempting to use a user or basic auth e.g. &amp;ldquo;user:password@&amp;rdquo; is not
allowed. Fragments (&amp;ldquo;#&amp;hellip;&amp;rdquo;) and query parameters (&amp;ldquo;?&amp;hellip;&amp;rdquo;) are not
allowed, either.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;service&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#servicereference-v1-admissionregistration&#34;&gt;
Kubernetes admissionregistration/v1.ServiceReference
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;&lt;code&gt;service&lt;/code&gt; is a reference to the service for this webhook. Either
&lt;code&gt;service&lt;/code&gt; or &lt;code&gt;url&lt;/code&gt; must be specified.&lt;/p&gt;
&lt;p&gt;If the webhook is running within the cluster, then you should use &lt;code&gt;service&lt;/code&gt;.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;caBundle&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
[]byte
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;(Optional)&lt;/em&gt;
&lt;p&gt;&lt;code&gt;caBundle&lt;/code&gt; is a PEM encoded CA bundle which will be used to validate the webhook&amp;rsquo;s server certificate.
If unspecified, system trust roots on the apiserver are used.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr/&gt;
&lt;h2 id=&#34;multicluster.agones.dev/v1&#34;&gt;multicluster.agones.dev/v1&lt;/h2&gt;
&lt;p&gt;
&lt;p&gt;Package v1 is the v1 version of the API.&lt;/p&gt;
&lt;/p&gt;
Resource Types:
&lt;ul&gt;&lt;li&gt;
&lt;a href=&#34;#multicluster.agones.dev/v1.GameServerAllocationPolicy&#34;&gt;GameServerAllocationPolicy&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;h3 id=&#34;multicluster.agones.dev/v1.GameServerAllocationPolicy&#34;&gt;GameServerAllocationPolicy
&lt;/h3&gt;
&lt;p&gt;
&lt;p&gt;GameServerAllocationPolicy is the Schema for the gameserverallocationpolicies API&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;apiVersion&lt;/code&gt;&lt;/br&gt;
string&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;
multicluster.agones.dev/v1
&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;kind&lt;/code&gt;&lt;/br&gt;
string
&lt;/td&gt;
&lt;td&gt;&lt;code&gt;GameServerAllocationPolicy&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;metadata&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;https://v1-24.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#objectmeta-v1-meta&#34;&gt;
Kubernetes meta/v1.ObjectMeta
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
Refer to the Kubernetes API documentation for the fields of the
&lt;code&gt;metadata&lt;/code&gt; field.
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;spec&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#multicluster.agones.dev/v1.GameServerAllocationPolicySpec&#34;&gt;
GameServerAllocationPolicySpec
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;priority&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;weight&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;connectionInfo&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#multicluster.agones.dev/v1.ClusterConnectionInfo&#34;&gt;
ClusterConnectionInfo
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;multicluster.agones.dev/v1.ClusterConnectionInfo&#34;&gt;ClusterConnectionInfo
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#multicluster.agones.dev/v1.GameServerAllocationPolicySpec&#34;&gt;GameServerAllocationPolicySpec&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;ClusterConnectionInfo defines the connection information for a cluster&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;clusterName&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;Optional: the name of the targeted cluster&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;allocationEndpoints&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
[]string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;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&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;secretName&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;The name of the secret that contains TLS client certificates to connect the allocator server in the targeted cluster&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;namespace&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
string
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;The cluster namespace from which to allocate gameservers&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;serverCa&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
[]byte
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;The PEM encoded server CA, used by the allocator client to authenticate the remote server.&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;multicluster.agones.dev/v1.ConnectionInfoIterator&#34;&gt;ConnectionInfoIterator
&lt;/h3&gt;
&lt;p&gt;
&lt;p&gt;ConnectionInfoIterator an iterator on ClusterConnectionInfo&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;currPriority&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;currPriority Current priority index from the orderedPriorities&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;orderedPriorities&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
[]int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;orderedPriorities list of ordered priorities&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;priorityToCluster&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
map[int32]map[string][]*agones.dev/agones/pkg/apis/multicluster/v1.GameServerAllocationPolicy
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;priorityToCluster Map of priority to cluster-policies map&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;clusterBlackList&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
map[string]bool
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;clusterBlackList the cluster blacklist for the clusters that has already returned&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;multicluster.agones.dev/v1.GameServerAllocationPolicySpec&#34;&gt;GameServerAllocationPolicySpec
&lt;/h3&gt;
&lt;p&gt;
(&lt;em&gt;Appears on:&lt;/em&gt;
&lt;a href=&#34;#multicluster.agones.dev/v1.GameServerAllocationPolicy&#34;&gt;GameServerAllocationPolicy&lt;/a&gt;)
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;GameServerAllocationPolicySpec defines the desired state of GameServerAllocationPolicy&lt;/p&gt;
&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;priority&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int32
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;weight&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
int
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;connectionInfo&lt;/code&gt;&lt;/br&gt;
&lt;em&gt;
&lt;a href=&#34;#multicluster.agones.dev/v1.ClusterConnectionInfo&#34;&gt;
ClusterConnectionInfo
&lt;/a&gt;
&lt;/em&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;em&gt;
Generated with &lt;code&gt;gen-crd-api-reference-docs&lt;/code&gt;.
&lt;/em&gt;&lt;/p&gt;




      </description>
    </item>
    
  </channel>
</rss>
