cncf / sandbox

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

[Sandbox] Podman Desktop #308

Open benoitf opened 1 week ago

benoitf commented 1 week ago

Application contact emails

slemeur@redhat.com, veillard@redhat.com, fbenoit@redhat.com

Project Summary

Podman Desktop is an open-source tool for developers to work with containers and Kubernetes with intuitive and user-friendly interface to effortlessly build, manage, and deploy containers and Kubernetes — all from the desktop.

Project Description

Podman Desktop provides a user-friendly interface for managing containers and working with Kubernetes from a local developer machine. Podman Desktop abstracts away the setup and configuration of container tooling on developer environments and provides developers a simplistic onboarding to go from containers up to Kubernetes. The desktop application provides a dashboard to interact with containers, images, pods, and volumes but also configures your environment with preferred OCI registries and network settings. It simplifies configuration and management of developer environments on Mac, Windows and Linux, by providing container engines and Kubernetes (Kind, Minikube) on local machines. This simplistic onboarding and consistency to go from containers to pods to Kubernetes, increasing predictability in deployments and reducing usual gaps of developer tools.

Podman Desktop also supports multiple container engines, like Podman, crc, Lima, Docker.

Podman Desktop also supports different extensions like Podman AI Lab and Bootc Extension. Some of these extensions will be part of the CNCF project, and some will not due to licensing.

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

https://github.com/podman-desktop

Project repo URL in scope of application

N/A

Additional repos in scope of the application

No response

Website URL

https://podman-desktop.io/

Roadmap

https://github.com/podman-desktop/podman-desktop/milestones

Roadmap context

https://github.com/podman-desktop/podman-desktop/wiki/Roadmap

Contributing Guide

https://github.com/podman-desktop/podman-desktop/blob/main/CONTRIBUTING.md

Code of Conduct (CoC)

The containers community currently has its own CoC. If accepted, it would switch to the CNCF CoC

https://github.com/podman-desktop/podman-desktop/blob/main/CODE-OF-CONDUCT.md

Adopters

https://github.com/podman-desktop/podman-desktop/blob/main/ADOPTERS.md

Contributing or Sponsoring Org

https://www.redhat.com

Maintainers file

https://github.com/podman-desktop/podman-desktop/blob/main/MAINTAINERS.md

IP Policy

Trademark and accounts

Why CNCF?

We’ve built Podman Desktop with the mission of making Kubernetes/Cloud Native applications easier and more comprehensive to the application developers. By providing a dedicated UI that combines both container management and Kubernetes, the solution provides a natural path for gradually and progressively gaining expertise on Kubernetes. We wish to be a part of the CNCF so that we can better collaborate with CNCF projects, including building project-specific extensions (see below), and making users aware that there is a free, completely open source, option for desktop development for all the technologies that are used in our landscape. We hope that joining the foundation can accelerate our recruitment of diverse contributors. Moving forward, there is no better home for it than the CNCF. By contributing Podman Desktop to the CNCF, we’re offering a new project for the community to foster the collaborative development and the innovation of a developer centric tool.

Benefit to the Landscape

CNCF has spurred remarkable innovation in the cloud-native space, offering developers a wealth of open source projects. However, there's a growing demand for more developer-friendly and developer-focused tooling that simplifies key developer workflows like building and debugging containerized applications. Podman Desktop fills this gap perfectly by reducing the complexity of working with containers and Kubernetes in a single tool - making the technology more approachable and easier to adopt. Podman Desktop also has a robust extensions structure, which allows other CNCF projects to build project-specific UI elements. As many CNCF projects currently have no GUI tooling for developers, this will help them also reach new audiences. Since Podman Desktop runs on Windows and Mac laptops as well as Linux, it brings Kubernetes-native development tooling to developers who may not have had it before. It also eases migration by developers who are used to GUI tools from other stacks.

Cloud Native 'Fit'

Podman Desktop is a GUI for building cloud native applications. It would fit into the Landscape under Application Development and Image Build. The tool enables the developer to build containers, images work with OCI registries, but it also covers Kubernetes objects like pods, services, deployments and others. By bridging containers and Kubernetes all together into a single comprehensive GUI, Podman Desktop also guides microservice development and unlocks easy testing in a Kubernetes environment. It fills the gap and discrepancies between the developer laptop environment and production.

Cloud Native 'Integration'

Podman Desktop already integrates with several existing CNCF projects:

Cloud Native Overlap

Some parts of Podman Desktop can be perceived as overlapping with Headlamp, a project that reached the sandbox maturity level. Headlamp provides a UI for managing Kubernetes clusters which can run on desktop environments or be deployed on Kubernetes clusters directly. It provides an overall overview of your cluster and helps to monitor your system. Podman Desktop focuses on the application developer persona and covers features and capabilities that are helping them to shape their application, generating Kubernetes manifest, deploying onto local/remote Kubernetes environments. It also provides capabilities that are unique, like the podify or kubify capabilities, allowing to take multiple containers and shape them as Kubernetes deployment units. Finally, Podman Desktop will focus on the capabilities required by the developers to debug their applications and containers, making easy to access logs, to debug configuration and setup of the application - but does not focus on the cluster management and monitoring itself. As a result, Headlamp and Podman Desktop are more complementary to each other, and the Headlamp community has been providing an extension to Podman Desktop.

Similar projects

Podman Desktop does overlap to an extent with other projects that build container images or application pods, including Buildpaks, Dapr, Devfile, and others. However, as the focus of Podman Desktop is on the developer experience, it's intended to be more of a complement to those, hopefully supporting some of them in the future via the extensions mechanism. We do not know of any other CNCF project that supports a developer GUI like ours. Outside of CNCF, similar projects are Docker Desktop, OpenLens, Lens, Rancher Desktop, Orbstack.

Landscape

No

Business Product or Service to Project separation

N/A

Project Domain Technical Review

Not yet, we plan to present to TAG-App Delivery soon.

CNCF Contacts

Additional information

No response

dims commented 1 week ago

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