Podman: A tool for managing OCI containers and pods.
Find a file
W. Trevor King da42c60307 Makefile: Call contrib/python's clean regardless of HAS_PYTHON3
The only Python dependency in contrib/python's clean is:

  $(PYTHON) setup.py clean --all

and our setup.pys work on both major Python versions:

  $ make -C contrib/python/podman PYTHON=python2 clean
  make: Entering directory `/.../libpod/contrib/python/podman'
  python2 setup.py clean --all
  /usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'python_requires'
    warnings.warn(msg)
  running clean
  'build/lib' does not exist -- can't clean it
  'build/bdist.linux-x86_64' does not exist -- can't clean it
  'build/scripts-2.7' does not exist -- can't clean it
  rm -rf podman.egg-info dist
  find . -depth -name __pycache__ -exec rm -rf {} \;
  find . -depth -name \*.pyc -exec rm -f {} \;
  make: Leaving directory `/.../libpod/contrib/python/podman'
  $ echo $?
  0
  $ make -C contrib/python/pypodman PYTHON=python2 clean
  make: Entering directory `/.../libpod/contrib/python/pypodman'
  python2 setup.py clean --all
  /usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'python_requires'
    warnings.warn(msg)
  running clean
  removing 'build/lib' (and everything under it)
  removing 'build/bdist.linux-x86_64' (and everything under it)
  'build/scripts-2.7' does not exist -- can't clean it
  removing 'build'
  rm -rf pypodman.egg-info dist
  find . -depth -name __pycache__ -exec rm -rf {} \;
  find . -depth -name \*.pyc -exec rm -f {} \;
  make: Leaving directory `/.../libpod/contrib/python/pypodman'
  $ echo $?
  0

This rolls back part of 390bd16d (tidy up the copr spec, 2018-05-20, #813).

I've also shifted the submake cleans to the end of the main clean
recipe.  That way, if one of the submake cleans dies (e.g. because the
system lacks Python entirely), the temp-file removal will still
happen.  The way I have it setup now, the podman clean dying will keep
any of the pypodman clean from happening.  You could probably work
around that with something like:

  $(MAKE) -C contrib/python/podman clean & \
    $(MAKE) -C contrib/python/pypodman clean & \
    wait

but that seems too fancy for such a corner case.

Signed-off-by: W. Trevor King <wking@tremily.us>
2018-09-13 22:10:58 -07:00
.copr Change references to cri-o to point at new repository 2018-09-07 17:47:45 +00:00
.github Add notes to check version on problem 2018-09-13 18:31:21 +00:00
.tool packagers need the varlink generated file 2018-04-24 19:13:45 +00:00
cmd/podman Do not set rlimits if we are rootless 2018-09-13 17:56:58 +00:00
cni docs: fix contrib/cni broken link 2018-05-14 13:30:39 +00:00
completions/bash Add podman rm --volumes flag 2018-09-13 13:27:09 +00:00
contrib do not build with devicemapper 2018-09-12 22:21:50 +00:00
docs Search registries with an empty query 2018-09-13 16:20:40 +00:00
hack AppArmor: runtime check if it's enabled on the host 2018-07-23 18:11:09 +00:00
libpod Explicitly set default CNI network name in libpod.conf 2018-09-12 19:18:24 +00:00
logo Touch up logo links 2018-05-15 17:35:11 +00:00
pkg Swap default mount propagation from private to rprivate 2018-09-13 21:35:44 +00:00
test Search registries with an empty query 2018-09-13 16:20:40 +00:00
utils Initial checkin from CRI-O repo 2017-11-01 11:24:59 -04:00
vendor Vendor in latest containers/image 2018-09-13 16:20:40 +00:00
version Add notes to check version on problem 2018-09-13 18:31:21 +00:00
.gitignore Improve ps handling of container start/stop time 2018-08-08 12:37:51 +00:00
.papr.sh switch projectatomic to containers 2018-08-16 17:12:36 +00:00
.papr.yml Turn on test debugging 2018-08-31 16:52:52 +00:00
.papr_prepare.sh switch projectatomic to containers 2018-08-16 17:12:36 +00:00
.travis.yml Do not 'make all' on Travis for Linux 2018-08-15 18:07:04 +00:00
API.md switch projectatomic to containers 2018-08-16 17:12:36 +00:00
changelog.txt Bump to v0.9.1.1 2018-09-10 16:20:19 -04:00
code-of-conduct.md Initial checkin from CRI-O repo 2017-11-01 11:24:59 -04:00
commands.md Include pod stats and top in commands/completions 2018-08-23 15:01:17 +00:00
CONTRIBUTING.md switch projectatomic to containers 2018-08-16 17:12:36 +00:00
crio-umount.conf Initial checkin from CRI-O repo 2017-11-01 11:24:59 -04:00
docker Fix up docker compatibility messages 2018-07-27 13:40:56 +00:00
Dockerfile Change references to cri-o to point at new repository 2018-09-07 17:47:45 +00:00
Dockerfile.CentOS Change references to cri-o to point at new repository 2018-09-07 17:47:45 +00:00
Dockerfile.Fedora Change references to cri-o to point at new repository 2018-09-07 17:47:45 +00:00
install.md Added GOPATH/bin to PATH install.md 2018-09-05 23:38:19 +00:00
libpod.conf Explicitly set default CNI network name in libpod.conf 2018-09-12 19:18:24 +00:00
LICENSE Initial commit 2017-11-01 11:01:27 -04:00
Makefile Makefile: Call contrib/python's clean regardless of HAS_PYTHON3 2018-09-13 22:10:58 -07:00
OWNERS Update OWNERS file to be based on reality 2018-06-04 22:10:30 +00:00
README.md Add notes to check version on problem 2018-09-13 18:31:21 +00:00
RELEASE_NOTES.md Update release notes for 0.9.1.1 2018-09-10 16:17:50 -04:00
seccomp.json Initial checkin from CRI-O repo 2017-11-01 11:24:59 -04:00
transfer.md Change references to cri-o to point at new repository 2018-09-07 17:47:45 +00:00
troubleshooting.md Add notes to check version on problem 2018-09-13 18:31:21 +00:00
Vagrantfile Enhancements to papr tests 2017-11-17 02:07:18 +00:00
vendor.conf Vendor in latest containers/image 2018-09-13 16:20:40 +00:00

PODMAN logo

libpod - library for running OCI-based containers in Pods

Latest Version: 0.9.1

Status: Active Development

What is the scope of this project?

libpod provides a library for applications looking to use the Container Pod concept popularized by Kubernetes. libpod also contains a tool called podman for managing Pods, Containers, and Container Images.

At a high level, the scope of libpod and podman is the following:

  • Support multiple image formats including the existing Docker/OCI image formats.
  • Support for multiple means to download images including trust & image verification.
  • Container image management (managing image layers, overlay filesystems, etc).
  • Full management of container lifecycle
  • Support for pods to manage groups of containers together
  • Resource isolation of containers and pods.

What is not in scope for this project?

  • Signing and pushing images to various image storages. See Skopeo.
  • Container Runtimes daemons for working with Kubernetes CRIs. See CRI-O. We are working to integrate libpod into CRI-O to share containers and backend code with Podman.

OCI Projects Plans

The plan is to use OCI projects and best of breed libraries for different aspects:

  • Runtime: runc (or any OCI compliant runtime) and oci runtime tools to generate the spec
  • Images: Image management using containers/image
  • Storage: Container and image storage is managed by containers/storage
  • Networking: Networking support through use of CNI
  • Builds: Builds are supported via Buildah.
  • Conmon: Conmon is a tool for monitoring OCI runtimes. It is part of the CRI-O package

Podman Information for Developers

Installation notes Information on how to install Podman in your environment.

OCI Hooks Support Information on how Podman configures OCI Hooks to run when launching a container.

Podman API Documentation on the Podman API using Varlink.

Podman Commands A list of the Podman commands with links to their man pages and in many cases videos showing the commands in use.

Podman Troubleshooting Guide A list of common issues and solutions for Podman.

Podman Usage Transfer Useful information for ops and dev transfer as it relates to infrastructure that utilizes Podman. This page includes tables showing Docker commands and their Podman equivalent commands.

Tutorials Tutorials on using Podman.

Release Notes Release notes for recent Podman versions

Contributing Information about contributing to this project.

Current Roadmap

  1. Varlink API for Podman
  2. Integrate libpod into CRI-O to replace its existing container management backend
  3. Pod commands for Podman
  4. Rootless containers
  5. Support for cleaning up containers via post-run hooks