From 81c0c8f70ebe2247ba2de8ee879be71ded6acee9 Mon Sep 17 00:00:00 2001 From: JP Appel Date: Wed, 9 Oct 2024 11:36:02 -0400 Subject: Add end point stubs for container controls --- api/docker.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'api/docker.go') diff --git a/api/docker.go b/api/docker.go index b82b731..4bbb97e 100644 --- a/api/docker.go +++ b/api/docker.go @@ -31,6 +31,42 @@ func stopVtt(ctx context.Context) error { return nil } +func startVtt(ctx context.Context) error { + 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 err + } + defer apiClient.Close() + + Logger.InfoContext(ctx, "Starting foundry container") + err = apiClient.ContainerStart(ctx, vttContainerId, container.StartOptions{}) + if err != nil { + Logger.ErrorContext(ctx, "Error occured while starting foundry container", slog.Any("err", err)) + return err + } + + return nil +} + +func restartVtt(ctx context.Context) error { + 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 err + } + defer apiClient.Close() + + Logger.InfoContext(ctx, "Starting foundry container") + err = apiClient.ContainerRestart(ctx, vttContainerId, container.StopOptions{}) + if err != nil { + Logger.ErrorContext(ctx, "Error occured while restart foundry container", slog.Any("err", err)) + return err + } + + return nil +} + // Get readcloser for logs // If lines is zero, returns all logs. func vttLogs(ctx context.Context, lines uint) (io.ReadCloser, error) { -- cgit v1.2.3