Podman: A tool for managing OCI containers and pods.
Go to file
W. Trevor King c45d4c6d5c hooks: Fix monitoring of multiple directories
This isn't an issue with podman, which will only ever use one
directory.  But CRI-O generally uses two directories, and we want to
make sure that changes to the fallback directory are not clobbering
hooks configured in the override directory.  More background in [1].

I've split the handling into a single-directory block and a
multiple-directory block so we don't waste time polling the filesystem
for single-directory removals.

I'm using the single-directory block for the the zero-directory case
as well.  Managers with zero directories should not be receiving
fsnotify events, so I don't think it really matters which block
handles them.  If we want to handle this case robustly (because we're
concerned about something in the hook package adjusted the private
.directories property on the fly?), then we'll probably want to add an
explicit zero-directory block in future work.

[1]: https://github.com/kubernetes-incubator/cri-o/pull/1470

Signed-off-by: W. Trevor King <wking@tremily.us>

Closes: #757
Approved by: rhatdan
2018-05-17 22:39:13 +00:00
.copr Add seconds after epoch to copr rpms to tie break versioning 2018-04-21 21:38:10 +00:00
.github Add podman info to the issue template 2018-03-06 20:46:59 +00:00
.tool packagers need the varlink generated file 2018-04-24 19:13:45 +00:00
cmd/podman libpod: fix panic when using -t and the process fails to start 2018-05-17 13:26:16 +00:00
cni docs: fix contrib/cni broken link 2018-05-14 13:30:39 +00:00
completions/bash Fix podman inspect bash completions 2018-05-16 16:56:34 +00:00
contrib make sure hooks are renamed for copr spec 2018-05-17 15:57:34 -05:00
docs docs/podman.1: Link to hook documentation 2018-05-17 18:22:10 +00:00
hack Makefile: Drop find-godeps.sh for podman target 2018-05-16 15:42:34 +00:00
libpod Use container cleanup() functions when removing 2018-05-17 18:55:59 +00:00
logo Touch up logo links 2018-05-15 17:35:11 +00:00
pkg hooks: Fix monitoring of multiple directories 2018-05-17 22:39:13 +00:00
test chrootuser: default to GID 0 when given a numeric --user 2018-05-17 17:05:44 +00:00
utils
vendor Vendor in latest containers/image 2018-05-16 18:06:52 +00:00
version Bump to v0.5.3-dev 2018-05-11 13:21:37 -04:00
.gitignore Update .gitignore for python work 2018-04-27 14:11:13 +00:00
.papr.sh test/e2e/run_userns_test.go: new file 2018-05-04 17:15:55 +00:00
.papr.yml Use podman to test podman on FAH 2018-03-22 13:47:28 +00:00
.papr_prepare.sh Run podman inside a podman container 2018-02-16 18:35:54 +00:00
.travis.yml Refactor libpod python varlink bindings 2018-05-16 14:01:10 +00:00
API.md implement varlink commit 2018-05-15 17:08:10 +00:00
CONTRIBUTING.md CONTRIBUTING: Document PR approval and link to OWNERS 2018-04-28 07:45:30 +00:00
Dockerfile test/e2e/run_userns_test.go: new file 2018-05-04 17:15:55 +00:00
Dockerfile.CentOS Honor ENTRYPOINT in image 2018-02-11 10:21:46 +00:00
Dockerfile.Fedora Dockerfile.Fedora: use fedora:28 instead of fedora:27 2018-05-05 20:02:22 +00:00
LICENSE
Makefile hooks/docs: Add oci-hooks.5 and per-package man page building 2018-05-17 18:22:10 +00:00
OWNERS OWNERS: rename 'assignees' to 'approvers' 2018-04-28 07:45:30 +00:00
README.md Add Troubleshooting guide 2018-05-17 17:48:51 +00:00
Vagrantfile Enhancements to papr tests 2017-11-17 02:07:18 +00:00
changelog.txt Bump to v0.5.2 2018-05-11 13:20:57 -04:00
code-of-conduct.md
commands.md Touch up logo links 2018-05-15 17:35:11 +00:00
crio-umount.conf
docker Add support for mimicing docker CLI 2018-01-18 07:01:48 -05:00
install.md docs: fix contrib/cni broken link 2018-05-14 13:30:39 +00:00
libpod.conf libpod.conf: Podman's conmon path on openSUSE 2018-04-30 21:58:17 +00:00
seccomp.json
transfer.md Add 'podman restart' command 2018-03-16 13:55:49 +00:00
troubleshooting.md Add Troubleshooting guide 2018-05-17 17:48:51 +00:00
vendor.conf Allow push/save without image reference 2018-05-16 18:06:52 +00:00

README.md

PODMAN logo

libpod - library for running OCI-based containers in Pods

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.

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