fix: update the markdownlint targets (#10487)

* docs: fix lint markdown style issues

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
This commit is contained in:
Anders Björklund 2024-12-30 11:37:17 +01:00 committed by GitHub
parent 48101b443e
commit effc6f84e8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
39 changed files with 267 additions and 230 deletions

4
.markdownlint-cli2.yaml Normal file
View file

@ -0,0 +1,4 @@
# only show filenames, at the top level
outputFormatters:
- - markdownlint-cli2-formatter-summarize
- byFile: true

View file

@ -8,5 +8,9 @@ MD014: false
MD024: false
# We have multiple top-level headings in the same document to set different page title and navigation title:
MD025: false
# Allow actual numbers in ordered lists:
MD029: false
# Allow spaces after marker in ordered lists:
MD030: false
# We allow inline HTML (icon):
MD033: false

View file

@ -75,7 +75,7 @@
"format:check": "biome format",
"format:fix": "biome format --write",
"markdownlint:check": "markdownlint-cli2 \"website/**/*.md\" \"#website/node_modules\" \"#website/api\"",
"markdownlint:fix": "markdownlint-cli2-fix \"website/**/*.md\" \"#website/node_modules\"",
"markdownlint:fix": "markdownlint-cli2 --fix \"website/**/*.md\" \"#website/node_modules\"",
"lint:clean": "rimraf .eslintcache",
"lint:fix": "node --max-old-space-size=6144 node_modules/eslint/bin/eslint.js --cache . --cache-strategy content --fix",
"lint:check": "node --max-old-space-size=6144 node_modules/eslint/bin/eslint.js --cache . --cache-strategy content",

View file

@ -3122,7 +3122,7 @@ declare module '@podman-desktop/api' {
*
* If the option is not set, the host's native OS and Architecture are used to look up the image in the image cache. However, if no platform is passed and the given image does exist in the local image cache, but its OS or architecture does not match, the container is created with the available image, and a warning is added to the `Warnings` field in the response, for example;
*
* ```
* ```text
* WARNING: The requested image's platform (linux/arm64/v8) does not
* match the detected host platform (linux/amd64) and no
* specific platform was requested

View file

@ -986,6 +986,9 @@ importers:
markdownlint-cli2:
specifier: ^0.17.0
version: 0.17.0
markdownlint-cli2-formatter-summarize:
specifier: ^0.0.7
version: 0.0.7(markdownlint-cli2@0.17.0)
postcss:
specifier: ^8.4.49
version: 8.4.49
@ -7872,6 +7875,11 @@ packages:
peerDependencies:
markdownlint-cli2: '>=0.0.4'
markdownlint-cli2-formatter-summarize@0.0.7:
resolution: {integrity: sha512-WYIuEen9A7B+OkTeAF8peRWysHKYUGYZQ8EIGAIXUm21S+UnPwxgz1EgUDpkvGlcbD/XS4474v8cnOI5so2MvQ==}
peerDependencies:
markdownlint-cli2: '>=0.0.4'
markdownlint-cli2@0.17.0:
resolution: {integrity: sha512-8Xz7wkkkV4wJTf+pvryU3J/fT3BZWD3ZykcjYBR0GuH0GHvrCbswaCdurbuUuAPDGFZy4cxBGYCJSAOW8jM4aQ==}
engines: {node: '>=18'}
@ -20044,6 +20052,10 @@ snapshots:
dependencies:
markdownlint-cli2: 0.17.0
markdownlint-cli2-formatter-summarize@0.0.7(markdownlint-cli2@0.17.0):
dependencies:
markdownlint-cli2: 0.17.0
markdownlint-cli2@0.17.0:
dependencies:
globby: 14.0.2

View file

@ -144,8 +144,7 @@ We need to reuse the image of the previous step. For that let's use the build se
},
```
In order to avoid to redo all the build steps each time we open a workspace using this dev container, we published the image to quay.io at [quay.io/podman-desktop/devcontainer-parent:next
](https://quay.io/repository/podman-desktop/devcontainer-parent?tab=tags&tag=next). This parent image is not changing much so it's better to use is as a parent one.
In order to avoid to redo all the build steps each time we open a workspace using this dev container, we published the image to quay.io at [quay.io/podman-desktop/devcontainer-parent:next](https://quay.io/repository/podman-desktop/devcontainer-parent?tab=tags&tag=next). This parent image is not changing much so it's better to use is as a parent one.
Inside `.devcontainer` directory there is a `.parent` directory with everything related to the parent image.

View file

@ -85,8 +85,8 @@ Click **Add repositories**
On the **Add custom repositories** page, select the following:
- In the **Name** list, enter EPEL 9.
- In the **URL** field, enter https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/
- In the **GPG key** field, enter https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-9
- In the **URL** field, enter `https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/`
- In the **GPG key** field, enter `https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-9`
- Click **Save**.
Close the tab and switch back to the previous one
@ -165,4 +165,4 @@ Start the image by clicking on the **Run image** icon
![images list](img/using-rhel-wsl-podman-machine\rhel-wsl-podman-machine15.png)
Once the container is started, the Apache server can be accessed on http://localhost:9000
Once the container is started, the Apache server can be accessed on [localhost:9000](http://localhost:9000)

View file

@ -58,11 +58,11 @@ Which will output information regarding your GPU:
```sh
GPU id = 0 (Virtio-GPU Venus (Apple M1 Pro))
GPU id = 1 (llvmpipe (LLVM 17.0.6, 128 bits))
GPU id = 0 (Virtio-GPU Venus (Apple M1 Pro))
GPU id = 1 (llvmpipe (LLVM 17.0.6, 128 bits))
GPU0:
deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
deviceName = Virtio-GPU Venus (Apple M1 Pro)
deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
deviceName = Virtio-GPU Venus (Apple M1 Pro)
GPU1:
```

View file

@ -12,25 +12,27 @@ hide_table_of_contents: false
The integration of Podman Desktop with Kubernetes helps you to run your application on a Kubernetes cluster, such as Kind or Minikube.
This blog covers the following aspects:
- Build a containerized application from registry images
- Create a pod
- Set up a local Kubernetes cluster
- Deploy the application to Kubernetes
- Verify the running service
## Building a containerized application
## Building a containerized application
With this blog, you will build a containerized application that uses:
- a back-end Redis server container
- a front-end Python application container
To do so, you can pull the relevant images from the `quay.io` registry.
1. Go to the **Images** component page.
2. Click **Pull**.
2. Click **Pull**.
![pull from registry](img/building-a-kubernetes-application/pulling-from-registry.png)
3. Start the first container:
1. Enter the image name to pull from a registry. For example, `quay.io/podman-desktop-demo/podify-demo-backend`.
1. Enter the image name to pull from a registry. For example, `quay.io/podman-desktop-demo/podify-demo-backend`.
![enter image name](img/building-a-kubernetes-application/enter-image-name.png)
2. Click **Pull image**. A download complete notification opens.
3. Click **Done**.
@ -43,12 +45,12 @@ To do so, you can pull the relevant images from the `quay.io` registry.
![view Logs tab](img/building-a-kubernetes-application/redis-running-in-logs.png)
4. Start the second container:
1. Enter the image name to pull from a registry. For example, `quay.io/podman-desktop-demo/podify-demo-frontend`.
1. Enter the image name to pull from a registry. For example, `quay.io/podman-desktop-demo/podify-demo-frontend`.
2. Click **Pull image** and then **Done**.
3. Click the `Run Image` icon corresponding to the new image added.
4. Enter the container name `python-app`.
![enter image name](img/building-a-kubernetes-application/python-app-image.png)
:::note
If the default port is already in use, you can specify a different port in the `Port mapping` field.
@ -59,11 +61,11 @@ To do so, you can pull the relevant images from the `quay.io` registry.
:::note
You can find the IP address in the **Inspect** tab of the `redis-server` Container Details page.
You can find the IP address in the **Inspect** tab of the `redis-server` Container Details page.
:::
6. Click **Start Container**.
6. Click **Start Container**.
![start a front-end container](img/building-a-kubernetes-application/starting-a-frontend-container.png)
7. Click the **Logs** tab to view that the application is running on port `5000`.
![front-end app running](img/building-a-kubernetes-application/frontend-app-running.png)
@ -71,8 +73,8 @@ To do so, you can pull the relevant images from the `quay.io` registry.
9. View the running front-end application.
![running front-end application](img/building-a-kubernetes-application/running-application-locally.png)
## Creating a pod
You can use both the containers to create a pod. This way both the front-end and back end container applications can share resources, such as storage and network.
**_Pod creation with existing containers_**
@ -87,10 +89,9 @@ You can use both the containers to create a pod. This way both the front-end and
6. Click the name of the pod and then click the **Summary** tab to view its summary.
![viewing pod details](img/building-a-kubernetes-application/viewing-pod-details.png)
**_Alternative: Pod creation with Kubernetes YAML_**
You can generate a Kubernetes manifest for any existing pod or container and use it to create a local Kubernetes YAML file. Then, you can customize that file and create a pod from it.
You can generate a Kubernetes manifest for any existing pod or container and use it to create a local Kubernetes YAML file. Then, you can customize that file and create a pod from it.
At the time of pod creation, you can select a runtime to indicate whether you want to run the pod on a Podman engine or a Kubernetes cluster. Based on the selection, you get to see the newly created pod running in that environment on the Pods component page.
@ -109,16 +110,17 @@ The following procedure creates a pod that runs on a Podman engine.
![play kubernetes yaml](img/building-a-kubernetes-application/play-kubernetes-yaml.png)
9. Select the YAML file from your machine.
10. Check that the **Runtime** field is set to `Podman container engine`.
11. Click **Play** and then **Done**.
11. Click **Play** and then **Done**.
13. View the newly created pod on the same page.
After creating the pod, set up a local Kubernetes cluster to deploy the pod.
## Setting up a local Kubernetes cluster
You can set up a local Kubernetes cluster. Once the cluster is connected and running, you can deploy your application on it.
You can set up a local Kubernetes cluster. Once the cluster is connected and running, you can deploy your application on it.
Based on your preference, use the Kind or Minikube extension:
1. [Install the extension](/docs/extensions/install) from the Extensions catalog.
2. Create a Kubernetes cluster. See [Kind cluster creation](/docs/kind/installing-extension) or [Minikube cluster creation](/docs/minikube/installing-extension).
@ -132,20 +134,19 @@ You can deploy the application pod to a Kubernetes cluster that has an active co
2. Go to the **Pods** component page.
3. Click the overflow menu icon corresponding to the pod.
![overflow menu icon](img/building-a-kubernetes-application/overflow-menu-icon.png)
4. Select the **Deploy to Kubernetes** option from the dropdown list.
4. Select the **Deploy to Kubernetes** option from the dropdown list.
5. Select the checkbox to expose the service locally using the ingress controller.
![expose the service locally](img/building-a-kubernetes-application/expose-the-service-locally.png)
:::note
When you configure custom port mapping while running an image, you get the option to select an Ingress host port from the dropdown list.
When you configure custom port mapping while running an image, you get the option to select an Ingress host port from the dropdown list.
![ingress-host-port](img/building-a-kubernetes-application/ingress-host-port.png)
Otherwise, you do not see the option.
Otherwise, you do not see the option.
:::
6. Click **Deploy** and then **Done**.
## Verifying the running service
1. Go the **Kubernetes** component page.
@ -157,6 +158,6 @@ You can deploy the application pod to a Kubernetes cluster that has an active co
:::note
Use the **Apply YAML** button to directly apply a Kubernetes YAML file to create a resource.
Use the **Apply YAML** button to directly apply a Kubernetes YAML file to create a resource.
:::

View file

@ -11,7 +11,7 @@ hide_table_of_contents: false
# How to create your first extension
Extensions are a powerful tool to customize and extend the functionality of Podman Desktop. Whether you want to add new container management features, streamline current workflows, or create custom UI elements specific to your tech stack, building extensions allows you to tailor the Podman Desktop experience to your specific needs.
Extensions are a powerful tool to customize and extend the functionality of Podman Desktop. Whether you want to add new container management features, streamline current workflows, or create custom UI elements specific to your tech stack, building extensions allows you to tailor the Podman Desktop experience to your specific needs.
In this guide, we'll introduce how you can build your own Podman Desktop extension, with links to detailed documentation that covers each part of the process.
@ -53,7 +53,7 @@ Below is an example of how the [bootc extension](https://github.com/containers/p
## Adding and configuring commands
Commands are the backbone of most extensions, allowing users to interact with the application and trigger specific actions.
Commands are the backbone of most extensions, allowing users to interact with the application and trigger specific actions.
If you need to define and register custom commands, the **[Commands](/docs/extensions/developing/commands)** guide will show you how to create commands that respond to user actions or input, and tie them into your extensions workflow.
@ -87,4 +87,4 @@ Creating an extension opens up endless possibilities to customize Podman Desktop
It is also easy to package and publish your extension for others to use.
Have fun exploring our documentation on how to create an extension and happy coding!
Have fun exploring our documentation on how to create an extension and happy coding!

View file

@ -18,7 +18,7 @@ Podman Desktop 1.14 Release! 🎉
Podman Desktop 1.14 is now available. [Click here to download it](/downloads)!
This release includes:
This release includes:
- **Kubernetes improvements with a new dashboard**: A new landing screen for Kubernetes has been added with UI changes that gives an overview of your entire cluster.
- **Port forwarding for pods**: This new feature allows users to configure port forwarding in their Kubernetes environment.
@ -28,7 +28,6 @@ This release includes:
### Kubernetes improvements
### Kubernetes improvements with a new dashboard
We have updated the Kubernetes dashboard page to provide a quick overview of a user's Kubernetes cluster, alongside with multiple changes to Kubernetes backend.
@ -37,7 +36,7 @@ We have updated the Kubernetes dashboard page to provide a quick overview of a u
### Port forwarding for pods
Podman Desktop now supports port forwarding for pods in Kubernetes environments. Port forwarding can be done from the pod detail page and then visible in the Port forwarding page.
Podman Desktop now supports port forwarding for pods in Kubernetes environments. Port forwarding can be done from the pod detail page and then visible in the Port forwarding page.
![port forwarding](img/podman-desktop-release-1.14/port_forwarding.png)
@ -67,11 +66,13 @@ Get the latest release from the [Downloads](/downloads) section of the website a
## Detailed release changelog
### ci 🔁
- chore: validate also the title of the PR to be semantic by @benoitf in [#9438](https://github.com/containers/podman-desktop/pull/9438)
- chore: allow merge commits in semantic check by @benoitf in [#9581](https://github.com/containers/podman-desktop/pull/9581)
- fix: publish @podman-extension/api package by @dgolovin in [#9061](https://github.com/containers/podman-desktop/pull/9061)
### dashboard 📊
- feat(dashboard): new guides added to learning center by @slemeur in [#9638](https://github.com/containers/podman-desktop/pull/9638)
- chore: redirect to dashboard when clicking on release notes button in statusbar by @SoniaSandler in [#9623](https://github.com/containers/podman-desktop/pull/9623)
- feat: navigation to the dashboard by @deboer-tim in [#9333](https://github.com/containers/podman-desktop/pull/9333)
@ -80,6 +81,7 @@ Get the latest release from the [Downloads](/downloads) section of the website a
- fix: next version check by @SoniaSandler in [#9595](https://github.com/containers/podman-desktop/pull/9595)
### documentation 📖
- docs: add kind video by @cdrage in [#9444](https://github.com/containers/podman-desktop/pull/9444)
- docs: add minikube video by @cdrage in [#9391](https://github.com/containers/podman-desktop/pull/9391)
- docs: add 1.13 release notes by @SoniaSandler in [#9261](https://github.com/containers/podman-desktop/pull/9261)
@ -87,9 +89,11 @@ Get the latest release from the [Downloads](/downloads) section of the website a
- chore: update DD extension image by @deboer-tim in [#9346](https://github.com/containers/podman-desktop/pull/9346)
### extension/kind 🍾
- fix: add implementation for kind update by @dgolovin in [#9258](https://github.com/containers/podman-desktop/pull/9258)
### extension/podman 🦭
- fix: cannot create machine with WSL provider without administrator ri… by @jeffmaury in [#9644](https://github.com/containers/podman-desktop/pull/9644)
- chore: fix version of the podman extension by @benoitf in [#9567](https://github.com/containers/podman-desktop/pull/9567)
- chore: fix the release workflow to properly update podman ext version by @benoitf in [#9566](https://github.com/containers/podman-desktop/pull/9566)
@ -99,12 +103,14 @@ Get the latest release from the [Downloads](/downloads) section of the website a
- feat: provide ability to easily get a shell in a machine - backend changes - additional changes by @gastoner in [#9550](https://github.com/containers/podman-desktop/pull/9550)
### extensions 🧩
- fix: add implementation for compose update by @dgolovin in [#9402](https://github.com/containers/podman-desktop/pull/9402)
- fix: check if newly installed extensions dependencies are already installed by @SoniaSandler in [#9596](https://github.com/containers/podman-desktop/pull/9596)
- chore: prefer method of the extension over system to get OS by @benoitf in [#9612](https://github.com/containers/podman-desktop/pull/9612)
- fix: update embedded image extension by @benoitf in [#9547](https://github.com/containers/podman-desktop/pull/9547)
### install 🎁
- chore: fix broken pnpm lock file by @benoitf in [#9437](https://github.com/containers/podman-desktop/pull/9437)
- chore: update electron-builder to v25.1.8 by @benoitf in [#9421](https://github.com/containers/podman-desktop/pull/9421)
- fix: avoid to have proxy arguments when calling the status bar entry command by @benoitf in [#9394](https://github.com/containers/podman-desktop/pull/9394)
@ -123,6 +129,7 @@ Get the latest release from the [Downloads](/downloads) section of the website a
- fix: replace node-fetch by native Node.js fetch by @jeffmaury in [#9489](https://github.com/containers/podman-desktop/pull/9489)
### Kubernetes ☸️
- feat: initial Kubernetes dashboard by @deboer-tim in [#9588](https://github.com/containers/podman-desktop/pull/9588)
- feat(ui): adding KubernetesCurrentContextPortForwards store by @axel7083 in [#9642](https://github.com/containers/podman-desktop/pull/9642)
- fix: add Kubernetes port forward IPCs and events by @jeffmaury in [#9505](https://github.com/containers/podman-desktop/pull/9505)
@ -141,17 +148,21 @@ Get the latest release from the [Downloads](/downloads) section of the website a
- refactor: context checking state as derived store by @feloy in [#9504](https://github.com/containers/podman-desktop/pull/9504)
### podman-upstream 🦭
- feat: update podman to v5.2.5 by @benoitf in [#9563](https://github.com/containers/podman-desktop/pull/9563)
### settings ⚙️
- fix: incorrect system proxy format on Windows by @Indekkusu545 in [#9626](https://github.com/containers/podman-desktop/pull/9626)
- chore: introduce a new property scope for docker compatibility by @benoitf in [#9604](https://github.com/containers/podman-desktop/pull/9604)
- chore: properties can be part of a group by @benoitf in [#9602](https://github.com/containers/podman-desktop/pull/9602)
### telemetry 📈
- chore: remove podmanListImages telemetry by @deboer-tim in [#9466](https://github.com/containers/podman-desktop/pull/9466)
### tests 🚦
- chore(test): initial draft for test.step by @cbr7 in [#9613](https://github.com/containers/podman-desktop/pull/9613)
- chore: refactor test to use a mock of the utility by @benoitf in [#9611](https://github.com/containers/podman-desktop/pull/9611)
- chore(test): minor fixes and robustness improvements by @cbr7 in [#9609](https://github.com/containers/podman-desktop/pull/9609)
@ -169,8 +180,8 @@ Get the latest release from the [Downloads](/downloads) section of the website a
- fix: button name in update-install E2E test by @SoniaSandler in [#9509](https://github.com/containers/podman-desktop/pull/9509)
- fix: suppress `HTMLCanvasElement.prototype.getContext not implemented` error by @dgolovin in [#9287](https://github.com/containers/podman-desktop/pull/9287)
### ui
- chore: change no update release notes button in status bar by @SoniaSandler in [#9621](https://github.com/containers/podman-desktop/pull/9621)
- fix: invalid condition for the display of the button by @benoitf in [#9618](https://github.com/containers/podman-desktop/pull/9618)
- feat: display a spinner when connectivity is being checked in Kubernetes pages by @feloy in [#9535](https://github.com/containers/podman-desktop/pull/9535)
@ -208,12 +219,14 @@ Get the latest release from the [Downloads](/downloads) section of the website a
- feat: display deployments and nodes conditions in a table by @feloy in [#9548](https://github.com/containers/podman-desktop/pull/9548)
### website 🌐
- docs(website): added a troubleshooting section by @shipsing in [#9459](https://github.com/containers/podman-desktop/pull/9459)
- docs(website): updated the screenshot by @shipsing in [#9316](https://github.com/containers/podman-desktop/pull/9316)
- docs(website): created a discover Podman Desktop page by @shipsing in [#9315](https://github.com/containers/podman-desktop/pull/9315)
- docs(website): added a tutorial for interacting with a database server by @shipsing in [#9238](https://github.com/containers/podman-desktop/pull/9238)
### other
- chore: include 1.13.2 and 1.13.3 in bug template by @benoitf in [#9615](https://github.com/containers/podman-desktop/pull/9615)
- fix: skip output folder during format actions by @jeffmaury in [#9580](https://github.com/containers/podman-desktop/pull/9580)
- chore: move the file to the correct directory by @benoitf in [#9546](https://github.com/containers/podman-desktop/pull/9546)

View file

@ -28,20 +28,20 @@ Podman Desktop enables developers to run Kubernetes locally, mirroring their pro
### Open source and the CNCF: A perfect match for developer tools
We believe in the power of open source. Open source software fosters transparency, encourages collaboration, and drives innovation. By donating Podman Desktop to the CNCF, we're ensuring it remains open and accessible to all, fostering a vibrant community around it. The CNCF is the perfect home for Podman Desktop because it champions open source values and provides a neutral ground for collaborative development. This ensures that Podman Desktop remains vendor-neutral and driven by the needs of its users, keeping options open and avoiding vendor lock-in.
We believe in the power of open source. Open source software fosters transparency, encourages collaboration, and drives innovation. By donating Podman Desktop to the CNCF, we're ensuring it remains open and accessible to all, fostering a vibrant community around it. The CNCF is the perfect home for Podman Desktop because it champions open source values and provides a neutral ground for collaborative development. This ensures that Podman Desktop remains vendor-neutral and driven by the needs of its users, keeping options open and avoiding vendor lock-in.
Furthermore, while the CNCF has fostered incredible innovation and many developers profit from the number of projects available through the CNCF, there's a recognized need for more developer-focused tooling. Podman Desktop fills this gap perfectly by providing a developer-centric, streamlined, and intuitive experience for containerizing, managing, and deploying cloud-native applications.
Podman Desktop has a natural affinity to Kubernetes due to its design and features that seamlessly bridge the gap between local container development and Kubernetes deployments. This close relationship aligns perfectly with the CNCF's mission to drive the adoption of cloud-native technologies.
### Join the growing Podman Desktop community
As a CNCF project, we have the opportunity to open our doors to a wider community of contributors and users. We believe that open source thrives on collaboration and diverse perspectives. By broadening our contributor base, we can accelerate innovation, improve the quality of Podman Desktop, and ensure it meets the needs of a diverse range of users.
As a CNCF project, we have the opportunity to open our doors to a wider community of contributors and users. We believe that open source thrives on collaboration and diverse perspectives. By broadening our contributor base, we can accelerate innovation, improve the quality of Podman Desktop, and ensure it meets the needs of a diverse range of users.
### You can contribute in various ways:
### You can contribute in various ways
- Reporting issues: If you encounter bugs or have suggestions for improvements, you can report them on the [GitHub issue tracker](https://github.com/podman-desktop/podman-desktop/issues). Be sure to provide detailed information and steps to reproduce the issue.
- Working on issues: You can browse the [issue tracker](https://github.com/podman-desktop/podman-desktop/issues) and contribute by fixing bugs or implementing new features. This involves forking the repository, making changes, and submitting pull requests.
- Working on issues: You can browse the [issue tracker](https://github.com/podman-desktop/podman-desktop/issues) and contribute by fixing bugs or implementing new features. This involves forking the repository, making changes, and submitting pull requests.
- Contributing code: Beyond addressing existing issues, you can propose and contribute entirely new features or enhancements to Podman Desktop's functionality, user interface, or integrations with other tools. Learn more about [how to contribute](https://github.com/podman-desktop/podman-desktop/blob/main/CONTRIBUTING.md).
@ -70,4 +70,3 @@ We're incredibly excited about this new chapter for Podman Desktop and can't wai
- Contribute to the project: [https://github.com/podman-desktop/podman-desktop/](https://github.com/podman-desktop/podman-desktop/)
- Read [10 Reasons Why Developers Should Consider Podman Desktop](https://developers.redhat.com/e-books/infographic-10-reasons-why-developer-should-consider-podman-desktop)

View file

@ -23,7 +23,7 @@ For our first experiment, we will work on a micro-service for the podman-desktop
If you haven't done it yet, first [install Podman Desktop and its extension Podman AI Lab](https://podman-desktop.io/docs/ai-lab/installing).
To have a better experience, it is recommended to use the GPU acceleration to serve the model. If you have such a GPU on your machine, you will need to create a Podman machine with the LibKrun provider (on MacOS). More details on [the GPU support for Podman AI Lab](https://developers.redhat.com/articles/2024/09/10/gpu-support-podman-ai-lab).
To have a better experience, it is recommended to use the GPU acceleration to serve the model. If you have such a GPU on your machine, you will need to create a Podman machine with the LibKrun provider (on MacOS). More details on [the GPU support for Podman AI Lab](https://developers.redhat.com/articles/2024/09/10/gpu-support-podman-ai-lab).
At the time of writing, the GPU support is still experimental on Podman AI Lab. You will need to enable the option on the Preferences to enable it.
@ -41,7 +41,7 @@ Once a model is downloaded, we can test and interact with this model to try to f
Let's start a new playground (from the `Models > Playgrounds` menu), and send our first prompt:
```
```text
Give me a list of pages in the website podman-desktop.io related to "build an image"
```
@ -49,11 +49,11 @@ The model should reply with some list of pages, in a human-readable form (see th
![a first prompt with human-readable output](./img/ai-lab-first-app/04-ai-lab-demo-prompt-1.png)
The problem is that the response is in human-readable form, but we don't want the API to return this response as is. We want to have the name and the url of the pages, and send them to the website, so the website can display these pages with its preferred format.
The problem is that the response is in human-readable form, but we don't want the API to return this response as is. We want to have the name and the url of the pages, and send them to the website, so the website can display these pages with its preferred format.
For this, we can try to ask the model to reply with a structured response, with the following prompt:
```
```text
Give me a list of pages in the website podman-desktop.io related to "build an image" as JSON output as an array of objects with 2 fields name and url
```
@ -65,7 +65,7 @@ We don't expect the user to ask such a precise question, and we would prefer to
Podman AI Lab supports this feature, let's restart a Playground session with the following system prompt:
```
```text
Give me a list of pages in the website podman-desktop.io related to the request as JSON output as an array of objects with 2 fields name and url
```
@ -79,7 +79,7 @@ We can see in the screenshot below that the model still returns a response suita
## Testing a recipe
Now that we have a suitable prompt to use for our application, it is time to start our application itself.
Now that we have a suitable prompt to use for our application, it is time to start our application itself.
Many developers prefer to have a working example of application to start with, and Podman AI Lab provides such examples with a catalog of recipes, visible in the page `AI Apps > Recipe Catalog`.
@ -95,12 +95,11 @@ Back to the recipe's details page, we can access the sources of the recipe by cl
### Structure of a recipe
The entrypoint of a recipe is the file `ai-lab.yaml` present in the repository of the recipe.
The entrypoint of a recipe is the file `ai-lab.yaml` present in the repository of the recipe.
Let's examine the content of this file (the syntax of the file is specified in [this documentation](https://github.com/containers/podman-desktop-extension-ai-lab/blob/main/PACKAGING-GUIDE.md#recipe-configuration-file)) for the chatbot example.
```
```yaml
version: v1.0
application:
type: language
@ -142,7 +141,7 @@ We can adapt this source code, by replacing the UI part with a framework to make
An interesting part of the source code is that the recipe does not expose to the user the system prompt, but defines one internally (`You are world class technical advisor`):
```
```python
prompt = ChatPromptTemplate.from_messages([
("system", "You are world class technical advisor."),
MessagesPlaceholder(variable_name="history"),
@ -160,7 +159,7 @@ As discussed in the previous section, we have replaced the `streamlit` part with
We have also indicated our own system prompt:
```
```python
prompt = ChatPromptTemplate.from_messages([
("system", """
reply in JSON format with an array of objects with 2 fields name and url
@ -192,7 +191,7 @@ The last step is to add this application to the Podman AI Lab recipe catalog.
Podman AI Lab provides a way for a user to extend the provided catalog with its own recipes. This can be done by adding a file in a specific directory, as described [in this documentation](https://github.com/containers/podman-desktop-extension-ai-lab/tree/main?tab=readme-ov-file#-providing-a-custom-catalog).
```
```json
{
"version": "1.0",
"recipes": [

View file

@ -27,12 +27,11 @@ This release brings exciting new features and improvements:
---
## Release Details 🔍
### Improved Feedback Form 📝
In the 1.15 release, we introduced a redesigned feedback form to streamline issue reporting. With our growing user base,
In the 1.15 release, we introduced a redesigned feedback form to streamline issue reporting. With our growing user base,
its vital to provide a convenient way to submit feedback directly to GitHub via our main repository: [podman-desktop/podman-desktop/issues](https://github.com/podman-desktop/podman-desktop/issues).
While retaining our internal anonymous feedback system, this update also enables users to preview their issues on GitHub, ensuring better communication.
@ -95,8 +94,8 @@ Key changes include:
### Kubernetes Events 📜
This year, weve been steadily adding Kubernetes capabilities to Podman Desktop. While this effort is ongoing,
version 1.15 introduces support for [Kubernetes Events](https://kubernetes.io/docs/reference/kubernetes-api/cluster-resources/event-v1/).
This year, weve been steadily adding Kubernetes capabilities to Podman Desktop. While this effort is ongoing,
version 1.15 introduces support for [Kubernetes Events](https://kubernetes.io/docs/reference/kubernetes-api/cluster-resources/event-v1/).
These events are now available for resources like Nodes, Services, and Pods.
<ThemedImage
@ -109,7 +108,7 @@ These events are now available for resources like Nodes, Services, and Pods.
### SSH Access to Podman Machine
A frequent user request has been the ability to establish an SSH connection to a Podman machine for debugging or configuration purposes.
A frequent user request has been the ability to establish an SSH connection to a Podman machine for debugging or configuration purposes.
In this release, you can now directly connect to your Podman machine from its details page.
<ThemedImage
@ -125,10 +124,10 @@ In this release, you can now directly connect to your Podman machine from its de
🎉 Wed like to say a big thank you to everyone who helped to make Podman Desktop even better. In this
release, we received pull requests from the following people:
* [@Blaimi](https://github.com/Blaimi) made their first contribution in [#9925](https://github.com/podman-desktop/podman-desktop/pull/9925)
* [@Firewall](https://github.com/Firewall) made their first contribution in [#10055](https://github.com/podman-desktop/podman-desktop/pull/10055)
* [@sozercan](https://github.com/sozercan) made their first contribution in [#10082](https://github.com/podman-desktop/podman-desktop/pull/10082)
* [@mhdawson](https://github.com/mhdawson) made their first contribution in [#10178](https://github.com/podman-desktop/podman-desktop/pull/10178)
- [@Blaimi](https://github.com/Blaimi) made their first contribution in [#9925](https://github.com/podman-desktop/podman-desktop/pull/9925)
- [@Firewall](https://github.com/Firewall) made their first contribution in [#10055](https://github.com/podman-desktop/podman-desktop/pull/10055)
- [@sozercan](https://github.com/sozercan) made their first contribution in [#10082](https://github.com/podman-desktop/podman-desktop/pull/10082)
- [@mhdawson](https://github.com/mhdawson) made their first contribution in [#10178](https://github.com/podman-desktop/podman-desktop/pull/10178)
---
@ -148,105 +147,104 @@ Get the latest release from the [Downloads](/downloads) section of the website a
#### Documentations 📚
* docs(website): edited the doc to provide clarity in using the libkrun… by @shipsing in [#10111](https://github.com/podman-desktop/podman-desktop/pull/10111)
* docs(website): edited the managing objects section by @shipsing in [#9845](https://github.com/podman-desktop/podman-desktop/pull/9845)
* docs(website): fix mac gpu container base by @sozercan in [#10082](https://github.com/podman-desktop/podman-desktop/pull/10082)
* docs(website): highlighted port forwarding through UI by @shipsing in [#10006](https://github.com/podman-desktop/podman-desktop/pull/10006)
* docs(website): presented the info in procedural format by @shipsing in [#9972](https://github.com/podman-desktop/podman-desktop/pull/9972)
* docs(website): updated the docker compatibility section by @shipsing in [#9408](https://github.com/podman-desktop/podman-desktop/pull/9408)
* docs(website): updated the troubleshooting section by @shipsing in [#9918](https://github.com/podman-desktop/podman-desktop/pull/9918)
* docs(website): updates the outdated procedure by @shipsing in [#10090](https://github.com/podman-desktop/podman-desktop/pull/10090)
* docs(website):Added a reference section for PD extensions by @shipsing in [#9607](https://github.com/podman-desktop/podman-desktop/pull/9607)
* docs(website):Added a troubleshooting section for setting up PD on Wi… by @shipsing in [#9894](https://github.com/podman-desktop/podman-desktop/pull/9894)
* docs(website):added a blog about building a kubernetes application by @shipsing in [#9780](https://github.com/podman-desktop/podman-desktop/pull/9780)
* docs: 1.14.0 release notes by @gastoner in [#9628](https://github.com/podman-desktop/podman-desktop/pull/9628)
* docs: add microshift podman desktop example blog by @cdrage in [#9031](https://github.com/podman-desktop/podman-desktop/pull/9031)
* docs: add section about draft PR by @benoitf in [#9965](https://github.com/podman-desktop/podman-desktop/pull/9965)
* docs: blog post on AI Lab recipes by @feloy in [#9856](https://github.com/podman-desktop/podman-desktop/pull/9856)
* docs: fix syntax in CONTRIBUTING by @Blaimi in [#9925](https://github.com/podman-desktop/podman-desktop/pull/9925)
* docs: update extension landing page on index by @cdrage in [#9812](https://github.com/podman-desktop/podman-desktop/pull/9812)
* docs: update release template lowercase headers by @cdrage in [#9703](https://github.com/podman-desktop/podman-desktop/pull/9703)
- docs(website): edited the doc to provide clarity in using the libkrun… by @shipsing in [#10111](https://github.com/podman-desktop/podman-desktop/pull/10111)
- docs(website): edited the managing objects section by @shipsing in [#9845](https://github.com/podman-desktop/podman-desktop/pull/9845)
- docs(website): fix mac gpu container base by @sozercan in [#10082](https://github.com/podman-desktop/podman-desktop/pull/10082)
- docs(website): highlighted port forwarding through UI by @shipsing in [#10006](https://github.com/podman-desktop/podman-desktop/pull/10006)
- docs(website): presented the info in procedural format by @shipsing in [#9972](https://github.com/podman-desktop/podman-desktop/pull/9972)
- docs(website): updated the docker compatibility section by @shipsing in [#9408](https://github.com/podman-desktop/podman-desktop/pull/9408)
- docs(website): updated the troubleshooting section by @shipsing in [#9918](https://github.com/podman-desktop/podman-desktop/pull/9918)
- docs(website): updates the outdated procedure by @shipsing in [#10090](https://github.com/podman-desktop/podman-desktop/pull/10090)
- docs(website):Added a reference section for PD extensions by @shipsing in [#9607](https://github.com/podman-desktop/podman-desktop/pull/9607)
- docs(website):Added a troubleshooting section for setting up PD on Wi… by @shipsing in [#9894](https://github.com/podman-desktop/podman-desktop/pull/9894)
- docs(website):added a blog about building a kubernetes application by @shipsing in [#9780](https://github.com/podman-desktop/podman-desktop/pull/9780)
- docs: 1.14.0 release notes by @gastoner in [#9628](https://github.com/podman-desktop/podman-desktop/pull/9628)
- docs: add microshift podman desktop example blog by @cdrage in [#9031](https://github.com/podman-desktop/podman-desktop/pull/9031)
- docs: add section about draft PR by @benoitf in [#9965](https://github.com/podman-desktop/podman-desktop/pull/9965)
- docs: blog post on AI Lab recipes by @feloy in [#9856](https://github.com/podman-desktop/podman-desktop/pull/9856)
- docs: fix syntax in CONTRIBUTING by @Blaimi in [#9925](https://github.com/podman-desktop/podman-desktop/pull/9925)
- docs: update extension landing page on index by @cdrage in [#9812](https://github.com/podman-desktop/podman-desktop/pull/9812)
- docs: update release template lowercase headers by @cdrage in [#9703](https://github.com/podman-desktop/podman-desktop/pull/9703)
### Feature 💡
* feat(extensions/kind): update projectcontour to v1.30.1 by @Blaimi in [#9927](https://github.com/podman-desktop/podman-desktop/pull/9927)
* feat(feedback): add enabled extensions in additional-context by @axel7083 in [#10276](https://github.com/podman-desktop/podman-desktop/pull/10276)
* feat(feedback): adding frontend checkbox to include system info by @axel7083 in [#10116](https://github.com/podman-desktop/podman-desktop/pull/10116)
* feat(feedback): adding support to get sys info by @axel7083 in [#10098](https://github.com/podman-desktop/podman-desktop/pull/10098)
* feat: add a bug report feedback form by @SoniaSandler in [#9833](https://github.com/podman-desktop/podman-desktop/pull/9833)
* feat: add a feature request feedback form by @SoniaSandler in [#9955](https://github.com/podman-desktop/podman-desktop/pull/9955)
* feat: add a way to clean logs in container's log page by @benoitf in [#9528](https://github.com/podman-desktop/podman-desktop/pull/9528)
* feat: add category field to feedback by @feloy in [#9761](https://github.com/podman-desktop/podman-desktop/pull/9761)
* feat: add error visual indicator in typeahead component by @gastoner in [#9782](https://github.com/podman-desktop/podman-desktop/pull/9782)
* feat: add error visual indicator pull image input by @gastoner in [#9899](https://github.com/podman-desktop/podman-desktop/pull/9899)
* feat: add new task manager by @benoitf in [#10206](https://github.com/podman-desktop/podman-desktop/pull/10206)
* feat: allow for extensions to navigate to an onboarding screen by @benoitf in [#9759](https://github.com/podman-desktop/podman-desktop/pull/9759)
* feat: allow to cancel a task from the status bar by @benoitf in [#10209](https://github.com/podman-desktop/podman-desktop/pull/10209)
* feat: allow to cancel a task that is cancellable by @benoitf in [#10100](https://github.com/podman-desktop/podman-desktop/pull/10100)
* feat: check connectivity with health check by @feloy in [#10076](https://github.com/podman-desktop/podman-desktop/pull/10076)
* feat: check permissions on resources by @feloy in [#10133](https://github.com/podman-desktop/podman-desktop/pull/10133)
* feat: collect Service events by @feloy in [#9692](https://github.com/podman-desktop/podman-desktop/pull/9692)
* feat: display 3rd party contribution to Docker Compatibility page by @benoitf in [#9777](https://github.com/podman-desktop/podman-desktop/pull/9777)
* feat: display a warning when there is no latest tag for image to pull by @feloy in [#9757](https://github.com/podman-desktop/podman-desktop/pull/9757)
* feat: display nodes events by @feloy in [#9691](https://github.com/podman-desktop/podman-desktop/pull/9691)
* feat: display services events by @feloy in [#9733](https://github.com/podman-desktop/podman-desktop/pull/9733)
* feat: force use of libPod if nvidia device requested by @mhdawson in [#10251](https://github.com/podman-desktop/podman-desktop/pull/10251)
* feat: implement dropdown menu for status bar help button by @dgolovin in [#9867](https://github.com/podman-desktop/podman-desktop/pull/9867)
* feat: improve libpod API support - translate selinux_opts by @mhdawson in [#10178](https://github.com/podman-desktop/podman-desktop/pull/10178)
* feat: improve libpod support - translate devices by @mhdawson in [#10180](https://github.com/podman-desktop/podman-desktop/pull/10180)
* feat: introduce an hidden option kubernetes.statesExperimental by @feloy in [#10018](https://github.com/podman-desktop/podman-desktop/pull/10018)
* feat: move NumberInput to svelte-ui by @feloy in [#9872](https://github.com/podman-desktop/podman-desktop/pull/9872)
* feat: port-forward on deployments by @feloy in [#9946](https://github.com/podman-desktop/podman-desktop/pull/9946)
* feat: provide ability to easily get a shell in a machine - render part by @gastoner in [#9381](https://github.com/podman-desktop/podman-desktop/pull/9381)
* feat: publish the catalog to the website in /extensions directory by @benoitf in [#9804](https://github.com/podman-desktop/podman-desktop/pull/9804)
* feat: show message box on close of feedback form by @gastoner in [#9975](https://github.com/podman-desktop/podman-desktop/pull/9975)
* feat: update to podman v5.3.1 by @benoitf in [#9882](https://github.com/podman-desktop/podman-desktop/pull/9882)
- feat(extensions/kind): update projectcontour to v1.30.1 by @Blaimi in [#9927](https://github.com/podman-desktop/podman-desktop/pull/9927)
- feat(feedback): add enabled extensions in additional-context by @axel7083 in [#10276](https://github.com/podman-desktop/podman-desktop/pull/10276)
- feat(feedback): adding frontend checkbox to include system info by @axel7083 in [#10116](https://github.com/podman-desktop/podman-desktop/pull/10116)
- feat(feedback): adding support to get sys info by @axel7083 in [#10098](https://github.com/podman-desktop/podman-desktop/pull/10098)
- feat: add a bug report feedback form by @SoniaSandler in [#9833](https://github.com/podman-desktop/podman-desktop/pull/9833)
- feat: add a feature request feedback form by @SoniaSandler in [#9955](https://github.com/podman-desktop/podman-desktop/pull/9955)
- feat: add a way to clean logs in container's log page by @benoitf in [#9528](https://github.com/podman-desktop/podman-desktop/pull/9528)
- feat: add category field to feedback by @feloy in [#9761](https://github.com/podman-desktop/podman-desktop/pull/9761)
- feat: add error visual indicator in typeahead component by @gastoner in [#9782](https://github.com/podman-desktop/podman-desktop/pull/9782)
- feat: add error visual indicator pull image input by @gastoner in [#9899](https://github.com/podman-desktop/podman-desktop/pull/9899)
- feat: add new task manager by @benoitf in [#10206](https://github.com/podman-desktop/podman-desktop/pull/10206)
- feat: allow for extensions to navigate to an onboarding screen by @benoitf in [#9759](https://github.com/podman-desktop/podman-desktop/pull/9759)
- feat: allow to cancel a task from the status bar by @benoitf in [#10209](https://github.com/podman-desktop/podman-desktop/pull/10209)
- feat: allow to cancel a task that is cancellable by @benoitf in [#10100](https://github.com/podman-desktop/podman-desktop/pull/10100)
- feat: check connectivity with health check by @feloy in [#10076](https://github.com/podman-desktop/podman-desktop/pull/10076)
- feat: check permissions on resources by @feloy in [#10133](https://github.com/podman-desktop/podman-desktop/pull/10133)
- feat: collect Service events by @feloy in [#9692](https://github.com/podman-desktop/podman-desktop/pull/9692)
- feat: display 3rd party contribution to Docker Compatibility page by @benoitf in [#9777](https://github.com/podman-desktop/podman-desktop/pull/9777)
- feat: display a warning when there is no latest tag for image to pull by @feloy in [#9757](https://github.com/podman-desktop/podman-desktop/pull/9757)
- feat: display nodes events by @feloy in [#9691](https://github.com/podman-desktop/podman-desktop/pull/9691)
- feat: display services events by @feloy in [#9733](https://github.com/podman-desktop/podman-desktop/pull/9733)
- feat: force use of libPod if nvidia device requested by @mhdawson in [#10251](https://github.com/podman-desktop/podman-desktop/pull/10251)
- feat: implement dropdown menu for status bar help button by @dgolovin in [#9867](https://github.com/podman-desktop/podman-desktop/pull/9867)
- feat: improve libpod API support - translate selinux_opts by @mhdawson in [#10178](https://github.com/podman-desktop/podman-desktop/pull/10178)
- feat: improve libpod support - translate devices by @mhdawson in [#10180](https://github.com/podman-desktop/podman-desktop/pull/10180)
- feat: introduce an hidden option kubernetes.statesExperimental by @feloy in [#10018](https://github.com/podman-desktop/podman-desktop/pull/10018)
- feat: move NumberInput to svelte-ui by @feloy in [#9872](https://github.com/podman-desktop/podman-desktop/pull/9872)
- feat: port-forward on deployments by @feloy in [#9946](https://github.com/podman-desktop/podman-desktop/pull/9946)
- feat: provide ability to easily get a shell in a machine - render part by @gastoner in [#9381](https://github.com/podman-desktop/podman-desktop/pull/9381)
- feat: publish the catalog to the website in /extensions directory by @benoitf in [#9804](https://github.com/podman-desktop/podman-desktop/pull/9804)
- feat: show message box on close of feedback form by @gastoner in [#9975](https://github.com/podman-desktop/podman-desktop/pull/9975)
- feat: update to podman v5.3.1 by @benoitf in [#9882](https://github.com/podman-desktop/podman-desktop/pull/9882)
### Fixes 🔨
* fix(CliToolRegistry): notify on register install or update by @axel7083 in [#9813](https://github.com/podman-desktop/podman-desktop/pull/9813)
* fix(ci): exclude podman-remote e2e tests from running as part all tests suite by @odockal in [#9982](https://github.com/podman-desktop/podman-desktop/pull/9982)
* fix(extensions/kind): adjust contour download script for new octokit version by @Blaimi in [#9926](https://github.com/podman-desktop/podman-desktop/pull/9926)
* fix(k8s-port-forward): delete config if start fails by @axel7083 in [#9874](https://github.com/podman-desktop/podman-desktop/pull/9874)
* fix(k8s-port-forward): delete config if start fails by @axel7083 in [#9888](https://github.com/podman-desktop/podman-desktop/pull/9888)
* fix(monaco): make vscode focus border transparent by @axel7083 in [#10053](https://github.com/podman-desktop/podman-desktop/pull/10053)
* fix(status-bar): progress should be indeterminate when task is indeterminate by @axel7083 in [#9941](https://github.com/podman-desktop/podman-desktop/pull/9941)
* fix(ui): better handle errors on `KubePort` component by @axel7083 in [#9876](https://github.com/podman-desktop/podman-desktop/pull/9876)
* fix(ui): round display progress value by @axel7083 in [#10031](https://github.com/podman-desktop/podman-desktop/pull/10031)
* fix: a containerfile outside context can be used when building image by @feloy in [#9910](https://github.com/podman-desktop/podman-desktop/pull/9910)
* fix: add light mode color to toast text by @SoniaSandler in [#9915](https://github.com/podman-desktop/podman-desktop/pull/9915)
* fix: added questionmark by @gastoner in [#9814](https://github.com/podman-desktop/podman-desktop/pull/9814)
* fix: apply 0/0 as uid/gid when sending the tar as build context by @benoitf in [#10282](https://github.com/podman-desktop/podman-desktop/pull/10282)
* fix: cache pod exec websockets by @jeffmaury in [#10165](https://github.com/podman-desktop/podman-desktop/pull/10165)
* fix: compose installation via onboarding and cli tools by @dgolovin in [#10148](https://github.com/podman-desktop/podman-desktop/pull/10148)
* fix: create new connection form dropdown FormData by @SoniaSandler in [#9708](https://github.com/podman-desktop/podman-desktop/pull/9708)
* fix: creating hyperv machine in airgap now does not try to use wsl image by @gastoner in [#9715](https://github.com/podman-desktop/podman-desktop/pull/9715)
* fix: do console logging only if app is not quitting by @SoniaSandler in [#10064](https://github.com/podman-desktop/podman-desktop/pull/10064)
* fix: do not try to monitor machine when autostarting it by @benoitf in [#10308](https://github.com/podman-desktop/podman-desktop/pull/10308)
* fix: ensure system path is created and show notification if not in PATH by @jeffmaury in [#10176](https://github.com/podman-desktop/podman-desktop/pull/10176)
* fix: flaky test waitForPodsDeletion by @feloy in [#9875](https://github.com/podman-desktop/podman-desktop/pull/9875)
* fix: handle promise result by @jeffmaury in [#9700](https://github.com/podman-desktop/podman-desktop/pull/9700)
* fix: improve libpod API translation - extension by @mhdawson in [#10179](https://github.com/podman-desktop/podman-desktop/pull/10179)
* fix: navigation url to use summary by @axel7083 in [#9696](https://github.com/podman-desktop/podman-desktop/pull/9696)
* fix: proxy settings do not take effect when switched to system or disabled by @jeffmaury in [#10062](https://github.com/podman-desktop/podman-desktop/pull/10062)
* fix: rely on configurationValues if it has the key value by @lstocchi in [#9951](https://github.com/podman-desktop/podman-desktop/pull/9951)
* fix: remove extra border in details page by @axel7083 in [#10050](https://github.com/podman-desktop/podman-desktop/pull/10050)
* fix: remove nullable detailsPage binding by @axel7083 in [#9788](https://github.com/podman-desktop/podman-desktop/pull/9788)
* fix: restart container on terminal page by @feloy in [#9796](https://github.com/podman-desktop/podman-desktop/pull/9796)
* fix: skip filesystem flaky test by @axel7083 in [#10075](https://github.com/podman-desktop/podman-desktop/pull/10075)
* fix: sort array of image names, move matches on top by @dgolovin in [#9831](https://github.com/podman-desktop/podman-desktop/pull/9831)
* fix: start secondary informers for current context only by @feloy in [#9735](https://github.com/podman-desktop/podman-desktop/pull/9735)
* fix: status bar progress bar percentage display by @axel7083 in [#9791](https://github.com/podman-desktop/podman-desktop/pull/9791)
* fix: stub every missing function in renderer package tests by @dgolovin in [#9773](https://github.com/podman-desktop/podman-desktop/pull/9773)
* fix: table component should be scoped when searching items by @benoitf in [#10211](https://github.com/podman-desktop/podman-desktop/pull/10211)
* fix: terminal is not restarted if container if not running + state management by @feloy in [#9793](https://github.com/podman-desktop/podman-desktop/pull/9793)
* fix: test:renderer test failure by @jeffmaury in [#10264](https://github.com/podman-desktop/podman-desktop/pull/10264)
* fix: tty when container run with it options by @feloy in [#9745](https://github.com/podman-desktop/podman-desktop/pull/9745)
* fix: update Kubernetes context watchers messages by @jeffmaury in [#10017](https://github.com/podman-desktop/podman-desktop/pull/10017)
* fix: use `utf16le` ecoding in powershell call for Virtual Machine Platform detection by @dgolovin in [#9594](https://github.com/podman-desktop/podman-desktop/pull/9594)
* fix: use correct header for play kube operation by @benoitf in [#10036](https://github.com/podman-desktop/podman-desktop/pull/10036)
* fix: visibility of docker compatibility settings by @gastoner in [#10241](https://github.com/podman-desktop/podman-desktop/pull/10241)
* fix: watch /var/run/docker.sock on macOS by @dgolovin in [#9714](https://github.com/podman-desktop/podman-desktop/pull/9714)
* fix: workaround of LIMA_HOME usage by @tony-sol in [#10086](https://github.com/podman-desktop/podman-desktop/pull/10086)
* fix: wrong pnpm-lock file by @feloy in [#9754](https://github.com/podman-desktop/podman-desktop/pull/9754)
- fix(CliToolRegistry): notify on register install or update by @axel7083 in [#9813](https://github.com/podman-desktop/podman-desktop/pull/9813)
- fix(ci): exclude podman-remote e2e tests from running as part all tests suite by @odockal in [#9982](https://github.com/podman-desktop/podman-desktop/pull/9982)
- fix(extensions/kind): adjust contour download script for new octokit version by @Blaimi in [#9926](https://github.com/podman-desktop/podman-desktop/pull/9926)
- fix(k8s-port-forward): delete config if start fails by @axel7083 in [#9874](https://github.com/podman-desktop/podman-desktop/pull/9874)
- fix(k8s-port-forward): delete config if start fails by @axel7083 in [#9888](https://github.com/podman-desktop/podman-desktop/pull/9888)
- fix(monaco): make vscode focus border transparent by @axel7083 in [#10053](https://github.com/podman-desktop/podman-desktop/pull/10053)
- fix(status-bar): progress should be indeterminate when task is indeterminate by @axel7083 in [#9941](https://github.com/podman-desktop/podman-desktop/pull/9941)
- fix(ui): better handle errors on `KubePort` component by @axel7083 in [#9876](https://github.com/podman-desktop/podman-desktop/pull/9876)
- fix(ui): round display progress value by @axel7083 in [#10031](https://github.com/podman-desktop/podman-desktop/pull/10031)
- fix: a containerfile outside context can be used when building image by @feloy in [#9910](https://github.com/podman-desktop/podman-desktop/pull/9910)
- fix: add light mode color to toast text by @SoniaSandler in [#9915](https://github.com/podman-desktop/podman-desktop/pull/9915)
- fix: added questionmark by @gastoner in [#9814](https://github.com/podman-desktop/podman-desktop/pull/9814)
- fix: apply 0/0 as uid/gid when sending the tar as build context by @benoitf in [#10282](https://github.com/podman-desktop/podman-desktop/pull/10282)
- fix: cache pod exec websockets by @jeffmaury in [#10165](https://github.com/podman-desktop/podman-desktop/pull/10165)
- fix: compose installation via onboarding and cli tools by @dgolovin in [#10148](https://github.com/podman-desktop/podman-desktop/pull/10148)
- fix: create new connection form dropdown FormData by @SoniaSandler in [#9708](https://github.com/podman-desktop/podman-desktop/pull/9708)
- fix: creating hyperv machine in airgap now does not try to use wsl image by @gastoner in [#9715](https://github.com/podman-desktop/podman-desktop/pull/9715)
- fix: do console logging only if app is not quitting by @SoniaSandler in [#10064](https://github.com/podman-desktop/podman-desktop/pull/10064)
- fix: do not try to monitor machine when autostarting it by @benoitf in [#10308](https://github.com/podman-desktop/podman-desktop/pull/10308)
- fix: ensure system path is created and show notification if not in PATH by @jeffmaury in [#10176](https://github.com/podman-desktop/podman-desktop/pull/10176)
- fix: flaky test waitForPodsDeletion by @feloy in [#9875](https://github.com/podman-desktop/podman-desktop/pull/9875)
- fix: handle promise result by @jeffmaury in [#9700](https://github.com/podman-desktop/podman-desktop/pull/9700)
- fix: improve libpod API translation - extension by @mhdawson in [#10179](https://github.com/podman-desktop/podman-desktop/pull/10179)
- fix: navigation url to use summary by @axel7083 in [#9696](https://github.com/podman-desktop/podman-desktop/pull/9696)
- fix: proxy settings do not take effect when switched to system or disabled by @jeffmaury in [#10062](https://github.com/podman-desktop/podman-desktop/pull/10062)
- fix: rely on configurationValues if it has the key value by @lstocchi in [#9951](https://github.com/podman-desktop/podman-desktop/pull/9951)
- fix: remove extra border in details page by @axel7083 in [#10050](https://github.com/podman-desktop/podman-desktop/pull/10050)
- fix: remove nullable detailsPage binding by @axel7083 in [#9788](https://github.com/podman-desktop/podman-desktop/pull/9788)
- fix: restart container on terminal page by @feloy in [#9796](https://github.com/podman-desktop/podman-desktop/pull/9796)
- fix: skip filesystem flaky test by @axel7083 in [#10075](https://github.com/podman-desktop/podman-desktop/pull/10075)
- fix: sort array of image names, move matches on top by @dgolovin in [#9831](https://github.com/podman-desktop/podman-desktop/pull/9831)
- fix: start secondary informers for current context only by @feloy in [#9735](https://github.com/podman-desktop/podman-desktop/pull/9735)
- fix: status bar progress bar percentage display by @axel7083 in [#9791](https://github.com/podman-desktop/podman-desktop/pull/9791)
- fix: stub every missing function in renderer package tests by @dgolovin in [#9773](https://github.com/podman-desktop/podman-desktop/pull/9773)
- fix: table component should be scoped when searching items by @benoitf in [#10211](https://github.com/podman-desktop/podman-desktop/pull/10211)
- fix: terminal is not restarted if container if not running + state management by @feloy in [#9793](https://github.com/podman-desktop/podman-desktop/pull/9793)
- fix: test:renderer test failure by @jeffmaury in [#10264](https://github.com/podman-desktop/podman-desktop/pull/10264)
- fix: tty when container run with it options by @feloy in [#9745](https://github.com/podman-desktop/podman-desktop/pull/9745)
- fix: update Kubernetes context watchers messages by @jeffmaury in [#10017](https://github.com/podman-desktop/podman-desktop/pull/10017)
- fix: use `utf16le` ecoding in powershell call for Virtual Machine Platform detection by @dgolovin in [#9594](https://github.com/podman-desktop/podman-desktop/pull/9594)
- fix: use correct header for play kube operation by @benoitf in [#10036](https://github.com/podman-desktop/podman-desktop/pull/10036)
- fix: visibility of docker compatibility settings by @gastoner in [#10241](https://github.com/podman-desktop/podman-desktop/pull/10241)
- fix: watch /var/run/docker.sock on macOS by @dgolovin in [#9714](https://github.com/podman-desktop/podman-desktop/pull/9714)
- fix: workaround of LIMA_HOME usage by @tony-sol in [#10086](https://github.com/podman-desktop/podman-desktop/pull/10086)
- fix: wrong pnpm-lock file by @feloy in [#9754](https://github.com/podman-desktop/podman-desktop/pull/9754)

View file

@ -13,13 +13,14 @@ import ReactPlayer from 'react-player'
# Launching CNCF projects from Podman Desktop
Podman Desktop serves as a powerful tool for managing and visualizing cloud-native applications and can interact seamlessly with a range of [CNCF (Cloud Native Computing Foundation)](https://www.cncf.io/) projects.
Podman Desktop serves as a powerful tool for managing and visualizing cloud-native applications and can interact seamlessly with a range of [CNCF (Cloud Native Computing Foundation)](https://www.cncf.io/) projects.
It's an accessible platform for developers working with single-container applications, multi-container configurations with Compose files, and complex, distributed applications on Kubernetes clusters.
It's an accessible platform for developers working with single-container applications, multi-container configurations with Compose files, and complex, distributed applications on Kubernetes clusters.
## Key features of Podman Desktop for CNCF projects
Podman Desktop brings together three powerful features for managing small to large-scale projects:
* **Container Management**: Supports creating, running, and monitoring containers.
* **Compose Support**: Allows you to deploy applications defined in [Compose files](https://www.compose-spec.io/). This is particularly useful for managing applications that require multiple services, such as web servers, databases, and caches.
* **Kubernetes Integration**: Offers tools to manage multi-node Kubernetes clusters, making it ideal for handling more complex distributed applications that need orchestration across several pods and services. You can setup your own development cluster with Podman Desktop using our [Minikube](/docs/minikube/installing-extension) or [Kind](/docs/kind/installing-extension) extensions.
@ -30,7 +31,6 @@ Podman Desktop brings together three powerful features for managing small to lar
Minikube can be seamlessly integrated with Podman Desktop, enabling Kubernetes development workflows within Podmans environment. This is made possible by [installing the Minikube extension](https://podman-desktop.io/docs/minikube/installing-extension), which allows creating, managing, and deploying clusters directly from the Podman Desktop.
The following video provides a complete guide from installation to cluster creation:
<ReactPlayer playing playsinline controls url='https://github.com/containers/podman-desktop-media/raw/refs/heads/minikube/video/guide.mp4' width='100%' height='100%' />
@ -43,14 +43,13 @@ A popular method for deploying Backstage is through a [Helm chart](https://githu
![backstage services](img/cncf-projects/backstage.png)
You can also access your deployed Backstage instance by using Podman Desktop's port forwarding feature. This feature allows you to securely forward a local port to the Backstage service running on your Kubernetes cluster, making it easy to access the instance from a local browser.
![backstage port forward](img/cncf-projects/backstage_port.png)
## Dapr
[Dapr](https://docs.dapr.io/) (Distributed Application Runtime) is an open-source, event-driven runtime designed to help developers build resilient, stateless, and stateful applications that can run seamlessly on cloud or edge environments.
[Dapr](https://docs.dapr.io/) (Distributed Application Runtime) is an open-source, event-driven runtime designed to help developers build resilient, stateless, and stateful applications that can run seamlessly on cloud or edge environments.
Dapr abstracts the complexities of distributed systems, offering building blocks for service invocation, state management, publish/subscribe messaging, and resource bindings, which simplify the development of microservices and cloud-native applications.
@ -74,4 +73,4 @@ Additionally, Podman Desktop provides a "Launch Browser" button, allowing quick
Whether youre managing Kubernetes clusters, harnessing the power of Backstage for developer portals, or deploying microservices with Dapr, Podman Desktop provides a unified environment to streamline your workflows.
Check out the [list of graduate and incubating projects](https://www.cncf.io/projects/) to discover even more possibilities with Podman Desktop.
Check out the [list of graduate and incubating projects](https://www.cncf.io/projects/) to discover even more possibilities with Podman Desktop.

View file

@ -94,7 +94,7 @@ Docker compatibility is a way to configure an environment in which you can run y
Podman Desktop provides a wide range of extensions that can be used to integrate your local tools with Podman Desktop. After installing the required extension, you can do development tasks like creating a Kubernetes cluster, creating an AI application, or creating a bootable container. List of extensions available:
_Built-in extensions_
#### Built-in extensions
- Compose
- Podman
@ -106,7 +106,7 @@ _Built-in extensions_
- Kubectl CLI
- Registries
_Other extensions_
#### Other extensions
- Bootable containers
- Image Layers Explorer
@ -114,6 +114,8 @@ _Other extensions_
- Podman AI Lab
- Red Hat extensions
#### Manage extensions
You can enable or disable an extension, if needed. You can also create your own custom extensions to add icons, UI components, or menus to your application front-end page.
For more details, refer to [Extensions](/docs/extensions).

View file

@ -42,7 +42,7 @@ To help you get started, we've provided templates ranging from a minimal "Hello
Here are some examples from [our templates documentation](/docs/extensions/templates):
- [Basic "Hello World" example.](https://github.com/podman-desktop/extension-template-minimal)
- [Basic "Hello World" example.](https://github.com/podman-desktop/extension-template-minimal)
- [Simple webview template.](https://github.com/podman-desktop/extension-template-webview)
- [Full-stack webview template.](https://github.com/podman-desktop/extension-template-full)

View file

@ -36,17 +36,17 @@ Podman Desktop provides a wide range of extensions that can be used to integrate
- Kubectl CLI: Enables setting up `kubectl` binary so that you can run `kubectl` commands. See [Managing your CLI tools](/tutorial/managing-your-application-resources#managing-other-resources).
**_Red Hat extensions_**
Red Hat extension pack is a set of the following extensions that a developer can use for authentication and development purposes:
- Podman AI Lab: Enables working and experimenting with Large Language Models (LLMs) in your local development environment. See [Running LLMs locally](/docs/ai-lab) and [Tutorial- Running an AI application](/tutorial/running-an-ai-application).
- Bootable containers: Enables building a bootable disk image from your container image. For more details, click the **More details** link in the **Catalog** tab of the Extensions page.
- Red Hat Account Extension: Enables you to sign in with Red Hat Single Sign-On (SSO). You can consume Red Hat content, such as RHEL container images and RPM packages without any cost. For more details, click the **More details** link in the **Catalog** tab of the Extensions page.
- OpenShift Local: Enables running a Red Hat OpenShift Local cluster. You can manage the cluster configuration and run an application on the cluster from the UI. See [Creating an OpenShift Local instance](/docs/openshift/openshift-local).
- OpenShift Local: Enables running a Red Hat OpenShift Local cluster. You can manage the cluster configuration and run an application on the cluster from the UI. See [Creating an OpenShift Local instance](/docs/openshift/openshift-local).
- Developer Sandbox: Enables deploying your application to a shared-OpenShift Container Platform (OCP) cluster for 30 days without any cost. After configuring a sandbox environment, you can switch to the developer sandbox context and perform tasks, such as deploying a pod or container from the UI. See [Configuring access to a developer sandbox](/docs/openshift/developer-sandbox).
@ -60,10 +60,10 @@ Red Hat extension pack is a set of the following extensions that a developer can
**_Other extensions_**
- Registries: Provides some default registries so that you can connect to them with your credentials. See [Managing registries](/docs/containers/registries).
- Registries: Provides some default registries so that you can connect to them with your credentials. See [Managing registries](/docs/containers/registries).
- Image Layers Explorer: Use this extension to explore and analyze different layers of the container image. For more details, click the **More details** link in the **Catalog** tab of the Extensions page.
**_Custom extensions_**
You can also create your own customized extension using [these templates](/docs/extensions/templates). For more details, see [Developing a Podman Desktop extension](/docs/extensions/developing) and [Publishing a Podman Desktop extension](/docs/extensions/publish).
You can also create your own customized extension using [these templates](/docs/extensions/templates). For more details, see [Developing a Podman Desktop extension](/docs/extensions/developing) and [Publishing a Podman Desktop extension](/docs/extensions/publish).

View file

@ -14,7 +14,7 @@ Below are a list of officially maintained templates to be used for Podman Deskto
![minimal](../img/minimal.png)
**Link:** https://github.com/podman-desktop/podman-desktop-extension-minimal-template
**Link:** [podman-desktop-extension-minimal-template](https://github.com/podman-desktop/podman-desktop-extension-minimal-template)
This template provides a minimal template on how to build a Podman Desktop extension. More information can be found on our official extension documentation on how to further expand your extension.
@ -24,7 +24,7 @@ With this template, on activating a "Hello World!" dialog will appear.
![webview](../img/webview.png)
**Link:** https://github.com/podman-desktop/podman-desktop-extension-webview-template
**Link:** [podman-desktop-extension-webview-template](https://github.com/podman-desktop/podman-desktop-extension-webview-template)
This template provides a webview template on how to build a Podman Desktop extension showcasing a frontend.
@ -36,7 +36,7 @@ With this template, you will see a new button on the navbar that says "Hello Wor
![full](../img/full.png)
**Link:** https://github.com/podman-desktop/podman-desktop-extension-full-template
**Link:** [podman-desktop-extension-full-template](https://github.com/podman-desktop/podman-desktop-extension-full-template)
This template provides a "full" example of creating an extension with a webview that utilizes multiple packages. Within this template, we use three separate packages to distinguish between the frontend, backend, and shared code that connects the frontend and backend.

View file

@ -70,6 +70,7 @@ Podman Desktop requires [Podman Engine](https://docs.podman.io/en/latest/index.h
## Using `libkrun` as machine provider
By default, Podman uses the `Apple HyperVisor` provider type. If you are already running an `Apple HyperVisor` Podman machine and want to create a `GPU enabled (LibKrun)` machine, reset the Podman machine to avoid any port conflicts:
- Using the UI: Click the **Troubleshooting** icon in the status bar and then **Cleanup / Purge data**.
- Using the CLI: Run the `podman machine reset` command.
@ -87,7 +88,7 @@ To use `podman machine` CLI commands with the `libkrun` provider type, configure
**_Configuring the `containers.conf` file_**
1. Open the `containers.conf` file, which is placed in the `$HOME/.config/containers` directory.
1. Open the `containers.conf` file, which is placed in the `$HOME/.config/containers` directory.
1. Add the `provider` attribute and set its value to `libkrun` in the file.
```vim

View file

@ -102,6 +102,7 @@ To install the Podman Machine:
> wsl --update
> wsl --install --no-distribution
```
:::note
If you run the Podman Desktop setup on a Windows 10 LTSC version, you require to install a specific WSL distribution. See [Troubleshooting Podman on Windows](/docs/troubleshooting/troubleshooting-podman-on-windows#windows-10-enterprise-ltsc-version-21h2-podman-desktop-is-unable-to-detect-wsl2-machine)
@ -138,6 +139,7 @@ Before creating a Podman machine, you can use one of the following ways to enabl
```shell-session
> $env:CONTAINERS_MACHINE_PROVIDER = 'hyperv'
```
- As an admin user, set the following variable at system level:
```shell-session
@ -148,7 +150,7 @@ Before creating a Podman machine, you can use one of the following ways to enabl
**_Configuring the `containers.conf` file_**
1. Open the `containers.conf` file on your machine. The file is usually placed at `C:\Users\myuser\AppData\Roaming\containers\`.
1. Open the `containers.conf` file on your machine. The file is usually placed at `C:\Users\myuser\AppData\Roaming\containers\`.
1. Add the `provider` attribute and set its value to `hyperv` in the file.
```vim
@ -162,13 +164,14 @@ Before creating a Podman machine, you can use one of the following ways to enabl
1. [Create and start a Podman machine](/docs/podman/creating-a-podman-machine) using the UI.
#### Verification
After configuration, you can confirm whether you are using a Podman machine with Hyper-V virtualization provider.
1. Go to **Settings > Resources**.
1. Click the **Podman details** icon in the Podman tile.
1. Select the **Logs** tab to view the following notification message:
```
```text
time="2023-05-09T21:16:08+03:00" level=debug msg="Using Podman machine with `hyperv` virtualization provider"
```

View file

@ -16,7 +16,7 @@ Kind is a *built-in* extension to Podman Desktop and no installation is necessar
:::
The Kind extension provides the capability of creating a local Kubernetes cluster using only containers rather than a Virtual Machine.
The Kind extension provides the capability of creating a local Kubernetes cluster using only containers rather than a Virtual Machine.
#### Procedure
@ -26,4 +26,4 @@ The Kind extension provides the capability of creating a local Kubernetes cluste
The following video provides a complete guide on creating a single-node cluster:
<ReactPlayer playing playsinline controls url='https://github.com/containers/podman-desktop-media/raw/refs/heads/kind/video/cluster-creation-kind.mp4' width='100%' height='100%' />
<ReactPlayer playing playsinline controls url='https://github.com/containers/podman-desktop-media/raw/refs/heads/kind/video/cluster-creation-kind.mp4' width='100%' height='100%' />

View file

@ -39,18 +39,18 @@ spec:
ports:
- containerPort: 80
```
This YAML manifest creates three pods that run the NGINX web server.
#### Procedure: Applying a YAML manifest to create a `Deployment` object
1. Go to the **Kubernetes** component page.
1. Go to the **Kubernetes** component page.
1. Click **Deployments** in the left navigation pane.
1. Click **Apply YAML** and select the YAML manifest file. A confirmation notification opens.
![applying a yaml manifest](img/applying-a-yaml-manifest.png)
1. Click **OK**.
![confirmation notification](img/confirmation-notification.png)
#### Verification
1. View the newly created `my-nginx` deployment on the same page.
@ -63,5 +63,3 @@ This YAML manifest creates three pods that run the NGINX web server.
When you apply any other YAML manifest, you can view the newly created object on the corresponding component page.
:::

View file

@ -46,7 +46,7 @@ spec:
#### Procedure: Creating an object
1. Go to the **Kubernetes** component page.
1. Go to the **Kubernetes** component page.
2. Click one of the options to open the object page.
![kube objects](img/kube-objects.png)

View file

@ -20,11 +20,11 @@ With Podman Desktop, you can deploy a pod to your Kubernetes cluster with an act
#### Procedure
1. Select your [Kubernetes context](/docs/kubernetes/viewing-and-selecting-current-kubernetes-context).
1. Select your [Kubernetes context](/docs/kubernetes/viewing-and-selecting-current-kubernetes-context).
:::note
Your pod or container is deployed to the `default` namespace of the Kubernetes cluster. To switch to a different namespace, use this command: `kubectl config set-context --current --namespace=<name-of-the-namespace>`.
Your pod or container is deployed to the `default` namespace of the Kubernetes cluster. To switch to a different namespace, use this command: `kubectl config set-context --current --namespace=<name-of-the-namespace>`.
:::
@ -34,9 +34,9 @@ With Podman Desktop, you can deploy a pod to your Kubernetes cluster with an act
1. Select the **Deploy to Kubernetes** option from the dropdown list.
1. Select the checkbox to expose the service locally by using the default ingress controller.
![expose the service locally](img/expose-the-service-locally.png)
1. Conditional: When you configure custom port mapping while running an image, you have the option to select an Ingress host port from the dropdown list.
1. Conditional: When you configure custom port mapping while running an image, you have the option to select an Ingress host port from the dropdown list.
![ingress-host-port](img/ingress-host-port.png)
Otherwise, you do not see the option.
Otherwise, you do not see the option.
1. Click **Deploy** and then **Done**.
@ -49,4 +49,4 @@ With Podman Desktop, you can deploy a pod to your Kubernetes cluster with an act
![kube pod in the list](img/kube-pod-in-the-list.png)
1. Optional: Check the running service on the **Kubernetes > Services** page.
![running service](img/running-service.png)
![running service](img/running-service.png)

View file

@ -15,6 +15,7 @@ You can use the port forwarding feature for the pods and services running on a K
#### Prerequisites
Make sure you have:
- A [running Podman machine](/docs/podman/creating-a-podman-machine).
- A running Kubernetes cluster, such as [Kind](/docs/kind/creating-a-kind-cluster) or [Minikube](/docs/minikube/creating-a-minikube-cluster).
- Created a YAML configuration file with an exposed port:
@ -56,7 +57,7 @@ spec:
:::note
You can also start port forwarding from the **Kubernetes > Services** component page. After creating a service, click the name of the service and configure port forwarding in the **Summary** tab.
:::
#### Procedure: Stop port forwarding
@ -64,6 +65,7 @@ spec:
You can stop port forwarding by using one of the following ways:
**_Use the component page_**
1. Go to the **Pods** or **Kubernetes > Services** page.
1. Click the name of the Kubernetes pod or service for which you want to stop port fowarding.
1. Click **Remove** in the Summary tab. The entry is removed from the **Kubernetes > Port Forwarding** page.

View file

@ -11,7 +11,6 @@ tags: [migrating-from-docker]
If you have used Docker in the past, you can continue using familiar workflows with the Docker compatibility feature of Podman Desktop.
Docker compatibility is a way to configure an environment in which you can run your Docker applications, commands, and tools on a Podman engine without reconfiguration. It encompasses two stages:
- [Import your saved containers](/docs/migrating-from-docker/importing-saved-containers) into Podman Desktop using CLI.
- [Import your saved containers](/docs/migrating-from-docker/importing-saved-containers) into Podman Desktop using CLI.
- [Access the Docker Compatibility settings](/docs/migrating-from-docker/managing-docker-compatibility) to configure a Docker-compatible environment based on your needs.

View file

@ -21,11 +21,12 @@ Using the `DOCKER_HOST` environment variable, you can connect your Docker CLI to
:::note
Alternatively, you can add a `podman` context by using the `docker context create` command.
Alternatively, you can add a `podman` context by using the `docker context create` command.
- For example, set the value of the context in this pattern on a macOS machine:
`docker context create podman --docker "host=unix://$HOME.local/share/containers/podman/machine/podman.sock"`
`docker context create podman --docker "host=unix://$HOME.local/share/containers/podman/machine/podman.sock"`
Where, the path specified after the `unix://` scheme denotes the `DOCKER_HOST` value.
Then, you can run the `docker context use podman` command to switch to that context. This way you can use your Docker CLI to run your tasks on a remote Podman engine. When you run the `docker ps` command, it queries the Podman socket specified in the current context.
@ -57,19 +58,19 @@ $ podman machine inspect --format '{{.ConnectionInfo.PodmanPipe.Path}}'
Depending on your terminal emulator of preference, there is a little variation between the commands to set a session level environment variable:
##### cmd - Command Prompt
##### cmd - Command Prompt
```cmd
set DOCKER_HOST=npipe://<inspect_command_output>
```
##### Git Bash
##### Git Bash
```bash
export DOCKER_HOST=npipe://<inspect_command_output>
```
##### Powershell
##### Powershell
Don't miss the quotes used with the value. Otherwise, powershell will interpret it as a separate command instead of a value.
@ -83,7 +84,7 @@ $ podman machine inspect --format '{{.ConnectionInfo.PodmanPipe.Path}}'
Setting the `DOCKER_HOST` environment variable isn't necessary on Windows because Podman also listens to the default `docker_engine` pipe. But, it might be necessary if you get the following error: **Error: socket of machine is not set**, while trying to use the `podman compose` command.
:::
:::
</TabItem>
<TabItem value="mac" label="macOS">

View file

@ -12,7 +12,6 @@ import ReactPlayer from 'react-player'
The Minikube extension provides the capability of creating a local Kubernetes cluster. This extension can be installed and used as a one-click deployment for a test cluster.
#### Procedure
If you have Podman Desktop already installed, <a href="podman-desktop:extension/podman-desktop.minikube">**click to launch the installation**</a> of Minikube in Podman Desktop.
@ -23,4 +22,4 @@ If not, please [install Podman Desktop](/docs/installation) first.
The following video provides a complete guide from installation to cluster creation:
<ReactPlayer playing playsinline controls url='https://github.com/containers/podman-desktop-media/raw/refs/heads/minikube/video/guide.mp4' width='100%' height='100%' />
<ReactPlayer playing playsinline controls url='https://github.com/containers/podman-desktop-media/raw/refs/heads/minikube/video/guide.mp4' width='100%' height='100%' />

View file

@ -43,9 +43,9 @@ Consider creating a custom Podman machine to:
1. **Machine with root privileges**:
Enable to use the rootful connection by default.
Required to use Kind on Windows.
1. Additional settings based on your operating system:
1. Additional settings based on your operating system:
- (On Windows) **User mode networking (traffic relayed by a user process)**: Enable to route the traffic through the network connection from your Windows session. This setting is required to access resources behind your VPN connection.
- (On macOS) **Provider Type**: The default value is `Apple HyperVisor`. Before switching to `GPU enabled (LibKrun)`, ensure that you have [configured the machine provider](/docs/installation/macos-install#using-libkrun-as-machine-provider) manually.
- (On macOS) **Provider Type**: The default value is `Apple HyperVisor`. Before switching to `GPU enabled (LibKrun)`, ensure that you have [configured the machine provider](/docs/installation/macos-install#using-libkrun-as-machine-provider) manually.
1. Click **Create**.
![Create a Podman machine](img/create-a-podman-machine.png)

View file

@ -97,7 +97,7 @@ Fri Aug 16 18:58:14 2024
You might encounter the following error inside the containers:
```
```console
# nvidia-smi
Failed to initialize NVML: N/A
```
@ -106,7 +106,7 @@ This problem is related to a mismatch between the Container Device Interface (CD
To fix this problem, generate a new CDI specification by running the following inside the Podman machine:
```
```shell
nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml
```
@ -166,11 +166,11 @@ Example output:
```sh
$ podman run --rm -it --device /dev/dri --name gpu-info quay.io/slopezpa/fedora-vgpu vulkaninfo | grep "GPU"
GPU id = 0 (Virtio-GPU Venus (Apple M1 Pro))
GPU id = 1 (llvmpipe (LLVM 17.0.6, 128 bits))
GPU id = 0 (Virtio-GPU Venus (Apple M1 Pro))
GPU id = 1 (llvmpipe (LLVM 17.0.6, 128 bits))
GPU0:
deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
deviceName = Virtio-GPU Venus (Apple M1 Pro)
deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
deviceName = Virtio-GPU Venus (Apple M1 Pro)
GPU1:
```

View file

@ -117,4 +117,4 @@ $ podman ps
#### Additional resources
- https://github.com/containers/podman/blob/main/docs/tutorials/remote_client.md
- [podman:docs/tutorials/remote_client.md](https://github.com/containers/podman/blob/main/docs/tutorials/remote_client.md)

View file

@ -6,7 +6,7 @@ keywords: [podman desktop, podman, access logs, troubleshoot]
tags: [acessing-podman-desktop-logs, troubleshooting-podman-desktop]
---
# Access Podman Desktop logs
# Access Podman Desktop logs
When you face any connection issues or any other problems with your task execution, you can access the Podman Desktop logs to troubleshoot. In addition, you can also resolve those issues using the **Repair & Connections** and **Stores** tabs.
@ -34,7 +34,6 @@ If you do not want to track the previous event logs, you can remove them from th
1. Click **Check containers** to view the response time of the available containers.
1. Optional: Click **Reconnect Providers** to reconnect to the container engine socket.
#### Procedure: Resolve event-related issues
1. Click the **Troubleshooting** icon in the status bar.
@ -44,4 +43,4 @@ If you do not want to track the previous event logs, you can remove them from th
1. Click **Refresh** to refresh the event logs.
![refresh the event logs](img/refresh-event-logs.png)
1. Optional: Click **Clear** to delete the event logs.
1. Click **OK**.
1. Click **OK**.

View file

@ -18,7 +18,9 @@ You might get this error message `Failed to create minikube cluster. E0125 05:58
#### Solution
1. Run the following command to delete the Minikube cluster.
```shell-session
$ minikube delete
```
2. Create a new [Minikube cluster](/docs/minikube/installing-extension) using the Podman Desktop UI.
2. Create a new [Minikube cluster](/docs/minikube/installing-extension) using the Podman Desktop UI.

View file

@ -246,15 +246,17 @@ For M3 processors:
## `podman machine` CLI commands do not work with `libkrun` provider type without manual configuration
When you create a Podman machine with the `GPU enabled (LibKrun)` provider type, all the `podman machine` CLI commands stop working.
When you create a Podman machine with the `GPU enabled (LibKrun)` provider type, all the `podman machine` CLI commands stop working.
**_Podman machine is not listed_**
```shell-session
$ podman machine list
NAME VM TYPE CREATED LAST UP CPUS MEMORY DISK SIZE
```
**_Error: interacting with the default Podman machine_**
```shell-session
$ podman machine ssh
Error: vm podman-machine-default not found: podman-machine-default: VM does not exist
@ -263,9 +265,9 @@ Error: vm podman-machine-default not found: podman-machine-default: VM does not
#### Workaround
- Prefix each `podman machine` command with
`CONTAINERS_MACHINE_PROVIDER=libkrun`. For example, `CONTAINERS_MACHINE_PROVIDER=libkrun podman machine ls`.
`CONTAINERS_MACHINE_PROVIDER=libkrun`. For example, `CONTAINERS_MACHINE_PROVIDER=libkrun podman machine ls`.
- Manually configure the `containers.conf` file or the `CONTAINERS_MACHINE_PROVIDER` environment variable. See [Using `libkrun` as machine provider](/docs/installation/macos-install#using-libkrun-as-machine-provider).
#### Additional resources
- [Issue #9860](https://github.com/podman-desktop/podman-desktop/issues/9860)
- [Issue #9860](https://github.com/podman-desktop/podman-desktop/issues/9860)

View file

@ -88,14 +88,15 @@ You must install a specific Windows Subsystem for Linux (WSL) distribution to ma
#### Solution: Enable Podman Desktop setup to run smoothly
**_Windows 11 or later version_**
1. Run the `wsl --update` command to update the WSL kernel.
1. Run the `wsl --install --no-distribution` command to not install any WSL distribution.
1. Run the `wsl --install --no-distribution` command to not install any WSL distribution.
1. Restart your machine.
**_Windows 10 LTSC version_**
**_Windows 10 LTSC version_**
1. Run the `wsl --update` command.
1. Run the `wsl --install -d <distro>` command to install a specific WSL distribution.
1. Run the `wsl --install -d <distro>` command to install a specific WSL distribution.
- Replace `distro` with any official WSL distribution, such as `ubuntu-24.04`.
1. Restart your machine.
1. (Optional): Run the `wsl --unregister <distro>` to uninstall the WSL distribution.
1. (Optional): Run the `wsl --unregister <distro>` to uninstall the WSL distribution.

View file

@ -240,7 +240,6 @@ _Note:_ If Docker Desktop is started again, it will automatically re-alias the d
After uninstalling Podman Desktop, the configuration data persists even though it is not needed for a fresh installation.
#### Solution
**_Deleting Podman Desktop configuration_**
@ -248,11 +247,12 @@ After uninstalling Podman Desktop, the configuration data persists even though i
1. Go to the `$HOME/.local/share/containers` directory, where `$HOME` denotes the home folder of the current user.
1. Delete the `podman-desktop` folder.
**_Deleting Podman configuration_**
**_Deleting Podman configuration_**
Podman stores its configuration files in the `$HOME/.config/containers` directory. Options available to delete Podman configuration:
Podman stores its configuration files in the `$HOME/.config/containers` directory. Options available to delete Podman configuration:
- Using CLI
- Run the `podman machine reset` command.
- Run the `podman machine reset` command.
- Using UI
1. Click the **Troubleshooting** icon in the status bar.
1. Click the **Cleanup/Purge data** button to delete all resources from the engine.
@ -269,5 +269,4 @@ Kubernetes clusters from cloud providers require an executable installed on the
1. Move the binary located in your `.kube/config` file to a system bin directory, such as `/usr/local/bin/`.
1. Set the value of the `command` parameter to the full path of the executable in your Kubernetes configuration file. For example, `command: /usr/local/bin/<cloud-provider-binary>`, where `cloud-provider-binary` denotes the binary name, such as `aws` or `oci`.
1. Set the value of the `command` parameter to the full path of the executable in your Kubernetes configuration file. For example, `command: /usr/local/bin/<cloud-provider-binary>`, where `cloud-provider-binary` denotes the binary name, such as `aws` or `oci`.

View file

@ -15,8 +15,8 @@
"typecheck": "tsc",
"format:check": "biome format",
"format:fix": "biome format --write",
"markdownlint:check": "markdownlint-cli2 --config ../.markdownlint.yaml \"**/*.md\" \"#node_modules\"",
"markdownlint:fix": "markdownlint-cli2-fix --config ../.markdownlint.yaml \"**/*.md\" \"#node_modules\"",
"markdownlint:check": "markdownlint-cli2 --config ../.markdownlint.yaml \"**/*.md\" \"#node_modules\" \"#api\" ",
"markdownlint:fix": "markdownlint-cli2 --fix --config ../.markdownlint.yaml \"**/*.md\" \"#node_modules\"",
"vale": "vale sync && vale --config ../.vale.ini .",
"lint:check": "cd .. && eslint --cache --cache-location website/.eslintcache website --ext js,ts,tsx",
"lint:fix": "cd .. && eslint --cache --cache-location website/.eslintcache website --fix --ext js,ts,tsx",
@ -48,6 +48,7 @@
"autoprefixer": "^10.4.20",
"markdownlint": "^0.37.2",
"markdownlint-cli2": "^0.17.0",
"markdownlint-cli2-formatter-summarize": "^0.0.7",
"postcss": "^8.4.49",
"tailwindcss": "^3.4.17",
"typedoc": "^0.27.6",

View file

@ -107,7 +107,7 @@ This YAML configuration creates a service named `my-nginx` to expose the Nginx d
## Verifying the service: port forwarding
1. In the Kubernetes explorer, go to **Services**.
1. In the Kubernetes explorer, go to **Services**.
1. Click the name of the `my-nginx` service.
1. Click **Forward...**.
![forward button](img/forward-button.png)