diff options
Diffstat (limited to 'api/docker.go')
| -rw-r--r-- | api/docker.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/api/docker.go b/api/docker.go index 5640b67..248880e 100644 --- a/api/docker.go +++ b/api/docker.go @@ -5,6 +5,7 @@ import ( "fmt" "io" "log/slog" + "time" "github.com/docker/docker/api/types/container" "github.com/docker/docker/client" @@ -56,3 +57,25 @@ func vttLogs(ctx context.Context, lines uint) (io.ReadCloser, error) { return r, nil } + +func vttStatus(ctx context.Context) ServerStatus { + status := ServerStatus{} + status.Site = VTT_URL + status.Timestamp = time.Now() + + apiClient, err := client.NewClientWithOpts(client.FromEnv, client.WithAPIVersionNegotiation()) + if err != nil { + Logger.ErrorContext(ctx, "Failed to get docker api client", slog.Any("err", err)) + return status + } + + json, err := apiClient.ContainerInspect(ctx, vttContainerId) + if err != nil { + Logger.ErrorContext(ctx, "Error occured while geting foundry container stats", slog.Any("err", err)) + return status + } + + status.Online = json.State.Running + + return status +} |
