package docker import ( "context" "log" "git.cryptic.systems/volker.raschek/dockerutils" ) type Runtime struct { dockerClient *dockerutils.Client } func (r *Runtime) GetImageLabels(ctx context.Context, image string) (map[string]string, error) { log.Printf("Pull image: %v", image) if err := r.dockerClient.PullQuiet(ctx, image); err != nil { return nil, err } log.Printf("Image successfully pulled: %v", image) imageSpec, _, err := r.dockerClient.ImageInspectWithRaw(ctx, image) if err != nil { return nil, err } return imageSpec.Config.Labels, nil } func NewRuntime(dockerClient *dockerutils.Client) (*Runtime, error) { return &Runtime{ dockerClient: dockerClient, }, nil }