Implement container logs handler

- Add Docker client to handlers for container operations
- Implement HandleAppLogs() to fetch and return container logs
- Support ?tail=N query parameter (default 500 lines)
- Handle missing container gracefully
This commit is contained in:
2025-12-29 15:48:23 +07:00
parent 3f9d83c436
commit daaf00893c
3 changed files with 36 additions and 7 deletions

View File

@@ -9,6 +9,7 @@ import (
"go.uber.org/fx"
"git.eeqj.de/sneak/upaas/internal/database"
"git.eeqj.de/sneak/upaas/internal/docker"
"git.eeqj.de/sneak/upaas/internal/globals"
"git.eeqj.de/sneak/upaas/internal/healthcheck"
"git.eeqj.de/sneak/upaas/internal/logger"
@@ -30,6 +31,7 @@ type Params struct {
App *app.Service
Deploy *deploy.Service
Webhook *webhook.Service
Docker *docker.Client
}
// Handlers provides HTTP request handlers.
@@ -42,6 +44,7 @@ type Handlers struct {
appService *app.Service
deploy *deploy.Service
webhook *webhook.Service
docker *docker.Client
}
// New creates a new Handlers instance.
@@ -55,6 +58,7 @@ func New(_ fx.Lifecycle, params Params) (*Handlers, error) {
appService: params.App,
deploy: params.Deploy,
webhook: params.Webhook,
docker: params.Docker,
}, nil
}