aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/api/docker.go
diff options
context:
space:
mode:
authorJP Appel <jeanpierre.appel01@gmail.com>2024-10-07 00:46:47 -0400
committerJP Appel <jeanpierre.appel01@gmail.com>2024-10-07 00:46:47 -0400
commitb0c69c203ee697b7adf962a54e27203a13cf4ceb (patch)
tree5b9c8219fc0f0382b481fb94e52ab89c1ac72408 /api/docker.go
parentad4befb67ef768f96f481d0917e459e49a32308f (diff)
Update vtt status endpoint to check container
Diffstat (limited to 'api/docker.go')
-rw-r--r--api/docker.go23
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
+}