Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Sandbox] Podman Desktop #308

Open
2 tasks done
benoitf opened this issue Nov 14, 2024 · 8 comments
Open
2 tasks done

[Sandbox] Podman Desktop #308

benoitf opened this issue Nov 14, 2024 · 8 comments

Comments

@benoitf
Copy link

benoitf commented Nov 14, 2024

Application contact emails

[email protected], [email protected], [email protected]

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

  • If the project is accepted, I agree the project will follow the CNCF IP Policy

Trademark and accounts

  • If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF

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:

  • Kubernetes and Kubernetes distributions Kind, Minikube - Podman Desktop can help run Kind-powered or Minikube-powered local Kubernetes clusters on multiple container engines.
  • Container engine Lima - With Podman Desktop, you can work on Lima-powered custom instances or local Kubernetes clusters.
  • Podman, Bootc, and ContainerFS for container building, including bootable container building. These projects were submitted to the CNCF separately.

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
Copy link
Member

dims commented Nov 14, 2024

xref: #309

@mrbobbytables
Copy link
Member

For the purposes of review, this will be evaluated as a group including: #308 #309 #310 #311

@afbjorklund
Copy link

afbjorklund commented Dec 8, 2024

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

As we have tried to explain, the Lima project is not a container engine/runtime in itself - but it provides the means to run one...

It provides Containers (both Podman and Docker), and with containerd* it provides Kubernetes (with both k8s and k3s options).

It is all described here: https://podman-desktop.io/docs/lima

So it is an alternative to Podman Machine, for Podman Desktop.


* containerd does not provide a Docker API socket, only CRI API

While lima does provide nerdctl, that is only available through CLI

(there is a nerdctld middleware, that offers limited API functionality)

And lima also allows to customize the OS itself, similar to Vagrant.

Image

@edrob999
Copy link

edrob999 commented Jan 10, 2025

TAG Contributor Strategy has reviewed this project and found the following:

  • Contributor Guide: is Complete, with useful step-by-step instructions for getting started
  • Governance: Project does not yet have a written governance file (this is NOT a blocking issue for sandbox acceptance)
  • Roadmap: is Complete, very detailed milestone/task breakdown and appears actively used.
  • Maintainers file: is Complete, and lists 15 maintainers. All maintainers are affiliated with RedHat.

This review is for the TOC’s information only. Sandbox projects are not required to have full governance or contributor documentation.

@roberthstrand
Copy link
Member

Podman Desktop have scheduled a presentation for TAG App Delivery in our General meeting on January 22nd.

@mrbobbytables
Copy link
Member

/vote

@dims to follow up

Copy link

git-vote bot commented Jan 14, 2025

Vote created

@mrbobbytables has called for a vote on [Sandbox] Podman Desktop (#308).

The members of the following teams have binding votes:

Team
@cncf/cncf-toc

Non-binding votes are also appreciated as a sign of support!

How to vote

You can cast your vote by reacting to this comment. The following reactions are supported:

In favor Against Abstain
👍 👎 👀

Please note that voting for multiple options is not allowed and those votes won't be counted.

The vote will be open for 2months 30days 2h 52m 48s. It will pass if at least 66% of the users with binding votes vote In favor 👍. Once it's closed, results will be published here as a new comment.

@dims
Copy link
Member

dims commented Jan 14, 2025

@dims to follow up

#309 (comment)

@angellk angellk moved this from 🏗 Upcoming to 🤔 In voting in Sandbox Application Board Jan 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🤔 In voting
Development

No branches or pull requests

9 participants