podman: Using `pkg/bindings` Go API should not require native dependencies to be installed

Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)

/kind feature

Description

As it stands, building an application that uses Podman via the HTTP API client (pkg/bindings) requires native dependencies (e.g libbtrfs, libgpgme etc) to be available on the machine. This provides a poor developer experience, especially to those on operating systems other than Linux where they may struggle to source the dependencies, and makes building applications that use this API much more difficult (these dependencies must also be installed as part of CI pipelines etc). As an engineer, I am unable to understand why I need these dependencies to leverage this API client, as they don’t seem reasonable dependencies for an API client that makes HTTP requests (e.g libbtrfs).

We should explore options that would mean it’s possible to use this API without the installation of those native dependencies. As far as I can tell, this is caused by the bindings packages relying on types defined in other packages where those dependencies are required as part of the runtime. If these types were extracted, or copied, and placed in separate packages, it should be possible to build applications using the Podman API Client without installing those native dependencies.

Many thanks,

About this issue

  • Original URL
  • State: open
  • Created 3 years ago
  • Reactions: 8
  • Comments: 22 (13 by maintainers)

Commits related to this issue

Most upvoted comments

A friendly reminder that this issue had no activity for 30 days.