diff options
author | Aditya Rajan <arajan@redhat.com> | 2021-09-03 11:54:56 +0530 |
---|---|---|
committer | Aditya Rajan <arajan@redhat.com> | 2021-09-05 16:24:49 +0530 |
commit | 11fc0e55401a21a88c90a2fa646f2624541711fe (patch) | |
tree | 78cef30dc1fbfc3b1af17901247a35368a17141d /pkg/domain/infra/tunnel/pods.go | |
parent | 858d3e47c26788e64083842cc6617b666f4279a1 (diff) | |
download | podman-11fc0e55401a21a88c90a2fa646f2624541711fe.tar.gz podman-11fc0e55401a21a88c90a2fa646f2624541711fe.tar.bz2 podman-11fc0e55401a21a88c90a2fa646f2624541711fe.zip |
kube: Add support for podman pod logs
Following PR adds support for `kubectl` like `pod logs` to podman.
Usage `podman pod logs <podIDorName` gives a stream of logs for all
the containers within the pod with **containername** as a field.
Just like **`kubectl`** also supports `podman pod logs -c ctrIDorName podIDorName`
to limit the log stream to any of the specificied container which belongs to pod.
Signed-off-by: Aditya Rajan <arajan@redhat.com>
Diffstat (limited to 'pkg/domain/infra/tunnel/pods.go')
-rw-r--r-- | pkg/domain/infra/tunnel/pods.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/pkg/domain/infra/tunnel/pods.go b/pkg/domain/infra/tunnel/pods.go index 480adb88a..8139216b3 100644 --- a/pkg/domain/infra/tunnel/pods.go +++ b/pkg/domain/infra/tunnel/pods.go @@ -42,6 +42,16 @@ func (ic *ContainerEngine) PodKill(ctx context.Context, namesOrIds []string, opt return reports, nil } +func (ic *ContainerEngine) PodLogs(_ context.Context, nameOrIDs string, options entities.PodLogsOptions) error { + // PodLogsOptions are similar but contains few extra fields like ctrName + // So cast other values as is so we can re-use the code + containerLogsOpts := entities.PodLogsOptionsToContainerLogsOptions(options) + + // interface only accepts slice, keep everything consistent + name := []string{options.ContainerName} + return ic.ContainerLogs(nil, name, containerLogsOpts) +} + func (ic *ContainerEngine) PodPause(ctx context.Context, namesOrIds []string, options entities.PodPauseOptions) ([]*entities.PodPauseReport, error) { foundPods, err := getPodsByContext(ic.ClientCtx, options.All, namesOrIds) if err != nil { |