diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-04-15 18:37:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-15 18:37:18 +0200 |
commit | 9b78bf9293bd7920b60aa0bf41fa40f9200f54ff (patch) | |
tree | 10fc513e65d5aa0fb6818674478549c121330e8b /pkg/domain/infra/tunnel/events.go | |
parent | cc9b78f07ca9941260b74ad07f3b94357e138286 (diff) | |
parent | 165aef7766953cd0c0589ffa1abc25022a905adb (diff) | |
download | podman-9b78bf9293bd7920b60aa0bf41fa40f9200f54ff.tar.gz podman-9b78bf9293bd7920b60aa0bf41fa40f9200f54ff.tar.bz2 podman-9b78bf9293bd7920b60aa0bf41fa40f9200f54ff.zip |
Merge pull request #5770 from baude/v2events
podmanv2 events
Diffstat (limited to 'pkg/domain/infra/tunnel/events.go')
-rw-r--r-- | pkg/domain/infra/tunnel/events.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/pkg/domain/infra/tunnel/events.go b/pkg/domain/infra/tunnel/events.go new file mode 100644 index 000000000..46d88341a --- /dev/null +++ b/pkg/domain/infra/tunnel/events.go @@ -0,0 +1,31 @@ +package tunnel + +import ( + "context" + "strings" + + "github.com/containers/libpod/pkg/api/handlers" + "github.com/containers/libpod/pkg/bindings/system" + "github.com/containers/libpod/pkg/domain/entities" + "github.com/pkg/errors" +) + +func (ic *ContainerEngine) Events(ctx context.Context, opts entities.EventsOptions) error { + filters := make(map[string][]string) + if len(opts.Filter) > 0 { + for _, filter := range opts.Filter { + split := strings.Split(filter, "=") + if len(split) < 2 { + return errors.Errorf("invalid filter %q", filter) + } + filters[split[0]] = append(filters[split[0]], strings.Join(split[1:], "=")) + } + } + binChan := make(chan handlers.Event) + go func() { + for e := range binChan { + opts.EventChan <- e.ToLibpodEvent() + } + }() + return system.Events(ic.ClientCxt, binChan, nil, &opts.Since, &opts.Until, filters) +} |