diff --git a/CHANGELOG.md b/CHANGELOG.md index 0818e23ecf..1ce9638c7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,31 @@ # Changelog +## [v1.5.0](https://github.com/googleforgames/agones/tree/v1.5.0) (2020-04-14) + +[Full Changelog](https://github.com/googleforgames/agones/compare/v1.5.0-rc...v1.5.0) + +**Implemented enhancements:** + +- FAQ for Agones [\#1460](https://github.com/googleforgames/agones/pull/1460) ([markmandel](https://github.com/markmandel)) + +**Fixed bugs:** + +- Flaky: TestGameServerWithPortsMappedToMultipleContainers [\#1450](https://github.com/googleforgames/agones/issues/1450) +- e2e image needs 1.14.10 kubectl [\#1470](https://github.com/googleforgames/agones/pull/1470) ([markmandel](https://github.com/markmandel)) +- Working Node.js example gameserver.yaml [\#1469](https://github.com/googleforgames/agones/pull/1469) ([markmandel](https://github.com/markmandel)) +- Fixed flaky TestGameServerWithPortsMappedToMultipleContainers [\#1458](https://github.com/googleforgames/agones/pull/1458) ([akremsa](https://github.com/akremsa)) + +**Closed issues:** + +- Release 1.5.0-rc [\#1454](https://github.com/googleforgames/agones/issues/1454) +- Move /site to go.mod and Go 1.12/1.13 [\#1295](https://github.com/googleforgames/agones/issues/1295) + +**Merged pull requests:** + +- Website: A number of corrections in the docs [\#1466](https://github.com/googleforgames/agones/pull/1466) ([aLekSer](https://github.com/aLekSer)) +- Website: Fix path in swagger command [\#1462](https://github.com/googleforgames/agones/pull/1462) ([aLekSer](https://github.com/aLekSer)) +- Use go modules for a website and update go version [\#1457](https://github.com/googleforgames/agones/pull/1457) ([aLekSer](https://github.com/aLekSer)) + ## [v1.5.0-rc](https://github.com/googleforgames/agones/tree/v1.5.0-rc) (2020-04-07) [Full Changelog](https://github.com/googleforgames/agones/compare/v1.4.0...v1.5.0-rc) @@ -57,6 +83,7 @@ **Merged pull requests:** +- Release 1.5.0-rc [\#1455](https://github.com/googleforgames/agones/pull/1455) ([markmandel](https://github.com/markmandel)) - Fix wrong function usage [\#1442](https://github.com/googleforgames/agones/pull/1442) ([aLekSer](https://github.com/aLekSer)) - Index out of range error in e2e TestFleetGSSpecValidation [\#1439](https://github.com/googleforgames/agones/pull/1439) ([akremsa](https://github.com/akremsa)) - Added log\_level parameter to Terraform deployment [\#1438](https://github.com/googleforgames/agones/pull/1438) ([akremsa](https://github.com/akremsa)) diff --git a/docs/governance/templates/release_issue.md b/docs/governance/templates/release_issue.md index 0c13cc14ce..cb996fc8bc 100644 --- a/docs/governance/templates/release_issue.md +++ b/docs/governance/templates/release_issue.md @@ -5,10 +5,10 @@ This is the release issue template. Make a copy of the markdown in this page and copy it into a release issue. Fill in relevant values, found inside {} !--> -- [ ] Review closed issues have appropriate tags. - [ ] Review closed issues have been applied to the current milestone. -- [ ] Review closed PRs have appropriate tags. +- [ ] Review closed issues have appropriate tags. - [ ] Review closed PRs have been applied to the current milestone. +- [ ] Review closed PRs have appropriate tags. - [ ] Ensure the next version milestone is created. - [ ] Any issues in the current milestone that are not closed, move to next milestone. - [ ] If release candidate add the label `feature-freeze-do-not-merge` to any feature pull requests. @@ -23,13 +23,13 @@ and copy it into a release issue. Fill in relevant values, found inside {} - [ ] Create a *draft* release with the [release template][release-template] - [ ] Make a `tag` with the release version. - [ ] Site updated + - [ ] Copy the draft release content into a new `/site/content/en/blog/releases` content (this will be what you send via email). - [ ] Review all `link_test` and `data-proofer-ignore` attributes and remove for link testing - [ ] If full release, review and remove all instances of the `feature` shortcode - [ ] If full release, update to the new release branch {version}. - [ ] If full release, update site with the new release version (`release-version` in config.toml) to {version} - [ ] If full release, update documentation with updated example images tags - [ ] If full release, add link to previous version's documentation to nav dropdown - - [ ] Copy the draft release content into a new `/site/content/en/blog/releases` content (this will be what you send via email). - [ ] Create PR with these changes, and merge them with approval - [ ] Confirm local git remote `upstream` points at `git@github.com:googleforgames/agones.git` - [ ] Run `git remote update && git checkout master && git reset --hard upstream/master` to ensure your code is in line with upstream (unless this is a hotfix, then do the same, but for the release branch) diff --git a/install/helm/agones/Chart.yaml b/install/helm/agones/Chart.yaml index e6afb8bfa1..e972cf1e59 100644 --- a/install/helm/agones/Chart.yaml +++ b/install/helm/agones/Chart.yaml @@ -15,8 +15,8 @@ # Declare variables to be passed into your templates. apiVersion: v1 -appVersion: "1.5.0-rc" -version: 1.5.0-rc +appVersion: "1.5.0" +version: 1.5.0 name: agones description: a library for hosting, running and scaling dedicated game servers on Kubernetes. keywords: diff --git a/install/helm/agones/values.yaml b/install/helm/agones/values.yaml index 0620bc3c00..b2f674a395 100644 --- a/install/helm/agones/values.yaml +++ b/install/helm/agones/values.yaml @@ -125,7 +125,7 @@ agones: generateTLS: true image: registry: gcr.io/agones-images - tag: 1.5.0-rc + tag: 1.5.0 controller: name: agones-controller pullPolicy: IfNotPresent diff --git a/install/yaml/install.yaml b/install/yaml/install.yaml index a1382db0c2..bcf75690a3 100644 --- a/install/yaml/install.yaml +++ b/install/yaml/install.yaml @@ -20,7 +20,7 @@ metadata: namespace: agones-system labels: app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller --- @@ -31,7 +31,7 @@ metadata: namespace: agones-system labels: app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller rules: @@ -76,7 +76,7 @@ metadata: namespace: agones-system labels: app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller subjects: @@ -140,7 +140,7 @@ metadata: namespace: default labels: app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller --- @@ -151,7 +151,7 @@ metadata: namespace: agones-system labels: app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller rules: @@ -169,7 +169,7 @@ metadata: namespace: default labels: app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller subjects: @@ -205,7 +205,7 @@ metadata: labels: component: crd app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller spec: @@ -457,7 +457,7 @@ metadata: labels: component: crd app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller spec: @@ -543,7 +543,7 @@ metadata: labels: component: crd app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller spec: @@ -761,7 +761,7 @@ metadata: controller-tools.k8s.io: "1.0" component: crd app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller name: gameserverallocationpolicies.multicluster.agones.dev @@ -854,7 +854,7 @@ metadata: labels: component: crd app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller spec: @@ -1102,7 +1102,7 @@ metadata: labels: agones.dev/role: controller app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller spec: @@ -1138,7 +1138,7 @@ metadata: labels: component: allocator app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller spec: @@ -1209,7 +1209,7 @@ spec: secretName: allocator-client-ca containers: - name: agones-allocator - image: "gcr.io/agones-images/agones-allocator:1.5.0-rc" + image: "gcr.io/agones-images/agones-allocator:1.5.0" imagePullPolicy: IfNotPresent livenessProbe: httpGet: @@ -1264,7 +1264,7 @@ metadata: namespace: agones-system labels: app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller rules: @@ -1296,7 +1296,7 @@ metadata: namespace: agones-system labels: app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller @@ -1309,7 +1309,7 @@ metadata: namespace: agones-system labels: app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller subjects: @@ -1330,7 +1330,7 @@ metadata: namespace: agones-system labels: app: agones-manual - chart: "agones-1.5.0-rc" + chart: "agones-1.5.0" release: "agones-manual" heritage: "Tiller" data: @@ -1347,7 +1347,7 @@ metadata: namespace: agones-system labels: app: agones-manual - chart: "agones-1.5.0-rc" + chart: "agones-1.5.0" release: "agones-manual" heritage: "Tiller" data: @@ -1363,7 +1363,7 @@ metadata: namespace: agones-system labels: app: agones-manual - chart: "agones-1.5.0-rc" + chart: "agones-1.5.0" release: "agones-manual" heritage: "Tiller" data: @@ -1393,7 +1393,7 @@ metadata: labels: component: controller app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller spec: @@ -1438,7 +1438,7 @@ spec: serviceAccountName: agones-controller containers: - name: agones-controller - image: "gcr.io/agones-images/agones-controller:1.5.0-rc" + image: "gcr.io/agones-images/agones-controller:1.5.0" imagePullPolicy: IfNotPresent env: # minimum port that can be exposed to GameServer traffic @@ -1448,7 +1448,7 @@ spec: - name: MAX_PORT value: "8000" - name: SIDECAR_IMAGE # overwrite the GameServer sidecar image that is used - value: "gcr.io/agones-images/agones-sdk:1.5.0-rc" + value: "gcr.io/agones-images/agones-sdk:1.5.0" - name: ALWAYS_PULL_SIDECAR # set the sidecar imagePullPolicy to Always value: "false" - name: SIDECAR_CPU_REQUEST @@ -1538,7 +1538,7 @@ metadata: labels: component: ping app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller spec: @@ -1575,7 +1575,7 @@ spec: priorityClassName: agones-system containers: - name: agones-ping - image: "gcr.io/agones-images/agones-ping:1.5.0-rc" + image: "gcr.io/agones-images/agones-ping:1.5.0" imagePullPolicy: IfNotPresent livenessProbe: httpGet: @@ -1601,7 +1601,7 @@ metadata: labels: component: ping app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller spec: @@ -1622,7 +1622,7 @@ metadata: labels: component: ping app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller spec: @@ -1657,7 +1657,7 @@ metadata: labels: component: controller app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller spec: @@ -1677,7 +1677,7 @@ metadata: labels: component: controller app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller webhooks: @@ -1727,7 +1727,7 @@ metadata: labels: component: controller app: agones - chart: agones-1.5.0-rc + chart: agones-1.5.0 release: agones-manual heritage: Tiller webhooks: @@ -1757,7 +1757,7 @@ metadata: namespace: agones-system labels: app: agones-manual - chart: "agones-1.5.0-rc" + chart: "agones-1.5.0" release: "agones-manual" heritage: "Tiller" type: Opaque diff --git a/sdks/nodejs/package.json b/sdks/nodejs/package.json index 5975835d91..ba662be864 100644 --- a/sdks/nodejs/package.json +++ b/sdks/nodejs/package.json @@ -26,5 +26,5 @@ "publishConfig": { "access": "public" }, - "version": "1.5.0-rc" + "version": "1.5.0" } diff --git a/site/config.toml b/site/config.toml index ddf06ad7e2..d3c98e49c2 100644 --- a/site/config.toml +++ b/site/config.toml @@ -86,9 +86,9 @@ github_repo = "https://github.com/googleforgames/agones" gcs_engine_id = "016691298986124624340:x7qv2dywdao" # current release branch - could be rc -release_branch = "release-1.4.0" +release_branch = "release-1.5.0" # the main version. Never is rc. -release_version = "1.4.0" +release_version = "1.5.0" # example tag example_image_tag = "gcr.io/agones-images/udp-server:0.19" diff --git a/site/content/en/blog/releases/1.5.0-rc.md b/site/content/en/blog/releases/1.5.0-rc.md index 7c938088b0..8b931ab6e5 100755 --- a/site/content/en/blog/releases/1.5.0-rc.md +++ b/site/content/en/blog/releases/1.5.0-rc.md @@ -4,14 +4,12 @@ linkTitle: "1.5.0-rc" date: "2020-04-06" --- -# v1.5.0-rc - This is the 1.5.0-rc release of Agones. This release sees the release of an official C# SDK, as well as our first Alpha feature, being able to allow port mapping to any container in the backing GameServer Pod. -Check the README for details on features, installation and usage. +Check the README for details on features, installation and usage. **Implemented enhancements:** @@ -39,7 +37,7 @@ Check the CHANGELOG for more details on changes. +See CHANGELOG for more details on changes. Images available with this release: @@ -59,7 +57,7 @@ Images available with this release: Helm chart available with this release: -- +- helm install agones/agones --version 1.5.0-rc > Make sure to add our stable helm repository using `helm repo add agones https://agones.dev/chart/stable` diff --git a/site/content/en/blog/releases/1.5.0.md b/site/content/en/blog/releases/1.5.0.md new file mode 100755 index 0000000000..4bf84854d2 --- /dev/null +++ b/site/content/en/blog/releases/1.5.0.md @@ -0,0 +1,63 @@ +--- +title: "1.5.0 - C# SDK, Multiple Port Allocations, Agones FAQ" +slug: "1.5.0-csharp-sdk-multiple-port-allocations-agones-faq" +linkTitle: "1.5.0" +date: "2020-04-13" +--- + +This is the 1.5.0 release of Agones. + +This release sees the release of an official C# SDK, as well as our first Alpha feature, being able to allow port +mapping to any container in the backing GameServer Pod. + +Check the README for details on features, installation and usage. + +**Implemented enhancements:** + +- FAQ for Agones [\#1460](https://github.com/googleforgames/agones/pull/1460) ([markmandel](https://github.com/markmandel)) +- GameServer remains "STATE:Creating" if not create serviceaccount [\#1370](https://github.com/googleforgames/agones/issues/1370) +- Site: Prioritise search results on agones.dev better [\#1327](https://github.com/googleforgames/agones/issues/1327) +- Create and document rules of thumb for log levels in agones code [\#1223](https://github.com/googleforgames/agones/issues/1223) +- Configurable Log Level for Agones controllers [\#1218](https://github.com/googleforgames/agones/issues/1218) +- Refactor Docker files for gRPC between SDK and allocation [\#1115](https://github.com/googleforgames/agones/issues/1115) +- C\# SDK [\#884](https://github.com/googleforgames/agones/issues/884) +- Feature Gates: EnableAllFeatures [\#1448](https://github.com/googleforgames/agones/pull/1448) ([markmandel](https://github.com/markmandel)) +- Local implementation of Set/GetPlayerCapacity [\#1444](https://github.com/googleforgames/agones/pull/1444) ([markmandel](https://github.com/markmandel)) +- Alpha GameServer attributes added to SDK [\#1440](https://github.com/googleforgames/agones/pull/1440) ([markmandel](https://github.com/markmandel)) +- Added version to stress tests files [\#1433](https://github.com/googleforgames/agones/pull/1433) ([akremsa](https://github.com/akremsa)) +- Terraform: Add FeatureGates into helm release [\#1431](https://github.com/googleforgames/agones/pull/1431) ([aLekSer](https://github.com/aLekSer)) +- SuperTuxKart Game Server that allows AI connections [\#1424](https://github.com/googleforgames/agones/pull/1424) ([markmandel](https://github.com/markmandel)) +- Fix wrong condition check for Memory limit [\#1418](https://github.com/googleforgames/agones/pull/1418) ([aLekSer](https://github.com/aLekSer)) +- Applied allocation test [\#1417](https://github.com/googleforgames/agones/pull/1417) ([akremsa](https://github.com/akremsa)) +- Add shutdown duration option to Node.js simple [\#1413](https://github.com/googleforgames/agones/pull/1413) ([steven-supersolid](https://github.com/steven-supersolid)) +- Add sidecar memory resources setting [\#1402](https://github.com/googleforgames/agones/pull/1402) ([suecideTech](https://github.com/suecideTech)) +- Add ErrorHandling for failed to create pods because of forbidden [\#1400](https://github.com/googleforgames/agones/pull/1400) ([suecideTech](https://github.com/suecideTech)) +- Alpha SDK.SetPlayerCapacity & GetPlayerCapacity [\#1399](https://github.com/googleforgames/agones/pull/1399) ([markmandel](https://github.com/markmandel)) +- Add feature gate block to Make install [\#1397](https://github.com/googleforgames/agones/pull/1397) ([markmandel](https://github.com/markmandel)) +- Allow ports to be added to any container in a GS pod [\#1396](https://github.com/googleforgames/agones/pull/1396) ([benclive](https://github.com/benclive)) +- Adding the C\# gRPC SDK [\#1315](https://github.com/googleforgames/agones/pull/1315) ([Reousa](https://github.com/Reousa)) + +See CHANGELOG for more details on changes. + +Images available with this release: + +- [gcr.io/agones-images/agones-controller:1.5.0](https://gcr.io/agones-images/agones-controller:1.5.0) +- [gcr.io/agones-images/agones-sdk:1.5.0](https://gcr.io/agones-images/agones-sdk:1.5.0) +- [gcr.io/agones-images/agones-ping:1.5.0](https://gcr.io/agones-images/agones-ping:1.5.0) +- [gcr.io/agones-images/agones-allocator:1.5.0](https://gcr.io/agones-images/agones-allocator:1.5.0) +- [gcr.io/agones-images/cpp-simple-server:0.12](https://gcr.io/agones-images/cpp-simple-server:0.12) +- [gcr.io/agones-images/nodejs-simple-server:0.4](https://gcr.io/agones-images/nodejs-simple-server:0.4) +- [gcr.io/agones-images/rust-simple-server:0.7](https://gcr.io/agones-images/rust-simple-server:0.7) +- [gcr.io/agones-images/unity-simple-server:0.3](https://gcr.io/agones-images/unity-simple-server:0.3) +- [gcr.io/agones-images/udp-server:0.19](https://gcr.io/agones-images/udp-server:0.19) +- [gcr.io/agones-images/tcp-server:0.4](https://gcr.io/agones-images/tcp-server:0.4) +- [gcr.io/agones-images/xonotic-example:0.8](https://gcr.io/agones-images/xonotic-example:0.8) +- [gcr.io/agones-images/supertuxkart-example:0.2](https://gcr.io/agones-images/supertuxkart-example:0.2) +- [gcr.io/agones-images/crd-client:0.2](https://gcr.io/agones-images/crd-client:0.2) + +Helm chart available with this release: + +- + helm install agones/agones --version 1.5.0 + +> Make sure to add our stable helm repository using `helm repo add agones https://agones.dev/chart/stable` diff --git a/site/content/en/docs/Guides/feature-stages.md b/site/content/en/docs/Guides/feature-stages.md index 72423d5e9b..539a2f7124 100644 --- a/site/content/en/docs/Guides/feature-stages.md +++ b/site/content/en/docs/Guides/feature-stages.md @@ -24,19 +24,11 @@ that can be found in the [Helm configuration]({{< ref "/docs/Installation/Instal The current set of `alpha` and `beta` feature gates are: -{{% feature publishVersion="1.5.0" %}} | Feature Name | Gate | Default | Stage | Since | |--------------|---------|---------|-------|-------| | Multicluster Allocation* | N/A | Enabled | `Alpha` | 0.11.0 | | Example Gate (not in use) | `Example` | Disabled | None | 0.13.0 | | [Port Allocations to Multiple Containers]({{< ref "/docs/Reference/gameserver.md" >}}) | `ContainerPortAllocation` | Disabled | `Alpha` | 1.5.0 | -{{% /feature %}} -{{% feature expiryVersion="1.5.0" %}} -| Feature Name | Gate | Default | Stage | Since | -|--------------|---------|---------|-------|-------| -| Multicluster Allocation* | N/A | Enabled | `Alpha` | 0.11.0 | -| Example Gate (not in use) | `Example` | Disabled | None | 0.13.0 | -{{% /feature %}} *Multicluster Allocation was started before this process was in place, and therefore is enabled by default, and will not have a feature flag. diff --git a/site/content/en/docs/Installation/Install Agones/helm.md b/site/content/en/docs/Installation/Install Agones/helm.md index 315ff6a4a8..5c9933367d 100644 --- a/site/content/en/docs/Installation/Install Agones/helm.md +++ b/site/content/en/docs/Installation/Install Agones/helm.md @@ -121,6 +121,8 @@ The following tables lists the configurable parameters of the Agones chart and t | `agones.image.sdk.name` | Image name for the sdk | `agones-sdk` | | `agones.image.sdk.cpuRequest` | The [cpu request][cpu-constraints] for sdk server container | `30m` | | `agones.image.sdk.cpuLimit` | The [cpu limit][cpu-constraints] for the sdk server container | `0` (none) | +| `agones.image.sdk.memoryRequest` | The [memory request][memory-constraints] for sdk server container | `0` (none) | +| `agones.image.sdk.memoryLimit` | The [memory limit][memory-constraints] for the sdk server container | `0` (none) | | `agones.image.sdk.alwaysPull` | Tells if the sdk image should always be pulled | `false` | | `agones.image.ping.name` | Image name for the ping service | `agones-ping` | | `agones.image.ping.pullPolicy` | Image pull policy for the ping service | `IfNotPresent` | @@ -169,13 +171,11 @@ The following tables lists the configurable parameters of the Agones chart and t | `gameservers.minPort` | Minimum port to use for dynamic port allocation | `7000` | | `gameservers.maxPort` | Maximum port to use for dynamic port allocation | `8000` | -{{% feature publishVersion="1.5.0" %}} +{{% feature publishVersion="1.6.0" %}} **New Configuration Features:** | Parameter | Description | Default | | --------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ---------------------- | -| `agones.image.sdk.memoryRequest` | The [memory request][memory-constraints] for sdk server container | `0` (none) | -| `agones.image.sdk.memoryLimit` | The [memory limit][memory-constraints] for the sdk server container | `0` (none) | {{% /feature %}} diff --git a/site/content/en/docs/Reference/gameserver.md b/site/content/en/docs/Reference/gameserver.md index e080841245..f0475b6f1c 100644 --- a/site/content/en/docs/Reference/gameserver.md +++ b/site/content/en/docs/Reference/gameserver.md @@ -9,7 +9,6 @@ description: > A full GameServer specification is available below and in the {{< ghlink href="examples/gameserver.yaml" >}}example folder{{< /ghlink >}} for reference : -{{% feature publishVersion="1.5.0" %}} ```yaml apiVersion: "agones.dev/v1" kind: GameServer @@ -80,79 +79,6 @@ spec: image: gcr.io/agones-images/udp-server:0.19 imagePullPolicy: Always ``` -{{% /feature %}} -{{% feature expiryVersion="1.5.0" %}} -```yaml -apiVersion: "agones.dev/v1" -kind: GameServer -# GameServer Metadata -# https://v1-14.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#objectmeta-v1-meta -metadata: - # generateName: "gds-example" # generate a unique name, with the given prefix - name: "gds-example" # set a fixed name -spec: - # if there is more than one container, specify which one is the game server - container: example-server - # Array of ports that can be exposed as direct connections to the game server container - ports: - # name is a descriptive name for the port - - name: default - # portPolicy has three options: - # - "Dynamic" (default) the system allocates a free hostPort for the gameserver, for game clients to connect to - # - "Static", 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, `hostPort` is required to be populated - # - "Passthrough" dynamically sets the `containerPort` to the same value as the dynamically selected hostPort. - # This will mean that users will need to lookup what port has been opened through the server side SDK. - portPolicy: Static - # the name of the container to open the port on. Defaults to the game server container if omitted or empty. - container: simple-udp - # the port that is being opened on the game server process - containerPort: 7654 - # the port exposed on the host, only required when `portPolicy` is "Static". Overwritten when portPolicy is "Dynamic". - hostPort: 7777 - # protocol being used. Defaults to UDP. TCP is the only other option - protocol: UDP - # Health checking for the running game server - health: - # Disable health checking. defaults to false, but can be set to true - disabled: false - # Number of seconds after the container has started before health check is initiated. Defaults to 5 seconds - initialDelaySeconds: 5 - # If the `Health()` function doesn't get called at least once every period (seconds), then - # the game server is not healthy. Defaults to 5 - periodSeconds: 5 - # Minimum consecutive failures for the health probe to be considered failed after having succeeded. - # Defaults to 3. Minimum value is 1 - failureThreshold: 3 - # Parameters for game server sidecar - sdkServer: - # sdkServer log level parameter has three options: - # - "Info" (default) The SDK server will output all messages except for debug messages - # - "Debug" The SDK server will output all messages including debug messages - # - "Error" The SDK server will only output error messages - logLevel: Info - # grpcPort and httpPort control what ports the sdkserver listens on. - # Starting with Agones 1.2 the default grpcPort is 9357 and the default - # httpPort is 9358. In earlier releases, the defaults were 59357 and 59358 - # respectively but as these were in the ephemeral port range they could - # conflict with other TCP connections. - grpcPort: 9357 - httpPort: 9358 - # Pod template configuration - # https://v1-14.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#podtemplate-v1-core - template: - # pod metadata. Name & Namespace is overwritten - metadata: - labels: - myspeciallabel: myspecialvalue - # Pod Specification - spec: - containers: - - name: simple-udp - image: gcr.io/agones-images/udp-server:0.18 - imagePullPolicy: Always -``` -{{% /feature %}} Since Agones defines a new [Custom Resources Definition (CRD)](https://kubernetes.io/docs/concepts/api-extension/custom-resources/) we can define a new resource using the kind `GameServer` with the custom group `agones.dev` and API version `v1`. @@ -163,7 +89,6 @@ The length of the `name` field of the Gameserver should not exceed 63 characters The `spec` field is the actual GameServer specification and it is composed as follow: -{{% feature publishVersion="1.5.0" %}} - `container` is the name of container running the GameServer in case you have more than one container defined in the [pod](https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/). If you do, this is a mandatory field. For instance this is useful if you want to run a sidecar to ship logs. - `ports` are an array of ports that can be exposed as direct connections to the game server container - `name` is an optional descriptive name for a port @@ -182,28 +107,7 @@ The `spec` field is the actual GameServer specification and it is composed as fo - "Error" The SDK server will only output error messages - `grpcPort` the port that the SDK Server binds to for gRPC connections - `httpPort` the port that the SDK Server binds to for HTTP gRPC gateway connections -- `template` the [pod spec template](https://v1-13.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.13/#podtemplatespec-v1-core) to run your GameServer containers, [see](https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/#pod-templates) for more information. -{{% /feature %}} -{{% feature expiryVersion="1.5.0" %}} -- `container` is the name of container running the GameServer in case you have more than one container defined in the [pod](https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/). If you do, this is a mandatory field. For instance this is useful if you want to run a sidecar to ship logs. -- `ports` are an array of ports that can be exposed as direct connections to the game server container - - `name` is an optional descriptive name for a port - - `portPolicy` has three options: - - `Dynamic` (default) the system allocates a random free hostPort for the gameserver, for game clients to connect to. - - `Static`, 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, `hostPort` is required to be populated. - - `Passthrough` dynamically sets the `containerPort` 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. - - `containerPort` the port that is being opened on the game server process, this is a required field for `Dynamic` and `Static` port policies, and should not be included in Passthrough configuration. - - `protocol` the protocol being used. Defaults to UDP. TCP is the only other option. -- `health` to track the overall healthy state of the GameServer, more information available in the [health check documentation]({{< relref "../Guides/health-checking.md" >}}). --`sdkServer` defines parameters for the game server sidecar - - `logLevel` field defines log level for SDK server. Defaults to "Info". It has three options: - - "Info" (default) The SDK server will output all messages except for debug messages - - "Debug" The SDK server will output all messages including debug messages - - "Error" The SDK server will only output error messages - - `grpcPort` the port that the SDK Server binds to for gRPC connections - - `httpPort` the port that the SDK Server binds to for HTTP gRPC gateway connections -- `template` the [pod spec template](https://v1-13.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.13/#podtemplatespec-v1-core) to run your GameServer containers, [see](https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/#pod-templates) for more information. -{{% /feature %}} +- `template` the [pod spec template](https://v1-14.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.14/#podtemplatespec-v1-core) to run your GameServer containers, [see](https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/#pod-templates) for more information. ## GameServer State Diagram diff --git a/site/layouts/partials/navbar.html b/site/layouts/partials/navbar.html index 69bf774532..557b7a6bcf 100644 --- a/site/layouts/partials/navbar.html +++ b/site/layouts/partials/navbar.html @@ -27,6 +27,7 @@