feat: runtime manager
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
package ports
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"galaxy/rtmanager/internal/domain/health"
|
||||
)
|
||||
|
||||
// HealthSnapshotStore stores the latest technical-health observation per
|
||||
// game. Adapters keep one row per game_id; later observations overwrite.
|
||||
type HealthSnapshotStore interface {
|
||||
// Upsert installs snapshot as the latest observation for
|
||||
// snapshot.GameID. Adapters validate snapshot through
|
||||
// health.HealthSnapshot.Validate before touching the store.
|
||||
Upsert(ctx context.Context, snapshot health.HealthSnapshot) error
|
||||
|
||||
// Get returns the latest snapshot for gameID. It returns
|
||||
// runtime.ErrNotFound (declared in
|
||||
// `galaxy/rtmanager/internal/domain/runtime`) when no snapshot has
|
||||
// been recorded yet.
|
||||
Get(ctx context.Context, gameID string) (health.HealthSnapshot, error)
|
||||
}
|
||||
Reference in New Issue
Block a user