Skip to content

Work with remote podman containers #3367

Open
@puppetjoy

Description

@puppetjoy

Use Case

For working with containers from within a container, I bind-mount /run/podman/podman.sock from the host and use podman-remote. Bolt only calls the local podman command to interact with containers.

Describe the Solution You Would Like

Add a podman transport option that accepts any valid Podman URL from podman-remote(1), including examples like:

  • unix:///run/user/$UID/podman/podman.sock
  • ssh://notroot@localhost:22/run/user/$UID/podman/podman.sock
  • ssh://root@localhost:22/run/podman/podman.sock
  • tcp://localhost:34451
  • tcp://127.0.0.1:34451

When this new option is set, Bolt should call podman-remote --url=VALUE to interact with containers.

Describe Alternatives You've Considered

As a workaround, I prepare my management container with:

# Force podman remote operations (bolt hardcodes podman)
file { '/usr/bin/podman':
  ensure => link,
  target => '/usr/bin/podman-remote',
}

That will cause bolt to work with /run/podman/podman.sock for all containers. One could set the environment variable CONNECTION_HOST to some other value. This would also apply to all containers. A transport option would allow this to be specified on a per target basis and let Bolt orchestrate tasks among many container hosts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    FeatureNew features and improvements.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions