Documentation ¶
Overview ¶
Package sdkserver implements Agones SDK server (sidecar).
Index ¶
- type LocalSDKServer
- func (l *LocalSDKServer) Allocate(context.Context, *sdk.Empty) (*sdk.Empty, error)
- func (l *LocalSDKServer) Close()
- func (l *LocalSDKServer) GetGameServer(context.Context, *sdk.Empty) (*sdk.GameServer, error)
- func (l *LocalSDKServer) Health(stream sdk.SDK_HealthServer) error
- func (l *LocalSDKServer) Ready(context.Context, *sdk.Empty) (*sdk.Empty, error)
- func (l *LocalSDKServer) SetAnnotation(_ context.Context, kv *sdk.KeyValue) (*sdk.Empty, error)
- func (l *LocalSDKServer) SetLabel(_ context.Context, kv *sdk.KeyValue) (*sdk.Empty, error)
- func (l *LocalSDKServer) Shutdown(context.Context, *sdk.Empty) (*sdk.Empty, error)
- func (l *LocalSDKServer) WatchGameServer(_ *sdk.Empty, stream sdk.SDK_WatchGameServerServer) error
- type Operation
- type SDKServer
- func (s *SDKServer) Allocate(context.Context, *sdk.Empty) (*sdk.Empty, error)
- func (s *SDKServer) GetGameServer(context.Context, *sdk.Empty) (*sdk.GameServer, error)
- func (s *SDKServer) Health(stream sdk.SDK_HealthServer) error
- func (s *SDKServer) Ready(ctx context.Context, e *sdk.Empty) (*sdk.Empty, error)
- func (s *SDKServer) Run(stop <-chan struct{}) error
- func (s *SDKServer) SetAnnotation(_ context.Context, kv *sdk.KeyValue) (*sdk.Empty, error)
- func (s *SDKServer) SetLabel(_ context.Context, kv *sdk.KeyValue) (*sdk.Empty, error)
- func (s *SDKServer) Shutdown(ctx context.Context, e *sdk.Empty) (*sdk.Empty, error)
- func (s *SDKServer) WatchGameServer(_ *sdk.Empty, stream sdk.SDK_WatchGameServerServer) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LocalSDKServer ¶
type LocalSDKServer struct {
// contains filtered or unexported fields
}
LocalSDKServer type is the SDKServer implementation for when the sidecar is being run for local development, and doesn't connect to the Kubernetes cluster
func NewLocalSDKServer ¶
func NewLocalSDKServer(filePath string) (*LocalSDKServer, error)
NewLocalSDKServer returns the default LocalSDKServer
func (*LocalSDKServer) Allocate ¶ added in v0.10.0
Allocate logs that an allocate request has been received
func (*LocalSDKServer) GetGameServer ¶
func (l *LocalSDKServer) GetGameServer(context.Context, *sdk.Empty) (*sdk.GameServer, error)
GetGameServer returns a dummy game server.
func (*LocalSDKServer) Health ¶
func (l *LocalSDKServer) Health(stream sdk.SDK_HealthServer) error
Health logs each health ping that comes down the stream
func (*LocalSDKServer) SetAnnotation ¶
SetAnnotation applies a Annotation to the backing GameServer metadata
func (*LocalSDKServer) WatchGameServer ¶
func (l *LocalSDKServer) WatchGameServer(_ *sdk.Empty, stream sdk.SDK_WatchGameServerServer) error
WatchGameServer will return a dummy GameServer (with no changes), 3 times, every 5 seconds
type SDKServer ¶
type SDKServer struct {
// contains filtered or unexported fields
}
SDKServer is a gRPC server, that is meant to be a sidecar for a GameServer that will update the game server status on SDK requests
func NewSDKServer ¶
func NewSDKServer(gameServerName, namespace string, kubeClient kubernetes.Interface, agonesClient versioned.Interface) (*SDKServer, error)
NewSDKServer creates a SDKServer that sets up an InClusterConfig for Kubernetes
func (*SDKServer) Allocate ¶ added in v0.10.0
Allocate set the GameServer to Allocate, as longs as it's not in UnHealthy, Shutdown or has a DeletionTimeStamp(). Times out after 30 seconds if it cannot complete the operation due to contention issues.
func (*SDKServer) GetGameServer ¶
GetGameServer returns the current GameServer configuration and state from the backing GameServer CRD
func (*SDKServer) Health ¶
func (s *SDKServer) Health(stream sdk.SDK_HealthServer) error
Health receives each health ping, and tracks the last time the health check was received, to track if a GameServer is healthy
func (*SDKServer) Ready ¶
Ready enters the RequestReady state change for this GameServer into the workqueue so it can be updated
func (*SDKServer) SetAnnotation ¶
SetAnnotation adds the Key/Value to be used to set the annotations with the metadataPrefix to the `GameServer` metdata
func (*SDKServer) SetLabel ¶
SetLabel adds the Key/Value to be used to set the label with the metadataPrefix to the `GameServer` metdata
func (*SDKServer) Shutdown ¶
Shutdown enters the Shutdown state change for this GameServer into the workqueue so it can be updated
func (*SDKServer) WatchGameServer ¶
WatchGameServer sends events through the stream when changes occur to the backing GameServer configuration / status