Skip to content

Latest commit

 

History

History

ping-discovery

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Ping Discovery Service

This service will inspect a Google Cloud project for Agones Latency Ping endpoints, and return one for each region that Agones is installed.

The Service will choose an endpoint at random on each request for each region, assuming there are more than one. This is to distribute the load amongst clusters.

API

Endpoint Input Return Description
GET /list None
{
    "asia-east1": {
        "Name": "agones-ping-udp-service",
        "Namespace": "agones-system",
        "Region": "asia-east1",
        "Address": "35.229.159.46",
        "Port": 50000,
        "Protocol": "UDP"
    },
    "europe-west1": {
        "Name": "agones-ping-udp-service",
        "Namespace": "agones-system",
        "Region": "europe-west1",
        "Address": "34.25.152.131",
        "Port": 50000,
        "Protocol": "UDP"
    },
    "us-central1": {
        "Name": "agones-ping-udp-service",
        "Namespace": "agones-system",
        "Region": "us-central1",
        "Address": "35.226.145.95",
        "Port": 50000,
        "Protocol": "UDP"
    }
}
                
Map of region, where the key is the region name, and a singular endpoint for the UDP ping service for each region as the value.

Running locally

When running locally, make sure you have gcloud installed, and a default project authenticated and configured, so that the binary can determine the project it should be scanning for Ping endpoints.

go run main.go

Building image

docker build . -t ping-discovery

Note: The docker image will fail locally, since it has no access Google Cloud Application Default Credentials.