cncf / sandbox

Applications for Sandbox go here! ⏳📦🧪
Apache License 2.0
134 stars 22 forks source link

[Sandbox] Podman Container Tools #309

Open marrusl opened 1 week ago

marrusl commented 1 week ago

Application contact emails

Mark Russell - mrussell@redhat.com Neil Smith - nesmith@redhat.com Brent Baude - bbaude@redhat.com

Project Summary

The Podman Container Tools project consists of Podman (the Pod Manager), Buildah, Skopeo as well as a number of smaller tools which are used to manage containers and images, volumes mounted into those containers, and pods made from groups of containers.

Project Description

At a high level, Podman, Buildah, and Skopeo are a set of tools that provide full management of containers and container images.

Org repo URL (provide if all repos under the org are in scope of the application)

N/A

Project repo URL in scope of application

https://github.com/containers/podman

Additional repos in scope of the application

https://github.com/containers/buildah https://github.com/containers/skopeo

https://github.com/containers/netavark
https://github.com/containers/aardvark-dns
https://github.com/containers/image
https://github.com/containers/storage
https://github.com/containers/common
https://github.com/containers/conmon
https://github.com/containers/podman-py

Website URL

https://podman.io/

Roadmap

https://github.com/containers/podman/blob/main/ROADMAP.md

Roadmap context

The Podman Container Tools project is continually evaluating issues posted to its github repository as well as ideas brought forward by contributors and other open source projects.

Contributing Guide

https://github.com/containers/podman/blob/main/CONTRIBUTING.md

Code of Conduct (CoC)

The containers community currently has its own CoC. If accepted, the repos in scope for this application would switch to the CNCF CoC. https://github.com/containers/common/blob/main/CODE-OF-CONDUCT.md

Adopters

No response

Contributing or Sponsoring Org

www.redhat.com

Maintainers file

https://github.com/containers/podman/blob/main/OWNERS

IP Policy

Trademark and accounts

Why CNCF?

Containers are a fundamental part of cloud-native workloads today and are set to evolve to meet the needs of tomorrow. Through the contribution of these cloud-native container tools, users have better and more consistent access between Linux and Kubernetes. These tools provide users an end-to-end cloud-native stack to build, deploy and manage containers at scale across the hybrid cloud.

Projects like Podman are at the center of this innovation for container technologies. That is why, while already a popular project with a strong user base, Podman is being submitted for contribution at the Sandbox level. Podman as a Sandbox project allows for the community to continue growing organically, fostering broader collaboration and growing the diversity of contributors and maintainers - ultimately making it a stronger technology. We believe the CNCF is the place to make this innovation happen.

Benefit to the Landscape

While the CNCF currently hosts many projects that support developer pipelines and packaging, it does not yet have a complete set of user tools for container building and manipulation. Podman and its subprojects, already utilized by several existing CNCF projects, fills this gap. Together with Podman Desktop (if accepted), this gives the CNCF a more complete stack of developer tools for container application development.

Podman and its subprojects tightly integrate with Kubernetes, targeting pod-based container development, with support for Kubernetes workloads, persistent volumes, and ConfigMaps. This allows container application developers to build their containers targeted directly at Kubernetes, and supports an easier dev-to-prod transition. The subproject Buildah provides an OCI-compliant container build tool that is rootless and daemonless by default, making it ideal for use in CI pipelines.

Cloud Native 'Fit'

Today containers and container images are the primary building block of Cloud Native platforms. Podman, like other container runtimes, provides a human and programmatic interface for working directly with containers--from the simplest of tasks to many of the most sophisticated niche use-cases. Podman provides all the functions needed to create, manage, and run containers on a single container host.

Because of how easily it works with pods and Kubernetes YAML, it also can provide a seamless bridge from developer and a single host to a Kubernetes cluster.

Podman is already listed in the Landscape in the Application Definition & Image Build section.

Cloud Native 'Integration'

Podman is compatible, and even currently used with, many CNCF projects. It works with all container registries, including Harbor and Zot. Developer tools such as ArgoCD, Buildpacks, and Dapr already can use Podman as part of their build pipelines. And other CNCF projects like Cert Manager, Keycloak, and Prometheus document Podman support..

Cloud Native Overlap

Podman Container Tools depend on some of the same libraries as CRI-O, a CNCF Graduated project. The Podman Container Tool Skopeo has similar capabilities to ORAS - a CNCF Sandbox project. The Podman Container Tool Buildah is similar in capabilities to Stacker - a CNCF Sandbox project and an OCI image builder that uses yaml in place of Dockerfiles.

Similar projects

Docker CLI, Docker Compose, Docker Swarm

Landscape

Yes, in the Application Definition & Image Build and the App Definition and Development sections.

Business Product or Service to Project separation

Downstream Podman is included as a component of Red Hat Enterprise Linux (RHEL), other Red Hat products, and other paid Linux distributions. It is not sold as a standalone product. As such, roadmap priorities, development plans, and release management for Podman have always been carried out entirely in the open source community, and are already completely separate from products. After joining the CNCF, we plan to mentor additional community leadership, which will help ensure independence.

Project Domain Technical Review

The project plans to present to TAG Runtime and will update this application with the recording and notes after that time.

CNCF Contacts

Jorge Castro, Karena Angell, Josh Berkus

Additional information

No response

dims commented 1 week ago

xref: https://github.com/cncf/sandbox/issues/308